From 944d3bfc1e581260b678b423d2fd3281b92a0346 Mon Sep 17 00:00:00 2001 From: Rekku Date: Fri, 6 Sep 2024 18:17:40 +0100 Subject: [PATCH 01/74] On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd --- tools/configurator/main.tscn | 12 - .../res/pixel_ui_theme/RetroDECKTheme.tres | 384 ++---------------- tools/configurator/scripts/SystemTab.gd | 3 +- 3 files changed, 45 insertions(+), 354 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 1d90a8d4..7cd11420 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -719,18 +719,6 @@ 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 -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") -show_percentage = false - [node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] unique_name_in_owner = true layout_mode = 2 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index ef762519..3eabc052 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_du822"] +[sub_resource type="Image" id="Image_t7efe"] 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_du822") +image = SubResource("Image_t7efe") -[sub_resource type="Image" id="Image_gr4xw"] +[sub_resource type="Image" id="Image_kmit8"] 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_gr4xw") +image = SubResource("Image_kmit8") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,19 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_ewg7w"] -======= -<<<<<<< HEAD -<<<<<<< HEAD -[sub_resource type="Image" id="Image_qryl2"] -======= -[sub_resource type="Image" id="Image_haatj"] ->>>>>>> d1ccc360678c932877b874751e62537ea2cbb4e4 -======= -[sub_resource type="Image" id="Image_c8u08"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_565c1"] 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", @@ -1145,15 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -<<<<<<< HEAD -image = SubResource("Image_ewg7w") -======= -<<<<<<< HEAD -image = SubResource("Image_haatj") -======= -image = SubResource("Image_c8u08") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_565c1") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1167,15 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_km0p0"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_kwe71"] -======= -[sub_resource type="Image" id="Image_w837a"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_q0vn6"] 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", @@ -1185,15 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -<<<<<<< HEAD -image = SubResource("Image_km0p0") -======= -<<<<<<< HEAD -image = SubResource("Image_kwe71") -======= -image = SubResource("Image_w837a") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_q0vn6") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1211,15 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_y61it"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_op27n"] -======= -[sub_resource type="Image" id="Image_lyjrh"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_s5c2d"] 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", @@ -1229,15 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -<<<<<<< HEAD -image = SubResource("Image_y61it") -======= -<<<<<<< HEAD -image = SubResource("Image_op27n") -======= -image = SubResource("Image_lyjrh") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_s5c2d") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1251,15 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_bxjip"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_pjro5"] -======= -[sub_resource type="Image" id="Image_trvt4"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_rqfhb"] 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", @@ -1269,15 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -<<<<<<< HEAD -image = SubResource("Image_bxjip") -======= -<<<<<<< HEAD -image = SubResource("Image_pjro5") -======= -image = SubResource("Image_trvt4") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_rqfhb") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1291,15 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_lj8jm"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_5uy45"] -======= -[sub_resource type="Image" id="Image_1otkb"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_4flla"] 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", @@ -1309,21 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -<<<<<<< HEAD -image = SubResource("Image_lj8jm") +image = SubResource("Image_4flla") -[sub_resource type="Image" id="Image_muw5b"] -======= -<<<<<<< HEAD -image = SubResource("Image_5uy45") - -[sub_resource type="Image" id="Image_ec5ho"] -======= -image = SubResource("Image_1otkb") - -[sub_resource type="Image" id="Image_xmxop"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_t0i0f"] 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", @@ -1333,21 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -<<<<<<< HEAD -image = SubResource("Image_muw5b") +image = SubResource("Image_t0i0f") -[sub_resource type="Image" id="Image_lhm87"] -======= -<<<<<<< HEAD -image = SubResource("Image_ec5ho") - -[sub_resource type="Image" id="Image_34hhs"] -======= -image = SubResource("Image_xmxop") - -[sub_resource type="Image" id="Image_lle88"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_vc636"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1357,20 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_lhm87") +image = SubResource("Image_vc636") -<<<<<<< HEAD -[sub_resource type="Image" id="Image_50jy5"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_ggfgo"] -image = SubResource("Image_34hhs") - -[sub_resource type="Image" id="Image_p5y3q"] -======= -[sub_resource type="Image" id="Image_vf0va"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_ya6ox"] 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", @@ -1380,20 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_50jy5") +image = SubResource("Image_ya6ox") -<<<<<<< HEAD -[sub_resource type="Image" id="Image_gbqml"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_2a1q2"] -image = SubResource("Image_p5y3q") - -[sub_resource type="Image" id="Image_soojw"] -======= -[sub_resource type="Image" id="Image_n815g"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_nxhkg"] 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", @@ -1403,15 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -<<<<<<< HEAD -image = SubResource("Image_gbqml") -======= -<<<<<<< HEAD -image = SubResource("Image_soojw") -======= -image = SubResource("Image_n815g") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_nxhkg") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1489,16 +1359,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_67ody"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_cd2os"] -[sub_resource type="Image" id="Image_2m260"] -======= -[sub_resource type="Image" id="Image_c6e02"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_1y0us"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1508,16 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -<<<<<<< HEAD -image = SubResource("Image_67ody") -======= -<<<<<<< HEAD -image = SubResource("Image_cd2os") -image = SubResource("Image_2m260") -======= -image = SubResource("Image_c6e02") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_1y0us") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 @@ -1588,15 +1440,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -<<<<<<< HEAD -[sub_resource type="Image" id="Image_3858o"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_vuhl3"] -======= -[sub_resource type="Image" id="Image_xyvi7"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_w2tlo"] 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", @@ -1606,15 +1450,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -<<<<<<< HEAD -image = SubResource("Image_3858o") -======= -<<<<<<< HEAD -image = SubResource("Image_vuhl3") -======= -image = SubResource("Image_xyvi7") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_w2tlo") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2435,15 +2271,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_6w6wh"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_ri2jg"] -======= -[sub_resource type="Image" id="Image_gj5p8"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_7o6hp"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2453,19 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -<<<<<<< HEAD -image = SubResource("Image_6w6wh") -======= -<<<<<<< HEAD -<<<<<<< HEAD -image = SubResource("Image_atdte") -======= -image = SubResource("Image_ri2jg") ->>>>>>> d1ccc360678c932877b874751e62537ea2cbb4e4 -======= -image = SubResource("Image_gj5p8") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_7o6hp") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2489,15 +2305,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_x2yik"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_1syv2"] -======= -[sub_resource type="Image" id="Image_v28qn"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_hdjaq"] 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", @@ -2507,15 +2315,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -<<<<<<< HEAD -image = SubResource("Image_x2yik") -======= -<<<<<<< HEAD -image = SubResource("Image_1syv2") -======= -image = SubResource("Image_v28qn") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_hdjaq") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2628,15 +2428,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_jfm5e"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_du17m"] -======= -[sub_resource type="Image" id="Image_udqf2"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_vxc33"] 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", @@ -2646,21 +2438,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -<<<<<<< HEAD -image = SubResource("Image_jfm5e") +image = SubResource("Image_vxc33") -[sub_resource type="Image" id="Image_k8vdq"] -======= -<<<<<<< HEAD -image = SubResource("Image_du17m") - -[sub_resource type="Image" id="Image_ydl7p"] -======= -image = SubResource("Image_udqf2") - -[sub_resource type="Image" id="Image_q7lob"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_lx6tj"] 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", @@ -2670,21 +2450,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -<<<<<<< HEAD -image = SubResource("Image_k8vdq") +image = SubResource("Image_lx6tj") -[sub_resource type="Image" id="Image_c5uvj"] -======= -<<<<<<< HEAD -image = SubResource("Image_ydl7p") - -[sub_resource type="Image" id="Image_xttex"] -======= -image = SubResource("Image_q7lob") - -[sub_resource type="Image" id="Image_1vyxa"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_1jeby"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2694,21 +2462,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -<<<<<<< HEAD -image = SubResource("Image_c5uvj") +image = SubResource("Image_1jeby") -[sub_resource type="Image" id="Image_pq6kj"] -======= -<<<<<<< HEAD -image = SubResource("Image_xttex") - -[sub_resource type="Image" id="Image_vx2db"] -======= -image = SubResource("Image_1vyxa") - -[sub_resource type="Image" id="Image_3ndwu"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_is1c5"] 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", @@ -2718,15 +2474,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -<<<<<<< HEAD -image = SubResource("Image_pq6kj") -======= -<<<<<<< HEAD -image = SubResource("Image_vx2db") -======= -image = SubResource("Image_3ndwu") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_is1c5") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2786,15 +2534,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -<<<<<<< HEAD -[sub_resource type="Image" id="Image_0piph"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_4bgii"] -======= -[sub_resource type="Image" id="Image_726jx"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_2vtcd"] 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", @@ -2804,21 +2544,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -<<<<<<< HEAD -image = SubResource("Image_0piph") +image = SubResource("Image_2vtcd") -[sub_resource type="Image" id="Image_7fuwk"] -======= -<<<<<<< HEAD -image = SubResource("Image_4bgii") - -[sub_resource type="Image" id="Image_1s0ky"] -======= -image = SubResource("Image_726jx") - -[sub_resource type="Image" id="Image_mcf3d"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_qaks8"] 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", @@ -2828,15 +2556,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -<<<<<<< HEAD -image = SubResource("Image_7fuwk") -======= -<<<<<<< HEAD -image = SubResource("Image_1s0ky") -======= -image = SubResource("Image_mcf3d") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_qaks8") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2912,15 +2632,7 @@ border_width_left = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -<<<<<<< HEAD -[sub_resource type="Image" id="Image_1ik66"] -======= -<<<<<<< HEAD -[sub_resource type="Image" id="Image_t5208"] -======= -[sub_resource type="Image" id="Image_mq46j"] ->>>>>>> feat/godot ->>>>>>> cooker +[sub_resource type="Image" id="Image_j0gfq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2930,15 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -<<<<<<< HEAD -image = SubResource("Image_1ik66") -======= -<<<<<<< HEAD -image = SubResource("Image_t5208") -======= -image = SubResource("Image_mq46j") ->>>>>>> feat/godot ->>>>>>> cooker +image = SubResource("Image_j0gfq") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index bf583f55..35129360 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -45,8 +45,7 @@ func _connect_signals() -> void: %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.button_down.connect(_do_action.bind(%launch_button)) - %launch_button.button_up.connect(_on_Button_released.bind(%launch_progress)) + %launch_button.pressed.connect(_do_action.bind(%launch_button)) %reset_button.button_down.connect(_do_action.bind(%reset_button)) %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) From f926a3bcdf505fb607d173be84e3acccdbc5dde8 Mon Sep 17 00:00:00 2001 From: Rekku Date: Fri, 6 Sep 2024 22:41:28 +0100 Subject: [PATCH 02/74] Log file refactor --- tools/configurator/components/popup.gd | 1 - tools/configurator/main.gd | 31 +++---- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/class_functions.gd | 24 ++++- 4 files changed, 79 insertions(+), 65 deletions(-) diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 1289df48..4d75e012 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -10,7 +10,6 @@ var content = null func _ready(): lbhide.visible=false rbhide.visible=false - print (bios_type) $".".theme = custom_theme # TODO this alowes copy and paste from RTB in logs? if (content != null and bios_type > 0): diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd index a96213ad..722444aa 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/main.gd @@ -11,9 +11,6 @@ var custom_theme: Theme = $".".theme var log_option: OptionButton var tab_container: TabContainer var anim_logo: AnimatedSprite2D -var rd_logs: String -var rd_version: String -var gc_version: String 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() @@ -23,16 +20,12 @@ func _ready(): _connect_signals() _play_main_animations() #%locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) - #display_json_data() - var config_file_path = "/var/config/retrodeck/retrodeck.cfg" - var json_file_path = "/var/config/retrodeck/retrodeck.json" - var config = data_handler.parse_config_to_json(config_file_path) - data_handler.config_save_json(config, json_file_path) - rd_logs = config["paths"]["logs_folder"] - rd_version = config["version"] - gc_version = ProjectSettings.get_setting("application/config/version") - %rd_title.text+= "\n " + rd_version + "\nConfigurator\n " + gc_version - + + #class_functions.logger() + %rd_title.text += class_functions.read_cfg() + class_functions.log_parameters[2] = class_functions.log_text + "started configurator" + class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + print (class_functions.rd_log) #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") #for id in config.paths: # var path_data = config.paths[id] @@ -63,6 +56,8 @@ func _input(event): _exit() func _exit(): + class_functions.log_parameters[2] = class_functions.log_text + "exited configurator" + class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) get_tree().quit() @@ -90,17 +85,17 @@ func _load_log(index: int) -> void: 1: class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroDeck log" class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(rd_logs +"/retrodeck.log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") load_popup("RetroDeck Log", "res://components/logs_view/logs_popup_content.tscn", log_content) 2: class_functions.log_parameters[2] = class_functions.log_text + "Loading ES-DE log" class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(rd_logs +"/ES-DE/es_log.txt") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") load_popup("ES-DE Log", "res://components/logs_view/logs_popup_content.tscn",log_content) 3: class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroArch log" class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(rd_logs +"/retroarch/logs/log.txt") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) func _play_main_animations() -> void: @@ -201,9 +196,7 @@ func _on_bios_button_expert_pressed(): func _on_exit_button_pressed(): _play_main_animations() - class_functions.log_parameters[2] = class_functions.log_text + "Exited" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) - class_functions._exit() + _exit() func _on_locale_selected(index): match index: diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 3eabc052..8b952ed2 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_t7efe"] +[sub_resource type="Image" id="Image_s6soj"] 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_t7efe") +image = SubResource("Image_s6soj") -[sub_resource type="Image" id="Image_kmit8"] +[sub_resource type="Image" id="Image_xp40i"] 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_kmit8") +image = SubResource("Image_xp40i") [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_565c1"] +[sub_resource type="Image" id="Image_k1no1"] 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_565c1") +image = SubResource("Image_k1no1") [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_q0vn6"] +[sub_resource type="Image" id="Image_7t6dj"] 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_q0vn6") +image = SubResource("Image_7t6dj") [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_s5c2d"] +[sub_resource type="Image" id="Image_sx2oj"] 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_s5c2d") +image = SubResource("Image_sx2oj") [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_rqfhb"] +[sub_resource type="Image" id="Image_eai44"] 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_rqfhb") +image = SubResource("Image_eai44") [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_4flla"] +[sub_resource type="Image" id="Image_baskb"] 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_4flla") +image = SubResource("Image_baskb") -[sub_resource type="Image" id="Image_t0i0f"] +[sub_resource type="Image" id="Image_62h63"] 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_t0i0f") +image = SubResource("Image_62h63") -[sub_resource type="Image" id="Image_vc636"] +[sub_resource type="Image" id="Image_674ql"] 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_vc636") +image = SubResource("Image_674ql") -[sub_resource type="Image" id="Image_ya6ox"] +[sub_resource type="Image" id="Image_v4q48"] 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_ya6ox") +image = SubResource("Image_v4q48") -[sub_resource type="Image" id="Image_nxhkg"] +[sub_resource type="Image" id="Image_n2q25"] 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_nxhkg") +image = SubResource("Image_n2q25") [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_1y0us"] +[sub_resource type="Image" id="Image_2ie0c"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_1y0us") +image = SubResource("Image_2ie0c") [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_w2tlo"] +[sub_resource type="Image" id="Image_uyhvq"] 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_w2tlo") +image = SubResource("Image_uyhvq") [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_7o6hp"] +[sub_resource type="Image" id="Image_jmtcv"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_7o6hp") +image = SubResource("Image_jmtcv") [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_hdjaq"] +[sub_resource type="Image" id="Image_q4hq1"] 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_hdjaq") +image = SubResource("Image_q4hq1") [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_vxc33"] +[sub_resource type="Image" id="Image_jterx"] 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_vxc33") +image = SubResource("Image_jterx") -[sub_resource type="Image" id="Image_lx6tj"] +[sub_resource type="Image" id="Image_p4loj"] 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_lx6tj") +image = SubResource("Image_p4loj") -[sub_resource type="Image" id="Image_1jeby"] +[sub_resource type="Image" id="Image_vajvl"] 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_1jeby") +image = SubResource("Image_vajvl") -[sub_resource type="Image" id="Image_is1c5"] +[sub_resource type="Image" id="Image_od0sr"] 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_is1c5") +image = SubResource("Image_od0sr") [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_2vtcd"] +[sub_resource type="Image" id="Image_bsheg"] 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_2vtcd") +image = SubResource("Image_bsheg") -[sub_resource type="Image" id="Image_qaks8"] +[sub_resource type="Image" id="Image_paq4h"] 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_qaks8") +image = SubResource("Image_paq4h") [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_j0gfq"] +[sub_resource type="Image" id="Image_g284e"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_j0gfq") +image = SubResource("Image_g284e") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 88ef29db..1796a842 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -2,9 +2,31 @@ class_name ClassFunctions extends Control var log_text = "gdc_" -var log_parameters: Array = ["log", "i", log_text] +var log_parameters: Array var wrapper_command: String = "../../tools/retrodeck_function_wrapper.sh" +var rd_log: String +var rd_log_folder: String +var rd_version: String +var gc_version: String +func read_cfg() -> String: + var title: String + var config_file_path = "/var/config/retrodeck/retrodeck.cfg" + var json_file_path = "/var/config/retrodeck/retrodeck.json" + var config = data_handler.parse_config_to_json(config_file_path) + data_handler.config_save_json(config, json_file_path) + rd_log_folder = config["paths"]["logs_folder"] + rd_log = rd_log_folder + "/retrodeck.log" + log_parameters = ["log", "i", log_text, rd_log] + rd_version = config["version"] + gc_version = ProjectSettings.get_setting("application/config/version") + title = "\n " + rd_version + "\nConfigurator\n " + gc_version + print ("Make logging a function\nAlso add d,i,e,w: ", rd_log) + return title + +func logger() -> void: + pass + func array_to_string(arr: Array) -> String: var text: String for line in arr: From 7cb91a49877d7244961727b272e36d35ab26c1a8 Mon Sep 17 00:00:00 2001 From: Rekku Date: Sat, 7 Sep 2024 10:00:19 +0100 Subject: [PATCH 03/74] Log full path? --- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/class_functions.gd | 3 +- 2 files changed, 46 insertions(+), 45 deletions(-) diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 8b952ed2..20d91e56 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_s6soj"] +[sub_resource type="Image" id="Image_pqva7"] 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_s6soj") +image = SubResource("Image_pqva7") -[sub_resource type="Image" id="Image_xp40i"] +[sub_resource type="Image" id="Image_mtccf"] 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_xp40i") +image = SubResource("Image_mtccf") [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_k1no1"] +[sub_resource type="Image" id="Image_sde0a"] 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_k1no1") +image = SubResource("Image_sde0a") [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_7t6dj"] +[sub_resource type="Image" id="Image_mqxnf"] 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_7t6dj") +image = SubResource("Image_mqxnf") [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_sx2oj"] +[sub_resource type="Image" id="Image_5mgdd"] 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_sx2oj") +image = SubResource("Image_5mgdd") [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_eai44"] +[sub_resource type="Image" id="Image_b8bpn"] 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_eai44") +image = SubResource("Image_b8bpn") [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_baskb"] +[sub_resource type="Image" id="Image_1c1rq"] 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_baskb") +image = SubResource("Image_1c1rq") -[sub_resource type="Image" id="Image_62h63"] +[sub_resource type="Image" id="Image_sw3tr"] 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_62h63") +image = SubResource("Image_sw3tr") -[sub_resource type="Image" id="Image_674ql"] +[sub_resource type="Image" id="Image_isyjf"] 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_674ql") +image = SubResource("Image_isyjf") -[sub_resource type="Image" id="Image_v4q48"] +[sub_resource type="Image" id="Image_iofle"] 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_v4q48") +image = SubResource("Image_iofle") -[sub_resource type="Image" id="Image_n2q25"] +[sub_resource type="Image" id="Image_fqxd2"] 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_n2q25") +image = SubResource("Image_fqxd2") [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_2ie0c"] +[sub_resource type="Image" id="Image_kp1w8"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_2ie0c") +image = SubResource("Image_kp1w8") [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_uyhvq"] +[sub_resource type="Image" id="Image_jy7h0"] 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_uyhvq") +image = SubResource("Image_jy7h0") [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_jmtcv"] +[sub_resource type="Image" id="Image_nhq4b"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_jmtcv") +image = SubResource("Image_nhq4b") [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_q4hq1"] +[sub_resource type="Image" id="Image_rpb7u"] 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_q4hq1") +image = SubResource("Image_rpb7u") [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_jterx"] +[sub_resource type="Image" id="Image_2sjho"] 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_jterx") +image = SubResource("Image_2sjho") -[sub_resource type="Image" id="Image_p4loj"] +[sub_resource type="Image" id="Image_kg1ra"] 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_p4loj") +image = SubResource("Image_kg1ra") -[sub_resource type="Image" id="Image_vajvl"] +[sub_resource type="Image" id="Image_shncy"] 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_vajvl") +image = SubResource("Image_shncy") -[sub_resource type="Image" id="Image_od0sr"] +[sub_resource type="Image" id="Image_70ayr"] 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_od0sr") +image = SubResource("Image_70ayr") [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_bsheg"] +[sub_resource type="Image" id="Image_a4dy5"] 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_bsheg") +image = SubResource("Image_a4dy5") -[sub_resource type="Image" id="Image_paq4h"] +[sub_resource type="Image" id="Image_g5la6"] 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_paq4h") +image = SubResource("Image_g5la6") [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_g284e"] +[sub_resource type="Image" id="Image_eyriy"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_g284e") +image = SubResource("Image_eyriy") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 1796a842..68ad8558 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -16,7 +16,8 @@ func read_cfg() -> String: var config = data_handler.parse_config_to_json(config_file_path) data_handler.config_save_json(config, json_file_path) rd_log_folder = config["paths"]["logs_folder"] - rd_log = rd_log_folder + "/retrodeck.log" + #rd_log = rd_log_folder + "/retrodeck.log" + rd_log = "/var/config/retrodeck/logs/retrodeck.log" log_parameters = ["log", "i", log_text, rd_log] rd_version = config["version"] gc_version = ProjectSettings.get_setting("application/config/version") From ebfcd69190c344777cca51e11ce8b18b2e1535eb Mon Sep 17 00:00:00 2001 From: Rekku Date: Sat, 7 Sep 2024 11:22:09 +0100 Subject: [PATCH 04/74] Ooops! --- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/SystemTab.gd | 6 -- tools/configurator/scripts/class_functions.gd | 6 +- 3 files changed, 47 insertions(+), 53 deletions(-) diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 20d91e56..57543076 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_pqva7"] +[sub_resource type="Image" id="Image_62emc"] 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_pqva7") +image = SubResource("Image_62emc") -[sub_resource type="Image" id="Image_mtccf"] +[sub_resource type="Image" id="Image_43yh4"] 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_mtccf") +image = SubResource("Image_43yh4") [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_sde0a"] +[sub_resource type="Image" id="Image_g8qbb"] 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_sde0a") +image = SubResource("Image_g8qbb") [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_mqxnf"] +[sub_resource type="Image" id="Image_8hsq5"] 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_mqxnf") +image = SubResource("Image_8hsq5") [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_5mgdd"] +[sub_resource type="Image" id="Image_xq8h4"] 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_5mgdd") +image = SubResource("Image_xq8h4") [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_b8bpn"] +[sub_resource type="Image" id="Image_33w4k"] 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_b8bpn") +image = SubResource("Image_33w4k") [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_1c1rq"] +[sub_resource type="Image" id="Image_dg6qs"] 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_1c1rq") +image = SubResource("Image_dg6qs") -[sub_resource type="Image" id="Image_sw3tr"] +[sub_resource type="Image" id="Image_d8gug"] 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_sw3tr") +image = SubResource("Image_d8gug") -[sub_resource type="Image" id="Image_isyjf"] +[sub_resource type="Image" id="Image_r7rto"] 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_isyjf") +image = SubResource("Image_r7rto") -[sub_resource type="Image" id="Image_iofle"] +[sub_resource type="Image" id="Image_emksd"] 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_iofle") +image = SubResource("Image_emksd") -[sub_resource type="Image" id="Image_fqxd2"] +[sub_resource type="Image" id="Image_kxpah"] 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_fqxd2") +image = SubResource("Image_kxpah") [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_kp1w8"] +[sub_resource type="Image" id="Image_nr33g"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_kp1w8") +image = SubResource("Image_nr33g") [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_jy7h0"] +[sub_resource type="Image" id="Image_67hak"] 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_jy7h0") +image = SubResource("Image_67hak") [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_nhq4b"] +[sub_resource type="Image" id="Image_22qm6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_nhq4b") +image = SubResource("Image_22qm6") [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_rpb7u"] +[sub_resource type="Image" id="Image_mwlj8"] 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_rpb7u") +image = SubResource("Image_mwlj8") [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_2sjho"] +[sub_resource type="Image" id="Image_k0gxe"] 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_2sjho") +image = SubResource("Image_k0gxe") -[sub_resource type="Image" id="Image_kg1ra"] +[sub_resource type="Image" id="Image_x5o30"] 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_kg1ra") +image = SubResource("Image_x5o30") -[sub_resource type="Image" id="Image_shncy"] +[sub_resource type="Image" id="Image_r2uaw"] 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_shncy") +image = SubResource("Image_r2uaw") -[sub_resource type="Image" id="Image_70ayr"] +[sub_resource type="Image" id="Image_mmk83"] 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_70ayr") +image = SubResource("Image_mmk83") [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_a4dy5"] +[sub_resource type="Image" id="Image_kak1t"] 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_a4dy5") +image = SubResource("Image_kak1t") -[sub_resource type="Image" id="Image_g5la6"] +[sub_resource type="Image" id="Image_ds41u"] 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_g5la6") +image = SubResource("Image_ds41u") [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_eyriy"] +[sub_resource type="Image" id="Image_1e2s7"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_eyriy") +image = SubResource("Image_1e2s7") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index 35129360..ab22ab8e 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -3,7 +3,6 @@ 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 @@ -13,18 +12,13 @@ func _ready(): _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: diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 68ad8558..699a752c 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -3,7 +3,7 @@ class_name ClassFunctions extends Control var log_text = "gdc_" var log_parameters: Array -var wrapper_command: String = "../../tools/retrodeck_function_wrapper.sh" +var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" var rd_log: String var rd_log_folder: String var rd_version: String @@ -16,8 +16,8 @@ func read_cfg() -> String: var config = data_handler.parse_config_to_json(config_file_path) data_handler.config_save_json(config, json_file_path) rd_log_folder = config["paths"]["logs_folder"] - #rd_log = rd_log_folder + "/retrodeck.log" - rd_log = "/var/config/retrodeck/logs/retrodeck.log" + rd_log = rd_log_folder + "/retrodeck.log" + #rd_log = "/var/config/retrodeck/logs/retrodeck.log" log_parameters = ["log", "i", log_text, rd_log] rd_version = config["version"] gc_version = ProjectSettings.get_setting("application/config/version") From 098efa7379f13d9806e60900610dde67d0be5070 Mon Sep 17 00:00:00 2001 From: Rekku Date: Sun, 8 Sep 2024 19:03:36 +0100 Subject: [PATCH 05/74] Reftactored logging and threading --- tools/configurator/TabContainer.gd | 8 -- .../components/bios_check/bios_check.gd | 10 +-- tools/configurator/main.gd | 47 +++++----- tools/configurator/main.tscn | 10 ++- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/retrodeck.gd | 17 ++++ tools/configurator/scripts/SystemTab.gd | 22 ++--- tools/configurator/scripts/class_functions.gd | 31 ++++--- tools/configurator/tk_about.gd | 8 +- 9 files changed, 120 insertions(+), 121 deletions(-) create mode 100644 tools/configurator/retrodeck.gd diff --git a/tools/configurator/TabContainer.gd b/tools/configurator/TabContainer.gd index 06b734ac..99dc396c 100644 --- a/tools/configurator/TabContainer.gd +++ b/tools/configurator/TabContainer.gd @@ -2,8 +2,6 @@ extends TabContainer var icon_width: int = 32 @onready var tcount: int = get_tab_count()-1 -var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") -var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") func _ready(): @@ -38,23 +36,17 @@ func _on_Button_focus_entered(button: Button): func _input(event): if (event.is_action_pressed("next_tab")): - %r1_button.texture_normal = %r1_button.texture_pressed if current_tab == tcount: current_tab = 0 else: self.select_next_available() focusFirstFocusableChild() - else: - %r1_button.texture_normal = r1_button_texture if (event.is_action_pressed("previous_tab")): - %l1_button.texture_normal = %l1_button.texture_pressed if current_tab == 0: current_tab = tcount else: self.select_previous_available() focusFirstFocusableChild() - else: - %l1_button.texture_normal = l1_button_texture func focusFirstFocusableChild(): var children = findElements(get_current_tab_control(), "Control") diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index 83ff7877..a6c14f17 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -23,13 +23,10 @@ func _ready(): if bios_type == 1: #Basic BIOS button pressed var parameters = ["check_bios_files","basic"] - await run_thread_command(class_functions.wrapper_command, parameters, console) - class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(bios_result["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) else: #Assume advanced BIOS button pressed var parameters = ["check_bios_files"] - class_functions.execute_command(class_functions.wrapper_command, parameters, false) - await run_thread_command(class_functions.wrapper_command, parameters, console) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) var bios_list = bios_result["output"] var bios_lines = bios_list.split("\n") for line in bios_lines: @@ -40,6 +37,3 @@ func _ready(): if table_line.get_index() % 2 == 1: table_line.set_custom_bg_color(i,Color(0.15, 0.15, 0.15, 1),false) table_line.set_custom_color(i,Color(1,1,1,1)) - -func run_thread_command(command: String, parameters: Array, console: bool) -> void: - bios_result = await class_functions.run_command_in_thread(command, parameters, console) diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd index 722444aa..fde10706 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/main.gd @@ -4,7 +4,6 @@ extends Control @onready var bios_type:int -var log_results: Dictionary var theme_option: OptionButton #signal signal_theme_changed var custom_theme: Theme = $".".theme @@ -13,6 +12,8 @@ var tab_container: TabContainer var anim_logo: AnimatedSprite2D var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png") var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") +var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") +var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") var app_data := AppData.new() func _ready(): @@ -23,9 +24,8 @@ func _ready(): #class_functions.logger() %rd_title.text += class_functions.read_cfg() - class_functions.log_parameters[2] = class_functions.log_text + "started configurator" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - print (class_functions.rd_log) + class_functions.logger("i","Started Godot configurator") + #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") #for id in config.paths: # var path_data = config.paths[id] @@ -45,19 +45,24 @@ func _ready(): func _input(event): if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): _exit() - if Input.is_action_pressed("back_button"): + if Input.is_action_pressed("next_tab"): + %r1_button.texture_normal = %r1_button.texture_pressed + elif Input.is_action_pressed("previous_tab"): + %l1_button.texture_normal = %l1_button.texture_pressed + elif Input.is_action_pressed("back_button"): %b_button.texture_normal = %b_button.texture_pressed elif Input.is_action_pressed("action_button"): %a_button.texture_normal = %a_button.texture_pressed else: + %r1_button.texture_normal = r1_button_texture + %l1_button.texture_normal = l1_button_texture %a_button.texture_normal = a_button_texture %b_button.texture_normal = b_button_texture if event.is_action_pressed("quit"): _exit() func _exit(): - class_functions.log_parameters[2] = class_functions.log_text + "exited configurator" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Exited Godot configurator") get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) get_tree().quit() @@ -83,18 +88,15 @@ func _load_log(index: int) -> void: var log_content:String match index: 1: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroDeck log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Loading RetroDeck log") log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") load_popup("RetroDeck Log", "res://components/logs_view/logs_popup_content.tscn", log_content) 2: - class_functions.log_parameters[2] = class_functions.log_text + "Loading ES-DE log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Loading ES-DE log") log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") load_popup("ES-DE Log", "res://components/logs_view/logs_popup_content.tscn",log_content) 3: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroArch log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Loading RetroArch log") log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) @@ -139,20 +141,16 @@ func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hi func _conf_theme(index: int) -> void: match index: 1: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") 2: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://assets/themes/retro_theme.tres") 3: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://assets/themes/modern_theme.tres") 4: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://assets/themes/accesible_theme.tres") $".".theme = custom_theme _play_main_animations() @@ -180,17 +178,14 @@ func _on_quickresume_advanced_pressed(): func _on_bios_button_pressed(): _play_main_animations() bios_type = 1 - class_functions.log_parameters[2] = class_functions.log_text + "Bios_Check" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) + class_functions.logger("i","Bios Check") load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") bios_type = 0 func _on_bios_button_expert_pressed(): _play_main_animations() bios_type = 2 - class_functions.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"]) + class_functions.logger("i","Advanced Bios Check") load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") bios_type = 0 diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 7cd11420..77bcf27d 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=99 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=101 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"] @@ -92,6 +92,8 @@ [ext_resource type="Script" path="res://controller_guide.gd" id="68_ahvw4"] [ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] [ext_resource type="Texture2D" uid="uid://dllymmym0335n" path="res://assets/icons/pixelitos/16/system-shutdown.png" id="87_1yqbe"] +[ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] +[ext_resource type="Script" path="res://retrodeck.gd" id="94_8nlr1"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] bg_color = Color(0.712505, 0, 0.175592, 1) @@ -1699,6 +1701,12 @@ texture_normal = ExtResource("39_5ft88") texture_pressed = ExtResource("40_pnuor") stretch_mode = 0 +[node name="Retrodeck_Thread_Check" type="Sprite2D" parent="."] +position = Vector2(1046, 238) +scale = Vector2(0.390625, 0.398438) +texture = ExtResource("93_f7ex4") +script = ExtResource("94_8nlr1") + [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button" to="." method="_on_bios_button_pressed"] [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] [connection signal="item_selected" from="controller_guide/HBoxContainer/locale_option" to="." method="_on_locale_selected"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 57543076..a75c6c99 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_62emc"] +[sub_resource type="Image" id="Image_d5ovj"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_62emc") +image = SubResource("Image_d5ovj") -[sub_resource type="Image" id="Image_43yh4"] +[sub_resource type="Image" id="Image_cy4yh"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_43yh4") +image = SubResource("Image_cy4yh") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_g8qbb"] +[sub_resource type="Image" id="Image_vovw2"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_g8qbb") +image = SubResource("Image_vovw2") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_8hsq5"] +[sub_resource type="Image" id="Image_547cp"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_8hsq5") +image = SubResource("Image_547cp") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_xq8h4"] +[sub_resource type="Image" id="Image_3aurp"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_xq8h4") +image = SubResource("Image_3aurp") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_33w4k"] +[sub_resource type="Image" id="Image_3iex0"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_33w4k") +image = SubResource("Image_3iex0") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_dg6qs"] +[sub_resource type="Image" id="Image_paoet"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_dg6qs") +image = SubResource("Image_paoet") -[sub_resource type="Image" id="Image_d8gug"] +[sub_resource type="Image" id="Image_ojl2r"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_d8gug") +image = SubResource("Image_ojl2r") -[sub_resource type="Image" id="Image_r7rto"] +[sub_resource type="Image" id="Image_uvqsg"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_r7rto") +image = SubResource("Image_uvqsg") -[sub_resource type="Image" id="Image_emksd"] +[sub_resource type="Image" id="Image_81c6n"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_emksd") +image = SubResource("Image_81c6n") -[sub_resource type="Image" id="Image_kxpah"] +[sub_resource type="Image" id="Image_6q561"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_kxpah") +image = SubResource("Image_6q561") [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_nr33g"] +[sub_resource type="Image" id="Image_c5xe0"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_nr33g") +image = SubResource("Image_c5xe0") [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_67hak"] +[sub_resource type="Image" id="Image_8m25w"] 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_67hak") +image = SubResource("Image_8m25w") [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_22qm6"] +[sub_resource type="Image" id="Image_7ntwx"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_22qm6") +image = SubResource("Image_7ntwx") [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_mwlj8"] +[sub_resource type="Image" id="Image_fr5wh"] 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_mwlj8") +image = SubResource("Image_fr5wh") [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_k0gxe"] +[sub_resource type="Image" id="Image_6q0qo"] 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_k0gxe") +image = SubResource("Image_6q0qo") -[sub_resource type="Image" id="Image_x5o30"] +[sub_resource type="Image" id="Image_kifi4"] 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_x5o30") +image = SubResource("Image_kifi4") -[sub_resource type="Image" id="Image_r2uaw"] +[sub_resource type="Image" id="Image_mpk7l"] 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_r2uaw") +image = SubResource("Image_mpk7l") -[sub_resource type="Image" id="Image_mmk83"] +[sub_resource type="Image" id="Image_nsxh2"] 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_mmk83") +image = SubResource("Image_nsxh2") [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_kak1t"] +[sub_resource type="Image" id="Image_u4rt0"] 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_kak1t") +image = SubResource("Image_u4rt0") -[sub_resource type="Image" id="Image_ds41u"] +[sub_resource type="Image" id="Image_1eamt"] 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_ds41u") +image = SubResource("Image_1eamt") [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_1e2s7"] +[sub_resource type="Image" id="Image_mqub5"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_1e2s7") +image = SubResource("Image_mqub5") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/retrodeck.gd b/tools/configurator/retrodeck.gd new file mode 100644 index 00000000..4f0203ac --- /dev/null +++ b/tools/configurator/retrodeck.gd @@ -0,0 +1,17 @@ +extends Sprite2D + +@export var rotation_speed: float = 45.0 +@export var speed = 400 +const SCALE_MIN = 0.01 +const SCALE_MAX = 0.35 +const SCALE_SPEED = 0.5 +var scale_direction = 1.0 + +func _process(delta) -> void: + # Rotate the sprite + rotation_degrees += rotation_speed * delta + var new_scale = scale + Vector2(scale_direction, scale_direction) * SCALE_SPEED * delta + if new_scale.x < SCALE_MIN or new_scale.x > SCALE_MAX: + scale_direction *= -1 # Reverse direction if scale limit is reached + else: + scale = new_scale diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index ab22ab8e..f1c4e6f5 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -75,29 +75,21 @@ func _on_Button_released(progress: ProgressBar) -> void: 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.logger("i", "Launching " + current_system.name + " Help") 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) + class_functions.logger("i", "Launching " + current_system.name) 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) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) ["reset_button", current_system.name]: is_reset_pressed = true %reset_progress.visible = true func _do_complete() ->void: if is_reset_pressed: - var parameters = ["prepare_component","reset",current_system.name] %reset_button.text = "RESETTING-NOW" - class_functions.log_parameters[2] = class_functions.log_text + "Resetting " + current_system.name - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - await run_thread_command(class_functions.wrapper_command,parameters, false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit Code: " + str(reset_result["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i", "Resetting " + current_system.name) + var parameters = ["prepare_component","reset",current_system.name] + reset_result = await class_functions.run_thread_command(class_functions.wrapper_command,parameters, false) + class_functions.logger("d", "Exit Code: " + str(reset_result["exit_code"])) %reset_button.text = "RESET COMPLETED" - -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/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 699a752c..eb33f016 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -1,9 +1,12 @@ class_name ClassFunctions extends Control -var log_text = "gdc_" +var log_header_text = "gdc_" +var log_result: Dictionary var log_parameters: Array var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" +var config_file_path = "/var/config/retrodeck/retrodeck.cfg" +var json_file_path = "/var/config/retrodeck/retrodeck.json" var rd_log: String var rd_log_folder: String var rd_version: String @@ -11,27 +14,29 @@ var gc_version: String func read_cfg() -> String: var title: String - var config_file_path = "/var/config/retrodeck/retrodeck.cfg" - var json_file_path = "/var/config/retrodeck/retrodeck.json" var config = data_handler.parse_config_to_json(config_file_path) data_handler.config_save_json(config, json_file_path) rd_log_folder = config["paths"]["logs_folder"] rd_log = rd_log_folder + "/retrodeck.log" #rd_log = "/var/config/retrodeck/logs/retrodeck.log" - log_parameters = ["log", "i", log_text, rd_log] + rd_version = config["version"] gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version print ("Make logging a function\nAlso add d,i,e,w: ", rd_log) return title -func logger() -> void: - pass +func logger(log_type: String, log_text: String) -> void: + log_header_text+=log_text + log_parameters = ["log", log_type, log_header_text] + log_result = await class_functions.run_thread_command(wrapper_command,log_parameters, false) + #log_result = await class_functions.run_thread_command("find",["$HOME", "-name", "*.xml","-print"], false) + #print (log_result["exit_code"]) + #print (log_result["output"]) func array_to_string(arr: Array) -> String: var text: String for line in arr: - #text += line + "\n" text = line.strip_edges() + "\n" return text @@ -42,8 +47,6 @@ func execute_command(command: String, parameters: Array, console: bool) -> Dicti var exit_code = OS.execute(command, parameters, output, console) ## add if exit == 0 etc result["output"] = array_to_string(output) result["exit_code"] = exit_code - #print (array_to_string(output)) - #print (result["exit_code"]) return result func run_command_in_thread(command: String, paramaters: Array, _console: bool) -> Dictionary: @@ -54,11 +57,11 @@ func run_command_in_thread(command: String, paramaters: Array, _console: bool) - var result = thread.wait_to_finish() thread = null return result - -func _threaded_command_execution(command: String, parameters: Array, console: bool) -> Dictionary: - var result = execute_command(command, parameters, console) - return result - + +func run_thread_command(command: String, parameters: Array, console: bool) -> Dictionary: + log_result = await run_command_in_thread(command, parameters, console) + return log_result + func process_url_image(body) -> Texture: var image = Image.new() image.load_png_from_buffer(body) diff --git a/tools/configurator/tk_about.gd b/tools/configurator/tk_about.gd index cf107e8c..3aa19033 100644 --- a/tools/configurator/tk_about.gd +++ b/tools/configurator/tk_about.gd @@ -28,12 +28,10 @@ func _connect_signals() -> void: func _about_button_pressed(id: String, button: Button) -> void: match id: "rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses": - class_functions.log_parameters[2] = class_functions.log_text + "Loading website for " + id - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - OS.shell_open(button.editor_description) + class_functions.logger("i","Loading website for " + id) + class_functions.launch_help(button.editor_description) _: - class_functions.log_parameters[2] = class_functions.log_text + "Loading website - no matching ID found" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("d","Loading website for " + id) print ("Website ID/Link not found") func create_buttons() -> void: From 8d6bb6bf93818b9d56562fa6b30febab9625cae2 Mon Sep 17 00:00:00 2001 From: Rekku Date: Mon, 9 Sep 2024 13:26:29 +0100 Subject: [PATCH 06/74] URL --- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/class_functions.gd | 6 +- 2 files changed, 49 insertions(+), 45 deletions(-) diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index a75c6c99..9b5bd20b 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_d5ovj"] +[sub_resource type="Image" id="Image_lw0oi"] 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_d5ovj") +image = SubResource("Image_lw0oi") -[sub_resource type="Image" id="Image_cy4yh"] +[sub_resource type="Image" id="Image_df3cr"] 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_cy4yh") +image = SubResource("Image_df3cr") [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_vovw2"] +[sub_resource type="Image" id="Image_iuxq8"] 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_vovw2") +image = SubResource("Image_iuxq8") [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_547cp"] +[sub_resource type="Image" id="Image_iwir4"] 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_547cp") +image = SubResource("Image_iwir4") [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_3aurp"] +[sub_resource type="Image" id="Image_1v4mg"] 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_3aurp") +image = SubResource("Image_1v4mg") [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_3iex0"] +[sub_resource type="Image" id="Image_plck7"] 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_3iex0") +image = SubResource("Image_plck7") [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_paoet"] +[sub_resource type="Image" id="Image_5ov5v"] 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_paoet") +image = SubResource("Image_5ov5v") -[sub_resource type="Image" id="Image_ojl2r"] +[sub_resource type="Image" id="Image_c2bmg"] 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_ojl2r") +image = SubResource("Image_c2bmg") -[sub_resource type="Image" id="Image_uvqsg"] +[sub_resource type="Image" id="Image_jlfxy"] 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_uvqsg") +image = SubResource("Image_jlfxy") -[sub_resource type="Image" id="Image_81c6n"] +[sub_resource type="Image" id="Image_c7k8a"] 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_81c6n") +image = SubResource("Image_c7k8a") -[sub_resource type="Image" id="Image_6q561"] +[sub_resource type="Image" id="Image_i7sje"] 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_6q561") +image = SubResource("Image_i7sje") [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_c5xe0"] +[sub_resource type="Image" id="Image_d7p6y"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_c5xe0") +image = SubResource("Image_d7p6y") [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_8m25w"] +[sub_resource type="Image" id="Image_s0hdl"] 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_8m25w") +image = SubResource("Image_s0hdl") [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_7ntwx"] +[sub_resource type="Image" id="Image_oq6kg"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_7ntwx") +image = SubResource("Image_oq6kg") [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_fr5wh"] +[sub_resource type="Image" id="Image_dayut"] 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_fr5wh") +image = SubResource("Image_dayut") [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_6q0qo"] +[sub_resource type="Image" id="Image_ybrrl"] 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_6q0qo") +image = SubResource("Image_ybrrl") -[sub_resource type="Image" id="Image_kifi4"] +[sub_resource type="Image" id="Image_2i6ot"] 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_kifi4") +image = SubResource("Image_2i6ot") -[sub_resource type="Image" id="Image_mpk7l"] +[sub_resource type="Image" id="Image_t784i"] 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_mpk7l") +image = SubResource("Image_t784i") -[sub_resource type="Image" id="Image_nsxh2"] +[sub_resource type="Image" id="Image_ndhrc"] 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_nsxh2") +image = SubResource("Image_ndhrc") [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_u4rt0"] +[sub_resource type="Image" id="Image_r76wb"] 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_u4rt0") +image = SubResource("Image_r76wb") -[sub_resource type="Image" id="Image_1eamt"] +[sub_resource type="Image" id="Image_ys0ur"] 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_1eamt") +image = SubResource("Image_ys0ur") [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_mqub5"] +[sub_resource type="Image" id="Image_yvvl0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_mqub5") +image = SubResource("Image_yvvl0") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index eb33f016..c8ba4dfc 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -1,7 +1,6 @@ class_name ClassFunctions extends Control -var log_header_text = "gdc_" var log_result: Dictionary var log_parameters: Array var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" @@ -27,6 +26,7 @@ func read_cfg() -> String: return title func logger(log_type: String, log_text: String) -> void: + var log_header_text = "gdc_" log_header_text+=log_text log_parameters = ["log", log_type, log_header_text] log_result = await class_functions.run_thread_command(wrapper_command,log_parameters, false) @@ -69,6 +69,10 @@ func process_url_image(body) -> Texture: return texture func launch_help(url: String) -> void: + #OS.unset_environment("LD_PRELOAD") + #OS.set_environment("XDG_CURRENT_DESKTOP", "KDE") + #var launch = class_functions.execute_command("xdg-open",[url], false) + #var launch = class_functions.execute_command("org.mozilla.firefox",[url], false) OS.shell_open(url) func import_csv_data(file_path: String) -> Dictionary: From 68ebf43bf0a42603aad3be373ebf426ab419a941 Mon Sep 17 00:00:00 2001 From: Rekku Date: Mon, 9 Sep 2024 14:27:34 +0100 Subject: [PATCH 07/74] Desktop Mode --- tools/configurator/project.godot | 4 + .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- 2 files changed, 48 insertions(+), 44 deletions(-) diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 8a5ca29b..e2b38f40 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -77,6 +77,7 @@ next_tab={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":5,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194328,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } previous_tab={ @@ -84,6 +85,7 @@ previous_tab={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } back_button={ @@ -100,12 +102,14 @@ action_button={ quit1={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } quit2={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":true,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 9b5bd20b..a860f639 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_lw0oi"] +[sub_resource type="Image" id="Image_tbrdd"] 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_lw0oi") +image = SubResource("Image_tbrdd") -[sub_resource type="Image" id="Image_df3cr"] +[sub_resource type="Image" id="Image_ts8on"] 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_df3cr") +image = SubResource("Image_ts8on") [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_iuxq8"] +[sub_resource type="Image" id="Image_aruug"] 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_iuxq8") +image = SubResource("Image_aruug") [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_iwir4"] +[sub_resource type="Image" id="Image_tv1ie"] 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_iwir4") +image = SubResource("Image_tv1ie") [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_1v4mg"] +[sub_resource type="Image" id="Image_33nvg"] 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_1v4mg") +image = SubResource("Image_33nvg") [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_plck7"] +[sub_resource type="Image" id="Image_5t7af"] 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_plck7") +image = SubResource("Image_5t7af") [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_5ov5v"] +[sub_resource type="Image" id="Image_55g2u"] 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_5ov5v") +image = SubResource("Image_55g2u") -[sub_resource type="Image" id="Image_c2bmg"] +[sub_resource type="Image" id="Image_u8l7v"] 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_c2bmg") +image = SubResource("Image_u8l7v") -[sub_resource type="Image" id="Image_jlfxy"] +[sub_resource type="Image" id="Image_ek45g"] 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_jlfxy") +image = SubResource("Image_ek45g") -[sub_resource type="Image" id="Image_c7k8a"] +[sub_resource type="Image" id="Image_1ffkk"] 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_c7k8a") +image = SubResource("Image_1ffkk") -[sub_resource type="Image" id="Image_i7sje"] +[sub_resource type="Image" id="Image_p7srx"] 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_i7sje") +image = SubResource("Image_p7srx") [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_d7p6y"] +[sub_resource type="Image" id="Image_qjxrc"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_d7p6y") +image = SubResource("Image_qjxrc") [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_s0hdl"] +[sub_resource type="Image" id="Image_86bcf"] 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_s0hdl") +image = SubResource("Image_86bcf") [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_oq6kg"] +[sub_resource type="Image" id="Image_q0df1"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_oq6kg") +image = SubResource("Image_q0df1") [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_dayut"] +[sub_resource type="Image" id="Image_e0rnj"] 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_dayut") +image = SubResource("Image_e0rnj") [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_ybrrl"] +[sub_resource type="Image" id="Image_exm3e"] 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_ybrrl") +image = SubResource("Image_exm3e") -[sub_resource type="Image" id="Image_2i6ot"] +[sub_resource type="Image" id="Image_ybyli"] 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_2i6ot") +image = SubResource("Image_ybyli") -[sub_resource type="Image" id="Image_t784i"] +[sub_resource type="Image" id="Image_x1uxf"] 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_t784i") +image = SubResource("Image_x1uxf") -[sub_resource type="Image" id="Image_ndhrc"] +[sub_resource type="Image" id="Image_o8d3g"] 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_ndhrc") +image = SubResource("Image_o8d3g") [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_r76wb"] +[sub_resource type="Image" id="Image_p1g22"] 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_r76wb") +image = SubResource("Image_p1g22") -[sub_resource type="Image" id="Image_ys0ur"] +[sub_resource type="Image" id="Image_2be31"] 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_ys0ur") +image = SubResource("Image_2be31") [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_yvvl0"] +[sub_resource type="Image" id="Image_32rqy"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_yvvl0") +image = SubResource("Image_32rqy") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") From f32f1aa3689ffec15b81f13a9df7c4bfac3746c0 Mon Sep 17 00:00:00 2001 From: Rekku Date: Mon, 9 Sep 2024 14:33:16 +0100 Subject: [PATCH 08/74] Hide logo --- tools/configurator/main.tscn | 1 + .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- 2 files changed, 45 insertions(+), 44 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 77bcf27d..d3508b1e 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1702,6 +1702,7 @@ texture_pressed = ExtResource("40_pnuor") stretch_mode = 0 [node name="Retrodeck_Thread_Check" type="Sprite2D" parent="."] +visible = false position = Vector2(1046, 238) scale = Vector2(0.390625, 0.398438) texture = ExtResource("93_f7ex4") diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index a860f639..72a6175e 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_tbrdd"] +[sub_resource type="Image" id="Image_cnkdp"] 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_tbrdd") +image = SubResource("Image_cnkdp") -[sub_resource type="Image" id="Image_ts8on"] +[sub_resource type="Image" id="Image_y087u"] 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_ts8on") +image = SubResource("Image_y087u") [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_aruug"] +[sub_resource type="Image" id="Image_v8u2n"] 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_aruug") +image = SubResource("Image_v8u2n") [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_tv1ie"] +[sub_resource type="Image" id="Image_nm35u"] 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_tv1ie") +image = SubResource("Image_nm35u") [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_33nvg"] +[sub_resource type="Image" id="Image_8c7o3"] 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_33nvg") +image = SubResource("Image_8c7o3") [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_5t7af"] +[sub_resource type="Image" id="Image_pejxg"] 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_5t7af") +image = SubResource("Image_pejxg") [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_55g2u"] +[sub_resource type="Image" id="Image_ojymx"] 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_55g2u") +image = SubResource("Image_ojymx") -[sub_resource type="Image" id="Image_u8l7v"] +[sub_resource type="Image" id="Image_kngke"] 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_u8l7v") +image = SubResource("Image_kngke") -[sub_resource type="Image" id="Image_ek45g"] +[sub_resource type="Image" id="Image_fhmiv"] 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_ek45g") +image = SubResource("Image_fhmiv") -[sub_resource type="Image" id="Image_1ffkk"] +[sub_resource type="Image" id="Image_1enfl"] 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_1ffkk") +image = SubResource("Image_1enfl") -[sub_resource type="Image" id="Image_p7srx"] +[sub_resource type="Image" id="Image_4ta1g"] 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_p7srx") +image = SubResource("Image_4ta1g") [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_qjxrc"] +[sub_resource type="Image" id="Image_d74vd"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_qjxrc") +image = SubResource("Image_d74vd") [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_86bcf"] +[sub_resource type="Image" id="Image_idlp5"] 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_86bcf") +image = SubResource("Image_idlp5") [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_q0df1"] +[sub_resource type="Image" id="Image_iaor7"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_q0df1") +image = SubResource("Image_iaor7") [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_e0rnj"] +[sub_resource type="Image" id="Image_45yoo"] 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_e0rnj") +image = SubResource("Image_45yoo") [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_exm3e"] +[sub_resource type="Image" id="Image_20mtj"] 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_exm3e") +image = SubResource("Image_20mtj") -[sub_resource type="Image" id="Image_ybyli"] +[sub_resource type="Image" id="Image_4jlgx"] 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_ybyli") +image = SubResource("Image_4jlgx") -[sub_resource type="Image" id="Image_x1uxf"] +[sub_resource type="Image" id="Image_g6hdl"] 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_x1uxf") +image = SubResource("Image_g6hdl") -[sub_resource type="Image" id="Image_o8d3g"] +[sub_resource type="Image" id="Image_eq2xi"] 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_o8d3g") +image = SubResource("Image_eq2xi") [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_p1g22"] +[sub_resource type="Image" id="Image_f876f"] 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_p1g22") +image = SubResource("Image_f876f") -[sub_resource type="Image" id="Image_2be31"] +[sub_resource type="Image" id="Image_xrkuo"] 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_2be31") +image = SubResource("Image_xrkuo") [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_32rqy"] +[sub_resource type="Image" id="Image_fklke"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_32rqy") +image = SubResource("Image_fklke") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") From eec932471d2ecfe6208075223edc2505dc98ac9e Mon Sep 17 00:00:00 2001 From: MonkeyX Date: Mon, 9 Sep 2024 14:36:11 +0100 Subject: [PATCH 09/74] Godot Configurator (#940) * Feat/godot (#929) * On branch cooker Changes to be committed: modified: ../config/retrodeck/reference_lists/features.json modified: configurator.sh modified: configurator/TabContainer.gd modified: configurator/assets/themes/accesible_theme.tres modified: configurator/assets/themes/modern_theme.tres modified: configurator/assets/themes/retro_theme.tres modified: configurator/main.tscn modified: configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Signal test * s * Oops Data Recovery On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Sliding Rekku On branch cooker Changes to be committed: modified: tools/configurator/Rekku.gd modified: tools/configurator/main.gd modified: tools/configurator/main.tscn * Using less tabs? On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Generic Save experiment On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Let it flow On branch feat/godot Changes to be committed: new file: .github/workflows/build-godot.yml modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * On branch feat/godot Changes to be committed: modified: .github/workflows/build-godot.yml * FLow 2.0 * Flow 2.1 * Flow 2.2 * Flow 2.3 * Flow 2.4 * Flow 2.5 * Flow 2.6 * Flow 2.7 * Flow 2.8 * Flow 2.9 * Flow 2.9 * Flow 2.91 * Flow 2.92 * Emualtor==System * FFS revert! * Progress on Cores at last! * Progress on Cores at lastgit add .! * Functions * Bios change * Removed need for BIOS tmp file for Godot * Rotten the core! * Push TEst * fixed duplicate * fixed duplicate * Tidied Bios reading * Rekku assistant * Icons and System Tab work * Generic buttons please * Generic buttons pleases * Generic buttons please2 * Rekku gets the saw * Dialogues * Fixed link to json file * Feat/godot (#927) * Tidied parameter code * Tricky bios dialogue! * Mini change * Tidying icons * And then there were 5! * Time to Cook * INITOOL: added * SET_SETTING_VALUE: edited to use initool * Revert "SET_SETTING_VALUE: edited to use initool" This reverts commit b56916c2b0bf16305b2b8f22d08871390884351c. * Revert "INITOOL: added" This reverts commit 127bcdb6cde4cca85f47efdfeebb2b22868ae0ab. * POST_UPDATE: update_rd_conf to include steam_sync * INJECT_FRAMEWORK: added force args [skip ci] * Progress buttons * Reset! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feedback changes and 16 bit icons * Launch button change * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * On branch feat/godot (#935) Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd Co-authored-by: Rekku * Log file refactor * Log full path? * Ooops! * Fix for functions wrapper (#937) * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * Log file refactor * Log full path? * Ooops! --------- Co-authored-by: Rekku * POST_UPDATE: even on PR [skip ci] * RETRODECK: You know? till now we never quit retrodeck in the end! [skip ci] * FRAMEWORK: added the possibility to run a game from cli * RUN_GAME: system name prettyfied * RUN_GAME: added retroarch cores * FEATURES: added more launch args * RUN_GAME: fixed retroarch * RUN_GAME: various fixes, time up * FEATURES: fixed libetro with libretro [skip ci] * RUN_GAME: emulator and system can now be passed as optional arguments * Reftactored logging and threading * URL * Desktop Mode * Hide logo --------- Co-authored-by: Rekku Co-authored-by: XargonWan --- .../retrodeck/reference_lists/features.json | 47 +++-- functions/checks.sh | 5 +- functions/other_functions.sh | 122 +++++++++++++ retrodeck.sh | 26 ++- tools/configurator/Rekku.gd | 21 ++- tools/configurator/TabContainer.gd | 19 +- .../assets/icons/pixelitos/16/Alacritty.png | Bin 0 -> 5349 bytes .../icons/pixelitos/16/Alacritty.png.import | 34 ++++ .../assets/icons/pixelitos/16/CMakeSetup.png | Bin 0 -> 205 bytes .../icons/pixelitos/16/CMakeSetup.png.import | 34 ++++ .../pixelitos/16/QtProject-qtcreator.png | Bin 0 -> 173 bytes .../16/QtProject-qtcreator.png.import | 34 ++++ .../pixelitos/16/accesories-screenshoot.png | Bin 0 -> 191 bytes .../16/accesories-screenshoot.png.import | 34 ++++ .../pixelitos/16/accesories-screenshot.png | Bin 0 -> 191 bytes .../16/accesories-screenshot.png.import | 34 ++++ .../pixelitos/16/accessories-calculator.png | Bin 0 -> 268 bytes .../16/accessories-calculator.png.import | 34 ++++ .../icons/pixelitos/16/accessories-clock.png | Bin 0 -> 324 bytes .../pixelitos/16/accessories-clock.png.import | 34 ++++ .../pixelitos/16/accessories-dictionary.png | Bin 0 -> 129 bytes .../16/accessories-dictionary.png.import | 34 ++++ .../pixelitos/16/accessories-ebook-reader.png | Bin 0 -> 129 bytes .../16/accessories-ebook-reader.png.import | 34 ++++ .../icons/pixelitos/16/accessories-notes.png | Bin 0 -> 190 bytes .../pixelitos/16/accessories-notes.png.import | 34 ++++ .../icons/pixelitos/16/accessories-safe.png | Bin 0 -> 197 bytes .../pixelitos/16/accessories-safe.png.import | 34 ++++ .../pixelitos/16/accessories-screenshoot.png | Bin 0 -> 191 bytes .../16/accessories-screenshoot.png.import | 34 ++++ .../pixelitos/16/accessories-text-editor.png | Bin 0 -> 233 bytes .../16/accessories-text-editor.png.import | 34 ++++ .../assets/icons/pixelitos/16/alacarte.png | Bin 0 -> 154 bytes .../icons/pixelitos/16/alacarte.png.import | 34 ++++ .../assets/icons/pixelitos/16/anatine.png | Bin 0 -> 175 bytes .../icons/pixelitos/16/anatine.png.import | 34 ++++ .../icons/pixelitos/16/app.xemu.xemu.png | Bin 0 -> 183 bytes .../pixelitos/16/app.xemu.xemu.png.import | 34 ++++ .../assets/icons/pixelitos/16/apple.png | Bin 0 -> 289 bytes .../icons/pixelitos/16/apple.png.import | 34 ++++ .../pixelitos/16/applets-screenshooter.png | Bin 0 -> 191 bytes .../16/applets-screenshooter.png.import | 34 ++++ .../16/application-vnd.affinity-designer.png | Bin 0 -> 396 bytes ...plication-vnd.affinity-designer.png.import | 34 ++++ .../pixelitos/16/applications-accessories.png | Bin 0 -> 241 bytes .../16/applications-accessories.png.import | 34 ++++ .../icons/pixelitos/16/applications-all.png | Bin 0 -> 358 bytes .../pixelitos/16/applications-all.png.import | 34 ++++ .../pixelitos/16/applications-development.png | Bin 0 -> 160 bytes .../16/applications-development.png.import | 34 ++++ .../pixelitos/16/applications-education.png | Bin 0 -> 200 bytes .../16/applications-education.png.import | 34 ++++ .../icons/pixelitos/16/applications-games.png | Bin 0 -> 294 bytes .../16/applications-games.png.import | 34 ++++ .../pixelitos/16/applications-graphics.png | Bin 0 -> 320 bytes .../16/applications-graphics.png.import | 34 ++++ .../pixelitos/16/applications-internet.png | Bin 0 -> 229 bytes .../16/applications-internet.png.import | 34 ++++ .../pixelitos/16/applications-multimedia.png | Bin 0 -> 228 bytes .../16/applications-multimedia.png.import | 34 ++++ .../pixelitos/16/applications-office.png | Bin 0 -> 184 bytes .../16/applications-office.png.import | 34 ++++ .../icons/pixelitos/16/applications-other.png | Bin 0 -> 140 bytes .../16/applications-other.png.import | 34 ++++ .../pixelitos/16/applications-science.png | Bin 0 -> 200 bytes .../16/applications-science.png.import | 34 ++++ .../pixelitos/16/applications-system.png | Bin 0 -> 186 bytes .../16/applications-system.png.import | 34 ++++ .../pixelitos/16/applications-webbrowsers.png | Bin 0 -> 229 bytes .../16/applications-webbrowsers.png.import | 34 ++++ .../assets/icons/pixelitos/16/ares.png | Bin 0 -> 315 bytes .../assets/icons/pixelitos/16/ares.png.import | 34 ++++ .../assets/icons/pixelitos/16/ark.png | Bin 0 -> 236 bytes .../assets/icons/pixelitos/16/ark.png.import | 34 ++++ .../assets/icons/pixelitos/16/arronax.png | Bin 0 -> 192 bytes .../icons/pixelitos/16/arronax.png.import | 34 ++++ .../assets/icons/pixelitos/16/assaultcube.png | Bin 0 -> 318 bytes .../icons/pixelitos/16/assaultcube.png.import | 34 ++++ .../assets/icons/pixelitos/16/atril.png | Bin 0 -> 251 bytes .../icons/pixelitos/16/atril.png.import | 34 ++++ .../assets/icons/pixelitos/16/audacity.png | Bin 0 -> 255 bytes .../icons/pixelitos/16/audacity.png.import | 34 ++++ .../assets/icons/pixelitos/16/audio-mp3.png | Bin 0 -> 143 bytes .../icons/pixelitos/16/audio-mp3.png.import | 34 ++++ .../icons/pixelitos/16/avatar-default.png | Bin 0 -> 167 bytes .../pixelitos/16/avatar-default.png.import | 34 ++++ .../pixelitos/16/balena-etcher-electron.png | Bin 0 -> 207 bytes .../16/balena-etcher-electron.png.import | 34 ++++ .../assets/icons/pixelitos/16/bigpemu.png | Bin 0 -> 425 bytes .../icons/pixelitos/16/bigpemu.png.import | 34 ++++ .../assets/icons/pixelitos/16/blender.png | Bin 0 -> 209 bytes .../icons/pixelitos/16/blender.png.import | 34 ++++ .../assets/icons/pixelitos/16/bulky.png | Bin 0 -> 179 bytes .../icons/pixelitos/16/bulky.png.import | 34 ++++ .../assets/icons/pixelitos/16/chrome-beta.png | Bin 0 -> 260 bytes .../icons/pixelitos/16/chrome-beta.png.import | 34 ++++ .../assets/icons/pixelitos/16/chrome.png | Bin 0 -> 265 bytes .../icons/pixelitos/16/chrome.png.import | 34 ++++ .../16/cinnamon-virtual-keyboard.png | Bin 0 -> 140 bytes .../16/cinnamon-virtual-keyboard.png.import | 34 ++++ .../assets/icons/pixelitos/16/clementine.png | Bin 0 -> 206 bytes .../icons/pixelitos/16/clementine.png.import | 34 ++++ .../assets/icons/pixelitos/16/cmake-gui.png | Bin 0 -> 205 bytes .../icons/pixelitos/16/cmake-gui.png.import | 34 ++++ .../assets/icons/pixelitos/16/cmake.png | Bin 0 -> 205 bytes .../icons/pixelitos/16/cmake.png.import | 34 ++++ .../assets/icons/pixelitos/16/code-oss.png | Bin 0 -> 260 bytes .../icons/pixelitos/16/code-oss.png.import | 34 ++++ .../assets/icons/pixelitos/16/compton.png | Bin 0 -> 191 bytes .../icons/pixelitos/16/compton.png.import | 34 ++++ .../assets/icons/pixelitos/16/computer.png | Bin 0 -> 127 bytes .../icons/pixelitos/16/computer.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-applets.png | Bin 0 -> 123 bytes .../icons/pixelitos/16/cs-applets.png.import | 34 ++++ .../icons/pixelitos/16/cs-backgrounds.png | Bin 0 -> 269 bytes .../pixelitos/16/cs-backgrounds.png.import | 34 ++++ .../icons/pixelitos/16/cs-cat-admin.png | Bin 0 -> 175 bytes .../pixelitos/16/cs-cat-admin.png.import | 34 ++++ .../icons/pixelitos/16/cs-cat-appearance.png | Bin 0 -> 199 bytes .../pixelitos/16/cs-cat-appearance.png.import | 34 ++++ .../icons/pixelitos/16/cs-cat-hardware.png | Bin 0 -> 140 bytes .../pixelitos/16/cs-cat-hardware.png.import | 34 ++++ .../icons/pixelitos/16/cs-cat-prefs.png | Bin 0 -> 186 bytes .../pixelitos/16/cs-cat-prefs.png.import | 34 ++++ .../icons/pixelitos/16/cs-cat-tweaks.png | Bin 0 -> 186 bytes .../pixelitos/16/cs-cat-tweaks.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-color.png | Bin 0 -> 289 bytes .../icons/pixelitos/16/cs-color.png.import | 34 ++++ .../icons/pixelitos/16/cs-date-time.png | Bin 0 -> 324 bytes .../pixelitos/16/cs-date-time.png.import | 34 ++++ .../pixelitos/16/cs-default-applications.png | Bin 0 -> 177 bytes .../16/cs-default-applications.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-desklets.png | Bin 0 -> 190 bytes .../icons/pixelitos/16/cs-desklets.png.import | 34 ++++ .../icons/pixelitos/16/cs-desktop-effects.png | Bin 0 -> 212 bytes .../16/cs-desktop-effects.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-desktop.png | Bin 0 -> 150 bytes .../icons/pixelitos/16/cs-desktop.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-details.png | Bin 0 -> 161 bytes .../icons/pixelitos/16/cs-details.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-display.png | Bin 0 -> 127 bytes .../icons/pixelitos/16/cs-display.png.import | 34 ++++ .../icons/pixelitos/16/cs-extensions.png | Bin 0 -> 137 bytes .../pixelitos/16/cs-extensions.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-fonts.png | Bin 0 -> 161 bytes .../icons/pixelitos/16/cs-fonts.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-general.png | Bin 0 -> 186 bytes .../icons/pixelitos/16/cs-general.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-keyboard.png | Bin 0 -> 140 bytes .../icons/pixelitos/16/cs-keyboard.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-mouse.png | Bin 0 -> 161 bytes .../icons/pixelitos/16/cs-mouse.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-network.png | Bin 0 -> 180 bytes .../icons/pixelitos/16/cs-network.png.import | 34 ++++ .../icons/pixelitos/16/cs-notifications.png | Bin 0 -> 189 bytes .../pixelitos/16/cs-notifications.png.import | 34 ++++ .../icons/pixelitos/16/cs-online-accounts.png | Bin 0 -> 162 bytes .../16/cs-online-accounts.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-overview.png | Bin 0 -> 186 bytes .../icons/pixelitos/16/cs-overview.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-panel.png | Bin 0 -> 145 bytes .../icons/pixelitos/16/cs-panel.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-power.png | Bin 0 -> 134 bytes .../icons/pixelitos/16/cs-power.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-printer.png | Bin 0 -> 184 bytes .../icons/pixelitos/16/cs-printer.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-privacy.png | Bin 0 -> 153 bytes .../icons/pixelitos/16/cs-privacy.png.import | 34 ++++ .../icons/pixelitos/16/cs-screensaver.png | Bin 0 -> 178 bytes .../pixelitos/16/cs-screensaver.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-sound.png | Bin 0 -> 169 bytes .../icons/pixelitos/16/cs-sound.png.import | 34 ++++ .../pixelitos/16/cs-startup-programs.png | Bin 0 -> 231 bytes .../16/cs-startup-programs.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-tablet.png | Bin 0 -> 154 bytes .../icons/pixelitos/16/cs-tablet.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-themes.png | Bin 0 -> 199 bytes .../icons/pixelitos/16/cs-themes.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-tiling.png | Bin 0 -> 155 bytes .../icons/pixelitos/16/cs-tiling.png.import | 34 ++++ .../pixelitos/16/cs-universal-access.png | Bin 0 -> 271 bytes .../16/cs-universal-access.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-user.png | Bin 0 -> 167 bytes .../icons/pixelitos/16/cs-user.png.import | 34 ++++ .../assets/icons/pixelitos/16/cs-windows.png | Bin 0 -> 139 bytes .../icons/pixelitos/16/cs-windows.png.import | 34 ++++ .../icons/pixelitos/16/cs-workspaces.png | Bin 0 -> 154 bytes .../pixelitos/16/cs-workspaces.png.import | 34 ++++ .../pixelitos/16/desktop-environment-xfce.png | Bin 0 -> 177 bytes .../16/desktop-environment-xfce.png.import | 34 ++++ .../icons/pixelitos/16/dialog-password.png | Bin 0 -> 161 bytes .../pixelitos/16/dialog-password.png.import | 34 ++++ .../assets/icons/pixelitos/16/discord.png | Bin 0 -> 289 bytes .../icons/pixelitos/16/discord.png.import | 34 ++++ .../pixelitos/16/disk-usage-analyzer.png | Bin 0 -> 262 bytes .../16/disk-usage-analyzer.png.import | 34 ++++ .../pixelitos/16/document-open-recent.png | Bin 0 -> 324 bytes .../16/document-open-recent.png.import | 34 ++++ .../assets/icons/pixelitos/16/dosbox-x.png | Bin 0 -> 630 bytes .../icons/pixelitos/16/dosbox-x.png.import | 34 ++++ .../assets/icons/pixelitos/16/dosbox.png | Bin 0 -> 379 bytes .../icons/pixelitos/16/dosbox.png.import | 34 ++++ .../pixelitos/16/drive-removable-media.png | Bin 0 -> 191 bytes .../16/drive-removable-media.png.import | 34 ++++ .../assets/icons/pixelitos/16/duck_tank.png | Bin 0 -> 393 bytes .../icons/pixelitos/16/duck_tank.png.import | 34 ++++ .../icons/pixelitos/16/duckstation-nogui.png | Bin 0 -> 277 bytes .../pixelitos/16/duckstation-nogui.png.import | 34 ++++ .../assets/icons/pixelitos/16/duckstation.png | Bin 0 -> 277 bytes .../icons/pixelitos/16/duckstation.png.import | 34 ++++ .../assets/icons/pixelitos/16/emacs.png | Bin 0 -> 268 bytes .../icons/pixelitos/16/emacs.png.import | 34 ++++ .../assets/icons/pixelitos/16/email.png | Bin 0 -> 249 bytes .../icons/pixelitos/16/email.png.import | 34 ++++ .../assets/icons/pixelitos/16/es-de.png | Bin 0 -> 227 bytes .../icons/pixelitos/16/es-de.png.import | 34 ++++ .../icons/pixelitos/16/eu.vcmi.VCMI.png | Bin 0 -> 207 bytes .../pixelitos/16/eu.vcmi.VCMI.png.import | 34 ++++ .../assets/icons/pixelitos/16/facebook.png | Bin 0 -> 249 bytes .../icons/pixelitos/16/facebook.png.import | 34 ++++ .../assets/icons/pixelitos/16/fbneo.png | Bin 0 -> 272 bytes .../icons/pixelitos/16/fbneo.png.import | 34 ++++ .../assets/icons/pixelitos/16/feh.png | Bin 0 -> 165 bytes .../assets/icons/pixelitos/16/feh.png.import | 34 ++++ .../assets/icons/pixelitos/16/file-roller.png | Bin 0 -> 236 bytes .../icons/pixelitos/16/file-roller.png.import | 34 ++++ .../pixelitos/16/file-system-manager.png | Bin 0 -> 134 bytes .../16/file-system-manager.png.import | 34 ++++ .../assets/icons/pixelitos/16/filezilla.png | Bin 0 -> 228 bytes .../icons/pixelitos/16/filezilla.png.import | 34 ++++ .../assets/icons/pixelitos/16/firefox.png | Bin 0 -> 294 bytes .../icons/pixelitos/16/firefox.png.import | 34 ++++ .../assets/icons/pixelitos/16/flycast.png | Bin 0 -> 293 bytes .../icons/pixelitos/16/flycast.png.import | 34 ++++ .../assets/icons/pixelitos/16/fuse.png | Bin 0 -> 284 bytes .../assets/icons/pixelitos/16/fuse.png.import | 34 ++++ .../icons/pixelitos/16/futurepinball.png | Bin 0 -> 405 bytes .../pixelitos/16/futurepinball.png.import | 34 ++++ .../assets/icons/pixelitos/16/gcolor.png | Bin 0 -> 296 bytes .../icons/pixelitos/16/gcolor.png.import | 34 ++++ .../assets/icons/pixelitos/16/gcolor2.png | Bin 0 -> 296 bytes .../icons/pixelitos/16/gcolor2.png.import | 34 ++++ .../assets/icons/pixelitos/16/gcolor3.png | Bin 0 -> 296 bytes .../icons/pixelitos/16/gcolor3.png.import | 34 ++++ .../icons/pixelitos/16/geometry-dash.png | Bin 0 -> 165 bytes .../pixelitos/16/geometry-dash.png.import | 34 ++++ .../assets/icons/pixelitos/16/gimp.png | Bin 0 -> 252 bytes .../assets/icons/pixelitos/16/gimp.png.import | 34 ++++ .../icons/pixelitos/16/github-desktop.png | Bin 0 -> 209 bytes .../pixelitos/16/github-desktop.png.import | 34 ++++ .../assets/icons/pixelitos/16/github.png | Bin 0 -> 214 bytes .../icons/pixelitos/16/github.png.import | 34 ++++ .../assets/icons/pixelitos/16/godot.png | Bin 0 -> 219 bytes .../icons/pixelitos/16/godot.png.import | 34 ++++ .../icons/pixelitos/16/google-chrome.png | Bin 0 -> 265 bytes .../pixelitos/16/google-chrome.png.import | 34 ++++ .../assets/icons/pixelitos/16/gparted.png | Bin 0 -> 262 bytes .../icons/pixelitos/16/gparted.png.import | 34 ++++ .../assets/icons/pixelitos/16/gsplus.png | Bin 0 -> 548 bytes .../icons/pixelitos/16/gsplus.png.import | 34 ++++ .../icons/pixelitos/16/gtk-preferences.png | Bin 0 -> 186 bytes .../pixelitos/16/gtk-preferences.png.import | 34 ++++ .../icons/pixelitos/16/gtk-select-color.png | Bin 0 -> 296 bytes .../pixelitos/16/gtk-select-color.png.import | 34 ++++ .../assets/icons/pixelitos/16/gvim.png | Bin 0 -> 288 bytes .../assets/icons/pixelitos/16/gvim.png.import | 34 ++++ .../assets/icons/pixelitos/16/half-life.png | Bin 0 -> 168 bytes .../icons/pixelitos/16/half-life.png.import | 34 ++++ .../assets/icons/pixelitos/16/half-life2.png | Bin 0 -> 193 bytes .../icons/pixelitos/16/half-life2.png.import | 34 ++++ .../assets/icons/pixelitos/16/helltaker.png | Bin 0 -> 285 bytes .../icons/pixelitos/16/helltaker.png.import | 34 ++++ .../assets/icons/pixelitos/16/help-about.png | Bin 0 -> 161 bytes .../icons/pixelitos/16/help-about.png.import | 34 ++++ .../icons/pixelitos/16/help-browser.png | Bin 0 -> 204 bytes .../pixelitos/16/help-browser.png.import | 34 ++++ .../icons/pixelitos/16/help-contents.png | Bin 0 -> 204 bytes .../pixelitos/16/help-contents.png.import | 34 ++++ .../icons/pixelitos/16/help.contents.png | Bin 0 -> 204 bytes .../pixelitos/16/help.contents.png.import | 34 ++++ .../assets/icons/pixelitos/16/htop.png | Bin 0 -> 201 bytes .../assets/icons/pixelitos/16/htop.png.import | 34 ++++ .../assets/icons/pixelitos/16/hwloc.png | Bin 0 -> 276 bytes .../icons/pixelitos/16/hwloc.png.import | 34 ++++ .../assets/icons/pixelitos/16/hypseus.png | Bin 0 -> 426 bytes .../icons/pixelitos/16/hypseus.png.import | 34 ++++ .../assets/icons/pixelitos/16/ibus-setup.png | Bin 0 -> 186 bytes .../icons/pixelitos/16/ibus-setup.png.import | 34 ++++ .../assets/icons/pixelitos/16/ikemego.png | Bin 0 -> 401 bytes .../icons/pixelitos/16/ikemego.png.import | 34 ++++ .../icons/pixelitos/16/info.cemu.Cemu.png | Bin 0 -> 346 bytes .../pixelitos/16/info.cemu.Cemu.png.import | 34 ++++ .../assets/icons/pixelitos/16/inkscape.png | Bin 0 -> 197 bytes .../icons/pixelitos/16/inkscape.png.import | 34 ++++ .../icons/pixelitos/16/input-keyboard.png | Bin 0 -> 140 bytes .../pixelitos/16/input-keyboard.png.import | 34 ++++ .../pixelitos/16/internet-web-browser.png | Bin 0 -> 229 bytes .../16/internet-web-browser.png.import | 34 ++++ .../16/io.github.antimicrox.antimicrox.png | Bin 0 -> 294 bytes ...io.github.antimicrox.antimicrox.png.import | 34 ++++ .../pixelitos/16/io.github.ihhub.Fheroes2.png | Bin 0 -> 657 bytes .../16/io.github.ihhub.Fheroes2.png.import | 34 ++++ .../assets/icons/pixelitos/16/itch.png | Bin 0 -> 178 bytes .../assets/icons/pixelitos/16/itch.png.import | 34 ++++ .../icons/pixelitos/16/kde-frameworks.png | Bin 0 -> 179 bytes .../pixelitos/16/kde-frameworks.png.import | 34 ++++ .../assets/icons/pixelitos/16/kdenlive.png | Bin 0 -> 231 bytes .../icons/pixelitos/16/kdenlive.png.import | 34 ++++ .../assets/icons/pixelitos/16/kfontview.png | Bin 0 -> 161 bytes .../icons/pixelitos/16/kfontview.png.import | 34 ++++ .../assets/icons/pixelitos/16/klipper.png | Bin 0 -> 190 bytes .../icons/pixelitos/16/klipper.png.import | 34 ++++ .../assets/icons/pixelitos/16/kmenuedit.png | Bin 0 -> 154 bytes .../icons/pixelitos/16/kmenuedit.png.import | 34 ++++ .../assets/icons/pixelitos/16/knetattach.png | Bin 0 -> 229 bytes .../icons/pixelitos/16/knetattach.png.import | 34 ++++ .../assets/icons/pixelitos/16/kotatogram.png | Bin 0 -> 242 bytes .../icons/pixelitos/16/kotatogram.png.import | 34 ++++ .../assets/icons/pixelitos/16/krita.png | Bin 0 -> 375 bytes .../icons/pixelitos/16/krita.png.import | 34 ++++ .../icons/pixelitos/16/kwalletmanager.png | Bin 0 -> 220 bytes .../pixelitos/16/kwalletmanager.png.import | 34 ++++ .../icons/pixelitos/16/libreoffice-base.png | Bin 0 -> 172 bytes .../pixelitos/16/libreoffice-base.png.import | 34 ++++ .../icons/pixelitos/16/libreoffice-calc.png | Bin 0 -> 183 bytes .../pixelitos/16/libreoffice-calc.png.import | 34 ++++ .../icons/pixelitos/16/libreoffice-draw.png | Bin 0 -> 190 bytes .../pixelitos/16/libreoffice-draw.png.import | 34 ++++ .../pixelitos/16/libreoffice-impress.png | Bin 0 -> 206 bytes .../16/libreoffice-impress.png.import | 34 ++++ .../icons/pixelitos/16/libreoffice-math.png | Bin 0 -> 215 bytes .../pixelitos/16/libreoffice-math.png.import | 34 ++++ .../pixelitos/16/libreoffice-startcenter.png | Bin 0 -> 152 bytes .../16/libreoffice-startcenter.png.import | 34 ++++ .../icons/pixelitos/16/libreoffice-writer.png | Bin 0 -> 417 bytes .../16/libreoffice-writer.png.import | 34 ++++ .../assets/icons/pixelitos/16/libreoffice.png | Bin 0 -> 152 bytes .../icons/pixelitos/16/libreoffice.png.import | 34 ++++ .../16/lightdm-gtk-greeter-settings.png | Bin 0 -> 268 bytes .../lightdm-gtk-greeter-settings.png.import | 34 ++++ .../assets/icons/pixelitos/16/lime3ds.png | Bin 0 -> 416 bytes .../icons/pixelitos/16/lime3ds.png.import | 34 ++++ .../assets/icons/pixelitos/16/linapple.png | Bin 0 -> 263 bytes .../icons/pixelitos/16/linapple.png.import | 34 ++++ .../icons/pixelitos/16/links-48x48.xpm.png | Bin 0 -> 229 bytes .../pixelitos/16/links-48x48.xpm.png.import | 34 ++++ .../assets/icons/pixelitos/16/lmms.png | Bin 0 -> 142 bytes .../assets/icons/pixelitos/16/lmms.png.import | 34 ++++ .../assets/icons/pixelitos/16/lutris.png | Bin 0 -> 326 bytes .../icons/pixelitos/16/lutris.png.import | 34 ++++ .../assets/icons/pixelitos/16/map-globe.png | Bin 0 -> 229 bytes .../icons/pixelitos/16/map-globe.png.import | 34 ++++ .../icons/pixelitos/16/mate-desktop.png | Bin 0 -> 362 bytes .../pixelitos/16/mate-desktop.png.import | 34 ++++ .../pixelitos/16/mate-disk-usage-analyzer.png | Bin 0 -> 262 bytes .../16/mate-disk-usage-analyzer.png.import | 34 ++++ .../16/mate-notification-properties.png | Bin 0 -> 189 bytes .../mate-notification-properties.png.import | 34 ++++ .../assets/icons/pixelitos/16/mate-panel.png | Bin 0 -> 145 bytes .../icons/pixelitos/16/mate-panel.png.import | 34 ++++ .../pixelitos/16/mate-session-properties.png | Bin 0 -> 231 bytes .../16/mate-session-properties.png.import | 34 ++++ .../icons/pixelitos/16/mate-system-log.png | Bin 0 -> 226 bytes .../pixelitos/16/mate-system-log.png.import | 34 ++++ .../assets/icons/pixelitos/16/menulibre.png | Bin 0 -> 154 bytes .../icons/pixelitos/16/menulibre.png.import | 34 ++++ .../icons/pixelitos/16/microsoft-edge.png | Bin 0 -> 308 bytes .../pixelitos/16/microsoft-edge.png.import | 34 ++++ .../assets/icons/pixelitos/16/midori.png | Bin 0 -> 205 bytes .../icons/pixelitos/16/midori.png.import | 34 ++++ .../assets/icons/pixelitos/16/minecraft.png | Bin 0 -> 791 bytes .../icons/pixelitos/16/minecraft.png.import | 34 ++++ .../assets/icons/pixelitos/16/mpv.png | Bin 0 -> 217 bytes .../assets/icons/pixelitos/16/mpv.png.import | 34 ++++ .../16/multimedia-volume-control.png | Bin 0 -> 169 bytes .../16/multimedia-volume-control.png.import | 34 ++++ .../assets/icons/pixelitos/16/nestopia.png | Bin 0 -> 232 bytes .../icons/pixelitos/16/nestopia.png.import | 34 ++++ .../pixelitos/16/net.kuribo64.melonDS.png | Bin 0 -> 195 bytes .../16/net.kuribo64.melonDS.png.import | 34 ++++ .../icons/pixelitos/16/net.openra.OpenRA.png | Bin 0 -> 252 bytes .../pixelitos/16/net.openra.OpenRA.png.import | 34 ++++ .../icons/pixelitos/16/net.pcsx2.PCSX2.png | Bin 0 -> 188 bytes .../pixelitos/16/net.pcsx2.PCSX2.png.import | 34 ++++ .../pixelitos/16/net.retrodeck.retrodeck.png | Bin 0 -> 352 bytes .../16/net.retrodeck.retrodeck.png.import | 34 ++++ .../icons/pixelitos/16/net.rpcs3.RPCS3.png | Bin 0 -> 138 bytes .../pixelitos/16/net.rpcs3.RPCS3.png.import | 34 ++++ .../pixelitos/16/net.veloren.airshipper.png | Bin 0 -> 268 bytes .../16/net.veloren.airshipper.png.import | 34 ++++ .../icons/pixelitos/16/network-wired.png | Bin 0 -> 180 bytes .../pixelitos/16/network-wired.png.import | 34 ++++ .../icons/pixelitos/16/network-workgroup.png | Bin 0 -> 180 bytes .../pixelitos/16/network-workgroup.png.import | 34 ++++ .../icons/pixelitos/16/nl.hjdskes.gcolor3.png | Bin 0 -> 296 bytes .../16/nl.hjdskes.gcolor3.png.import | 34 ++++ .../icons/pixelitos/16/nm-device-wireless.png | Bin 0 -> 180 bytes .../16/nm-device-wireless.png.import | 34 ++++ .../assets/icons/pixelitos/16/nnn.png | Bin 0 -> 170 bytes .../assets/icons/pixelitos/16/nnn.png.import | 34 ++++ .../assets/icons/pixelitos/16/notepadqq.png | Bin 0 -> 166 bytes .../icons/pixelitos/16/notepadqq.png.import | 34 ++++ .../assets/icons/pixelitos/16/nvim.png | Bin 0 -> 220 bytes .../assets/icons/pixelitos/16/nvim.png.import | 34 ++++ .../assets/icons/pixelitos/16/octopi.png | Bin 0 -> 185 bytes .../icons/pixelitos/16/octopi.png.import | 34 ++++ .../assets/icons/pixelitos/16/okular.png | Bin 0 -> 190 bytes .../icons/pixelitos/16/okular.png.import | 34 ++++ .../icons/pixelitos/16/openarena-server.png | Bin 0 -> 164 bytes .../pixelitos/16/openarena-server.png.import | 34 ++++ .../assets/icons/pixelitos/16/openarena.png | Bin 0 -> 177 bytes .../icons/pixelitos/16/openarena.png.import | 34 ++++ .../assets/icons/pixelitos/16/openbor.png | Bin 0 -> 353 bytes .../icons/pixelitos/16/openbor.png.import | 34 ++++ .../assets/icons/pixelitos/16/opera-beta.png | Bin 0 -> 322 bytes .../icons/pixelitos/16/opera-beta.png.import | 34 ++++ .../icons/pixelitos/16/opera-developer.png | Bin 0 -> 287 bytes .../pixelitos/16/opera-developer.png.import | 34 ++++ .../assets/icons/pixelitos/16/opera.png | Bin 0 -> 323 bytes .../icons/pixelitos/16/opera.png.import | 34 ++++ .../16/org.DolphinEmu.dolphin-emu.png | Bin 0 -> 191 bytes .../16/org.DolphinEmu.dolphin-emu.png.import | 34 ++++ .../pixelitos/16/org.citra_emu.citra.png | Bin 0 -> 217 bytes .../16/org.citra_emu.citra.png.import | 34 ++++ .../pixelitos/16/org.gnome.ArchiveManager.png | Bin 0 -> 236 bytes .../16/org.gnome.ArchiveManager.png.import | 34 ++++ .../icons/pixelitos/16/org.gnome.Nautilus.png | Bin 0 -> 134 bytes .../16/org.gnome.Nautilus.png.import | 34 ++++ .../pixelitos/16/org.gnome.Screenshot.png | Bin 0 -> 191 bytes .../16/org.gnome.Screenshot.png.import | 34 ++++ .../icons/pixelitos/16/org.gnome.Yelp.png | Bin 0 -> 204 bytes .../pixelitos/16/org.gnome.Yelp.png.import | 34 ++++ .../icons/pixelitos/16/org.gnome.clocks.png | Bin 0 -> 324 bytes .../pixelitos/16/org.gnome.clocks.png.import | 34 ++++ .../pixelitos/16/org.gtk.IconBrowser4.png | Bin 0 -> 307 bytes .../16/org.gtk.IconBrowser4.png.import | 34 ++++ .../pixelitos/16/org.inkscape.Inkscape.png | Bin 0 -> 197 bytes .../16/org.inkscape.Inkscape.png.import | 34 ++++ .../icons/pixelitos/16/org.mamedev.MAME.png | Bin 0 -> 178 bytes .../pixelitos/16/org.mamedev.MAME.png.import | 34 ++++ .../16/org.midori_browser.Midori.png | Bin 0 -> 205 bytes .../16/org.midori_browser.Midori.png.import | 34 ++++ .../icons/pixelitos/16/org.openmw.OpenMW.png | Bin 0 -> 290 bytes .../pixelitos/16/org.openmw.OpenMW.png.import | 34 ++++ .../pixelitos/16/org.openttd.OpenTTD.png | Bin 0 -> 317 bytes .../16/org.openttd.OpenTTD.png.import | 34 ++++ .../icons/pixelitos/16/org.ppsspp.PPSSPP.png | Bin 0 -> 246 bytes .../pixelitos/16/org.ppsspp.PPSSPP.png.import | 34 ++++ .../icons/pixelitos/16/org.ppsspp.PPSSPP_.png | Bin 0 -> 321 bytes .../16/org.ppsspp.PPSSPP_.png.import | 34 ++++ .../16/org.prismlauncher.PrismLauncher.png | Bin 0 -> 354 bytes ...org.prismlauncher.PrismLauncher.png.import | 34 ++++ .../pixelitos/16/org.rnd2.cpupower-gui.png | Bin 0 -> 276 bytes .../16/org.rnd2.cpupower-gui.png.import | 34 ++++ .../pixelitos/16/org.ryujinx.Ryujinx.png | Bin 0 -> 171 bytes .../16/org.ryujinx.Ryujinx.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.about.png | Bin 0 -> 177 bytes .../pixelitos/16/org.xfce.about.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.appfinder.png | Bin 0 -> 198 bytes .../16/org.xfce.appfinder.png.import | 34 ++++ .../pixelitos/16/org.xfce.filemanager.png | Bin 0 -> 134 bytes .../16/org.xfce.filemanager.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.garcon.png | Bin 0 -> 154 bytes .../pixelitos/16/org.xfce.garcon.png.import | 34 ++++ .../pixelitos/16/org.xfce.mailreader.png | Bin 0 -> 249 bytes .../16/org.xfce.mailreader.png.import | 34 ++++ .../pixelitos/16/org.xfce.notification.png | Bin 0 -> 189 bytes .../16/org.xfce.notification.png.import | 34 ++++ .../pixelitos/16/org.xfce.panel.actions.png | Bin 0 -> 187 bytes .../16/org.xfce.panel.actions.png.import | 34 ++++ .../16/org.xfce.panel.applicationsmenu.png | Bin 0 -> 177 bytes ...org.xfce.panel.applicationsmenu.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.panel.png | Bin 0 -> 145 bytes .../pixelitos/16/org.xfce.panel.png.import | 34 ++++ .../pixelitos/16/org.xfce.panel.tasklist.png | Bin 0 -> 145 bytes .../16/org.xfce.panel.tasklist.png.import | 34 ++++ .../16/org.xfce.panel.whiskermenu.png | Bin 0 -> 177 bytes .../16/org.xfce.panel.whiskermenu.png.import | 34 ++++ .../16/org.xfce.panel.windowmenu.png | Bin 0 -> 154 bytes .../16/org.xfce.panel.windowmenu.png.import | 34 ++++ .../pixelitos/16/org.xfce.powermanager.png | Bin 0 -> 134 bytes .../16/org.xfce.powermanager.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.session.png | Bin 0 -> 231 bytes .../pixelitos/16/org.xfce.session.png.import | 34 ++++ .../16/org.xfce.settings.accessibility.png | Bin 0 -> 271 bytes ...org.xfce.settings.accessibility.png.import | 34 ++++ .../16/org.xfce.settings.appearance.png | Bin 0 -> 199 bytes .../org.xfce.settings.appearance.png.import | 34 ++++ .../pixelitos/16/org.xfce.settings.color.png | Bin 0 -> 289 bytes .../16/org.xfce.settings.color.png.import | 34 ++++ ...org.xfce.settings.default-applications.png | Bin 0 -> 177 bytes ...e.settings.default-applications.png.import | 34 ++++ .../16/org.xfce.settings.display.png | Bin 0 -> 127 bytes .../16/org.xfce.settings.display.png.import | 34 ++++ .../pixelitos/16/org.xfce.settings.editor.png | Bin 0 -> 186 bytes .../16/org.xfce.settings.editor.png.import | 34 ++++ .../16/org.xfce.settings.keyboard.png | Bin 0 -> 140 bytes .../16/org.xfce.settings.keyboard.png.import | 34 ++++ .../16/org.xfce.settings.manager.png | Bin 0 -> 186 bytes .../16/org.xfce.settings.manager.png.import | 34 ++++ .../pixelitos/16/org.xfce.settings.mouse.png | Bin 0 -> 161 bytes .../16/org.xfce.settings.mouse.png.import | 34 ++++ .../16/org.xfce.terminal-settings.png | Bin 0 -> 173 bytes .../16/org.xfce.terminal-settings.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.terminal.png | Bin 0 -> 173 bytes .../pixelitos/16/org.xfce.terminal.png.import | 34 ++++ .../16/org.xfce.terminalemulator.png | Bin 0 -> 173 bytes .../16/org.xfce.terminalemulator.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.thunar.png | Bin 0 -> 134 bytes .../pixelitos/16/org.xfce.thunar.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.tumbler.png | Bin 0 -> 165 bytes .../pixelitos/16/org.xfce.tumbler.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.volman.png | Bin 0 -> 186 bytes .../pixelitos/16/org.xfce.volman.png.import | 34 ++++ .../pixelitos/16/org.xfce.webbrowser.png | Bin 0 -> 229 bytes .../16/org.xfce.webbrowser.png.import | 34 ++++ .../pixelitos/16/org.xfce.workspaces.png | Bin 0 -> 154 bytes .../16/org.xfce.workspaces.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.xfdesktop.png | Bin 0 -> 150 bytes .../16/org.xfce.xfdesktop.png.import | 34 ++++ .../pixelitos/16/org.xfce.xfwm4-tweaks.png | Bin 0 -> 186 bytes .../16/org.xfce.xfwm4-tweaks.png.import | 34 ++++ .../icons/pixelitos/16/org.xfce.xfwm4.png | Bin 0 -> 139 bytes .../pixelitos/16/org.xfce.xfwm4.png.import | 34 ++++ .../icons/pixelitos/16/org.yuzu_emu.yuzu.png | Bin 0 -> 193 bytes .../pixelitos/16/org.yuzu_emu.yuzu.png.import | 34 ++++ .../icons/pixelitos/16/org.zdoom.GZDoom.png | Bin 0 -> 216 bytes .../pixelitos/16/org.zdoom.GZDoom.png.import | 34 ++++ .../assets/icons/pixelitos/16/oricutron.png | Bin 0 -> 274 bytes .../icons/pixelitos/16/oricutron.png.import | 34 ++++ .../assets/icons/pixelitos/16/pcsxr-icon.png | Bin 0 -> 176 bytes .../icons/pixelitos/16/pcsxr-icon.png.import | 34 ++++ .../assets/icons/pixelitos/16/picom.png | Bin 0 -> 187 bytes .../icons/pixelitos/16/picom.png.import | 34 ++++ .../icons/pixelitos/16/plasma-search.png | Bin 0 -> 198 bytes .../pixelitos/16/plasma-search.png.import | 34 ++++ .../assets/icons/pixelitos/16/plasma.png | Bin 0 -> 301 bytes .../icons/pixelitos/16/plasma.png.import | 34 ++++ .../assets/icons/pixelitos/16/plasmashell.png | Bin 0 -> 301 bytes .../icons/pixelitos/16/plasmashell.png.import | 34 ++++ .../assets/icons/pixelitos/16/playonlinux.png | Bin 0 -> 209 bytes .../icons/pixelitos/16/playonlinux.png.import | 34 ++++ .../assets/icons/pixelitos/16/portal2.png | Bin 0 -> 280 bytes .../icons/pixelitos/16/portal2.png.import | 34 ++++ .../assets/icons/pixelitos/16/portmaster.png | Bin 0 -> 326 bytes .../icons/pixelitos/16/portmaster.png.import | 34 ++++ .../16/preferences-desktop-accessibility.png | Bin 0 -> 271 bytes ...eferences-desktop-accessibility.png.import | 34 ++++ .../16/preferences-desktop-activities.png | Bin 0 -> 154 bytes .../preferences-desktop-activities.png.import | 34 ++++ .../16/preferences-desktop-baloo.png | Bin 0 -> 198 bytes .../16/preferences-desktop-baloo.png.import | 34 ++++ .../16/preferences-desktop-color.png | Bin 0 -> 289 bytes .../16/preferences-desktop-color.png.import | 34 ++++ .../16/preferences-desktop-cursors.png | Bin 0 -> 159 bytes .../16/preferences-desktop-cursors.png.import | 34 ++++ ...eferences-desktop-default-applications.png | Bin 0 -> 177 bytes ...es-desktop-default-applications.png.import | 34 ++++ ...preferences-desktop-display-nightcolor.png | Bin 0 -> 127 bytes ...nces-desktop-display-nightcolor.png.import | 34 ++++ .../16/preferences-desktop-display.png | Bin 0 -> 127 bytes .../16/preferences-desktop-display.png.import | 34 ++++ .../16/preferences-desktop-emoticons.png | Bin 0 -> 168 bytes .../preferences-desktop-emoticons.png.import | 34 ++++ .../16/preferences-desktop-feedback.png | Bin 0 -> 159 bytes .../preferences-desktop-feedback.png.import | 34 ++++ ...eferences-desktop-filetype-association.png | Bin 0 -> 184 bytes ...es-desktop-filetype-association.png.import | 34 ++++ .../16/preferences-desktop-font-installer.png | Bin 0 -> 161 bytes ...ferences-desktop-font-installer.png.import | 34 ++++ .../pixelitos/16/preferences-desktop-font.png | Bin 0 -> 161 bytes .../16/preferences-desktop-font.png.import | 34 ++++ .../16/preferences-desktop-gaming.png | Bin 0 -> 294 bytes .../16/preferences-desktop-gaming.png.import | 34 ++++ .../16/preferences-desktop-icons.png | Bin 0 -> 307 bytes .../16/preferences-desktop-icons.png.import | 34 ++++ .../preferences-desktop-keyboard-shortcut.png | Bin 0 -> 140 bytes ...ences-desktop-keyboard-shortcut.png.import | 34 ++++ ...preferences-desktop-keyboard-shortcuts.png | Bin 0 -> 144 bytes ...nces-desktop-keyboard-shortcuts.png.import | 34 ++++ .../16/preferences-desktop-keyboard.png | Bin 0 -> 140 bytes .../preferences-desktop-keyboard.png.import | 34 ++++ .../preferences-desktop-launch-feedback.png | Bin 0 -> 231 bytes ...erences-desktop-launch-feedback.png.import | 34 ++++ .../16/preferences-desktop-locale.png | Bin 0 -> 261 bytes .../16/preferences-desktop-locale.png.import | 34 ++++ .../16/preferences-desktop-mouse.png | Bin 0 -> 161 bytes .../16/preferences-desktop-mouse.png.import | 34 ++++ .../preferences-desktop-notification-bell.png | Bin 0 -> 189 bytes ...ences-desktop-notification-bell.png.import | 34 ++++ .../16/preferences-desktop-peripherals.png | Bin 0 -> 161 bytes ...preferences-desktop-peripherals.png.import | 34 ++++ .../16/preferences-desktop-personal.png | Bin 0 -> 167 bytes .../preferences-desktop-personal.png.import | 34 ++++ .../16/preferences-desktop-plasma-theme.png | Bin 0 -> 289 bytes ...references-desktop-plasma-theme.png.import | 34 ++++ .../16/preferences-desktop-tablet.png | Bin 0 -> 154 bytes .../16/preferences-desktop-tablet.png.import | 34 ++++ ...preferences-desktop-theme-applications.png | Bin 0 -> 192 bytes ...nces-desktop-theme-applications.png.import | 34 ++++ .../16/preferences-desktop-theme-global.png | Bin 0 -> 199 bytes ...references-desktop-theme-global.png.import | 34 ++++ .../16/preferences-desktop-theme.png | Bin 0 -> 199 bytes .../16/preferences-desktop-theme.png.import | 34 ++++ .../16/preferences-desktop-touchpad.png | Bin 0 -> 99 bytes .../preferences-desktop-touchpad.png.import | 34 ++++ .../pixelitos/16/preferences-desktop-user.png | Bin 0 -> 167 bytes .../16/preferences-desktop-user.png.import | 34 ++++ .../16/preferences-desktop-wallpaper.png | Bin 0 -> 269 bytes .../preferences-desktop-wallpaper.png.import | 34 ++++ .../pixelitos/16/preferences-desktop.png | Bin 0 -> 186 bytes .../16/preferences-desktop.png.import | 34 ++++ .../16/preferences-system-network.png | Bin 0 -> 180 bytes .../16/preferences-system-network.png.import | 34 ++++ .../16/preferences-system-notifications.png | Bin 0 -> 189 bytes ...references-system-notifications.png.import | 34 ++++ .../16/preferences-system-search.png | Bin 0 -> 198 bytes .../16/preferences-system-search.png.import | 34 ++++ .../preferences-system-session-services.png | Bin 0 -> 182 bytes ...erences-system-session-services.png.import | 34 ++++ .../16/preferences-system-splash.png | Bin 0 -> 189 bytes .../16/preferences-system-splash.png.import | 34 ++++ .../pixelitos/16/preferences-system-time.png | Bin 0 -> 324 bytes .../16/preferences-system-time.png.import | 34 ++++ .../pixelitos/16/preferences-system-users.png | Bin 0 -> 167 bytes .../16/preferences-system-users.png.import | 34 ++++ .../16/preferences-system-windows-actions.png | Bin 0 -> 171 bytes ...ferences-system-windows-actions.png.import | 34 ++++ .../16/preferences-system-windows.png | Bin 0 -> 171 bytes .../16/preferences-system-windows.png.import | 34 ++++ .../icons/pixelitos/16/preferences-system.png | Bin 0 -> 186 bytes .../16/preferences-system.png.import | 34 ++++ .../16/preferences-tweaks-shadows.png | Bin 0 -> 212 bytes .../16/preferences-tweaks-shadows.png.import | 34 ++++ .../assets/icons/pixelitos/16/primehack.png | Bin 0 -> 442 bytes .../icons/pixelitos/16/primehack.png.import | 34 ++++ .../assets/icons/pixelitos/16/pvz.png | Bin 0 -> 244 bytes .../assets/icons/pixelitos/16/pvz.png.import | 34 ++++ .../assets/icons/pixelitos/16/qemu.png | Bin 0 -> 216 bytes .../assets/icons/pixelitos/16/qemu.png.import | 34 ++++ .../assets/icons/pixelitos/16/raze.png | Bin 0 -> 357 bytes .../assets/icons/pixelitos/16/raze.png.import | 34 ++++ .../assets/icons/pixelitos/16/redream.png | Bin 0 -> 596 bytes .../icons/pixelitos/16/redream.png.import | 34 ++++ .../assets/icons/pixelitos/16/romm.png | Bin 0 -> 539 bytes .../assets/icons/pixelitos/16/romm.png.import | 34 ++++ .../assets/icons/pixelitos/16/roxterm.png | Bin 0 -> 173 bytes .../icons/pixelitos/16/roxterm.png.import | 34 ++++ .../assets/icons/pixelitos/16/ruffle.png | Bin 0 -> 218 bytes .../icons/pixelitos/16/ruffle.png.import | 34 ++++ .../assets/icons/pixelitos/16/scummvm.png | Bin 0 -> 326 bytes .../icons/pixelitos/16/scummvm.png.import | 34 ++++ .../assets/icons/pixelitos/16/sdltrs.png | Bin 0 -> 406 bytes .../icons/pixelitos/16/sdltrs.png.import | 34 ++++ .../assets/icons/pixelitos/16/search.png | Bin 0 -> 198 bytes .../icons/pixelitos/16/search.png.import | 34 ++++ .../icons/pixelitos/16/security-high.png | Bin 0 -> 641 bytes .../pixelitos/16/security-high.png.import | 34 ++++ .../icons/pixelitos/16/security-low.png | Bin 0 -> 650 bytes .../pixelitos/16/security-low.png.import | 34 ++++ .../icons/pixelitos/16/security-medium.png | Bin 0 -> 620 bytes .../pixelitos/16/security-medium.png.import | 34 ++++ .../assets/icons/pixelitos/16/simcoupe.png | Bin 0 -> 258 bytes .../icons/pixelitos/16/simcoupe.png.import | 34 ++++ .../pixelitos/16/simplescreenrecorder.png | Bin 0 -> 278 bytes .../16/simplescreenrecorder.png.import | 34 ++++ .../assets/icons/pixelitos/16/skullgirls.png | Bin 0 -> 224 bytes .../icons/pixelitos/16/skullgirls.png.import | 34 ++++ .../assets/icons/pixelitos/16/snes9x.png | Bin 0 -> 346 bytes .../icons/pixelitos/16/snes9x.png.import | 34 ++++ .../assets/icons/pixelitos/16/solarus.png | Bin 0 -> 283 bytes .../icons/pixelitos/16/solarus.png.import | 34 ++++ .../icons/pixelitos/16/spacefm-find.png | Bin 0 -> 186 bytes .../pixelitos/16/spacefm-find.png.import | 34 ++++ .../assets/icons/pixelitos/16/spacefm.png | Bin 0 -> 134 bytes .../icons/pixelitos/16/spacefm.png.import | 34 ++++ .../assets/icons/pixelitos/16/spotify.png | Bin 0 -> 264 bytes .../icons/pixelitos/16/spotify.png.import | 34 ++++ .../assets/icons/pixelitos/16/steam.png | Bin 0 -> 223 bytes .../icons/pixelitos/16/steam.png.import | 34 ++++ .../icons/pixelitos/16/steam_icon_1289310.png | Bin 0 -> 285 bytes .../16/steam_icon_1289310.png.import | 34 ++++ .../icons/pixelitos/16/steam_icon_20.png | Bin 0 -> 193 bytes .../pixelitos/16/steam_icon_20.png.import | 34 ++++ .../icons/pixelitos/16/steam_icon_245170.png | Bin 0 -> 224 bytes .../pixelitos/16/steam_icon_245170.png.import | 34 ++++ .../icons/pixelitos/16/steam_icon_322170.png | Bin 0 -> 165 bytes .../pixelitos/16/steam_icon_322170.png.import | 34 ++++ .../icons/pixelitos/16/steam_icon_3590.png | Bin 0 -> 244 bytes .../pixelitos/16/steam_icon_3590.png.import | 34 ++++ .../icons/pixelitos/16/steam_icon_620.png | Bin 0 -> 280 bytes .../pixelitos/16/steam_icon_620.png.import | 34 ++++ .../icons/pixelitos/16/steam_icon_70.png | Bin 0 -> 168 bytes .../pixelitos/16/steam_icon_70.png.import | 34 ++++ .../assets/icons/pixelitos/16/stella.png | Bin 0 -> 241 bytes .../icons/pixelitos/16/stella.png.import | 34 ++++ .../assets/icons/pixelitos/16/strawberry.png | Bin 0 -> 239 bytes .../icons/pixelitos/16/strawberry.png.import | 34 ++++ .../assets/icons/pixelitos/16/supermodel.png | Bin 0 -> 243 bytes .../icons/pixelitos/16/supermodel.png.import | 34 ++++ .../icons/pixelitos/16/supertuxkart.png | Bin 0 -> 315 bytes .../pixelitos/16/supertuxkart.png.import | 34 ++++ .../pixelitos/16/system-file-manager.png | Bin 0 -> 134 bytes .../16/system-file-manager.png.import | 34 ++++ .../icons/pixelitos/16/system-lock-screen.png | Bin 0 -> 198 bytes .../16/system-lock-screen.png.import | 34 ++++ .../icons/pixelitos/16/system-log-out.png | Bin 0 -> 189 bytes .../pixelitos/16/system-log-out.png.import | 34 ++++ .../icons/pixelitos/16/system-logout.png | Bin 0 -> 189 bytes .../pixelitos/16/system-logout.png.import | 34 ++++ .../icons/pixelitos/16/system-reboot.png | Bin 0 -> 194 bytes .../pixelitos/16/system-reboot.png.import | 34 ++++ .../assets/icons/pixelitos/16/system-run.png | Bin 0 -> 182 bytes .../icons/pixelitos/16/system-run.png.import | 34 ++++ .../icons/pixelitos/16/system-search.png | Bin 0 -> 198 bytes .../pixelitos/16/system-search.png.import | 34 ++++ .../icons/pixelitos/16/system-shutdown.png | Bin 0 -> 187 bytes .../pixelitos/16/system-shutdown.png.import | 34 ++++ .../pixelitos/16/system-software-install.png | Bin 0 -> 198 bytes .../16/system-software-install.png.import | 34 ++++ .../pixelitos/16/system-suspend-hibernate.png | Bin 0 -> 181 bytes .../16/system-suspend-hibernate.png.import | 34 ++++ .../icons/pixelitos/16/system-suspend.png | Bin 0 -> 198 bytes .../pixelitos/16/system-suspend.png.import | 34 ++++ .../icons/pixelitos/16/system-switch-user.png | Bin 0 -> 177 bytes .../16/system-switch-user.png.import | 34 ++++ .../icons/pixelitos/16/system-users.png | Bin 0 -> 167 bytes .../pixelitos/16/system-users.png.import | 34 ++++ .../icons/pixelitos/16/systemsettings.png | Bin 0 -> 186 bytes .../pixelitos/16/systemsettings.png.import | 34 ++++ .../pixelitos/16/team-fortress-classic.png | Bin 0 -> 193 bytes .../16/team-fortress-classic.png.import | 34 ++++ .../assets/icons/pixelitos/16/telegram.png | Bin 0 -> 242 bytes .../icons/pixelitos/16/telegram.png.import | 34 ++++ .../icons/pixelitos/16/terminal-tango.png | Bin 0 -> 173 bytes .../pixelitos/16/terminal-tango.png.import | 34 ++++ .../assets/icons/pixelitos/16/tesseract.png | Bin 0 -> 401 bytes .../icons/pixelitos/16/tesseract.png.import | 34 ++++ .../assets/icons/pixelitos/16/text-x-chdr.png | Bin 0 -> 155 bytes .../icons/pixelitos/16/text-x-chdr.png.import | 34 ++++ .../assets/icons/pixelitos/16/tint2.png | Bin 0 -> 145 bytes .../icons/pixelitos/16/tint2.png.import | 34 ++++ .../assets/icons/pixelitos/16/tint2conf.png | Bin 0 -> 145 bytes .../icons/pixelitos/16/tint2conf.png.import | 34 ++++ .../pixelitos/16/tools-check-spelling.png | Bin 0 -> 160 bytes .../16/tools-check-spelling.png.import | 34 ++++ .../assets/icons/pixelitos/16/tsugaru.png | Bin 0 -> 369 bytes .../icons/pixelitos/16/tsugaru.png.import | 34 ++++ .../assets/icons/pixelitos/16/twitter.png | Bin 0 -> 175 bytes .../icons/pixelitos/16/twitter.png.import | 34 ++++ .../assets/icons/pixelitos/16/uget-icon.png | Bin 0 -> 199 bytes .../icons/pixelitos/16/uget-icon.png.import | 34 ++++ .../assets/icons/pixelitos/16/urbanterror.png | Bin 0 -> 224 bytes .../icons/pixelitos/16/urbanterror.png.import | 34 ++++ .../assets/icons/pixelitos/16/user-info.png | Bin 0 -> 167 bytes .../icons/pixelitos/16/user-info.png.import | 34 ++++ .../pixelitos/16/utilities-system-monitor.png | Bin 0 -> 192 bytes .../16/utilities-system-monitor.png.import | 34 ++++ .../icons/pixelitos/16/utilities-terminal.png | Bin 0 -> 173 bytes .../16/utilities-terminal.png.import | 34 ++++ .../pixelitos/16/utilities-tweak-tool.png | Bin 0 -> 186 bytes .../16/utilities-tweak-tool.png.import | 34 ++++ .../assets/icons/pixelitos/16/ventoy.png | Bin 0 -> 186 bytes .../icons/pixelitos/16/ventoy.png.import | 34 ++++ .../icons/pixelitos/16/video-display.png | Bin 0 -> 127 bytes .../pixelitos/16/video-display.png.import | 34 ++++ .../assets/icons/pixelitos/16/viewnior.png | Bin 0 -> 165 bytes .../icons/pixelitos/16/viewnior.png.import | 34 ++++ .../assets/icons/pixelitos/16/vim.png | Bin 0 -> 288 bytes .../assets/icons/pixelitos/16/vim.png.import | 34 ++++ .../icons/pixelitos/16/virt-manager.png | Bin 0 -> 170 bytes .../pixelitos/16/virt-manager.png.import | 34 ++++ .../assets/icons/pixelitos/16/virtualbox.png | Bin 0 -> 258 bytes .../icons/pixelitos/16/virtualbox.png.import | 34 ++++ .../icons/pixelitos/16/visual-studio-code.png | Bin 0 -> 260 bytes .../16/visual-studio-code.png.import | 34 ++++ .../assets/icons/pixelitos/16/vita3k.png | Bin 0 -> 443 bytes .../icons/pixelitos/16/vita3k.png.import | 34 ++++ .../assets/icons/pixelitos/16/vivaldi.png | Bin 0 -> 177 bytes .../icons/pixelitos/16/vivaldi.png.import | 34 ++++ .../assets/icons/pixelitos/16/vpinball.png | Bin 0 -> 422 bytes .../icons/pixelitos/16/vpinball.png.import | 34 ++++ .../assets/icons/pixelitos/16/vscodium.png | Bin 0 -> 203 bytes .../icons/pixelitos/16/vscodium.png.import | 34 ++++ .../assets/icons/pixelitos/16/waterfox.png | Bin 0 -> 311 bytes .../icons/pixelitos/16/waterfox.png.import | 34 ++++ .../assets/icons/pixelitos/16/wine.png | Bin 0 -> 156 bytes .../assets/icons/pixelitos/16/wine.png.import | 34 ++++ .../assets/icons/pixelitos/16/xarchiver.png | Bin 0 -> 236 bytes .../icons/pixelitos/16/xarchiver.png.import | 34 ++++ .../assets/icons/pixelitos/16/xenia.png | Bin 0 -> 282 bytes .../icons/pixelitos/16/xenia.png.import | 34 ++++ .../pixelitos/16/xfce-display-profile.png | Bin 0 -> 167 bytes .../16/xfce-display-profile.png.import | 34 ++++ .../assets/icons/pixelitos/16/xfce4-logo.png | Bin 0 -> 177 bytes .../icons/pixelitos/16/xfce4-logo.png.import | 34 ++++ .../assets/icons/pixelitos/16/xfce4-panel.png | Bin 0 -> 145 bytes .../icons/pixelitos/16/xfce4-panel.png.import | 34 ++++ .../icons/pixelitos/16/xfce4-settings.png | Bin 0 -> 186 bytes .../pixelitos/16/xfce4-settings.png.import | 34 ++++ .../icons/pixelitos/16/xfsm-hibernate.png | Bin 0 -> 181 bytes .../pixelitos/16/xfsm-hibernate.png.import | 34 ++++ .../assets/icons/pixelitos/16/xfsm-lock.png | Bin 0 -> 198 bytes .../icons/pixelitos/16/xfsm-lock.png.import | 34 ++++ .../assets/icons/pixelitos/16/xfsm-logout.png | Bin 0 -> 189 bytes .../icons/pixelitos/16/xfsm-logout.png.import | 34 ++++ .../assets/icons/pixelitos/16/xfsm-reboot.png | Bin 0 -> 194 bytes .../icons/pixelitos/16/xfsm-reboot.png.import | 34 ++++ .../icons/pixelitos/16/xfsm-shutdown.png | Bin 0 -> 187 bytes .../pixelitos/16/xfsm-shutdown.png.import | 34 ++++ .../pixelitos/16/xfsm-suspend-hibernate.png | Bin 0 -> 181 bytes .../16/xfsm-suspend-hibernate.png.import | 34 ++++ .../icons/pixelitos/16/xfsm-suspend.png | Bin 0 -> 198 bytes .../pixelitos/16/xfsm-suspend.png.import | 34 ++++ .../icons/pixelitos/16/xfsm-switch-user.png | Bin 0 -> 177 bytes .../pixelitos/16/xfsm-switch-user.png.import | 34 ++++ .../assets/icons/pixelitos/16/xfsm-users.png | Bin 0 -> 167 bytes .../icons/pixelitos/16/xfsm-users.png.import | 34 ++++ .../icons/pixelitos/16/youtube-music.png | Bin 0 -> 172 bytes .../pixelitos/16/youtube-music.png.import | 34 ++++ .../assets/icons/pixelitos/16/youtube.png | Bin 0 -> 214 bytes .../icons/pixelitos/16/youtube.png.import | 34 ++++ .../assets/icons/pixelitos/16/zsnes.png | Bin 0 -> 343 bytes .../icons/pixelitos/16/zsnes.png.import | 34 ++++ .../components/bios_check/bios_check.gd | 10 +- tools/configurator/components/popup.gd | 1 - tools/configurator/helper_text.gd | 4 +- .../locales/interface.de.translation | Bin 3601 -> 0 bytes .../locales/interface.en.translation | Bin 3446 -> 0 bytes .../locales/interface.it.translation | Bin 3585 -> 0 bytes .../locales/interface.ja.translation | Bin 4149 -> 0 bytes .../locales/interface.sv.translation | Bin 3553 -> 0 bytes .../locales/interface.ua.translation | Bin 4701 -> 0 bytes .../locales/interface.zh.translation | Bin 3477 -> 0 bytes tools/configurator/main.gd | 66 +++---- tools/configurator/main.tscn | 165 +++++++----------- tools/configurator/project.godot | 4 + .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++----- tools/configurator/retrodeck.gd | 17 ++ tools/configurator/scripts/SystemTab.gd | 38 +--- tools/configurator/scripts/class_functions.gd | 52 ++++-- tools/configurator/tk_about.gd | 8 +- 842 files changed, 14312 insertions(+), 287 deletions(-) create mode 100644 tools/configurator/assets/icons/pixelitos/16/Alacritty.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/Alacritty.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/CMakeSetup.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/CMakeSetup.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/QtProject-qtcreator.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/QtProject-qtcreator.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accesories-screenshoot.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accesories-screenshoot.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accesories-screenshot.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accesories-screenshot.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-calculator.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-calculator.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-clock.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-clock.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-dictionary.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-dictionary.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-ebook-reader.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-ebook-reader.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-notes.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-notes.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-safe.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-safe.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-screenshoot.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-screenshoot.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-text-editor.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/accessories-text-editor.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/alacarte.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/alacarte.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/anatine.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/anatine.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/app.xemu.xemu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/app.xemu.xemu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/apple.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/apple.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applets-screenshooter.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applets-screenshooter.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/application-vnd.affinity-designer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/application-vnd.affinity-designer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-accessories.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-accessories.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-all.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-all.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-development.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-development.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-education.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-education.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-games.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-games.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-graphics.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-graphics.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-internet.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-internet.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-multimedia.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-multimedia.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-office.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-office.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-other.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-other.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-science.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-science.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-system.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-system.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-webbrowsers.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/applications-webbrowsers.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/ares.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/ares.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/ark.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/ark.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/arronax.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/arronax.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/assaultcube.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/assaultcube.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/atril.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/atril.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/audacity.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/audacity.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/audio-mp3.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/audio-mp3.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/avatar-default.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/avatar-default.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/balena-etcher-electron.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/balena-etcher-electron.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/bigpemu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/bigpemu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/blender.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/blender.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/bulky.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/bulky.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/chrome-beta.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/chrome-beta.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/chrome.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/chrome.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cinnamon-virtual-keyboard.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cinnamon-virtual-keyboard.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/clementine.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/clementine.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cmake-gui.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cmake-gui.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cmake.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cmake.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/code-oss.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/code-oss.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/compton.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/compton.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/computer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/computer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-applets.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-applets.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-backgrounds.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-backgrounds.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-admin.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-admin.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-appearance.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-appearance.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-hardware.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-hardware.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-prefs.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-prefs.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-tweaks.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-cat-tweaks.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-color.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-color.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-date-time.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-date-time.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-default-applications.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-default-applications.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-desklets.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-desklets.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-desktop-effects.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-desktop-effects.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-desktop.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-desktop.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-details.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-details.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-display.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-display.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-extensions.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-extensions.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-fonts.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-fonts.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-general.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-general.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-keyboard.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-keyboard.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-mouse.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-mouse.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-network.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-network.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-notifications.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-notifications.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-online-accounts.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-online-accounts.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-overview.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-overview.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-panel.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-panel.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-power.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-power.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-printer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-printer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-privacy.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-privacy.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-screensaver.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-screensaver.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-sound.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-sound.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-startup-programs.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-startup-programs.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-tablet.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-tablet.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-themes.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-themes.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-tiling.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-tiling.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-universal-access.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-universal-access.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-user.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-user.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-windows.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-windows.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-workspaces.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/cs-workspaces.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/desktop-environment-xfce.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/desktop-environment-xfce.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/dialog-password.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/dialog-password.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/discord.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/discord.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/disk-usage-analyzer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/disk-usage-analyzer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/document-open-recent.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/document-open-recent.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/dosbox-x.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/dosbox-x.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/dosbox.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/dosbox.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/drive-removable-media.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/drive-removable-media.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/duck_tank.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/duck_tank.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/duckstation-nogui.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/duckstation-nogui.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/duckstation.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/duckstation.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/emacs.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/emacs.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/email.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/email.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/es-de.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/es-de.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/eu.vcmi.VCMI.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/eu.vcmi.VCMI.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/facebook.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/facebook.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/fbneo.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/fbneo.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/feh.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/feh.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/file-roller.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/file-roller.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/file-system-manager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/file-system-manager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/filezilla.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/filezilla.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/firefox.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/firefox.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/flycast.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/flycast.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/fuse.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/fuse.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/futurepinball.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/futurepinball.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gcolor.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gcolor.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gcolor2.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gcolor2.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gcolor3.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gcolor3.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/geometry-dash.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/geometry-dash.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gimp.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gimp.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/github-desktop.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/github-desktop.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/github.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/github.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/godot.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/godot.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/google-chrome.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/google-chrome.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gparted.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gparted.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gsplus.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gsplus.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gtk-preferences.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gtk-preferences.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gtk-select-color.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gtk-select-color.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/gvim.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/gvim.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/half-life.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/half-life.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/half-life2.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/half-life2.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/helltaker.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/helltaker.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/help-about.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/help-about.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/help-browser.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/help-browser.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/help-contents.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/help-contents.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/help.contents.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/help.contents.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/htop.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/htop.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/hwloc.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/hwloc.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/hypseus.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/hypseus.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/ibus-setup.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/ibus-setup.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/ikemego.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/ikemego.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/info.cemu.Cemu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/info.cemu.Cemu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/inkscape.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/inkscape.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/input-keyboard.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/input-keyboard.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/internet-web-browser.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/internet-web-browser.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/itch.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/itch.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/kde-frameworks.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/kde-frameworks.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/kdenlive.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/kdenlive.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/kfontview.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/kfontview.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/klipper.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/klipper.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/kmenuedit.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/kmenuedit.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/knetattach.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/knetattach.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/kotatogram.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/kotatogram.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/krita.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/krita.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/kwalletmanager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/kwalletmanager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-base.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-base.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-calc.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-calc.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-draw.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-draw.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-impress.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-impress.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-math.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-math.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-startcenter.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-startcenter.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-writer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice-writer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/libreoffice.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/lime3ds.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/lime3ds.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/linapple.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/linapple.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/links-48x48.xpm.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/links-48x48.xpm.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/lmms.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/lmms.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/lutris.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/lutris.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/map-globe.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/map-globe.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-desktop.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-desktop.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-disk-usage-analyzer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-disk-usage-analyzer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-notification-properties.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-notification-properties.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-panel.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-panel.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-session-properties.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-session-properties.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-system-log.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/mate-system-log.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/menulibre.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/menulibre.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/microsoft-edge.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/microsoft-edge.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/midori.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/midori.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/minecraft.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/minecraft.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/mpv.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/mpv.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/multimedia-volume-control.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/multimedia-volume-control.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/nestopia.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/nestopia.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.kuribo64.melonDS.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.kuribo64.melonDS.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.openra.OpenRA.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.openra.OpenRA.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.pcsx2.PCSX2.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.pcsx2.PCSX2.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.retrodeck.retrodeck.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.retrodeck.retrodeck.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.rpcs3.RPCS3.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.rpcs3.RPCS3.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.veloren.airshipper.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/net.veloren.airshipper.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/network-wired.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/network-wired.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/network-workgroup.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/network-workgroup.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/nl.hjdskes.gcolor3.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/nl.hjdskes.gcolor3.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/nm-device-wireless.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/nm-device-wireless.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/nnn.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/nnn.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/notepadqq.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/notepadqq.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/nvim.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/nvim.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/octopi.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/octopi.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/okular.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/okular.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/openarena-server.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/openarena-server.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/openarena.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/openarena.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/openbor.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/openbor.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/opera-beta.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/opera-beta.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/opera-developer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/opera-developer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/opera.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/opera.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.citra_emu.citra.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.citra_emu.citra.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.ArchiveManager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.ArchiveManager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.Nautilus.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.Nautilus.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.Screenshot.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.Screenshot.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.Yelp.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.Yelp.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.clocks.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gnome.clocks.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gtk.IconBrowser4.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.gtk.IconBrowser4.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.inkscape.Inkscape.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.inkscape.Inkscape.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.mamedev.MAME.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.mamedev.MAME.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.midori_browser.Midori.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.midori_browser.Midori.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.openmw.OpenMW.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.openmw.OpenMW.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.openttd.OpenTTD.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.openttd.OpenTTD.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.ppsspp.PPSSPP.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.ppsspp.PPSSPP.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.ppsspp.PPSSPP_.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.ppsspp.PPSSPP_.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.rnd2.cpupower-gui.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.rnd2.cpupower-gui.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.ryujinx.Ryujinx.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.ryujinx.Ryujinx.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.about.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.about.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.appfinder.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.appfinder.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.filemanager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.filemanager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.garcon.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.garcon.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.mailreader.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.mailreader.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.notification.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.notification.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.actions.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.actions.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.applicationsmenu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.applicationsmenu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.tasklist.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.tasklist.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.whiskermenu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.whiskermenu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.powermanager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.powermanager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.session.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.session.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.accessibility.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.accessibility.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.appearance.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.appearance.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.color.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.color.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.default-applications.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.default-applications.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.display.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.display.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.editor.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.editor.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.keyboard.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.keyboard.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.manager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.manager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.mouse.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.mouse.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal-settings.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal-settings.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.terminalemulator.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.terminalemulator.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.thunar.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.thunar.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.tumbler.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.tumbler.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.volman.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.volman.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.webbrowser.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.webbrowser.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.workspaces.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.workspaces.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.xfdesktop.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.xfdesktop.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4-tweaks.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4-tweaks.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.zdoom.GZDoom.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/org.zdoom.GZDoom.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/oricutron.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/oricutron.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/pcsxr-icon.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/pcsxr-icon.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/picom.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/picom.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/plasma-search.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/plasma-search.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/plasma.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/plasma.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/plasmashell.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/plasmashell.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/playonlinux.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/playonlinux.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/portal2.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/portal2.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/portmaster.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/portmaster.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-accessibility.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-accessibility.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-activities.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-activities.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-baloo.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-baloo.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-color.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-color.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-cursors.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-cursors.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-default-applications.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-default-applications.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-display-nightcolor.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-display-nightcolor.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-display.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-display.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-emoticons.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-emoticons.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-feedback.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-feedback.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-filetype-association.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-filetype-association.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-font-installer.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-font-installer.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-font.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-font.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-gaming.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-gaming.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-icons.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-icons.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcut.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcut.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcuts.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcuts.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-launch-feedback.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-launch-feedback.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-locale.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-locale.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-mouse.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-mouse.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-notification-bell.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-notification-bell.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-peripherals.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-peripherals.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-personal.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-personal.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-plasma-theme.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-plasma-theme.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-tablet.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-tablet.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-applications.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-applications.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-global.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-global.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-touchpad.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-touchpad.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-user.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-user.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-wallpaper.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop-wallpaper.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-desktop.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-network.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-network.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-notifications.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-notifications.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-search.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-search.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-session-services.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-session-services.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-splash.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-splash.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-time.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-time.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-users.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-users.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-windows-actions.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-windows-actions.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-windows.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system-windows.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-system.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-tweaks-shadows.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/preferences-tweaks-shadows.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/primehack.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/primehack.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/pvz.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/pvz.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/qemu.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/qemu.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/raze.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/raze.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/redream.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/redream.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/romm.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/romm.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/roxterm.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/roxterm.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/ruffle.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/ruffle.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/scummvm.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/scummvm.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/sdltrs.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/sdltrs.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/search.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/search.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/security-high.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/security-high.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/security-low.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/security-low.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/security-medium.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/security-medium.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/simcoupe.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/simcoupe.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/simplescreenrecorder.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/simplescreenrecorder.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/skullgirls.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/skullgirls.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/snes9x.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/snes9x.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/solarus.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/solarus.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/spacefm-find.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/spacefm-find.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/spacefm.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/spacefm.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/spotify.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/spotify.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_1289310.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_1289310.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_20.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_20.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_245170.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_245170.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_322170.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_322170.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_3590.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_3590.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_620.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_620.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_70.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam_icon_70.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/stella.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/stella.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/strawberry.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/strawberry.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/supermodel.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/supermodel.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/supertuxkart.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/supertuxkart.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-file-manager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-file-manager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-lock-screen.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-lock-screen.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-log-out.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-log-out.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-logout.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-logout.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-reboot.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-reboot.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-run.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-run.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-search.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-search.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-shutdown.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-shutdown.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-software-install.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-software-install.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-suspend-hibernate.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-suspend-hibernate.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-suspend.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-suspend.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-switch-user.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-switch-user.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-users.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/system-users.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/systemsettings.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/systemsettings.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/team-fortress-classic.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/team-fortress-classic.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/telegram.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/telegram.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/terminal-tango.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/terminal-tango.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/tesseract.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/tesseract.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/text-x-chdr.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/text-x-chdr.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/tint2.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/tint2.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/tint2conf.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/tint2conf.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/tools-check-spelling.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/tools-check-spelling.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/tsugaru.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/tsugaru.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/twitter.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/twitter.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/uget-icon.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/uget-icon.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/urbanterror.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/urbanterror.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/user-info.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/user-info.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/utilities-system-monitor.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/utilities-system-monitor.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/utilities-terminal.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/utilities-terminal.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/utilities-tweak-tool.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/utilities-tweak-tool.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/ventoy.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/ventoy.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/video-display.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/video-display.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/viewnior.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/viewnior.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/vim.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/vim.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/virt-manager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/virt-manager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/virtualbox.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/virtualbox.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/visual-studio-code.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/visual-studio-code.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/vita3k.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/vita3k.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/vivaldi.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/vivaldi.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/vpinball.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/vpinball.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/vscodium.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/vscodium.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/waterfox.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/waterfox.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/wine.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/wine.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xarchiver.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xarchiver.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xenia.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xenia.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce-display-profile.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce-display-profile.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce4-logo.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce4-logo.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce4-panel.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce4-panel.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce4-settings.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfce4-settings.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-hibernate.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-hibernate.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-lock.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-lock.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-logout.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-logout.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-reboot.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-reboot.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-shutdown.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-shutdown.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-suspend-hibernate.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-suspend-hibernate.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-suspend.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-suspend.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-switch-user.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-switch-user.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-users.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/xfsm-users.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/youtube-music.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/youtube-music.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/youtube.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/youtube.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/zsnes.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/zsnes.png.import delete mode 100644 tools/configurator/locales/interface.de.translation delete mode 100644 tools/configurator/locales/interface.en.translation delete mode 100644 tools/configurator/locales/interface.it.translation delete mode 100644 tools/configurator/locales/interface.ja.translation delete mode 100644 tools/configurator/locales/interface.sv.translation delete mode 100644 tools/configurator/locales/interface.ua.translation delete mode 100644 tools/configurator/locales/interface.zh.translation create mode 100644 tools/configurator/retrodeck.gd diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index b63d6fd0..24f0ec09 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -1,4 +1,3 @@ - { "about_links": { "rd_changelog": { @@ -850,7 +849,7 @@ } ] }, - "picodrive_libetro": { + "picodrive_libretro": { "name": "PicoDrive", "description": "SEGA MS/MD/CD/32X Libretro Core", "system": [ @@ -867,7 +866,7 @@ } ] }, - "genesisplusgx_libetro": { + "genesisplusgx_libretro": { "name": "Genesis Plus GX", "description": "SEGA MS/GG/MD/CD Libretro Core", "system": [ @@ -884,7 +883,7 @@ } ] }, - "genesisplusgxwide_libetro": { + "genesisplusgxwide_libretro": { "name": "Genesis Plus GX Wide", "description": "SEGA MS/GG/MD/CD Libretro Core for Wide Screen", "system": [ @@ -900,7 +899,7 @@ } ] }, - "mupen64plus-next_libetro": { + "mupen64plus-next_libretro": { "name": "Mupen64Plus-Next", "description": "Nintendo 64 Libretro Core", "system": "n64", @@ -912,7 +911,7 @@ } ] }, - "snes9x-current_libetro": { + "snes9x-current_libretro": { "name": "Snes9x - Current", "description": "Super Nintendo Libretro Core", "system": "snes", @@ -925,7 +924,7 @@ } ] }, - "gambatte_libetro": { + "gambatte_libretro": { "name": "Gambatte", "description": "Game Boy/Color Libretro Core", "system": [ @@ -940,7 +939,7 @@ } ] }, - "mgba_libetro": { + "mgba_libretro": { "name": "mGBA", "description": "Game Boy Advance Libretro Core", "system": "gba", @@ -961,7 +960,8 @@ "system": [ "arcade" ], - "launch": "mame" + "launch": "mame", + "launch-args": "-inipath /var/config/mame/ini -rompath $(dirname \"$game\") $game" }, "citra": { "description": "Citra Nintendo 3DS Emulator (via Ponzu)", @@ -977,19 +977,19 @@ } ] }, - "ruffle": { - "description": "Flash Games emulator", - "name" : "Ruffle", - "url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/", - "system" : "flash", - "launch": "ruffle-rd-wrapper.sh" - }, + "ruffle": { + "description": "Flash Games emulator", + "name" : "Ruffle", + "url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/", + "system" : "flash", + "launch": "ruffle-rd-wrapper.sh" + }, "melonds": { "description": "MelonDS Nintendo DS Emulator", "name": "melonds", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/melonds/melonds-guide/", "system": "nds", - "launch": "MelonDS" + "launch": "melonDS" }, "pcsx2": { "name": "pcsx2", @@ -997,6 +997,7 @@ "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/pcsx2/pcsx2-guide/", "system": "ps2", "launch": "pcsx2-qt", + "launch-args": "-batch $game", "properties": [ { "ask_to_exit": true, @@ -1009,6 +1010,7 @@ "description": "PlayStation Emulator", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/duckstation/duckstation-guide/", "launch": "duckstation-qt", + "launch-args": "-batch $game", "system": "psx", "properties": [ { @@ -1035,7 +1037,8 @@ "description": "Vita3K PSVita Emulator", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/vita3k/vita3k-guide/", "system": "psvita", - "launch": "Vita3K" + "launch": "Vita3K", + "launch-args": "-r $game.psvita" }, "rpcs3": { "name": "RPCS3", @@ -1043,6 +1046,7 @@ "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/rpcs3/rpcs3-guide/", "system": "ps3", "launch": "rpcs3", + "launch-override": "cd $(dirname $game) && rpcs3 $game", "properties": [ { "ask_to_exit": true @@ -1062,6 +1066,7 @@ "url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/", "launch": "Yuzu", "system": "switch", + "launch-args": "-f -g $game", "ponzu": true, "abxy_button": true }, @@ -1070,6 +1075,7 @@ "description": "Dolphin Wii and GameCube Emulator", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/dolphin-primehack/dolphin-primehack-guide/", "launch": "dolphin-emu-wrapper", + "launch-args": "-e $game", "system": [ "gc", "wii" @@ -1089,6 +1095,7 @@ "description": "A fork of Dolphiin to enhance Metroid Prime experience", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/dolphin-primehack/dolphin-primehack-guide/", "launch": "primehack-wrapper", + "launch-args": "-e $game", "system": [ "wii" ], @@ -1105,6 +1112,7 @@ "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/cemu/cemu-guide/", "system": "wiiu", "launch": "Cemu-wrapper", + "launch-args": "-g $game", "properties": [ { "abxy_button": true, @@ -1117,7 +1125,8 @@ "name": "xemu", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_emulator_guides/xemu/xemu-guide/", "system": "xbox", - "launch": "xemu" + "launch": "xemu", + "launch-args": "-dvd_path $game" }, "es-de": { "description": "ES-DE Emulation Frontend", diff --git a/functions/checks.sh b/functions/checks.sh index 55b24df3..415e538f 100644 --- a/functions/checks.sh +++ b/functions/checks.sh @@ -132,8 +132,9 @@ elif [[ "$new_version_major_rev" -eq "$current_version_major_rev" ]]; then fi fi -# Perform post_update commands for current version if it is a cooker -if grep -qF "cooker" <<< $hard_version; then # If newly-installed version is a "cooker" build, always perform post_update commands for current version +# Perform post_update commands for current version if it is a cooker or PR +if grep -qF "cooker" <<< "$hard_version" || grep -qF "PR" <<< "$hard_version"; then + # If newly-installed version is a "cooker" or "PR" build, always perform post_update commands for current version if [[ "$(echo $hard_version | cut -d'-' -f2)" == "$new_version" ]]; then is_newer_version="true" fi diff --git a/functions/other_functions.sh b/functions/other_functions.sh index b6a833ee..53ebf2d4 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -891,3 +891,125 @@ start_retrodeck() { log i "Starting RetroDECK v$version" es-de } + +run_game() { + + # Initialize variables + emulator="" + system="" + + # Parse options + while getopts ":e:s:" opt; do + case ${opt} in + e ) + emulator=$OPTARG + ;; + s ) + system=$OPTARG + ;; + \? ) + echo "Usage: $0 --run [-e emulator] [-s system] game" + exit 1 + ;; + esac + done + shift $((OPTIND -1)) + + # Check for game argument + if [[ -z "$1" ]]; then + echo "Error: Game file is required." + echo "Usage: $0 --run [-e emulator] [-s system] game" + exit 1 + fi + + game=$1 + + # If no system is provided, extract it from the game path + if [[ -z "$system" ]]; then + system=$(echo "$game" | grep -oP '(?<=roms/)[^/]+') + fi + + log d "Emulator: $emulator" + log d "System: $system" + log d "Game: $game" + + # Query the features JSON for emulators that support the system + local emulators=$(jq -r --arg system "$system" ' + .emulator | to_entries[] | + select( + (.value.system == $system) or + (.value.system[]? == $system) + ) | .key' "$features") + + # Check if the system is handled by RetroArch cores + local retroarch_cores=$(jq -r --arg system "$system" ' + .emulator.retroarch.cores | to_entries[] | + select( + .value.system == $system or + (.value.system[]? == $system) + ) | .key' "$features") + + # if the emulator is given and it's a retroarch core just execute it + if [[ "$emulator" == *"_libretro" ]]; then + local core_path="/var/config/retroarch/cores/$emulator.so" + log d "Running RetroArch core: $core_path" + log d "Command: retroarch -L $core_path \"$game\"" + eval "retroarch -L $core_path \"$game\"" + return 1 + fi + + # If the system is handled by RetroArch cores, add them to the list of emulators + if [[ -n "$retroarch_cores" ]]; then + emulators=$(echo -e "$emulators\n$retroarch_cores") + fi + + local pretty_system=$(jq -r --arg system "$system" '.system[$system].name' "$features") + + # Check if multiple emulators are found and prompt the user to select one with zenity + if [[ $(echo "$emulators" | wc -l) -gt 1 ]]; then + emulator=$(echo "$emulators" | zenity --list --title="Select Emulator" --text="Multiple emulators found for $pretty_system. Select one to run." --column="Emulator") + else + emulator="$emulators" + fi + + # If no emulator was selected, exit + if [[ -z "$emulator" ]]; then + log e "No emulator selected. Exiting." + return 1 + fi + + log d "Run game: selected emulator $emulator" + + # Handle RetroArch core separately + if [[ "$emulator" == *"_libretro" ]]; then + local core_path="/var/config/retroarch/cores/$emulator.so" + log d "Running RetroArch core: $core_path" + log d "Command: retroarch -L $core_path \"$game\"" + eval "retroarch -L $core_path \"$game\"" + else + # Check if launch-override exists + local launch_override=$(jq -r ".emulator.$emulator.\"launch-override\"" "$features") + if [[ "$launch_override" != "null" ]]; then + # Use launch-override + launch_override=${launch_override//\$game/\"$game\"} + log d "Using launch-override: $launch_override" + eval "$launch_override" + else + # Use standard launch and launch-args + local launch_command=$(jq -r ".emulator.$emulator.launch" "$features") + local launch_args=$(jq -r ".emulator.$emulator.\"launch-args\"" "$features") + log d "launch args: $launch_args" + + # Only add launch_args if they are not null + if [[ "$launch_args" != "null" ]]; then + # Replace $game in launch_args with the actual game path, quoting it to handle spaces + launch_args=${launch_args//\$game/\"$game\"} + log d "Command: \"$launch_command $launch_args\"" + eval "$launch_command $launch_args" + else + log d "Command: \"$launch_command\"" + eval "$launch_command \"$game\"" + fi + fi + fi +} \ No newline at end of file diff --git a/retrodeck.sh b/retrodeck.sh index 018d9bc2..e76f8df0 100644 --- a/retrodeck.sh +++ b/retrodeck.sh @@ -18,19 +18,21 @@ for i in "$@"; do case $i in -h*|--help*) echo "RetroDECK v""$version" - echo " + echo -e " Usage: flatpak run [FLATPAK-RUN-OPTION] net.retrodeck-retrodeck [ARGUMENTS] Arguments: - -h, --help Print this help - -v, --version Print RetroDECK version - --info-msg Print paths and config informations - --configurator Starts the RetroDECK Configurator - --compress-one Compresses target file to a compatible format - --compress-all Compresses all supported games into a compatible format. Available formats are \"chd\", \"zip\", \"rvz\" and \"all\". - --reset-component Reset one or more component or emulator configs to the default values - --reset-retrodeck Starts the initial RetroDECK installer (backup your data first!) + -h, --help \t Print this help + -v, --version \t Print RetroDECK version + --info-msg \t Print paths and config informations + --configurator \t Starts the RetroDECK Configurator + --compress-one \t Compresses target file to a compatible format + --compress-all \t Compresses all supported games into a compatible format.\n\t\t\t\t\t\t Available formats are \"chd\", \"zip\", \"rvz\" and \"all\". + --reset-component \t Reset one or more component or emulator configs to the default values + --reset-retrodeck \t Starts the initial RetroDECK installer (backup your data first!) + + --run [-s ] [-e ] \t Run a game from cli, if no system is defined it will deducted from the path.\n\t\t\t\t\t\t For example --run ~/retrodeck/roms/system/game.ext will be run with the system "system".\n\t\t\t\t\t\t Optionally -e (emulator) and -s (system) can be passed as arguments. For flatpak run specific options please run: flatpak run -h @@ -42,6 +44,11 @@ https://retrodeck.net echo "RetroDECK v$version" exit ;; + --run*) + shift # Remove --run + run_game "$@" + exit + ;; --info-msg*) echo "RetroDECK v$version" echo "RetroDECK config file is in: $rd_conf" @@ -199,3 +206,4 @@ fi # Normal Startup start_retrodeck +quit_retrodeck diff --git a/tools/configurator/Rekku.gd b/tools/configurator/Rekku.gd index 03ea2fe2..d915a511 100644 --- a/tools/configurator/Rekku.gd +++ b/tools/configurator/Rekku.gd @@ -1,12 +1,15 @@ extends Control -func _input(event): - if event.is_action_pressed("rekku_hide"): - self.visible = !self.visible - %SplitContainer.split_offset=-300 +var rekku_state = false - if Input.is_action_pressed("back_button"): - %SplitContainer.split_offset=0 - $".".visible=false - - +func _input(event): + if event.is_action_released("rekku_hide"): + #self.visible = !self.visible + if rekku_state == false: + self.visible = true + rekku_state = true + %SplitContainer.split_offset=-300 + elif event.is_action_released("rekku_hide") and rekku_state == true: + rekku_state = false + self.visible = false + %SplitContainer.split_offset=0 diff --git a/tools/configurator/TabContainer.gd b/tools/configurator/TabContainer.gd index be7ee80f..99dc396c 100644 --- a/tools/configurator/TabContainer.gd +++ b/tools/configurator/TabContainer.gd @@ -1,6 +1,8 @@ extends TabContainer var icon_width: int = 32 +@onready var tcount: int = get_tab_count()-1 + func _ready(): focusFirstFocusableChild() #grab focus on first element to enable controller focusing @@ -34,13 +36,18 @@ func _on_Button_focus_entered(button: Button): func _input(event): if (event.is_action_pressed("next_tab")): - self.select_next_available() - focusFirstFocusableChild() - + if current_tab == tcount: + current_tab = 0 + else: + self.select_next_available() + focusFirstFocusableChild() if (event.is_action_pressed("previous_tab")): - self.select_previous_available() - focusFirstFocusableChild() - + if current_tab == 0: + current_tab = tcount + else: + self.select_previous_available() + focusFirstFocusableChild() + func focusFirstFocusableChild(): var children = findElements(get_current_tab_control(), "Control") for n: Control in children: diff --git a/tools/configurator/assets/icons/pixelitos/16/Alacritty.png b/tools/configurator/assets/icons/pixelitos/16/Alacritty.png new file mode 100644 index 0000000000000000000000000000000000000000..b49c4a7f97b6754e9822fc3c5ab781378443018f GIT binary patch literal 5349 zcmeHKX;c$g7ES~~R@tN#7h(`mAxUL}BocNI)F2HAXrof8RG^eBWRa-Ijtw#{s33!& zqRpa!ii(IrD~*UC3a&UP;EICEB8m$lQwg}8=|7$`{m-0JN!5Md{qDWryYIbJijVgK zJ#8~>3}^&{u(H+2^#3P`M?N>!Khzb?;j-d1tW1{iHMJc!#LSGF^q#12p@w{ zw3Y-Srv_&04mZs^qrQl1a2d2OnE&k62J)SMXYby9w9Hs1q4>c{>?vgAW80NgjLZ_V z=kXt&4R5OPn99t}y=#9xI`2wPi~Pj&Ex$)g^?@_$zMUl>@?u`!7z{}6YubgjH;J%rZ14lw3`4^=hKH;C*M~d_za~Goj(_=;Z<^Ki z;kl$Cy@~=XbGWZ6w5X_d+we>Q=sXX@nLF+>n=~d&abbqNSGfV6Q zZyelYBFQ!^IB-~JVXhFq%+PV?Hs7lE&2!6XCF)E{46B%;9|ruAQRQbTevD6WobTN| zZPvm`$n$gIwsQ}XD66+Q!vT*TW3x-0x-7$ z>q|FGGt~@Z{S9^*uu`AsYFuI-nXscIS<|kehCV~}bfw&k{T-M`w$lL2q{DX7&BeHUXI zvZvhKSbxu26j*$#R4+ZJl&PaxxF=-r!LOX+$-RGW(KuE4a#v@?qa{zKx?XA;x&O%} zYs4~pmD!HYkL`^sxe+bPJ73`TRsLU)*YeNI037{$0+Uv^?_XRpSX27@BN-i<5DgW9-f2Emc|}|aGB^J4ytnel=6)?3 z5^haPvWbajk_w?UosV{PX2fzcNd$N*@PA`x`W5d8d@R4mKIc2Vf16F(9G@MdTw^4y6A)DfEfT zdt7#N(05^-o1@>oRtY~<7L~U3WpANk=+r~KmFKSRScNoqIUMa8NNwu~7PZLs#P$!U zPrF_@^v3=kb2^X{*idxJM6<}kNkk`?{$wn(etxKNKq+3LLv7aP;oAOs4a(I0v}EIiz`i^Q`JV2UDc zH!QtfX%z!93Xa-Hb2<%-f-V@%O7`(_*MjdPUpu^$JJWqA!hB@^^WB&7wil^;Y#r~v z-+Aru{g}S9zgatydn}V4In|{;iqcifIqP(=lhIMP^#%hQ-*i5`{Z(N1`PWumWf`XI zaqG+DQlDq!zrgOEfByW=nR|{~k4LoM+xJC#bnF`cK^WIVKU&`D;B6jDlc!f=_4VV@ z#=%F2D$f>GmB%#EhK8`7L`g>6xo&mz5Hds1!zPHcm<5RhM35)q!bF8Yj2=c9jJ=~m z3_@#Q8IB8wB0@I4_v|@54&kx!fpiYQ5xc@+i066je@j)CPoU2Fz<7h-05g@oLkhK)NgEr1y!sD}i z-8{x9&?h!NOePbvNTkTfNMaum$C79bR73NKY^IT`9d$0j;Vm^K~jKX5}62)1On2x9#Wb6T9jlg zp}+Nz`lDwy$rqN2~FwEsq_<$|I<=TBim$0EWUOu`pCMpcI_t z?Bm78Q;4HbmBl9Q_(zERmv} zsN^IAMCvH7a#~nuF{rShvQJS0l?Pf2%T)q{GLghzBnoHal?mXKo~ri7*^f?&Cn7}= z>y#Zo*7JUF#OTxL5(r0BLpYqOZCM~R8bk`Ng?Xw#sNd)i6b1@IVRU_uHPmN2@;8$O z0%RTt(a8jW1~UjWkO>k%J0_Jt=h2w9Fb^X07?khXr6Rs85|qHsp=hOOHE08=s=>`s zNjdj>bYvK;)CoY>Hb5f)6n`?E1<+W49RaXq0RWyfRxnAqsy|n3Px>EC>{WnowgJ>{ z)P`;^=x#;&vR#d7rj+p?{EW@TKNta}{u$(l^!+K}3{g47b1pe7w z|2Mg`zrOImLiAryB>Fm&*?77feHGH+E?VG*DZ{WZ^LAd*`wP%ba+jM(~vVQw0jz@*FFx=s(K`*{@shq!gp%Iq5pjdk+9LVWBx-!#dsHY-H5_$Eor?7f+Zpn(u z^0JzR$KSMFn9N0F$WqNN%2EwA17uM;SD+0x@(zMj%cD%4)-$6^o Nc)5GK9dQYX|1ZA~F!=xg literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/Alacritty.png.import b/tools/configurator/assets/icons/pixelitos/16/Alacritty.png.import new file mode 100644 index 00000000..c881c286 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/Alacritty.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cp7mte1plxnns" +path="res://.godot/imported/Alacritty.png-4f73319016fc7fff22cd6bbb95727a2c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/Alacritty.png" +dest_files=["res://.godot/imported/Alacritty.png-4f73319016fc7fff22cd6bbb95727a2c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/CMakeSetup.png b/tools/configurator/assets/icons/pixelitos/16/CMakeSetup.png new file mode 100644 index 0000000000000000000000000000000000000000..c242ed43d8fc75cbbfdfc13b892b7239bdcb605b GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q#@T9Lo7}wCmdkjb1U!9{_N!6 z^7EzC*ti&l?QUxtHMDjLo;&uOS1o4S|DWII8|fc#Sa&^V&$d0<}yWiGMeZ?cQ#-}3oV2i)8Vcfx2t<#e(@~9R2c5u0f<;+TCNIRj$rZB zwRS=4Ef)U`my1&ZzrLGw^hWIDhHBPr-?#36&6P7h+fsd=eSr1-)y-mW9&6olW^3TS Ya>BI#`O%0gK>HayUHx3vIVCg!0IvT-5dZ)H literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/QtProject-qtcreator.png.import b/tools/configurator/assets/icons/pixelitos/16/QtProject-qtcreator.png.import new file mode 100644 index 00000000..675613fa --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/QtProject-qtcreator.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dal18xkn0kplp" +path="res://.godot/imported/QtProject-qtcreator.png-23c831a40c505fde0c349b15be55ea27.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/QtProject-qtcreator.png" +dest_files=["res://.godot/imported/QtProject-qtcreator.png-23c831a40c505fde0c349b15be55ea27.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/accesories-screenshoot.png b/tools/configurator/assets/icons/pixelitos/16/accesories-screenshoot.png new file mode 100644 index 0000000000000000000000000000000000000000..cd86d42d51ae188b7a513917147c7c45430a572c GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr`0iPPoh4pup3@e~8a_ z`GbjqF^5fK4xgRTWYB6S(X(K!y~?-N3q|qo4etGBl}%+#nA3K>&|mQ1_ccI(;o p`9I=Y)VH}F2)?b(AXwYCfl16qQ!mlmJrd|522WQ%mvv4FO#sz#NV5O{ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/accesories-screenshoot.png.import b/tools/configurator/assets/icons/pixelitos/16/accesories-screenshoot.png.import new file mode 100644 index 00000000..e0531885 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/accesories-screenshoot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://df4bk3fa337ig" +path="res://.godot/imported/accesories-screenshoot.png-374d457bc7561a8d6e5b662034b15730.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/accesories-screenshoot.png" +dest_files=["res://.godot/imported/accesories-screenshoot.png-374d457bc7561a8d6e5b662034b15730.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/accesories-screenshot.png b/tools/configurator/assets/icons/pixelitos/16/accesories-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cd86d42d51ae188b7a513917147c7c45430a572c GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr`0iPPoh4pup3@e~8a_ z`GbjqF^5fK4xgRTWYB6S(X(K!y~?-N3q|qo4etGBl}%+#nA3K>&|mQ1_ccI(;o p`9I=Y)VH}F2)?b(AXwYCfl16qQ!mlmJrd|522WQ%mvv4FO#sz#NV5O{ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/accesories-screenshot.png.import b/tools/configurator/assets/icons/pixelitos/16/accesories-screenshot.png.import new file mode 100644 index 00000000..b9421af9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/accesories-screenshot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqkexg5kkpehj" +path="res://.godot/imported/accesories-screenshot.png-380a941577ff6c26d913fdd7f78ed615.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/accesories-screenshot.png" +dest_files=["res://.godot/imported/accesories-screenshot.png-380a941577ff6c26d913fdd7f78ed615.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-calculator.png b/tools/configurator/assets/icons/pixelitos/16/accessories-calculator.png new file mode 100644 index 0000000000000000000000000000000000000000..981d1419d6e41ce12b62237a4a77b87d3b5cb507 GIT binary patch literal 268 zcmV+n0rUQeP)jjNX8>KXqT!(HI{0YYmH+_t$#cYUtO0-ygG#Bd3q_`^lmh2`l+-lMXwMk43vkYz zvMHF1MsUeFX7{hD%^cK$3l1z>;B?G{b;@5Jmqin3f8Kjv7I+cc8;^9h3{C4GmO205t3=qJTt8#|bP;TW|n6h^SHq5^suV z(C*4C=67EC{r^WZ1WRVsYpWtYAfUHm)25f*Cx4R#H&hXSJ3l|q003$^bxppu4SLNl zR|6kruuN>mCUx`Pe^SNpcn_3P0syquP|GP)b8rT75=#8TAu;SXH0y3h+^cQFT5ETl zOR^WJC?DoP5lT-!{LnhdLaG3?X6!i$fIdE}Hi*hvqW*r|4FD%r}9ZRF1kpa$TV-~Iru WiFdl17-ZG}0000zopr0MZ>S761SM literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-dictionary.png.import b/tools/configurator/assets/icons/pixelitos/16/accessories-dictionary.png.import new file mode 100644 index 00000000..a572c210 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/accessories-dictionary.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy4i0deapmyn8" +path="res://.godot/imported/accessories-dictionary.png-25017c298efba7f0e304eab6bd3fe71e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/accessories-dictionary.png" +dest_files=["res://.godot/imported/accessories-dictionary.png-25017c298efba7f0e304eab6bd3fe71e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-ebook-reader.png b/tools/configurator/assets/icons/pixelitos/16/accessories-ebook-reader.png new file mode 100644 index 0000000000000000000000000000000000000000..081c51d5687e225b2048e8e00af5fa4d4f226708 GIT binary patch literal 129 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%NJUm?-Lp096y`ad~U?9MHQ8I69 z)9nX4pK{gYUrsUP@Nwl`nefNEZr{vEo3Ec4681|i4l!3-y=s;l!+pj3?hGzRoIclW cu?yPExN!o%wB^B&2B4V?p00i_>zopr0MZ>S761SM literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-ebook-reader.png.import b/tools/configurator/assets/icons/pixelitos/16/accessories-ebook-reader.png.import new file mode 100644 index 00000000..db7849bf --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/accessories-ebook-reader.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c70ppuy4beltg" +path="res://.godot/imported/accessories-ebook-reader.png-0f54fc49eec6426cbf1120611040fb32.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/accessories-ebook-reader.png" +dest_files=["res://.godot/imported/accessories-ebook-reader.png-0f54fc49eec6426cbf1120611040fb32.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-notes.png b/tools/configurator/assets/icons/pixelitos/16/accessories-notes.png new file mode 100644 index 0000000000000000000000000000000000000000..96629dea8ca3cdc2589978a857cbe832d083fbc4 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^d_XL~!3HGNrubO_sa8)H#}JM4$teezw&mUZB|r21 z+qY*s*0mJ|<>~$YEWW+|085Tg(Z-oa3sMfISVRXoO>O3!zRWmV+-OeZ?heM;cR*?k z4qD`{-nRHgf{@I4AZ}M`ThrFr=yRay%*Rikl>8rW%f0F l7aCo8Y_B=%R`~k_7KZK3CbAX6$3d=R@O1TaS?83{1OVfeOl|-G literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-notes.png.import b/tools/configurator/assets/icons/pixelitos/16/accessories-notes.png.import new file mode 100644 index 00000000..8bee69be --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/accessories-notes.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://taq6pykvnl76" +path="res://.godot/imported/accessories-notes.png-f233036a4c836cc7dc186338310e9fae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/accessories-notes.png" +dest_files=["res://.godot/imported/accessories-notes.png-f233036a4c836cc7dc186338310e9fae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-safe.png b/tools/configurator/assets/icons/pixelitos/16/accessories-safe.png new file mode 100644 index 0000000000000000000000000000000000000000..d992a15215a9c0d17944f6b146094ff7bba4c4f3 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar`0C2HzGupuoW$_dSu- zy+Fh*QN+D~RXuC}9%ugF7oPbW&Un(m&@j_qXTdeED<>?U`#+f?#GtTdg06akuzQc- zDlWm7T&r%)JzmwkIzi?9yE|;(7Iu`_SNl3?9-W&0KJ8OIr{NZX_iN7l+0Es4K3Q$O wj!kNk>&|mQ1_ccI(;o p`9I=Y)VH}F2)?b(AXwYCfl16qQ!mlmJrd|522WQ%mvv4FO#sz#NV5O{ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-screenshoot.png.import b/tools/configurator/assets/icons/pixelitos/16/accessories-screenshoot.png.import new file mode 100644 index 00000000..27bcb515 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/accessories-screenshoot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7owhb6jau2r7" +path="res://.godot/imported/accessories-screenshoot.png-9c31584745a04aa11537232e52d0fd4a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/accessories-screenshoot.png" +dest_files=["res://.godot/imported/accessories-screenshoot.png-9c31584745a04aa11537232e52d0fd4a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-text-editor.png b/tools/configurator/assets/icons/pixelitos/16/accessories-text-editor.png new file mode 100644 index 0000000000000000000000000000000000000000..d5d5070d962dbe8e0bb1e4d234e6ae210e234796 GIT binary patch literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8$4YcLo7}wCjh|@e}*-&yT92p z^Bp+ipmHFU<09JwqZSqB4U$fq7+Oa%Z?|(K({k^y85}Sb4q9e0I`-*@Bjb+ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/accessories-text-editor.png.import b/tools/configurator/assets/icons/pixelitos/16/accessories-text-editor.png.import new file mode 100644 index 00000000..f991a62b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/accessories-text-editor.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://lklv1mtf0axh" +path="res://.godot/imported/accessories-text-editor.png-9d8479e48f94dc82089f933acd74fa99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/accessories-text-editor.png" +dest_files=["res://.godot/imported/accessories-text-editor.png-9d8479e48f94dc82089f933acd74fa99.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/alacarte.png b/tools/configurator/assets/icons/pixelitos/16/alacarte.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c05361ff8207f83c8973b92be9b738d75ffc93 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%N5~Y4&}G*C)%XLDuijzD=?J6P(b{Z@pKdTVwA#wGZAv%NRUe{an^LB{Ts5 D|2#S~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/alacarte.png.import b/tools/configurator/assets/icons/pixelitos/16/alacarte.png.import new file mode 100644 index 00000000..d729400d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/alacarte.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dq62f0iqbvfct" +path="res://.godot/imported/alacarte.png-1f1500dfc98c6beb4514f5a95f95a9ef.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/alacarte.png" +dest_files=["res://.godot/imported/alacarte.png-1f1500dfc98c6beb4514f5a95f95a9ef.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/anatine.png b/tools/configurator/assets/icons/pixelitos/16/anatine.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb99338ceeefb5dd6ae0c7fd8a7c757f53a9f7c GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp@K+Mm<1|;p3UCV(~nWu|mh{pM;lMV_VP~c$sK1W39 zTm0l(oRv=}a(M1hKP-EusUqXt%XfV$S!)-6v_ zvlD3*V=%sayX)nWjwv(uUhY1TdTAY_!|t~DFHV>FwsQNO{P((e@BYi{gzxOyY+rNl aHOo3qwRJP*1?&g9fWgz%&t;ucLK6Uttwr7d literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/anatine.png.import b/tools/configurator/assets/icons/pixelitos/16/anatine.png.import new file mode 100644 index 00000000..881654c4 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/anatine.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqk2qqxx4340h" +path="res://.godot/imported/anatine.png-a45209bb5a56a70dfe74ec0c6321ab8a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/anatine.png" +dest_files=["res://.godot/imported/anatine.png-a45209bb5a56a70dfe74ec0c6321ab8a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/app.xemu.xemu.png b/tools/configurator/assets/icons/pixelitos/16/app.xemu.xemu.png new file mode 100644 index 0000000000000000000000000000000000000000..671edffdef24bf92bf448c295b953e99650560fb GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr_~TQyQ4+j2HgrQEBL3 ze$UXz00@+_^`gQYr##!Yf^Uan&xu)yLM;rNqSS&+563VR>k6A)-dM>x-9p$dJtzN6 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/app.xemu.xemu.png.import b/tools/configurator/assets/icons/pixelitos/16/app.xemu.xemu.png.import new file mode 100644 index 00000000..ecb1ed54 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/app.xemu.xemu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cah8bhye14opr" +path="res://.godot/imported/app.xemu.xemu.png-13fcfb6536a11564d69d3e35a4541282.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/app.xemu.xemu.png" +dest_files=["res://.godot/imported/app.xemu.xemu.png-13fcfb6536a11564d69d3e35a4541282.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/apple.png b/tools/configurator/assets/icons/pixelitos/16/apple.png new file mode 100644 index 0000000000000000000000000000000000000000..02c26df3a6c618521280200cfc122dba2ac6e86f GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^6sD z#WBR9H#tRtL8xr!zxIvdJKm>&|mQ1_ccI(;o p`9I=Y)VH}F2)?b(AXwYCfl16qQ!mlmJrd|522WQ%mvv4FO#sz#NV5O{ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applets-screenshooter.png.import b/tools/configurator/assets/icons/pixelitos/16/applets-screenshooter.png.import new file mode 100644 index 00000000..2191265e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applets-screenshooter.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fk4h3jnjjlv6" +path="res://.godot/imported/applets-screenshooter.png-b31d48502f03856dc8298a6c10b438c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applets-screenshooter.png" +dest_files=["res://.godot/imported/applets-screenshooter.png-b31d48502f03856dc8298a6c10b438c4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/application-vnd.affinity-designer.png b/tools/configurator/assets/icons/pixelitos/16/application-vnd.affinity-designer.png new file mode 100644 index 0000000000000000000000000000000000000000..c6a7d14335496908429c05b0bcfbae8e6a404a1a GIT binary patch literal 396 zcmV;70dxL|P)03rSf*Y`qm7u% zSR|X~k&^5(J-sA>9*nf)hw|cCl>T2RTF4D_nfZS{^yscN$lkY$* z9s^0002ENkl#BhZM$@`cs=g|i?~6$m^JKtR$5@DE&3*YtY3E+qvdEet;>m{A5o6a5&utL+{rU z^Tkr-%!Eo&jgfI8O3a*V5kZX6nW9=?3C$ox1R??eU}g}}*ai`$5JCzeq;jC|mp%XO rS|!TU{`0t6T9bdoBoI+j6H>Sjt8-JkIFZN400000NkvXXu0mjfxpQJc literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-accessories.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-accessories.png.import new file mode 100644 index 00000000..4ce14992 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-accessories.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kbu42vp5e6yf" +path="res://.godot/imported/applications-accessories.png-e423b33993821ebfe2d5501dfae6b714.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-accessories.png" +dest_files=["res://.godot/imported/applications-accessories.png-e423b33993821ebfe2d5501dfae6b714.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-all.png b/tools/configurator/assets/icons/pixelitos/16/applications-all.png new file mode 100644 index 0000000000000000000000000000000000000000..4929945dbe1de6f14ffed9366d7265be7597a680 GIT binary patch literal 358 zcmV-s0h#`ZP)Yk6vcmE=_D@xp@W3d&CRyp12hF`r)E?q1t*0{jgx%9hamL@gg9tpKK}%@J=5jhd(J%^E{q8QU>HUK;JPjVQc9tpuLRLWXR9N&FH%bH zY||IXIQ8L)55VkhD(oH1O@9dBlLW|QG5{3T7XjE?ld-mI58d}FO{|0H<7@1lR&;zQOFa)E5EZ@0fl=ia{vGU07*qoM6N<$ Eg3m6Pg8%>k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-all.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-all.png.import new file mode 100644 index 00000000..6cad19f0 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-all.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ndsdoqjs7m7w" +path="res://.godot/imported/applications-all.png-ab84c72eef4f625c339e15bbcb7fa88f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-all.png" +dest_files=["res://.godot/imported/applications-all.png-ab84c72eef4f625c339e15bbcb7fa88f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-development.png b/tools/configurator/assets/icons/pixelitos/16/applications-development.png new file mode 100644 index 0000000000000000000000000000000000000000..7d4f2b9bea5e2289de97890d734ee28b732b117d GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`>7Fi*Ar_~%20L;cFyQE3{Qu(r z{Z8>$VxMU&J<1pBFu`dN=hP1kGp+3ooZ(=|a19G(Xy|BBdXl34_CeC-AFV34vM#M` zoy7Y}wWD@tb&!=vwr2X2|inUOKZdA?VIM$uwVAZ^8Va!h6$4%ugwHn$>8bg K=d#Wzp$PzIAV4Vq literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-development.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-development.png.import new file mode 100644 index 00000000..b1003d8c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-development.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfeloulb2wvvn" +path="res://.godot/imported/applications-development.png-9b0fdf3eb2d9033678e74d99f3073b76.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-development.png" +dest_files=["res://.godot/imported/applications-development.png-9b0fdf3eb2d9033678e74d99f3073b76.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-education.png b/tools/configurator/assets/icons/pixelitos/16/applications-education.png new file mode 100644 index 0000000000000000000000000000000000000000..360f0ac8583a4428752e683e7764faf628734772 GIT binary patch literal 200 zcmV;(05|`MP)?k3@HO6M!XNoccX*bx7!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD6z!T z#WBR9H#tEf<3Pumi`TFJ=TDB`Q!!D)(k+LpppmzGo&n2|lM5scwRmq{yH?lv0b3$l zbaXTu2)sUI*VbSm*=ClfCc-V5$TPzUDA;zmoj{<%~NPUA%TpOtoi*ga^wDMxRZLFB&E`G8)S+ hu$E`*2sJ+f^zDD^W8zakivius;OXk;vd$@?2>>-TV9fvk literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-games.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-games.png.import new file mode 100644 index 00000000..a24cd9fe --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-games.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw4ero0pfqb57" +path="res://.godot/imported/applications-games.png-6ef58e204fbc67e2e77c94965b7efd35.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-games.png" +dest_files=["res://.godot/imported/applications-games.png-6ef58e204fbc67e2e77c94965b7efd35.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-graphics.png b/tools/configurator/assets/icons/pixelitos/16/applications-graphics.png new file mode 100644 index 0000000000000000000000000000000000000000..2847df1d2a175623f788f60664d1669fb9c0b7e8 GIT binary patch literal 320 zcmV-G0l)r z3SGDC?XE-*w&BOoH^zYY9Bc-IZ5yl#TuB1(!L!|SH5XqMy5LDT-aF_@nA)C% z<7~JXLo80u4c;ht$bjdMdDhE_ z4n-q3sTC&}N<0rs@Eo)fd3hzv*EH7a7ObRz#(c^f6(cq#XI=lo6ot6~@!K0CaM z(VUwn`S`s_VsC`-Mz+PPaw3%kx%aT@aNG5VcZsj)y=&yAzagjK0wceLaD~T~sAU%; zit_^}a_Wfc?&YkW`fc8^qQl#&5?9V-H)3e`&|I&}aNu{@g7TS{wAf`cCdNPOs=Rnz dK6~v6@x=%HnF2pN2>`mA!PC{xWt~$(695xZSa$#b literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-internet.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-internet.png.import new file mode 100644 index 00000000..5cdbb991 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-internet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ceowi5vullhhc" +path="res://.godot/imported/applications-internet.png-1ae1e3221643b136ddd72c43cc9759c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-internet.png" +dest_files=["res://.godot/imported/applications-internet.png-1ae1e3221643b136ddd72c43cc9759c4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-multimedia.png b/tools/configurator/assets/icons/pixelitos/16/applications-multimedia.png new file mode 100644 index 0000000000000000000000000000000000000000..ebce336ada7aa755f902dcc50593b7a0baaab7dc GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0w6XA8<1SE`<)7qTJ7oL7@~20>10E`CIgAq{Zh~0 z`T54|Xl;v*$P1dg(VQ_q@r#&_iqD%E2X>81H@X_PZ>@a)_4NHPh8X^*-Kmo-7XPj@KT#`oRgt?Po>)C-A6d5_yibzWOfep*>={R)i?a1#xt*++0_p<4(?a6 z=XBaE(QV9|d6(a?Y!~-zpYPJ&_wHx&cx`YnyuyHeeW90t^S4voMLOGDPrmVFVdQ&MBb@0Iu#=9smFU literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-multimedia.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-multimedia.png.import new file mode 100644 index 00000000..afafe803 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-multimedia.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj471sjmw24g1" +path="res://.godot/imported/applications-multimedia.png-973d3374cd06bfb4a4e417a3ad5c68a7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-multimedia.png" +dest_files=["res://.godot/imported/applications-multimedia.png-973d3374cd06bfb4a4e417a3ad5c68a7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-office.png b/tools/configurator/assets/icons/pixelitos/16/applications-office.png new file mode 100644 index 0000000000000000000000000000000000000000..1dc57b9d6597849fd6e83c2efa3f37d26fcab7b0 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-dusd`Tr#}JM4$!B5|zRhRk-BbUq z{h|1M*0%ij^9)>UFCb8MTp$vb*cKn3qVOrEhDYUQ4{uMFoa8J< YIXkUGf1`O01D(R)>FVdQ&MBb@0I?}I$p8QV literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-office.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-office.png.import new file mode 100644 index 00000000..15fc6280 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-office.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b2r2ggkeiippk" +path="res://.godot/imported/applications-office.png-782c993c03b7dbe06aad8f8d655ffb6e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-office.png" +dest_files=["res://.godot/imported/applications-office.png-782c993c03b7dbe06aad8f8d655ffb6e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-other.png b/tools/configurator/assets/icons/pixelitos/16/applications-other.png new file mode 100644 index 0000000000000000000000000000000000000000..840d60270b10a02c9740e9468b6d25fd5232cb00 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`!JaOTAr_~TQw}gye69VLEd0Nw zkXw0|gtDR3N68}|tI|rGB~D)K$>9)YZf%$tb33siNqmDsai30B>*m}?t2jTceALv) of5dSD--=07R!*9E;_NvF?>-&%8?q&VK;s!aUHx3vIVCg!0M?N)vj6}9 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-other.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-other.png.import new file mode 100644 index 00000000..56ee6f04 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-other.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3byj4jy8psjo" +path="res://.godot/imported/applications-other.png-f970e4ce495a40f34c5a7d23e2db84bd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-other.png" +dest_files=["res://.godot/imported/applications-other.png-f970e4ce495a40f34c5a7d23e2db84bd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-science.png b/tools/configurator/assets/icons/pixelitos/16/applications-science.png new file mode 100644 index 0000000000000000000000000000000000000000..360f0ac8583a4428752e683e7764faf628734772 GIT binary patch literal 200 zcmV;(05|`MP)?k3@HO6M!XNoccX*bx7IhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-system.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-system.png.import new file mode 100644 index 00000000..5b7ce19f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-system.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpff7sbgy1wuu" +path="res://.godot/imported/applications-system.png-36ae6cc3fc0327af3fb24616b60b3003.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-system.png" +dest_files=["res://.godot/imported/applications-system.png-36ae6cc3fc0327af3fb24616b60b3003.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-webbrowsers.png b/tools/configurator/assets/icons/pixelitos/16/applications-webbrowsers.png new file mode 100644 index 0000000000000000000000000000000000000000..88f0a50db4554509610dc3cfe89d1490ee15f06e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ydl>XLo80u4c;ht$bjdMdDhE_ z4n-q3sTC&}N<0rs@Eo)fd3hzv*EH7a7ObRz#(c^f6(cq#XI=lo6ot6~@!K0CaM z(VUwn`S`s_VsC`-Mz+PPaw3%kx%aT@aNG5VcZsj)y=&yAzagjK0wceLaD~T~sAU%; zit_^}a_Wfc?&YkW`fc8^qQl#&5?9V-H)3e`&|I&}aNu{@g7TS{wAf`cCdNPOs=Rnz dK6~v6@x=%HnF2pN2>`mA!PC{xWt~$(695xZSa$#b literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/applications-webbrowsers.png.import b/tools/configurator/assets/icons/pixelitos/16/applications-webbrowsers.png.import new file mode 100644 index 00000000..b304cc7d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/applications-webbrowsers.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://fmyai7stuwfv" +path="res://.godot/imported/applications-webbrowsers.png-1326c9464e925db56f2469158fb594bb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/applications-webbrowsers.png" +dest_files=["res://.godot/imported/applications-webbrowsers.png-1326c9464e925db56f2469158fb594bb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/ares.png b/tools/configurator/assets/icons/pixelitos/16/ares.png new file mode 100644 index 0000000000000000000000000000000000000000..8fd6e1adf3c85358d9a47386d27113b393f2a306 GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD6!Mi z#WBR9_v}SOzC#KkY!Ch?@*hz2*wL_T^RmKY(qD?sy=CmM{>b8M^@ZcjEj#w+jZ?jX z#s7=`>t|=^%utQgK3V))iIu^j*6vFx8)C?&R@B; zD%RPLgk$v8*VNuzlWF^wPt-blg7{Y*A!}KNO)r<_IPduG@6PckF`-NJ^CGv)RaLs@ z?tYAxWN`Z>^knZJMi!MA^)u=$iM!V`B!u)a1#6^4@l-O%w8h^r%CHXsdV;~z)z4*} HQ$iB}5PEGY literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/ares.png.import b/tools/configurator/assets/icons/pixelitos/16/ares.png.import new file mode 100644 index 00000000..570a0b01 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/ares.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpvdyvuk5yhfo" +path="res://.godot/imported/ares.png-3d6b991c978717c3b4cfbd6da2613bd6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/ares.png" +dest_files=["res://.godot/imported/ares.png-3d6b991c978717c3b4cfbd6da2613bd6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/ark.png b/tools/configurator/assets/icons/pixelitos/16/ark.png new file mode 100644 index 0000000000000000000000000000000000000000..f94f6e1e3d571838455973240ec11f94db299eb9 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`n>}3|Lo80OoxGQ~*+9VUzT&kL z9Gb=~%mFQvlr(&2G<0z~iF2I_FlgAVmdKI;Vst0IjuR0RR91 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/ark.png.import b/tools/configurator/assets/icons/pixelitos/16/ark.png.import new file mode 100644 index 00000000..e14186f9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/ark.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm0vcd00yrlec" +path="res://.godot/imported/ark.png-5ca1741b0780302b74fda901eb23e213.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/ark.png" +dest_files=["res://.godot/imported/ark.png-5ca1741b0780302b74fda901eb23e213.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/arronax.png b/tools/configurator/assets/icons/pixelitos/16/arronax.png new file mode 100644 index 0000000000000000000000000000000000000000..948e900ed49d1c3a1c1d21d7c58f1da6a4fad511 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`bN0#DAIz2YEp zWR2DN9-V|Vse?KWOe&0j-w8dDD>I{p>VNerH@elF{r5}E+mG)6}N literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/arronax.png.import b/tools/configurator/assets/icons/pixelitos/16/arronax.png.import new file mode 100644 index 00000000..50201c0f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/arronax.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5dkf0j28a1b3" +path="res://.godot/imported/arronax.png-240edb739428e77b63e80d35b977d0ab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/arronax.png" +dest_files=["res://.godot/imported/arronax.png-240edb739428e77b63e80d35b977d0ab.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/assaultcube.png b/tools/configurator/assets/icons/pixelitos/16/assaultcube.png new file mode 100644 index 0000000000000000000000000000000000000000..5d13aea80fd5bb7d619d9c3edeb3089236dd2d62 GIT binary patch literal 318 zcmV-E0m1%>P)|y-QcqQ>#@UPHR{6+d_M=PcIR02^kt~COVT3^d;3+~B5?-&;#2O=N zd5{uXiK==E%ngvI2t%DX48x_$Fbp7h0SP5dRR#GbA|fDp-0pWKYmDehnj&%>w_CRt z>;Pa{7Tj((m>Ebm4*-}Ma?YQgq?G6~&ofKgW#4zEl(=o%@s?8hG>jzrzK5#9%#KF6 z?$w;d(XhHf9ym=CRQ2R50YZ&d>h)Xg>+lZ=0I-Ajk~U6B)paw&8Y99QBffo-?h48~ zu=&e*GzTDwJdUUN4z2CU#n-ruRU!aLYbF1(mJd>X0H(y;1)`x> QApigX07*qoM6N<$f|JOFJ9^>>%h)u01=i0Vu&6^E*e*FG!-KLZ?D^V}m zG5o-pGo7KvnTJ!jm_UL5+zy`r&0|6qb}x@*#A10aa8Dw*6kv$65vrHyl0geT6MYVB2(*m%@- ylZqk3GWL0V9UEouifXV;NU}CcSYl$$%y4a2_|6H_v~7XDVeoYIb6Mw<&;$U!5nwm~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/atril.png.import b/tools/configurator/assets/icons/pixelitos/16/atril.png.import new file mode 100644 index 00000000..5c9b5b8a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/atril.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4hihvbg07mp2" +path="res://.godot/imported/atril.png-dc035a595aadd877eff547971b8cfd47.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/atril.png" +dest_files=["res://.godot/imported/atril.png-dc035a595aadd877eff547971b8cfd47.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/audacity.png b/tools/configurator/assets/icons/pixelitos/16/audacity.png new file mode 100644 index 0000000000000000000000000000000000000000..74b109b1d3c0958203984e29c1746c42925b0aa2 GIT binary patch literal 255 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!3HF=pW8M9sbiiljv*T7lT#d+dw7=rGk(DM zU-FDZp_h@-oL~Ki8QhpY9l66Lwu#x-KilrLNoeW1Cq7xUcm$dSKQ0Do( z^S{B*1wUf16)GFg-1%&EV0co^=A#Wt0tPeO#HSbZq{QCo?p9S-W@>9K~O}e*OFWfddBu rLPCyo_|`l;)Y^Q8n>qi$0cM7aL8{#mYh5P*ZD8bP0l+XkKk25qS literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/audio-mp3.png.import b/tools/configurator/assets/icons/pixelitos/16/audio-mp3.png.import new file mode 100644 index 00000000..08e0e6ed --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/audio-mp3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c614erv18bffc" +path="res://.godot/imported/audio-mp3.png-a189f8de1c969c0f242d2924003c1033.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/audio-mp3.png" +dest_files=["res://.godot/imported/audio-mp3.png-a189f8de1c969c0f242d2924003c1033.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/avatar-default.png b/tools/configurator/assets/icons/pixelitos/16/avatar-default.png new file mode 100644 index 0000000000000000000000000000000000000000..ef122e2d6c59c7957fc3e54c8dd6aa132c598cab GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~TQw}iw3ZL@#xLTaV z#iJd1$2@x6YS;`Xt&+Se;1)BB`;c|u58<$B$)+uxjZOz#R$ab$xF<<`!-Gi&o~1A1 zJ;9lqo{*TNbSgkCXJNmu@wOQUvlvcpY|yQoG--xL8Dr@rqfjH^oi`;Jj_B%@scaPf Q2DF*M)78&qol`;+0A%ewi2wiq literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/avatar-default.png.import b/tools/configurator/assets/icons/pixelitos/16/avatar-default.png.import new file mode 100644 index 00000000..fc8ca21c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/avatar-default.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qb2fx1kus7te" +path="res://.godot/imported/avatar-default.png-b976865723d050265640bc0685ce4170.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/avatar-default.png" +dest_files=["res://.godot/imported/avatar-default.png-b976865723d050265640bc0685ce4170.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/balena-etcher-electron.png b/tools/configurator/assets/icons/pixelitos/16/balena-etcher-electron.png new file mode 100644 index 0000000000000000000000000000000000000000..66ab2bdde274489947b8ce79f7c872de9bcc0f5a GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-duscD`rjv*T7_f9@2ctAkFb!}mJ zK$BWb=~9;1omoztd|DGO&+5&Qm^|~(l4-3!vxgSurU_8!$IH~-y#*dD-B`iLhm~V!ce$vtB6bzbvyw9u#=t2fhS3j3^ HP6R5*>D)4xia0ThPu-}f!SPc+fsawcoh;@Y8;9h}6D9UUAT z>J4}SE*A6-ETxmsLidgxT)GrjJ3AZ%QT#_VQ@SJ&OGp!+?F{e3d*GZxmx$;XgUl?T zcuu%qQue~jnf5Zr5=2C&h=|U9H<*~j$B2<7CA>rv$M}WsV>Bt@08`k;Yy80Rh>{Xc z8x4nO;RVicj&CDKO1P^kKO=m_0#2&RCtPDaQ`K${7xefY;a!ByR?8IvE2v*yn!dmP zzo3Ka@zGJOW(^xNGhX3#cGknhgwF$3Dux}=R;E?#;teivQmeUYHU~HOmoE|i%+G^c zyvJO-Z86i^ZkwTk9(PssWbO|QU7?@G&5i4N-G@v|*y&#D$bvy+W>NHp=f3k_st;f8 T;lDUP00000NkvXXu0mjfkMOWW literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/bigpemu.png.import b/tools/configurator/assets/icons/pixelitos/16/bigpemu.png.import new file mode 100644 index 00000000..1e9d0feb --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/bigpemu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4vunmfvf5ca7" +path="res://.godot/imported/bigpemu.png-3b3e1d5d04b67882a6ad7c7ec5b0577a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/bigpemu.png" +dest_files=["res://.godot/imported/bigpemu.png-3b3e1d5d04b67882a6ad7c7ec5b0577a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/blender.png b/tools/configurator/assets/icons/pixelitos/16/blender.png new file mode 100644 index 0000000000000000000000000000000000000000..baffd5a927a3bf18e3762a40486ad29df0b421eb GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1sTrOwjv*T7=LQ|*Z86~4{QF^} z1d~~!s9J;PDTVFK^3NJ%CrqdajPqbs&E2tQ(Xuk7+bu!q@$I|IAA7x>Z^aNWr?&P8 zzmOoK!kJjny31_Ndp&>Heb??hEHA2`lEuOB<#e)K+p|JW(*-PIo;nY%z0dfo_j=-I zYc?+xJ@ILo8b|M`EOKQ|%iXkV!X_h8wJ7GrsuSab)H`b#-!1Xowt+$RAkd8rp00i_ I>zopr02N0|3;+NC literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/blender.png.import b/tools/configurator/assets/icons/pixelitos/16/blender.png.import new file mode 100644 index 00000000..0a038b83 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/blender.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqetmsqg2g2o4" +path="res://.godot/imported/blender.png-6d4fec3aed0fd069f451e7c8015ceb3a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/blender.png" +dest_files=["res://.godot/imported/blender.png-6d4fec3aed0fd069f451e7c8015ceb3a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/bulky.png b/tools/configurator/assets/icons/pixelitos/16/bulky.png new file mode 100644 index 0000000000000000000000000000000000000000..346cbdfa8d6d75189d36566d8754e0070cd2196f GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Rh}-6Ar_~TQyQ8YZtVHbqtd|J zt!`*!00fg3OWqW4D>6OIz^%yoTHM#=A^WkXi$BcdkZf4P7;9|v;RGw=#>)SZA7=GE z<4rL&Fcho#r!iz{u*AA5)u*}ULH4?CcZFm*fups`~mZnbTzNd a#teV>a{Q7fMb`mc!QkoY=d#Wzp$PydzdMBh literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/bulky.png.import b/tools/configurator/assets/icons/pixelitos/16/bulky.png.import new file mode 100644 index 00000000..45cc9ced --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/bulky.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c78dxb808u52n" +path="res://.godot/imported/bulky.png-7177547fd858620bc3948a465a39d526.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/bulky.png" +dest_files=["res://.godot/imported/bulky.png-7177547fd858620bc3948a465a39d526.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/chrome-beta.png b/tools/configurator/assets/icons/pixelitos/16/chrome-beta.png new file mode 100644 index 0000000000000000000000000000000000000000..5cad7251e4830b90f2871fee825306cc1ed49d92 GIT binary patch literal 260 zcmV+f0sH=mP) zJraUI4256R(!vYa-~refdl?%#DQvxntsS@U1{B!YVULqNfHYizey#Xf42z88E0g_R zUa|y1ufxtr_08=;{Th7(x{PQl+&7s4!0LLM1OtG1?hODe>caN8MxK<-124@ipooID zcbT_0=ugj+5?-1ij4R9FeqN%80t;?d=t_bCAdIVzRHDID{cJ$K@0-6QU}iA$xPjK1 zhMGz#r-{~@oHt-*D5b_%7)s$vP%{?TJ!lO|3AzKt$wNOQC4B>RI8D!h+7@j90000< KMNUMnLSTZ>ZEK>>gO8Swn$P0=r;yW LS3j3^P6B7owNe3D# p8(D91FKKx5CP%BX@zN9y2ANg9u9`LLX9A69@O1TaS?83{1OSVfGX?+v literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cinnamon-virtual-keyboard.png.import b/tools/configurator/assets/icons/pixelitos/16/cinnamon-virtual-keyboard.png.import new file mode 100644 index 00000000..b732545e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cinnamon-virtual-keyboard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0y0jvvhy4gvv" +path="res://.godot/imported/cinnamon-virtual-keyboard.png-5464848e485ae035a16b3856ef20ff6e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cinnamon-virtual-keyboard.png" +dest_files=["res://.godot/imported/cinnamon-virtual-keyboard.png-5464848e485ae035a16b3856ef20ff6e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/clementine.png b/tools/configurator/assets/icons/pixelitos/16/clementine.png new file mode 100644 index 0000000000000000000000000000000000000000..a97ea890f21641b25ddf53feccb766e3cc3a8fbb GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Q$1ZALo80uy?j%&SwVpH!f_FS zE{@h4Et;-b9ZPSth%It$VT-Ga=|~q)f8Tw$Xy#$2H9t%IC#f8tX5g~zXytO&iEBSr zoImizNV(|V-KfqhYF7ky20s&3D(7F_((&|^$q|-}4oM4T>j_B=vktaQSn{K;@V^qn zgHQVds-|YmV$^J74w%@zM50dn!i1=r{T9o4uT1!JXJ4$ff63nHmtsH%GI+ZBxvXd0<}yWiGMeZ?cQ#-}3oV2i)8Vcfx2t<#e(@~9R2c5u0f<;+TCNIRj$rZd0<}yWiGMeZ?cQ#-}3oV2i)8Vcfx2t<#e(@~9R2c5u0f<;+TCNIRj$rZ^(B6Q$13}vgh09z3XW~d_K$PG=FM3(-u{p|ob zr@b=u6H`C257`{Cf9@>cAvRYG0PoLyQ$MjqH!!+^*NWrwt3ZSN5zm0jc`G0uq=~ze zi9=?wg2zo2hZB%3w3VcnbuzO)#yD$POHdNvdyXMX1`7{D!+g1#=y}-C@#SO%nppD$ z0QPs6*aO9=8RAkNm{qGBv_nLRDJ-sYr6wAi!esnL2^pKh0KgZCu~8tz>Wd8k0000< KMNUMnLSTZd&uJ(C literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/code-oss.png.import b/tools/configurator/assets/icons/pixelitos/16/code-oss.png.import new file mode 100644 index 00000000..cd30a1a5 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/code-oss.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8c8888cu0crm" +path="res://.godot/imported/code-oss.png-f37359e120517e19f20f2f973c2f60d2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/code-oss.png" +dest_files=["res://.godot/imported/code-oss.png-f37359e120517e19f20f2f973c2f60d2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/compton.png b/tools/configurator/assets/icons/pixelitos/16/compton.png new file mode 100644 index 0000000000000000000000000000000000000000..6299d8e1666e5373d9984ced026bd9ed21759729 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr`0CPTt7ZV8G$R|0qoS z?vwxf*XET?j9jj^Y}%r$w{Lx5vgB)8DDb$jb~VSiK zb=kL@#d0bQS|zp%=~+wGo#9bf$+7*INdnshqZ`RjK6>-**!El9Ev@a|p?6aAB`Ug$ r@})vsiq4AD5B+@qKG>%0SFLSjNf z!j9sfI+3$NOL`?|NNBJuX5-Of_Iq>ZKta-THXbuY%dXf160vu_%%3#n1XJ<^ZiYW9 WGRI%2Of&_W#^CAd=d#Wzp$Pym^(QC* literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-applets.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-applets.png.import new file mode 100644 index 00000000..22c94946 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-applets.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbxhu1gloni8f" +path="res://.godot/imported/cs-applets.png-5f4c9374553176a6793a7adad07fdc7b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-applets.png" +dest_files=["res://.godot/imported/cs-applets.png-5f4c9374553176a6793a7adad07fdc7b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-backgrounds.png b/tools/configurator/assets/icons/pixelitos/16/cs-backgrounds.png new file mode 100644 index 0000000000000000000000000000000000000000..64aaa26d98deb6b1695509bb1c91e39218fab278 GIT binary patch literal 269 zcmV+o0rLKdP)BWhMV*r+B3P9zK0Hm^>ddZvkq74j&qPhaGm&BofGTD=bN_d>=Xs+WQh;6Gs z;#Y|E>-`s^3_d~5Um(`M=@7(qm?(n~#3++82(kX#wjmQ`;@%+2Anh>G5M7Q9by*k0 zf1PJ5Z}US#mB}3d2O?qsatZ*-`u0rBfyH{RTX`wtO2%3eX95~UgSXFQ`hMp-FimaM TNpF(P00000NkvXXu0mjfJ1lMR literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-backgrounds.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-backgrounds.png.import new file mode 100644 index 00000000..b325e5d9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-backgrounds.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wxkavajnu478" +path="res://.godot/imported/cs-backgrounds.png-24520abb08b4a161acb0a39c18a5f0b2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-backgrounds.png" +dest_files=["res://.godot/imported/cs-backgrounds.png-24520abb08b4a161acb0a39c18a5f0b2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-admin.png b/tools/configurator/assets/icons/pixelitos/16/cs-cat-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..4e39d67bb9d9b204631dc5d3fc7c5cb0f1f9ff9a GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Wu7jMAr_~PPWI+Hpuppz9$MwG z`)fqg>TeT{F1))!W6Oi(7a~)Q^@S&KEGk>7SCXO3%8+s-#wq2>oGl4K_ZfXS3>43( zzi3T4u<)zE5-$U$mDfDpI|?yuh`P;kLf8NKf~2`;@-vRWSMpJb83dG<>Lnxsr7SY$@QDBT@{nQ9*~cH4&iz}|k+6OL-$Mt0 zpkPhB&?D9&lf^BJmb2pPESn7)V$N#lDYzSVF)qpCvpC)k5|D^f2n7q2{g}{#B=96- dnO7PUL$!a!=i^evwLq6Kc)I$ztaD0e0sxu0OE&-j literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-appearance.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-cat-appearance.png.import new file mode 100644 index 00000000..780f334b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-cat-appearance.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://comvwewjsgafy" +path="res://.godot/imported/cs-cat-appearance.png-3d743c0460d097951f2e56b1b3ca704e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-cat-appearance.png" +dest_files=["res://.godot/imported/cs-cat-appearance.png-3d743c0460d097951f2e56b1b3ca704e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-hardware.png b/tools/configurator/assets/icons/pixelitos/16/cs-cat-hardware.png new file mode 100644 index 0000000000000000000000000000000000000000..2a577eb2850c1a79aa7ebf355cb4945d0c418aa2 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!3HGD9`RZNsbEhR#}JM4$tej52_L?H|9{?r z?Z%EmWo6}^vmPF}fB*mg$?E?94rj#V#3cFfh%j~SWhg&*Wo5ABGQYW8>B7owNe3D# p8(D91FKKx5CP%BX@zN9y2ANg9u9`LLX9A69@O1TaS?83{1OSVfGX?+v literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-hardware.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-cat-hardware.png.import new file mode 100644 index 00000000..8799c32f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-cat-hardware.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b5vdvodg28i3y" +path="res://.godot/imported/cs-cat-hardware.png-09d1808df11be1533e435b6834177ded.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-cat-hardware.png" +dest_files=["res://.godot/imported/cs-cat-hardware.png-09d1808df11be1533e435b6834177ded.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-prefs.png b/tools/configurator/assets/icons/pixelitos/16/cs-cat-prefs.png new file mode 100644 index 0000000000000000000000000000000000000000..f007d74a45da5edd2dea8407bc6893dca568278e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar`0C23ztSP~a&J*q&Fz z^6!7w4^^MJFE4p%umpIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-prefs.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-cat-prefs.png.import new file mode 100644 index 00000000..d83568c6 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-cat-prefs.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bapaqa1011qnr" +path="res://.godot/imported/cs-cat-prefs.png-4990e99fff6bd2940790c675d6bb83a0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-cat-prefs.png" +dest_files=["res://.godot/imported/cs-cat-prefs.png-4990e99fff6bd2940790c675d6bb83a0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-tweaks.png b/tools/configurator/assets/icons/pixelitos/16/cs-cat-tweaks.png new file mode 100644 index 0000000000000000000000000000000000000000..f007d74a45da5edd2dea8407bc6893dca568278e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar`0C23ztSP~a&J*q&Fz z^6!7w4^^MJFE4p%umpIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-cat-tweaks.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-cat-tweaks.png.import new file mode 100644 index 00000000..76112210 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-cat-tweaks.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cacfgm8mma57o" +path="res://.godot/imported/cs-cat-tweaks.png-063c1c9db1689d6843ce265489bb0557.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-cat-tweaks.png" +dest_files=["res://.godot/imported/cs-cat-tweaks.png-063c1c9db1689d6843ce265489bb0557.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-color.png b/tools/configurator/assets/icons/pixelitos/16/cs-color.png new file mode 100644 index 0000000000000000000000000000000000000000..d6de244566221c9649d79bc683f1e4832bb8e9c7 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-dusTZCujv*T7lT!{bimBHA;7>k& zRyg6vvbKp6+-leku>LbPFfcMQ_;Y-jAe)&)ZBhadL`+vc&T;*Zh6cyFhYbg8)<|7A zxJ$;;O)aH&Ny7ro{(r^~gBwnVNgTNF=7VBq#_h-roK`g+O}}I39A|O<_jI~3&uc52 z7Rmd*n|}R&+Q3q_SXkcx1h(w|+oWh}`%hK)@ovws|B@0C5*K(M6jmHO00bXgKeGBU zM_dq{%=Dqn>`WLN8(W)KqTC}>b;@5Jmqin3f8Kjv7I+cc8;^9h3{C4GmO205t3=qJTt8#|bP;TW|n6h^SHq5^suV z(C*4C=67EC{r^WZ1WRVsYpWtYAfUHm)25f*Cx4R#H&hXSJ3l|q003$^bxppu4SLNl zR|6kruuN>mCUx`Pe^SNpcn_3P0syquP|GP)b8rT75=#8TAu;SXH0y3h+^cQFT5ETl zOR^WJC?DoP5lT-!{LnhdLaG3?X6!i$fIdE}Hi*hvqW*r|4FD%r}9ZRF1kpa$TV-~Iru WiFdl17-ZG}0000#JiErsQ-!=-aS*Df`qX zJ_|J3T`$buJ;@=k?61S=Jsdx$I*HFb`Pjns=R}se&H~Y=^|ODJ%2$bJvTw4xc&&M6 b#@)N8HJt^QGnZckx`Dyd)z4*}Q$iB}A45Xn literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-default-applications.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-default-applications.png.import new file mode 100644 index 00000000..3b925d7e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-default-applications.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6clxu254xvyg" +path="res://.godot/imported/cs-default-applications.png-b03412950c6411c61301ece5e22a8f8b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-default-applications.png" +dest_files=["res://.godot/imported/cs-default-applications.png-b03412950c6411c61301ece5e22a8f8b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-desklets.png b/tools/configurator/assets/icons/pixelitos/16/cs-desklets.png new file mode 100644 index 0000000000000000000000000000000000000000..96629dea8ca3cdc2589978a857cbe832d083fbc4 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^d_XL~!3HGNrubO_sa8)H#}JM4$teezw&mUZB|r21 z+qY*s*0mJ|<>~$YEWW+|085Tg(Z-oa3sMfISVRXoO>O3!zRWmV+-OeZ?heM;cR*?k z4qD`{-nRHgf{@I4AZ}M`ThrFr=yRay%*Rikl>8rW%f0F l7aCo8Y_B=%R`~k_7KZK3CbAX6$3d=R@O1TaS?83{1OVfeOl|-G literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-desklets.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-desklets.png.import new file mode 100644 index 00000000..02558b9d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-desklets.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://yyrypylbbsaa" +path="res://.godot/imported/cs-desklets.png-32a0ae43a99c8cbcc47e8dc9dc885894.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-desklets.png" +dest_files=["res://.godot/imported/cs-desklets.png-32a0ae43a99c8cbcc47e8dc9dc885894.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-desktop-effects.png b/tools/configurator/assets/icons/pixelitos/16/cs-desktop-effects.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc09aa2ff6586f1c3ff798c4bc844d14789be71 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLo813opg}5*?`B@zC(0X zO1F$H(<>&+%Z3q$xl4GSoe=AjXqxAwePGh!kUy8FFM9vu<~t`2X{jsB2Tb~BJp1^? z!$o1y zm$LVJ*E?T0v_IpO*t$dRCR-c66?4wAx-eraADj1u5|7kX+vk5`*9b9lILDpr4s<4i Mr>mdKI;Vst07Dd2F8}}l literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-desktop-effects.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-desktop-effects.png.import new file mode 100644 index 00000000..fb17036d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-desktop-effects.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhok6egt86cl1" +path="res://.godot/imported/cs-desktop-effects.png-ef385e28915ee0afe168b930cea60277.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-desktop-effects.png" +dest_files=["res://.godot/imported/cs-desktop-effects.png-ef385e28915ee0afe168b930cea60277.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-desktop.png b/tools/configurator/assets/icons/pixelitos/16/cs-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..7c519310a9572715e96ad2247d93df475788b1e2 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D w#cToEQj!u95@K84t9T|mEwwIPf|{${VFNN;*v3tohwo^PgLpo$|^;Z`;}JX&J_XvuAZ& l{@jD%Su2 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-extensions.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-extensions.png.import new file mode 100644 index 00000000..061fe4d5 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-extensions.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bla1gi614wmcd" +path="res://.godot/imported/cs-extensions.png-f61ea0e53bc567e432501e2e52dd7fb4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-extensions.png" +dest_files=["res://.godot/imported/cs-extensions.png-f61ea0e53bc567e432501e2e52dd7fb4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-fonts.png b/tools/configurator/assets/icons/pixelitos/16/cs-fonts.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed035331b89255bfed0f3d64044fe3435b1c211 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr_~%PQJ+7pdjE}-J-bb zf5}~^{RV=J+!^~l9#pMoXJPQL+MqB=(9iH>w(iSq)6=@5y|{1ebF_>}&KJDFR{CA; zs6C6{w?#IyKHV0r6H?r*zs~)NO2H<3o;iE2@uclyc6d|wT=;IR%EpziIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-general.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-general.png.import new file mode 100644 index 00000000..9fbe109b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-general.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4oxfl5lny1qh" +path="res://.godot/imported/cs-general.png-8300c75cbe4d0bf640f0f7624b05a200.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-general.png" +dest_files=["res://.godot/imported/cs-general.png-8300c75cbe4d0bf640f0f7624b05a200.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-keyboard.png b/tools/configurator/assets/icons/pixelitos/16/cs-keyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..2a577eb2850c1a79aa7ebf355cb4945d0c418aa2 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!3HGD9`RZNsbEhR#}JM4$tej52_L?H|9{?r z?Z%EmWo6}^vmPF}fB*mg$?E?94rj#V#3cFfh%j~SWhg&*Wo5ABGQYW8>B7owNe3D# p8(D91FKKx5CP%BX@zN9y2ANg9u9`LLX9A69@O1TaS?83{1OSVfGX?+v literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-keyboard.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-keyboard.png.import new file mode 100644 index 00000000..9994af42 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-keyboard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxp0hekahgcni" +path="res://.godot/imported/cs-keyboard.png-c9c1cc68a3be91e0096425fe73957282.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-keyboard.png" +dest_files=["res://.godot/imported/cs-keyboard.png-c9c1cc68a3be91e0096425fe73957282.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-mouse.png b/tools/configurator/assets/icons/pixelitos/16/cs-mouse.png new file mode 100644 index 0000000000000000000000000000000000000000..f22eaccaaac2140095a22234f933d03e11c4eac1 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^AT~b-8<4#FKaLMbWq7(chG?9>+P{(afC3N8c@3e^ zBVHv_cn)UiJec%yj+#iJNUM_Xx+?GQm!d6BTHZcmcuZ0f#=9-Xd$uMhrP;B}$(}S|L(;l!##NX(M3cfz|`=@&>N{?bn&N587`{uHYrmyf* fmYBvHX$`DTo||vzS!t#SbOwW`tDnm{r-UW|^S(v~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-network.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-network.png.import new file mode 100644 index 00000000..de6d4e0f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-network.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqmenjsyjudxk" +path="res://.godot/imported/cs-network.png-bb4f562efbd26272c3505ad56cd3aa78.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-network.png" +dest_files=["res://.godot/imported/cs-network.png-bb4f562efbd26272c3505ad56cd3aa78.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-notifications.png b/tools/configurator/assets/icons/pixelitos/16/cs-notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..15912542ed6da8a00e82857580ec0d7209540991 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr_~TQyiG~t={*~{aHTW zK4IuuJkg3x#-<{mA%FVdQ&MBb@0C5UBJ^%m! literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-online-accounts.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-online-accounts.png.import new file mode 100644 index 00000000..c0ea164e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-online-accounts.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bht5o2hovb281" +path="res://.godot/imported/cs-online-accounts.png-8cb90b644d0bb01e55439015bdcacda9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-online-accounts.png" +dest_files=["res://.godot/imported/cs-online-accounts.png-8cb90b644d0bb01e55439015bdcacda9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-overview.png b/tools/configurator/assets/icons/pixelitos/16/cs-overview.png new file mode 100644 index 0000000000000000000000000000000000000000..23dbeb397a91ece46c8852efb070e4c30d038842 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar_~TuUxU_Ex@&L>H|jA_4kS3e5g zyz@cMeW|!NdIy$DPL~nhIID1FBm1M%)Ac<+?cTA&qLgW36`Ml4fnvj&X`Itp3}b0T37laIoEDaARk0|1YxpK+1JNw#l*XY{$5Dcz_`NPL780gTKGOr(}wWh_py3 zXlR_+kaALJlF9KSM-*ZhnE(Cz=aPAEN1^g6@eQ5=bNMEGX0j7sAkBB0yJt$8+N8q_ ecU47pGcbtBs^9ES+-c?V453cIT#q zUA=sRslA~rDgT#%fwsER*Qg}@Ra4uZR5i&n{8_Oili}q1u!3u;Js1Bhv`qhggOQ;{ cV43in?g;tTjX}oOfsSDCboFyt=akR{04DB4!vFvP literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-screensaver.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-screensaver.png.import new file mode 100644 index 00000000..5cc8a162 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-screensaver.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dmpr5j4un1a23" +path="res://.godot/imported/cs-screensaver.png-37de338acf5f97a1a6d334ee90945065.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-screensaver.png" +dest_files=["res://.godot/imported/cs-screensaver.png-37de338acf5f97a1a6d334ee90945065.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-sound.png b/tools/configurator/assets/icons/pixelitos/16/cs-sound.png new file mode 100644 index 0000000000000000000000000000000000000000..13750d5e9fec8431e3c015a721de81e844e0241d GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%N3OrpLLp07OU%7t$|9JG?qir=`|yi&)=U2mbJBF-Z_kS6ae2+h*~;egEo9cu$-= zsCL}t#NQV+o0{iX&ARZnLAT+-L~o5R6aF4=Ie&NuQ%h%nN20L0_FG1VJL@&>IJ)yU Q1MOz;boFyt=akR{0P$r$T>t<8 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-sound.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-sound.png.import new file mode 100644 index 00000000..f3050c4a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-sound.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3b1jh5rfyvvu" +path="res://.godot/imported/cs-sound.png-528cbae3ff7849345395c2b0d5723b75.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-sound.png" +dest_files=["res://.godot/imported/cs-sound.png-528cbae3ff7849345395c2b0d5723b75.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-startup-programs.png b/tools/configurator/assets/icons/pixelitos/16/cs-startup-programs.png new file mode 100644 index 0000000000000000000000000000000000000000..65460949d8661e1b3e65a20f0609272e331e9b4b GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bA!3HD`>}{ zI{X)2S$Dk0LNwV}Fp|0Jk-Go91dVAECpNB5JhUtz?VA1?HiN_&ETJ817?(d%&&<&< zi95POalxH8~_0iQSkt#2nisF+gIZ`Ev>My@KTI|p58ei_KVf$*~6&wo^k8myVhyq&1;OXk;vd$@?2>>4ZGa~>1 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-tablet.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-tablet.png.import new file mode 100644 index 00000000..4c56b80e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-tablet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tm4py8urlf7p" +path="res://.godot/imported/cs-tablet.png-6b4d9d79c8d29eed9f262a37ed601057.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-tablet.png" +dest_files=["res://.godot/imported/cs-tablet.png-6b4d9d79c8d29eed9f262a37ed601057.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-themes.png b/tools/configurator/assets/icons/pixelitos/16/cs-themes.png new file mode 100644 index 0000000000000000000000000000000000000000..31f776b42c6e5407b5950946fe5364d166da993c GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr_~TuUxvRWSMpJb83dG<>Lnxsr7SY$@QDBT@{nQ9*~cH4&iz}|k+6OL-$Mt0 zpkPhB&?D9&lf^BJmb2pPESn7)V$N#lDYzSVF)qpCvpC)k5|D^f2n7q2{g}{#B=96- dnO7PUL$!a!=i^evwLq6Kc)I$ztaD0e0sxu0OE&-j literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-themes.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-themes.png.import new file mode 100644 index 00000000..4fde8d0a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-themes.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cegfc6hhvqts5" +path="res://.godot/imported/cs-themes.png-2ecf9ea40fd21152606c434f0d488c1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-themes.png" +dest_files=["res://.godot/imported/cs-themes.png-2ecf9ea40fd21152606c434f0d488c1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-tiling.png b/tools/configurator/assets/icons/pixelitos/16/cs-tiling.png new file mode 100644 index 0000000000000000000000000000000000000000..99190b36011b04cd1344b859c485575538098d64 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`NuDl_Ar`0KPCCfhV8G)V?-kA= zx%hbB1F3ZnrShg3TD8twx|YL|mQE=$ICz)!!8uQc*V`Btthy3)^R9K_ zGmkBfY#D1y`HgqqF;*8;k(uCL>TXkb&+(sPZK8*|K!}O!FRS1uK-(BRUHx3vIVCg! E08$D!?*IS* literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-tiling.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-tiling.png.import new file mode 100644 index 00000000..fad8a2e9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-tiling.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cot1lfrqa78qx" +path="res://.godot/imported/cs-tiling.png-8c5866d3c6e61ad5590add12698cfbc9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-tiling.png" +dest_files=["res://.godot/imported/cs-tiling.png-8c5866d3c6e61ad5590add12698cfbc9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-universal-access.png b/tools/configurator/assets/icons/pixelitos/16/cs-universal-access.png new file mode 100644 index 0000000000000000000000000000000000000000..71112dbc67acbe0d3f25c7930b32c2cef1805236 GIT binary patch literal 271 zcmV+q0r38bP)mlfXr9&M!M(gY z++iqSI=%o)uPA{S#L1n7@{VPLWgYcc|2$EHd-tK=cI)@gKqWrAQvkqZ=_^eL0II~r zIisKSUI0L*;|u)Bc)mAC^6GFDqHt7jeYWiv{0268<)r%;tS@a#z5eF4Y* VQA60bf35%k002ovPDHLkV1nwca*+T4 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-universal-access.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-universal-access.png.import new file mode 100644 index 00000000..d4b19dd1 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-universal-access.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cicts6tjfyvfb" +path="res://.godot/imported/cs-universal-access.png-5c3906658657307ad0964f073acdb43a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-universal-access.png" +dest_files=["res://.godot/imported/cs-universal-access.png-5c3906658657307ad0964f073acdb43a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-user.png b/tools/configurator/assets/icons/pixelitos/16/cs-user.png new file mode 100644 index 0000000000000000000000000000000000000000..ef122e2d6c59c7957fc3e54c8dd6aa132c598cab GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~TQw}iw3ZL@#xLTaV z#iJd1$2@x6YS;`Xt&+Se;1)BB`;c|u58<$B$)+uxjZOz#R$ab$xF<<`!-Gi&o~1A1 zJ;9lqo{*TNbSgkCXJNmu@wOQUvlvcpY|yQoG--xL8Dr@rqfjH^oi`;Jj_B%@scaPf Q2DF*M)78&qol`;+0A%ewi2wiq literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-user.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-user.png.import new file mode 100644 index 00000000..837371c7 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-user.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cuqxwr2at6wsq" +path="res://.godot/imported/cs-user.png-8d141f8b1cd03beace4a4a180388a361.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-user.png" +dest_files=["res://.godot/imported/cs-user.png-8d141f8b1cd03beace4a4a180388a361.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-windows.png b/tools/configurator/assets/icons/pixelitos/16/cs-windows.png new file mode 100644 index 0000000000000000000000000000000000000000..004f34cd16670406ab0cd518d838a0a611c12103 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`L7py-Ar_~TuUxU_Dmx^OLHl)X}3yS3YhE lWNvF^)Oo?#{7#R7VUGa+p2rn&X+YB%JYD@<);T3K0RX_YFgE}I literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-windows.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-windows.png.import new file mode 100644 index 00000000..423210c2 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-windows.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b1nfw28nh4le3" +path="res://.godot/imported/cs-windows.png-fee03d3f2984e64d008e22758abd8000.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-windows.png" +dest_files=["res://.godot/imported/cs-windows.png-fee03d3f2984e64d008e22758abd8000.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-workspaces.png b/tools/configurator/assets/icons/pixelitos/16/cs-workspaces.png new file mode 100644 index 0000000000000000000000000000000000000000..a03ea0be4c4881dee87b58f70ba0295e18f9ebc4 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr`0KPB7$aP~c%$f8=8L zg@YFz>t4Q-=2@RG-TvVs>1!;HkM;V#zZ9~g!%$4C;(d0q69>}+otsL}V;G+J*6n(5 z?BhhahD6`VJ2&Vj*FSpSm^^!FXjo_=gRWqxXoGOmHxc7UGeVXCEo1O>^>bP0l+XkK D$L=~s literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/cs-workspaces.png.import b/tools/configurator/assets/icons/pixelitos/16/cs-workspaces.png.import new file mode 100644 index 00000000..105b5f09 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/cs-workspaces.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dfrgl20wtmkik" +path="res://.godot/imported/cs-workspaces.png-0e8fb0bee4ce4614cd63897237de2600.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/cs-workspaces.png" +dest_files=["res://.godot/imported/cs-workspaces.png-0e8fb0bee4ce4614cd63897237de2600.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/desktop-environment-xfce.png b/tools/configurator/assets/icons/pixelitos/16/desktop-environment-xfce.png new file mode 100644 index 0000000000000000000000000000000000000000..44b33e8019ee530ec4109cbe51b23b61358727c3 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0CPCm$cK!Jz3@XEzg z90nHw%9Lxz5h%~(}li?F-ctu90W|6{{ z_4e%_RvH@$uwD?K;`n+)O1gnm;xaLnyx_D0yF1VNxC>?&d$*j?JGlIz%C`NV`cHo; boST3Bxx?!J3wdS(-N4}K>gTe~DWM4f+s#5k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/desktop-environment-xfce.png.import b/tools/configurator/assets/icons/pixelitos/16/desktop-environment-xfce.png.import new file mode 100644 index 00000000..fdae22e7 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/desktop-environment-xfce.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clfekmume7u1n" +path="res://.godot/imported/desktop-environment-xfce.png-0399aecffd9af079bb6f184d85ed7366.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/desktop-environment-xfce.png" +dest_files=["res://.godot/imported/desktop-environment-xfce.png-0399aecffd9af079bb6f184d85ed7366.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/dialog-password.png b/tools/configurator/assets/icons/pixelitos/16/dialog-password.png new file mode 100644 index 0000000000000000000000000000000000000000..ec757ca1b296b27f487186624c855f82d70720ea GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr_~TQw}iwTm9`aq?nM4u>#vYlGn7Z_(2YLs!0hWWunW`$LA(8>W=AH)2{+ z7|X;Dm>kS7jcr+&p|{wAN8)6!)07sI4KEwCJZEan?7Z`ahe5yA^n0P9K_Adg22WQ% Jmvv4FO#tCDI=lb? literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/dialog-password.png.import b/tools/configurator/assets/icons/pixelitos/16/dialog-password.png.import new file mode 100644 index 00000000..b430e078 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/dialog-password.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://swykt5ar3ylx" +path="res://.godot/imported/dialog-password.png-d577e23ece8e1e1cd8943c7aa0d0073a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/dialog-password.png" +dest_files=["res://.godot/imported/dialog-password.png-d577e23ece8e1e1cd8943c7aa0d0073a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/discord.png b/tools/configurator/assets/icons/pixelitos/16/discord.png new file mode 100644 index 0000000000000000000000000000000000000000..2fbcf2daeb21bd7193134e0e821a08abe7b65f6f GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^6sD z#WBR9_v|D?zGed+*ZLj_N1nAinA}gX7HRQ0oWI7oQ(I9-Ws^_9VxG{wH-3KlUABm! zUi@0&hCb(&c_qOoCtSayt|z*5gPEb}1{1~CKO&irD=_5iO3g4c_szamxS%`rapuh3 zzDyg>&5Yr#+3a3!>6x8*dp3It!`@4F47>8B*Q8%FVA0002ZNklT6l7_3vwyg^WA5 z7{OIpTTEmwoBb8TbeG6Kol|)R4T*HzhD73d-Z~us0M(at1c3MVF@sLG0|21QbAF~Q zE*yYUWCvMXpy|ud6LhzC+}(o^0f3pyR@0Z>d6ZH_CRl>$t7gB(4`*>sp3lbY+yDRo M07*qoM6N<$f=anb;@5Jmqin3f8Kjv7I+cc8;^9h3{C4GmO205t3=qJTt8#|bP;TW|n6h^SHq5^suV z(C*4C=67EC{r^WZ1WRVsYpWtYAfUHm)25f*Cx4R#H&hXSJ3l|q003$^bxppu4SLNl zR|6kruuN>mCUx`Pe^SNpcn_3P0syquP|GP)b8rT75=#8TAu;SXH0y3h+^cQFT5ETl zOR^WJC?DoP5lT-!{LnhdLaG3?X6!i$fIdE}Hi*hvqW*r|4FD%r}9ZRF1kpa$TV-~Iru WiFdl17-ZG}0000JP)Llh11tK@`V7vyCZ{iV*9;B5q=!;LS^+U}*|gP(eje zgo=NFSV&EKvIoJ7McN>UAP6Fe0r4c2UW(L(XhAU%(Sspv5=vvMYa!{6n9Z)+L$c#W z7cb6bmN)a>_w#*k7XEVy=OdzqZ1=%JvEX^;jsqyo3qOSrWD?`N8@-56*fPo4dy>7L z1WH5=**-;SPfuOPT+U&9e1kT4z>~@=CL(Ic&LqY$mvi(?Jp~{Y?ZjNlGO!qASc?Hr zu9j^;JU;%Y#inp7z8yY8{Y#o7vrD`>xW>R@utmA!_HF>%zp+CAtliWb1>9JUvc6eE zy|RV1qF}B=-;*!^fjb>kM>b^9wz_|>;_hsprlW7xIKR3NYek{=ewfe2PfT~`0kAAf zqAwH+B3sJpEhBL^D0L|>mCx0$v8Sx^pmPMbAT-C=Ot$(b-qRJE0~*-V-Fcau4BjB~ z`Z5jEw6zq7sG*9lJ)i)T?haxM%>ZyJ8lV4M6$;<0 ze5=&h|KhB)mrEZdKBkeFjKYt3ObZU3*!peZ+111HvOjqefYPytGWN?dNK8hFk7>kj z8Tgte{(A3Su{loyNiw?=fYAwq=Pyk>r(g`tND8OpUe6k+i$5d(`t!WjHUb&kp7`Z3 Q>i_@%07*qoM6N<$f_!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDDl(N z#WBR9cWJOKUsC|jKZOYuj6K}ODi*IEsNV32@YvI!{gLBH@C<`p8>^XQRTI+S+W`JJ$= q=dj&}SMSapS|4`L$Y=HA8pbFVe@)Y)FSCFyV(@hJb6Mw<&;$VXqD%7t literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/drive-removable-media.png.import b/tools/configurator/assets/icons/pixelitos/16/drive-removable-media.png.import new file mode 100644 index 00000000..a6c2d5d0 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/drive-removable-media.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cal5bsvdurlel" +path="res://.godot/imported/drive-removable-media.png-a4b197481068753db220d4f2ec3b39c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/drive-removable-media.png" +dest_files=["res://.godot/imported/drive-removable-media.png-a4b197481068753db220d4f2ec3b39c7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/duck_tank.png b/tools/configurator/assets/icons/pixelitos/16/duck_tank.png new file mode 100644 index 0000000000000000000000000000000000000000..eee34998fc5b91a40c5d37329a92b8bcfa779355 GIT binary patch literal 393 zcmV;40e1e0P)LlQE0JKoEt$m4KafO6|@rU?T{Ube1WP!@_?NOMiyt zmFdnh-CA1QL0a(-SXdmw6<3W#%w~<7pg1rrGrRA-otG@U7|PL;2hN!2)WLEFliCp0 zNgD|Y$)3fi+w^Y<m-WN&;CemrTA6e2j(w ztdjuMv;1iBMDi>ZIU}NRua2}yHoJ-nFu?KnYx?0hz5{P}n?g`DvIu8pt|#+qn68X@bhSq}jXX;w9LMq= nFUtCKtxvAH{?ZyBO+%;)C;iQ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/duck_tank.png.import b/tools/configurator/assets/icons/pixelitos/16/duck_tank.png.import new file mode 100644 index 00000000..373e2a06 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/duck_tank.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://sum6qjymlg76" +path="res://.godot/imported/duck_tank.png-42c0e635589e44802aa3a79a1c280220.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/duck_tank.png" +dest_files=["res://.godot/imported/duck_tank.png-42c0e635589e44802aa3a79a1c280220.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/duckstation-nogui.png b/tools/configurator/assets/icons/pixelitos/16/duckstation-nogui.png new file mode 100644 index 0000000000000000000000000000000000000000..c87c191066d31eaeddddb8efd6ebbd35551d5ecb GIT binary patch literal 277 zcmV+w0qXvVP)0002oNklB^|{Dmxtl^}wr5EN|oOp720+E{o11re=85bq=GSQsbSxa$9^$;*40 zHyP2nQ#@o^3V>cQ&h9egRXfgQ<+9F@@(!S4-0%^vRMt|D{-u>C@<@Gi#3ML8qGpIu z0JC7|FM5P{EC2evCQli}hsnw4hE;1|^zJk9GR!TSC(&{r&Es-`PBZ!bH&grx1<-ZX zE_cCuV4!r>EQgDv-)Q8HZ08Ic+#Lw4im-hU-w`xiuUUE8S+!xre^ADwi7 b{t`X_uB%CNc+tQ300000NkvXXu0mjfN@00y literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/duckstation-nogui.png.import b/tools/configurator/assets/icons/pixelitos/16/duckstation-nogui.png.import new file mode 100644 index 00000000..05ebe109 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/duckstation-nogui.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1ft7nlax58wy" +path="res://.godot/imported/duckstation-nogui.png-4503a55f82125853bf53b363320a022e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/duckstation-nogui.png" +dest_files=["res://.godot/imported/duckstation-nogui.png-4503a55f82125853bf53b363320a022e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/duckstation.png b/tools/configurator/assets/icons/pixelitos/16/duckstation.png new file mode 100644 index 0000000000000000000000000000000000000000..c87c191066d31eaeddddb8efd6ebbd35551d5ecb GIT binary patch literal 277 zcmV+w0qXvVP)0002oNklB^|{Dmxtl^}wr5EN|oOp720+E{o11re=85bq=GSQsbSxa$9^$;*40 zHyP2nQ#@o^3V>cQ&h9egRXfgQ<+9F@@(!S4-0%^vRMt|D{-u>C@<@Gi#3ML8qGpIu z0JC7|FM5P{EC2evCQli}hsnw4hE;1|^zJk9GR!TSC(&{r&Es-`PBZ!bH&grx1<-ZX zE_cCuV4!r>EQgDv-)Q8HZ08Ic+#Lw4im-hU-w`xiuUUE8S+!xre^ADwi7 b{t`X_uB%CNc+tQ300000NkvXXu0mjfN@00y literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/duckstation.png.import b/tools/configurator/assets/icons/pixelitos/16/duckstation.png.import new file mode 100644 index 00000000..1997ad1a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/duckstation.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cglkkre7ti4m2" +path="res://.godot/imported/duckstation.png-08a97dc99ac8637772054763e9a00856.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/duckstation.png" +dest_files=["res://.godot/imported/duckstation.png-08a97dc99ac8637772054763e9a00856.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/emacs.png b/tools/configurator/assets/icons/pixelitos/16/emacs.png new file mode 100644 index 0000000000000000000000000000000000000000..c8f045ca3a2305174c1d732b77ffc42c09c7d5de GIT binary patch literal 268 zcmV+n0rUQeP)Ij zFe3n9olMkEq$){q>V*)DqA0DT?S9(Wui~r974@M`HVG#5T(%|Tc`?`va+z0Gv7Dbf z{a{xx3R3{UIti3I_><-Txzcn&pvkRP+2wT~{KY^6eB0&Nm_XSM}M=+b= zwiKraZE_ps^KqjnJmmn5x*8{5T$H52-{@*6(@eH~jZW@sD*9y-^@*f^$N2>Z;almZ SMc7{e0000qfl41v>g&2#)B-O$D z;{xzsxI2k%SXj^|vLdjJ3;@iRkzn@!k*l62afL#!P#j#R00000NkvXXu0mjf^fh7P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/email.png.import b/tools/configurator/assets/icons/pixelitos/16/email.png.import new file mode 100644 index 00000000..e01a5406 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/email.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dic0ajmwd23bl" +path="res://.godot/imported/email.png-ca04bce90d02c13fdfc7fd5bd5264916.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/email.png" +dest_files=["res://.godot/imported/email.png-ca04bce90d02c13fdfc7fd5bd5264916.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/es-de.png b/tools/configurator/assets/icons/pixelitos/16/es-de.png new file mode 100644 index 0000000000000000000000000000000000000000..23c3fd70a2b3b37ff151f355d08771d9088bb73d GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD3R#t z;uvDlo17q#aeyOPCt<=*|80yzz@qLo7}wryO8X`?Br-akaRB zn3ElP$2xp3?|b@rn&r&@`I3aKVmA6FVE78m=<HxwRc19dYiV(iAgS!4%4_jc-fou9LkK0q%9c?c@&;-m7I-; zbyyW1@xk*^v6Z92!tH!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC{ga| z;uvDlyEfR7ufc$$`Dk-p$o(bqS8v-SvNbby+xF(^@+NX{UE3ShTd(JG((sT_U(Y`0 z5FOtFw>z_@NG5WB*>zui{r2YThgpKwBz~O#CH63<(u=eQNBzz!Okp^1kJ&5v?1SmH r8c(K(PFm)nq|7Ez?I1q${U4?kPCB;=Zw9&poxtGf>gTe~DWM4fAQe-P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/facebook.png.import b/tools/configurator/assets/icons/pixelitos/16/facebook.png.import new file mode 100644 index 00000000..275f959b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/facebook.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bxatvsyyrjkge" +path="res://.godot/imported/facebook.png-00175920e3b1b811b3e30b89368f1a8e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/facebook.png" +dest_files=["res://.godot/imported/facebook.png-00175920e3b1b811b3e30b89368f1a8e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/fbneo.png b/tools/configurator/assets/icons/pixelitos/16/fbneo.png new file mode 100644 index 0000000000000000000000000000000000000000..5dcd59751d5bddcd07c1cc13dd0927d68983cb71 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDADKX z;uvDlyL9qt-UbB$7x|W5JfaaTouM-$T0{l7iftvD=6~I6b=hqh7 zEek(h+In#pzsk$cZw|HlGF)?>+#;&#DSJy~!81)aG2`XD{Y%SoQ|4SUZCs}77`bkV zK1ZM685aMLqgSGNO#Ye~xL&BbA!+lM^R1X4%eCu2b~npjie=%IPhk8KY9bhvbw3Q~ OG6qjqKbLh*2~7ZGlUj2C literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/fbneo.png.import b/tools/configurator/assets/icons/pixelitos/16/fbneo.png.import new file mode 100644 index 00000000..d3e683d6 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/fbneo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7g7kap0mom6r" +path="res://.godot/imported/fbneo.png-a4c10cdbcf9e01e39a6adc47bf426a98.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/fbneo.png" +dest_files=["res://.godot/imported/fbneo.png-a4c10cdbcf9e01e39a6adc47bf426a98.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/feh.png b/tools/configurator/assets/icons/pixelitos/16/feh.png new file mode 100644 index 0000000000000000000000000000000000000000..0bdbb16cacfa166070b18a1b58b45b73990171f3 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar_~TuUx=Jnq4Ud0gsoi6PHMA^bpq<=xJSlRq=^5!)2dUiV=GoPEYv0 zj_Zi}5}=?4+d-4X(oO~f`@`B3GMt_Xi*o0rsZDv#8q;RLSCPlU5U-}-ClT%$544xT M)78&qol`;+0I<(E`~Uy| literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/feh.png.import b/tools/configurator/assets/icons/pixelitos/16/feh.png.import new file mode 100644 index 00000000..1ece228e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/feh.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dtg2dq5uo8vso" +path="res://.godot/imported/feh.png-e5b41f77ef09eac3e7f5ea6abc6c26b0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/feh.png" +dest_files=["res://.godot/imported/feh.png-e5b41f77ef09eac3e7f5ea6abc6c26b0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/file-roller.png b/tools/configurator/assets/icons/pixelitos/16/file-roller.png new file mode 100644 index 0000000000000000000000000000000000000000..f94f6e1e3d571838455973240ec11f94db299eb9 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`n>}3|Lo80OoxGQ~*+9VUzT&kL z9Gb=~%mFQvlr(&2G<0z~iF2I_FlgAVmdKI;Vst0IjuR0RR91 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/file-roller.png.import b/tools/configurator/assets/icons/pixelitos/16/file-roller.png.import new file mode 100644 index 00000000..5368a996 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/file-roller.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://617bc863rel3" +path="res://.godot/imported/file-roller.png-ebae1999c0d2dabb5f06e4ead986fc9e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/file-roller.png" +dest_files=["res://.godot/imported/file-roller.png-ebae1999c0d2dabb5f06e4ead986fc9e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/file-system-manager.png b/tools/configurator/assets/icons/pixelitos/16/file-system-manager.png new file mode 100644 index 0000000000000000000000000000000000000000..77e0688887bea849fc14a8f7a63a962f32f011db GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D g#cVv>%o=PAe45UVP7@b<0S#vGboFyt=akR{0Jmr>I{*Lx literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/file-system-manager.png.import b/tools/configurator/assets/icons/pixelitos/16/file-system-manager.png.import new file mode 100644 index 00000000..0a799137 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/file-system-manager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwmw5vccl76o8" +path="res://.godot/imported/file-system-manager.png-2792dbce38c617565e2deba1f00450b6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/file-system-manager.png" +dest_files=["res://.godot/imported/file-system-manager.png-2792dbce38c617565e2deba1f00450b6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/filezilla.png b/tools/configurator/assets/icons/pixelitos/16/filezilla.png new file mode 100644 index 0000000000000000000000000000000000000000..e717893bbdacc8dc7ef91eace2342149a3d144cc GIT binary patch literal 228 zcmVcuuyIcH zc|Dv$*bJYtaUKrdgCcs6asqb4u+WpHQPJ64Ogrzvk7%qa#J)cqQeDsxQ3Pz;d=l4} eujYZJ-}wztr$IUB$zNUo00000oneEP)J*4uB(Bf+4|i02~)U;J5%5iy~M~03oo4S=asP*my~^ zwCnfv*SA59((6de-kEx^luArBY$8xV)F(*ZL#^!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD6!bn z#WBR9ckSejq74c>F8p72Hbh%6W&eotDNNK4q##S`{*PyCB$CwYf`Zg1yYVrEb;(4BSTlXBsknT;~n_AT3|D!E{L lf@G?o@Pfuw{4e@TnZ?BG-Y5HTd;>a{!PC{xWt~$(6964TWvc)H literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/flycast.png.import b/tools/configurator/assets/icons/pixelitos/16/flycast.png.import new file mode 100644 index 00000000..16f0bbca --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/flycast.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ddrop57dvpox8" +path="res://.godot/imported/flycast.png-e841973f96e1142a71c26c001a3cde10.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/flycast.png" +dest_files=["res://.godot/imported/flycast.png-e841973f96e1142a71c26c001a3cde10.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/fuse.png b/tools/configurator/assets/icons/pixelitos/16/fuse.png new file mode 100644 index 0000000000000000000000000000000000000000..ec2e5c0c9e28753e19b0bddff48b568d5d64bf82 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^5^^ z#WBR9H#tEfbN2i^+vF6LaARg>W@nk>#T{?`=h^(^UtG9xV`r#_ z;lFgH+i7fUY|Ay5@u*ZYMuL4pS3j3^P6!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBs886_ z#WBR9H#y}1-@nHK=_)D=*LP$dk7Ls;6lBZv^knnoG@Mg4V?*Y=Z5gs%E7Q-#yNEd# z$_j5tho+A7gPDk90!;v&&iwCN$+f!Gh? zQZv`b?Q4|&^y{POj%VBB|0UeuQ%_izkkHVwZo{8+HeE?~wnRBGk+Ykh=^Qj@;EZJu uv$#I*&GDr(1#c$xygAumpPICSouRYXXW9PSEeC+%#^CAd=d#Wzp$Pz{w2=b< literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/futurepinball.png.import b/tools/configurator/assets/icons/pixelitos/16/futurepinball.png.import new file mode 100644 index 00000000..65bd8e1d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/futurepinball.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qgegtsotc220" +path="res://.godot/imported/futurepinball.png-510a1cc8227a9489ef547d5278bedd5a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/futurepinball.png" +dest_files=["res://.godot/imported/futurepinball.png-510a1cc8227a9489ef547d5278bedd5a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/gcolor.png b/tools/configurator/assets/icons/pixelitos/16/gcolor.png new file mode 100644 index 0000000000000000000000000000000000000000..c2171703ebff967ff8149160c818f7b5d58ae8f7 GIT binary patch literal 296 zcmV+@0oVSCP);y#5Q*+ z+7ti)N~!iHaLv9HZjt~1lv3Ww$u9H)iYTggKq=L$!_zb_>sQNQCpq2sre;$9c3^9J zTbR0x<39x-`Rp`lbUwAcP=~;}TQFq^$1%0H#2gl+7Jf uw><_@nJZ7=ep(;IHJe{>Wk1W%JAVPy1#mbJz{k7*0000;y#5Q*+ z+7ti)N~!iHaLv9HZjt~1lv3Ww$u9H)iYTggKq=L$!_zb_>sQNQCpq2sre;$9c3^9J zTbR0x<39x-`Rp`lbUwAcP=~;}TQFq^$1%0H#2gl+7Jf uw><_@nJZ7=ep(;IHJe{>Wk1W%JAVPy1#mbJz{k7*0000;y#5Q*+ z+7ti)N~!iHaLv9HZjt~1lv3Ww$u9H)iYTggKq=L$!_zb_>sQNQCpq2sre;$9c3^9J zTbR0x<39x-`Rp`lbUwAcP=~;}TQFq^$1%0H#2gl+7Jf uw><_@nJZ7=ep(;IHJe{>Wk1W%JAVPy1#mbJz{k7*0000FDWNJ{@!X=6<;RZF_ppxLIWG?}DL`^qAq3~GzV%SY-+S2r^Kbidb zJM$MtB28ka>IFbyu4;%7K#y_sT=zBq^@7+x_jtPCzDSeU)p>K61`rV^BCfo@0EnUp zKgjboXc2K^FW!2vs;bzmmw|UdHJ#_P$spIlT$Q%gw&v>h2iPylpE@}A#ZedBwoeZ4 z9S?gB$*7^3PGuE%mSz3oHspEk0E{tot=kL#CjdSRr(SRhfFYv*0000{H*#SSMI#{+N31m%n0a$YW#Q!fm!9%5inx>V7# zwcrltUoQ3V0^ZY~ML0fR^1H2@zUtKi5uRF>`d3M;$MW==oaE=K7JqmsaxBlU=l(et z$;s<$OioGE?fu<8bFD~z_(|&yqggk9?d(0Jaq4@F;P)M6Edxc)ml z^FLQvSe~GyWc+!zSXa?G=MCrD1>Tq%pMCPKVe9#e&VO&RDiv|9s?D1+=ipt<4vwP| z{0ZF54-SXF>)q6Py|i}qt7o^~W@&%l78trcmYYGM!F=;WYlaVBe{vf=b}yT;Fm@i$ Op$wj`elF{r5}E*m&{;JA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/github.png.import b/tools/configurator/assets/icons/pixelitos/16/github.png.import new file mode 100644 index 00000000..d8023686 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/github.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djuddsdqdandx" +path="res://.godot/imported/github.png-32513112eff22368a8dbe7d71f3813a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/github.png" +dest_files=["res://.godot/imported/github.png-32513112eff22368a8dbe7d71f3813a8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/godot.png b/tools/configurator/assets/icons/pixelitos/16/godot.png new file mode 100644 index 0000000000000000000000000000000000000000..293f36e8ccaba544d01121411d565eb412170ab3 GIT binary patch literal 219 zcmV<103`p3P))SFj^hEyE3P%UY4irbm*-jz=yZ|ii VN$k2nEGGZ}002ovPDHLkV1nItTO>>gO8Swn$P0=r;yW LS3j3^P60002ZNklT6l7_3vwyg^WA5 z7{OIpTTEmwoBb8TbeG6Kol|)R4T*HzhD73d-Z~us0M(at1c3MVF@sLG0|21QbAF~Q zE*yYUWCvMXpy|ud6LhzC+}(o^0f3pyR@0Z>d6ZH_CRl>$t7gB(4`*>sp3lbY+yDRo M07*qoM6N<$f=antr2wTP??6FK2TqmFNK}D>ABmrPy|H&F_WJtXL;_E<=bYI&Gb`-~;P$ik zh7*_}gkgX{q%Z@`@)2XfIX>*(k?y}dGy{;3L6oHeKoXcR;tUJ0hz!E-@A$ROa&k|t zNX?6GPMD=>1O-mU28_?0!S^nmW!{hz)7M#yOeTx?YjYZytj3+haTwuyD}L??O0zTs zc^=T`ELykeY8Q^O$ZAD9%3_IE8;zvpImaR3mlXi`ndcRYlUgVcZCJgx@|*=c5;O&Q86-#uIS8ehYy0ev9FL9as5!zs1M> z788sK#_)BMwX041;`!^q0gd*J!go-?6&?X6+6zfNY~RF>4d1+Y7dYU`_Mj|T>TI%d z?^TVf_^qGbJs=uLn~cI3{Tl8WSg|iEzw5t3#iISmMribPU`R+1IhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/gtk-preferences.png.import b/tools/configurator/assets/icons/pixelitos/16/gtk-preferences.png.import new file mode 100644 index 00000000..c06b5219 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/gtk-preferences.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n2mnwd68w7wa" +path="res://.godot/imported/gtk-preferences.png-21d426063b89b39f3cc1aa289fe28b3c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/gtk-preferences.png" +dest_files=["res://.godot/imported/gtk-preferences.png-21d426063b89b39f3cc1aa289fe28b3c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/gtk-select-color.png b/tools/configurator/assets/icons/pixelitos/16/gtk-select-color.png new file mode 100644 index 0000000000000000000000000000000000000000..c2171703ebff967ff8149160c818f7b5d58ae8f7 GIT binary patch literal 296 zcmV+@0oVSCP);y#5Q*+ z+7ti)N~!iHaLv9HZjt~1lv3Ww$u9H)iYTggKq=L$!_zb_>sQNQCpq2sre;$9c3^9J zTbR0x<39x-`Rp`lbUwAcP=~;}TQFq^$1%0H#2gl+7Jf uw><_@nJZ7=ep(;IHJe{>Wk1W%JAVPy1#mbJz{k7*0000fWFg6Dfmyjzrrc5R?FHHi9v;KjtG}`yQl~yZY zB8;~*-f~KljU`_F8&jh(-3kEOwk3JjhzR!e`yXM9@t;Xi6p{fzp68M#hVWBYNaJ!i zL#e)5WT3(Jg m8gKhSWdoqc1F>83oxcHmD_*-JZ3GGc0000cX z{odH<0i(|k75nR}{-i6g*Q^Ws)BjFrQqHkwqLWO5Q;h8nc&rKD*lHuJS+`{F=83tj zmcp|o+R|#e3Qh*fg)U(cYTKMR>tiYl5BH22k~2PcXTF2Tj{IwSA>98gaK^+r+G z?#FwTQgh>=ZQE$Ej63)d0z)(r;1384F_>z2o(_{_>nDCg(wOaXGr;RWX4T}%MbXW# z9muSL$8m2B)%9$be_r0$fHBCdg6E)29k`EzPxr;*uFN(1u98RLL@jW;c5#v3|L8Bul-{c9V393uF z_D)&;Wf{wUqi8R)bJrrDSl@oiP*^Hme%t8$>EwtGW!0#x4Qmp5HvWDv>%^S*aYv%w zJLUFluD{TEA-QC!IZuVq*4POxD@y+!%E^0tzjPnN)^~n0lQs*~0iDO->FVdQ&MBb@ E0QYHCa{vGU literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/help-browser.png.import b/tools/configurator/assets/icons/pixelitos/16/help-browser.png.import new file mode 100644 index 00000000..631ef6ed --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/help-browser.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://4sv1u0ljef5n" +path="res://.godot/imported/help-browser.png-01fa512dbe0ee298582239fa6db121d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/help-browser.png" +dest_files=["res://.godot/imported/help-browser.png-01fa512dbe0ee298582239fa6db121d1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/help-contents.png b/tools/configurator/assets/icons/pixelitos/16/help-contents.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8b1912d4233c20bbea505b7685710c0811e4d4 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRaG=Lo7}&4R#c2P~Z?*=KnPC z{@UYJVzNQ)92?y7xK6L@b})G4(fPyj8duca*ONM4oQcfcHC>3|L8Bul-{c9V393uF z_D)&;Wf{wUqi8R)bJrrDSl@oiP*^Hme%t8$>EwtGW!0#x4Qmp5HvWDv>%^S*aYv%w zJLUFluD{TEA-QC!IZuVq*4POxD@y+!%E^0tzjPnN)^~n0lQs*~0iDO->FVdQ&MBb@ E0QYHCa{vGU literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/help-contents.png.import b/tools/configurator/assets/icons/pixelitos/16/help-contents.png.import new file mode 100644 index 00000000..ab633269 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/help-contents.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbtmluecsbimt" +path="res://.godot/imported/help-contents.png-036ca57e2818c6f39df3eefb58488443.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/help-contents.png" +dest_files=["res://.godot/imported/help-contents.png-036ca57e2818c6f39df3eefb58488443.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/help.contents.png b/tools/configurator/assets/icons/pixelitos/16/help.contents.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8b1912d4233c20bbea505b7685710c0811e4d4 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRaG=Lo7}&4R#c2P~Z?*=KnPC z{@UYJVzNQ)92?y7xK6L@b})G4(fPyj8duca*ONM4oQcfcHC>3|L8Bul-{c9V393uF z_D)&;Wf{wUqi8R)bJrrDSl@oiP*^Hme%t8$>EwtGW!0#x4Qmp5HvWDv>%^S*aYv%w zJLUFluD{TEA-QC!IZuVq*4POxD@y+!%E^0tzjPnN)^~n0lQs*~0iDO->FVdQ&MBb@ E0QYHCa{vGU literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/help.contents.png.import b/tools/configurator/assets/icons/pixelitos/16/help.contents.png.import new file mode 100644 index 00000000..bfccc44c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/help.contents.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwtku23kynqmt" +path="res://.godot/imported/help.contents.png-014a41aac38f13741c2a2ec6e2bae271.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/help.contents.png" +dest_files=["res://.godot/imported/help.contents.png-014a41aac38f13741c2a2ec6e2bae271.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/htop.png b/tools/configurator/assets/icons/pixelitos/16/htop.png new file mode 100644 index 0000000000000000000000000000000000000000..7d86083a023e3f11560ae0a7459f7a16dda3c8af GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6FglULo7}wr!+9t*8cs^qtehV zu5V;y00fg3OWqW41Br_3#Uy|LP%xomrV?-X29@WU%s_CMwfB61VYBoeo)fQTJ`iGK zbGhBKMl6rvOh^*LrYNzX+~Y5qiWs>!O}-FYr1)8>Wn(<&YVkG)1u38F$3561VhbJ~ pVx1Jr5N!V;(V;SJk%=`k1OE~CDutPUegoac;OXk;vd$@?2>@fzL@odT literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/htop.png.import b/tools/configurator/assets/icons/pixelitos/16/htop.png.import new file mode 100644 index 00000000..9aeb682b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/htop.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://clpsgskeigylp" +path="res://.godot/imported/htop.png-f664cf520d24e73bc40baa0102830b7d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/htop.png" +dest_files=["res://.godot/imported/htop.png-f664cf520d24e73bc40baa0102830b7d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/hwloc.png b/tools/configurator/assets/icons/pixelitos/16/hwloc.png new file mode 100644 index 0000000000000000000000000000000000000000..99ddb5e1cccee4cad752ae4812bd461832c87a14 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^5;? z#WBR9_w3|@oDBv%uJPRu4yxX95t(yj=Ny-SJ4aM)DlRp%Bt-|VX8*rb^JnJ2{3zyt zZC|}u+Ljp~(|y-HCu`1&ZkY!HuWL>H7;elscZuUb@CT7jJKq%Dw=ycrecMid*O?%Aa<&I z7nMSB=~8j-I~1S54rUQ42u^koS{p)&cndG zdV>R|%NqAr&j5JtVg}Id2mbZLn*eZBNgVwi#!1!BmX%s}#~R%22R<2TK=brOvZm>> zwr=Ho$5t+q>XdAO%dZaR`x)jWixVf~Ga}2tD zd=j>`tpJ;}6`TmS$707*qoM6N<$g1RfN%m4rY literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/hypseus.png.import b/tools/configurator/assets/icons/pixelitos/16/hypseus.png.import new file mode 100644 index 00000000..33bff7a3 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/hypseus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nusdh25gqrtr" +path="res://.godot/imported/hypseus.png-4324a56a39640ad549a5ff09d388a8a0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/hypseus.png" +dest_files=["res://.godot/imported/hypseus.png-4324a56a39640ad549a5ff09d388a8a0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/ibus-setup.png b/tools/configurator/assets/icons/pixelitos/16/ibus-setup.png new file mode 100644 index 0000000000000000000000000000000000000000..f007d74a45da5edd2dea8407bc6893dca568278e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar`0C23ztSP~a&J*q&Fz z^6!7w4^^MJFE4p%umpIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/ibus-setup.png.import b/tools/configurator/assets/icons/pixelitos/16/ibus-setup.png.import new file mode 100644 index 00000000..21a6b1ae --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/ibus-setup.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djj8420c72jsw" +path="res://.godot/imported/ibus-setup.png-442886b12a72aba5c7f08aa8ae5ef01d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/ibus-setup.png" +dest_files=["res://.godot/imported/ibus-setup.png-442886b12a72aba5c7f08aa8ae5ef01d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/ikemego.png b/tools/configurator/assets/icons/pixelitos/16/ikemego.png new file mode 100644 index 0000000000000000000000000000000000000000..6008d7598e9069155d1a70625217f634278edf8b GIT binary patch literal 401 zcmV;C0dD?@P)5lQD||F%X4cmMsMlo9m{w76i9A1mVD|uCx~amz9EG z;SUh5IFSWQE6Z?j#T|kuVw2ri>~1!RiF66-1-3tIf zpHo)Y77})`06AD+%cj=-KO-Xk3#WN)^Kk$XiNL?pBX~c|mLH+*UgfNm%6FM(v}{63 zsm&0dwcVPy&FV{bK70mm-%n1hJ+B$q2vj*INdf@qEb5Lk0&y?EOg_vs&+@%lqlCSe<2>bP*(~Q_wdufV v>Fx*=A^^~xHdr_w9RWP}Oq`G(+;_eK9CE@%0W`k#00000NkvXXu0mjf!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~?En z#WBR9ckX0GzC#8gZU2RMUW#rowq=p)JoJ{u!-VUkpui1Hl|JtYHqCSAMg|>IU_7$T z{r1+|55j$Kzki*5Sv|mA^XoBwMI}atMUCrk8|&M}KaOj>b;iNPsU^X7{uYHwtyPZm zLMPp2QZ9BDzjJ1HcFbz-&zXGqS@=!}qhQGMc#bqn;O)mDmsIoNQ~XN%po pQ)~&gGdNctUX`Ub@5ko3_VQ^3B`T}-*aH2?;OXk;vd$@?2>>bsemDRC literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/info.cemu.Cemu.png.import b/tools/configurator/assets/icons/pixelitos/16/info.cemu.Cemu.png.import new file mode 100644 index 00000000..f69f9122 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/info.cemu.Cemu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwf6d80b038l3" +path="res://.godot/imported/info.cemu.Cemu.png-28769a587567a67166ca5b3342c8234e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/info.cemu.Cemu.png" +dest_files=["res://.godot/imported/info.cemu.Cemu.png-28769a587567a67166ca5b3342c8234e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/inkscape.png b/tools/configurator/assets/icons/pixelitos/16/inkscape.png new file mode 100644 index 0000000000000000000000000000000000000000..c06d6369a5dd8abb54b09ba609a184770e4ccaf7 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J)SO(Ar_~PPQ1u_Sb@jo{8X>B z7b3_1X@6*5?%~!EAo$no$+89o`@QlL-jo-ZT@XC!wCO>g$28~5YGU)uRvtX8rn^J@ zd17MphkNyNEuVkRt6s`>T;lw*c_E=szRg-E_%BW2x^7R?s$VQ0rb*tg{LZDAV=w3y x@29!;EXU;g(_itpozb~t!mwe&o$3b*`Q80GN+f!hi2&Wj;OXk;vd$@?2>`tbQ4RnA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/inkscape.png.import b/tools/configurator/assets/icons/pixelitos/16/inkscape.png.import new file mode 100644 index 00000000..ef447f5c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/inkscape.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn6m3oqrbvrbf" +path="res://.godot/imported/inkscape.png-46836af15990f352bde369353d6bcd0b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/inkscape.png" +dest_files=["res://.godot/imported/inkscape.png-46836af15990f352bde369353d6bcd0b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/input-keyboard.png b/tools/configurator/assets/icons/pixelitos/16/input-keyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..2a577eb2850c1a79aa7ebf355cb4945d0c418aa2 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!3HGD9`RZNsbEhR#}JM4$tej52_L?H|9{?r z?Z%EmWo6}^vmPF}fB*mg$?E?94rj#V#3cFfh%j~SWhg&*Wo5ABGQYW8>B7owNe3D# p8(D91FKKx5CP%BX@zN9y2ANg9u9`LLX9A69@O1TaS?83{1OSVfGX?+v literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/input-keyboard.png.import b/tools/configurator/assets/icons/pixelitos/16/input-keyboard.png.import new file mode 100644 index 00000000..29b2ffc9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/input-keyboard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6q1kkqpont76" +path="res://.godot/imported/input-keyboard.png-00bfdd9e62959a2dfe7be492e58ec198.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/input-keyboard.png" +dest_files=["res://.godot/imported/input-keyboard.png-00bfdd9e62959a2dfe7be492e58ec198.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/internet-web-browser.png b/tools/configurator/assets/icons/pixelitos/16/internet-web-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..88f0a50db4554509610dc3cfe89d1490ee15f06e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ydl>XLo80u4c;ht$bjdMdDhE_ z4n-q3sTC&}N<0rs@Eo)fd3hzv*EH7a7ObRz#(c^f6(cq#XI=lo6ot6~@!K0CaM z(VUwn`S`s_VsC`-Mz+PPaw3%kx%aT@aNG5VcZsj)y=&yAzagjK0wceLaD~T~sAU%; zit_^}a_Wfc?&YkW`fc8^qQl#&5?9V-H)3e`&|I&}aNu{@g7TS{wAf`cCdNPOs=Rnz dK6~v6@x=%HnF2pN2>`mA!PC{xWt~$(695xZSa$#b literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/internet-web-browser.png.import b/tools/configurator/assets/icons/pixelitos/16/internet-web-browser.png.import new file mode 100644 index 00000000..afbb08c6 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/internet-web-browser.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2yhqt60p8yca" +path="res://.godot/imported/internet-web-browser.png-f1a9d86d3b61ab05ac02bdd6a3face2b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/internet-web-browser.png" +dest_files=["res://.godot/imported/internet-web-browser.png-f1a9d86d3b61ab05ac02bdd6a3face2b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png b/tools/configurator/assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png new file mode 100644 index 0000000000000000000000000000000000000000..e2a38b32b0fa4dd90ee05da360cca19afd0147e3 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD6z!T z#WBR9H#tEf<3Pumi`TFJ=TDB`Q!!D)(k+LpppmzGo&n2|lM5scwRmq{yH?lv0b3$l zbaXTu2)sUI*VbSm*=ClfCc-V5$TPzUDA;zmoj{<%~NPUA%TpOtoi*ga^wDMxRZLFB&E`G8)S+ hu$E`*2sJ+f^zDD^W8zakivius;OXk;vd$@?2>>-TV9fvk literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png.import b/tools/configurator/assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png.import new file mode 100644 index 00000000..708c94e6 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blskccp4w0qnw" +path="res://.godot/imported/io.github.antimicrox.antimicrox.png-b57882a79081b1759b7c41ba7c7b2067.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/io.github.antimicrox.antimicrox.png" +dest_files=["res://.godot/imported/io.github.antimicrox.antimicrox.png-b57882a79081b1759b7c41ba7c7b2067.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png b/tools/configurator/assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png new file mode 100644 index 0000000000000000000000000000000000000000..e53a860a55395546a070806c08c2dfc8bd299f50 GIT binary patch literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV2bc`aSW-r_4clzACsd z-6huSd1mkOSKItc+4pkW&(D@G3$CyzFt9W*2rw``xUuB->+EL-`Cvt@6p!y*X$B| z|G)W}Za+U`?g5Sm+6;_PiyXqS%Byx;Dzsa~?TQ+Z=ZQb3^HApHPCSPMz z+FZDQhhITmWS+%tefvp!@9!^Vs9}XilKj?xc8#I&|K(-(zeLdsH2wB{hb{35yJW=X y%fJ1d|J&w1k_QSrUNhV*ZSuJN{3mjt$nJmgX2bTmvme}M00K`}KbLh*2~7YjvIwaF literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png.import b/tools/configurator/assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png.import new file mode 100644 index 00000000..555c993e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djmfjqju5xb3c" +path="res://.godot/imported/io.github.ihhub.Fheroes2.png-54f848f5acaf9af2cc581d2c0cb96c1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/io.github.ihhub.Fheroes2.png" +dest_files=["res://.godot/imported/io.github.ihhub.Fheroes2.png-54f848f5acaf9af2cc581d2c0cb96c1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/itch.png b/tools/configurator/assets/icons/pixelitos/16/itch.png new file mode 100644 index 0000000000000000000000000000000000000000..9aa9487c15e144a6fc2a7c977de79e8d1d3b2cf8 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`m7Xq+Ar_~XPWI+&P~dTqXR%#6 zhtF>%_uUnWyxT<6SpWJg*Ja6jbGz&lbM{(Bg&vjdDvoOUOBo8D^cMF0Q* literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/itch.png.import b/tools/configurator/assets/icons/pixelitos/16/itch.png.import new file mode 100644 index 00000000..87b68247 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/itch.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://es6eosj27aie" +path="res://.godot/imported/itch.png-9e9885421891f602fa398dc263a4b134.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/itch.png" +dest_files=["res://.godot/imported/itch.png-9e9885421891f602fa398dc263a4b134.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/kde-frameworks.png b/tools/configurator/assets/icons/pixelitos/16/kde-frameworks.png new file mode 100644 index 0000000000000000000000000000000000000000..261c1a5deb24eb7c77476e9abb880591658afc8b GIT binary patch literal 179 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!3HF+i2N%7QdOQVjv*T7=T1H?ctC-}MV!mn zb%xQ_jvEq|4+qiu&A|+qOTs_ zd&KaK-TLG7xi<@@h3$1N^1Zrih3#!yFP?XCH#Zx1CZ4$7HBWB2zPs=g@8s*peEZ!i0~!_b&jr zPZKO%_x*cjW&!}p%_0qwn{x=&W(}g5MJ50Mw#yl}#}h4`>OzPKA*MrZ7_crg)@6nU z?gC`G)vVQBJ-w$8Q_<%vatoG2+~{Nr;;j4iphbdTQyktvOJM=)y89<~@egFHT0hY; hGc!@W&ZD~^gWnEjREE^~%wqrm002ovPDHLkV1kb literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/kdenlive.png.import b/tools/configurator/assets/icons/pixelitos/16/kdenlive.png.import new file mode 100644 index 00000000..c8190fe9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/kdenlive.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy76e2shrtck7" +path="res://.godot/imported/kdenlive.png-ccbdcca4907d4c957ea92e8402d848ba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/kdenlive.png" +dest_files=["res://.godot/imported/kdenlive.png-ccbdcca4907d4c957ea92e8402d848ba.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/kfontview.png b/tools/configurator/assets/icons/pixelitos/16/kfontview.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed035331b89255bfed0f3d64044fe3435b1c211 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr_~%PQJ+7pdjE}-J-bb zf5}~^{RV=J+!^~l9#pMoXJPQL+MqB=(9iH>w(iSq)6=@5y|{1ebF_>}&KJDFR{CA; zs6C6{w?#IyKHV0r6H?r*zs~)NO2H<3o;iE2@uclyc6d|wT=;IR%Epzi~$YEWW+|085Tg(Z-oa3sMfISVRXoO>O3!zRWmV+-OeZ?heM;cR*?k z4qD`{-nRHgf{@I4AZ}M`ThrFr=yRay%*Rikl>8rW%f0F l7aCo8Y_B=%R`~k_7KZK3CbAX6$3d=R@O1TaS?83{1OVfeOl|-G literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/klipper.png.import b/tools/configurator/assets/icons/pixelitos/16/klipper.png.import new file mode 100644 index 00000000..2ad11823 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/klipper.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://t5hq6nr31vcv" +path="res://.godot/imported/klipper.png-3add0e59334bc5a4fd8d3d71a856c7af.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/klipper.png" +dest_files=["res://.godot/imported/klipper.png-3add0e59334bc5a4fd8d3d71a856c7af.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/kmenuedit.png b/tools/configurator/assets/icons/pixelitos/16/kmenuedit.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c05361ff8207f83c8973b92be9b738d75ffc93 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%N5~Y4&}G*C)%XLDuijzD=?J6P(b{Z@pKdTVwA#wGZAv%NRUe{an^LB{Ts5 D|2#S~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/kmenuedit.png.import b/tools/configurator/assets/icons/pixelitos/16/kmenuedit.png.import new file mode 100644 index 00000000..29e7f237 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/kmenuedit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c5wrbpq8qir2o" +path="res://.godot/imported/kmenuedit.png-5e8ce3192abea70feeb28c1f280267a0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/kmenuedit.png" +dest_files=["res://.godot/imported/kmenuedit.png-5e8ce3192abea70feeb28c1f280267a0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/knetattach.png b/tools/configurator/assets/icons/pixelitos/16/knetattach.png new file mode 100644 index 0000000000000000000000000000000000000000..88f0a50db4554509610dc3cfe89d1490ee15f06e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ydl>XLo80u4c;ht$bjdMdDhE_ z4n-q3sTC&}N<0rs@Eo)fd3hzv*EH7a7ObRz#(c^f6(cq#XI=lo6ot6~@!K0CaM z(VUwn`S`s_VsC`-Mz+PPaw3%kx%aT@aNG5VcZsj)y=&yAzagjK0wceLaD~T~sAU%; zit_^}a_Wfc?&YkW`fc8^qQl#&5?9V-H)3e`&|I&}aNu{@g7TS{wAf`cCdNPOs=Rnz dK6~v6@x=%HnF2pN2>`mA!PC{xWt~$(695xZSa$#b literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/knetattach.png.import b/tools/configurator/assets/icons/pixelitos/16/knetattach.png.import new file mode 100644 index 00000000..925a76e8 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/knetattach.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://borbgat4bpipp" +path="res://.godot/imported/knetattach.png-63172d6799f2cf262829c2d533567def.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/knetattach.png" +dest_files=["res://.godot/imported/knetattach.png-63172d6799f2cf262829c2d533567def.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/kotatogram.png b/tools/configurator/assets/icons/pixelitos/16/kotatogram.png new file mode 100644 index 0000000000000000000000000000000000000000..98f6f3c6b673d8c2b2e9a998a6200a72f2ad03a1 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J3U<-Lo7}wryO81nP&5=-}jGO zkBssz31vg6kCI0`R;86VOPsvelf%Kiv1`5i=|eYXdCMQZsq-VJJ@eO3@!dkbs{Q{q z3vB9b1cJFU1(%%b pO^rCCAl)%(%F0PIPn#BEEKV-If#9Y>lYk(IxGG3V-k^gO zI*Hgq7keG_CimVZsQ-3P&j07*+;goU2n6scgs3G+@&VwwuAoF&mRV-a0{965px^Hk z*PhG#1aE6IK{h}f$9chV9I7OPRYFTG)SWtlg8uCN`d1QL7KdrdW7O3e50~1d0lnTz zF$33i#V}2^hV@oUJF6tC_r;%{5b$% zvpdh$MMxM%*!C3PAL09>>Hx1Z!Rt)428n(3dQeRu#$y1|d;H%IOK2DCj`_Po4Fl9)!-tP!Z&Xzs*dx~H9`S-uC`d}%6)DbuVGsQS-y{sOvU Vf3Goypt1k}002ovPDHLkV1lkBtUv$& literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/krita.png.import b/tools/configurator/assets/icons/pixelitos/16/krita.png.import new file mode 100644 index 00000000..1b3615f9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/krita.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7xhecrujl44x" +path="res://.godot/imported/krita.png-4f094c38b1aef3f3764d708557ef163e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/krita.png" +dest_files=["res://.godot/imported/krita.png-4f094c38b1aef3f3764d708557ef163e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/kwalletmanager.png b/tools/configurator/assets/icons/pixelitos/16/kwalletmanager.png new file mode 100644 index 0000000000000000000000000000000000000000..23e44a1d86156dfae57c3d3dc5ad593bf57c66ca GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^d_XL~!3HGNrubO_sl}cyjv*T7lWmN&pW8EY9#G5W zQf3AMVV?sk>t<_6r3ospG&_`&suX5;#!W&Y>hVn1r8i9TtV%>%-O}Ut7jgEbKfn1m z-6_0b&B^nA((5>7Hy8lHkDHmvH&`ySFmH^te)#5S>N}o@To-c=>4bwz1=QF!R~F8+ zPJ5t`?Np}Jvv%d;_C#eH#s|exyXpgl7<`1pd*?A|_!k{fE83LXlB&%xeSO@YZx3NxlswvVrv2B7dTk{Fl77?Ky)*?m**R95{ Utv+#I09w!B>FVdQ&MBb@02VGe<^TWy literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-base.png.import b/tools/configurator/assets/icons/pixelitos/16/libreoffice-base.png.import new file mode 100644 index 00000000..08257dcb --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/libreoffice-base.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cutsvu1u1hmmx" +path="res://.godot/imported/libreoffice-base.png-0da8370c0180b60173935d4e4cf02bba.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/libreoffice-base.png" +dest_files=["res://.godot/imported/libreoffice-base.png-0da8370c0180b60173935d4e4cf02bba.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-calc.png b/tools/configurator/assets/icons/pixelitos/16/libreoffice-calc.png new file mode 100644 index 0000000000000000000000000000000000000000..f53b96dc6711ae5310f1b0ad563969e89f783208 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`b)GJcAr_~TQxXyqKEyr$KcA7m zqVg5%;hBAtdu}|LktDE(pP!Gxg1fAZ@YUogyWyup*0q#(FJ`jAV{*&jTLH(6h_ z83+k;?>KO6L2r-F5(`<$A8Yu5rUAi0H4bBeWA16mThCO_{a+u%c;@zEJ%=L3O}tAO eHU%s3FffFPToW`(V($aGgu&C*&t;ucLK6VcltQHd literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-calc.png.import b/tools/configurator/assets/icons/pixelitos/16/libreoffice-calc.png.import new file mode 100644 index 00000000..0f4cc25c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/libreoffice-calc.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfvx4pgcjv8is" +path="res://.godot/imported/libreoffice-calc.png-c1927830b409492982508d873db0d11a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/libreoffice-calc.png" +dest_files=["res://.godot/imported/libreoffice-calc.png-c1927830b409492982508d873db0d11a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-draw.png b/tools/configurator/assets/icons/pixelitos/16/libreoffice-draw.png new file mode 100644 index 0000000000000000000000000000000000000000..d00d70e3b36fec630f011cd68574e16708944f17 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t)4E9Ar_~TQxXyqev~)7wP%*w z@bZOyTf-~+o*PeQNOZ7BM@9a7Y}#<~pSsNCB#tibfAT5q(r#-MCE^sW3aFLzzQ}QE z+aMs^P>`3r{<_Txt>zHTfED+tP44Rp-Sy nXa938dyY6|Nlch4UC7Ab?Pp`}xW>^2=pY79S3j3^P60v8mrBW=d$VFw_~Fi$9urmJ{ee22WQ%mvv4FO#oGC BO^5&h literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-impress.png.import b/tools/configurator/assets/icons/pixelitos/16/libreoffice-impress.png.import new file mode 100644 index 00000000..1d18a532 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/libreoffice-impress.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpjpg0vydsb6t" +path="res://.godot/imported/libreoffice-impress.png-48ee0a7d3143201140a7beed651372d1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/libreoffice-impress.png" +dest_files=["res://.godot/imported/libreoffice-impress.png-48ee0a7d3143201140a7beed651372d1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-math.png b/tools/configurator/assets/icons/pixelitos/16/libreoffice-math.png new file mode 100644 index 0000000000000000000000000000000000000000..7e9fa7f6fe208f1e8531a11fe02191d8639f0b1e GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^E_P~Lo7}wrz9jKc%0MzcfNr= z#siIjO>9c8x^=0XwNg=$bQ&iQxfCsgDkub+hlK+zF4PZC6>^( zpt`ej!rK=~FYYN?@ocCBYZkOLf7Im_lkjdyoSRrqp*PUs<(FNprGA`x33Mrgr>mdK II;Vst0Gsho4*&oF literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-math.png.import b/tools/configurator/assets/icons/pixelitos/16/libreoffice-math.png.import new file mode 100644 index 00000000..1588a2d8 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/libreoffice-math.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p1s1rm6u168n" +path="res://.godot/imported/libreoffice-math.png-a4b49d969f6cffbd4d7020bb49728701.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/libreoffice-math.png" +dest_files=["res://.godot/imported/libreoffice-math.png-a4b49d969f6cffbd4d7020bb49728701.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-startcenter.png b/tools/configurator/assets/icons/pixelitos/16/libreoffice-startcenter.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3eecd33de81b0105635ca7648e0092859ad6aa GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar`0KPTI|Tz<`5wzH(1Fd54boFyt=akR{0M}MC AjQ{`u literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-startcenter.png.import b/tools/configurator/assets/icons/pixelitos/16/libreoffice-startcenter.png.import new file mode 100644 index 00000000..ac074ffe --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/libreoffice-startcenter.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bap0hptm7wygt" +path="res://.godot/imported/libreoffice-startcenter.png-2b39f947198a5550c3f5ed152d284904.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/libreoffice-startcenter.png" +dest_files=["res://.godot/imported/libreoffice-startcenter.png-2b39f947198a5550c3f5ed152d284904.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-writer.png b/tools/configurator/assets/icons/pixelitos/16/libreoffice-writer.png new file mode 100644 index 0000000000000000000000000000000000000000..dd923d939a00d806535216d83d531d26fbf3b00d GIT binary patch literal 417 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrV9fAzaSW-r_4f8c!9xZj4G*Uz zbI9{{Q>3eSvxyAeJ}ed}BEO zdgCkog!+B6L2dz=2bF_!HlF=g->|cu-<%QVVvsW~73v?@i$ygP&|M8L?rQ^6GR~^)z%Xvg2ngIwrUHx3vIVCg!0Gsf1*Z=?k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice-writer.png.import b/tools/configurator/assets/icons/pixelitos/16/libreoffice-writer.png.import new file mode 100644 index 00000000..bb9424fc --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/libreoffice-writer.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4gxd7pr5ikn0" +path="res://.godot/imported/libreoffice-writer.png-ccd778605648f0f2794f63aa92affa05.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/libreoffice-writer.png" +dest_files=["res://.godot/imported/libreoffice-writer.png-ccd778605648f0f2794f63aa92affa05.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice.png b/tools/configurator/assets/icons/pixelitos/16/libreoffice.png new file mode 100644 index 0000000000000000000000000000000000000000..4e3eecd33de81b0105635ca7648e0092859ad6aa GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`@t!V@Ar`0KPTI|Tz<`5wzH(1Fd54boFyt=akR{0M}MC AjQ{`u literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/libreoffice.png.import b/tools/configurator/assets/icons/pixelitos/16/libreoffice.png.import new file mode 100644 index 00000000..cbef6d5f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/libreoffice.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xcbxaekxo7hw" +path="res://.godot/imported/libreoffice.png-684d84c63a8c37734545f5a73f723054.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/libreoffice.png" +dest_files=["res://.godot/imported/libreoffice.png-684d84c63a8c37734545f5a73f723054.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png b/tools/configurator/assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..e416a4aae2d285ec53fd90fce7a93894c7e825f7 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDADEV z;uvDlyL9qt-Ub66XW1i4bDK;zu?cT|Hj5EX#3us4HM4fUCVXv3Ei4ywD~*BJyWqx@!erB0vjWe1;T&KO8X@`P13l) z_{XBZ>c-px(jD%VmzPfKN!JxuRoT3X&-X(_;*`T*jJXWH&(*K$@XDRM;9D=yRScf4 KelF{r5}E+slUeQn literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png.import b/tools/configurator/assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png.import new file mode 100644 index 00000000..bc7049c2 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6l1ndd7wpm5d" +path="res://.godot/imported/lightdm-gtk-greeter-settings.png-93f0fdc578a419a118c61185d5c64a41.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/lightdm-gtk-greeter-settings.png" +dest_files=["res://.godot/imported/lightdm-gtk-greeter-settings.png-93f0fdc578a419a118c61185d5c64a41.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/lime3ds.png b/tools/configurator/assets/icons/pixelitos/16/lime3ds.png new file mode 100644 index 0000000000000000000000000000000000000000..61e4a2185dd3c857d4ba01344c50be30cbd63e73 GIT binary patch literal 416 zcmV;R0bl-!P)Y2L*cl;JbZ1JsxPv+OY~0XaisD@SpT9fn1QKd@YnzJ8{!qlRAV9{t zDWH`>-4y!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDADTa z;uvDlyL9qN-UA9eEaie;>@WAv`7-7FvxB^x;eVKBZggks2;}JU=3<$-{HD-n1BMw3 z9ohAGH|5y{GlklTJk_?5Tz7&^N6X_<-qvph29`%A>9A+Le;xCvKWl&91+KSu8tTp* z_}Z$l^XfFmRVfC)_~ixX_4oS4WkxPsHM=hU`GN^@mzbqjYyH0AzhDi}K@6U*elF{r G5}E*~`&wuK literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/linapple.png.import b/tools/configurator/assets/icons/pixelitos/16/linapple.png.import new file mode 100644 index 00000000..99c73d5a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/linapple.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dc5qjx7ej415k" +path="res://.godot/imported/linapple.png-4513120f1c8d5f1fa928e066dc2dc608.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/linapple.png" +dest_files=["res://.godot/imported/linapple.png-4513120f1c8d5f1fa928e066dc2dc608.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/links-48x48.xpm.png b/tools/configurator/assets/icons/pixelitos/16/links-48x48.xpm.png new file mode 100644 index 0000000000000000000000000000000000000000..88f0a50db4554509610dc3cfe89d1490ee15f06e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ydl>XLo80u4c;ht$bjdMdDhE_ z4n-q3sTC&}N<0rs@Eo)fd3hzv*EH7a7ObRz#(c^f6(cq#XI=lo6ot6~@!K0CaM z(VUwn`S`s_VsC`-Mz+PPaw3%kx%aT@aNG5VcZsj)y=&yAzagjK0wceLaD~T~sAU%; zit_^}a_Wfc?&YkW`fc8^qQl#&5?9V-H)3e`&|I&}aNu{@g7TS{wAf`cCdNPOs=Rnz dK6~v6@x=%HnF2pN2>`mA!PC{xWt~$(695xZSa$#b literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/links-48x48.xpm.png.import b/tools/configurator/assets/icons/pixelitos/16/links-48x48.xpm.png.import new file mode 100644 index 00000000..c80143ac --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/links-48x48.xpm.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dx36v7t21qd02" +path="res://.godot/imported/links-48x48.xpm.png-d0d15ad8378bc83c19d2b3baba3085de.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/links-48x48.xpm.png" +dest_files=["res://.godot/imported/links-48x48.xpm.png-d0d15ad8378bc83c19d2b3baba3085de.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/lmms.png b/tools/configurator/assets/icons/pixelitos/16/lmms.png new file mode 100644 index 0000000000000000000000000000000000000000..2c00a8958fd1b1239975485459b54e331cf0d53f GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3HGN^yhQ|sZdWB#}JM4$tedIee^>9yFZ(6 zn2~y9S>Hs7vp;weRos;Ank5P|UAFU1mvT!od2Gyblp#jyqvR2nRcR#$jyNbTxWV9- pB+Rp}Aw|hd@Zlus9|k}XhQmgBd>7uEod;UL;OXk;vd$@?2>>G;E!hA7 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/lmms.png.import b/tools/configurator/assets/icons/pixelitos/16/lmms.png.import new file mode 100644 index 00000000..dc236cbd --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/lmms.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyfaq8xp63kuo" +path="res://.godot/imported/lmms.png-011860c8ad5f026ff88d57f844dc74e2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/lmms.png" +dest_files=["res://.godot/imported/lmms.png-011860c8ad5f026ff88d57f844dc74e2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/lutris.png b/tools/configurator/assets/icons/pixelitos/16/lutris.png new file mode 100644 index 0000000000000000000000000000000000000000..bd8d672b33f76fbf78a361d2eb758e50f0292742 GIT binary patch literal 326 zcmV-M0lEH(P)P{107ZdH>gA&VGFkKLqFEeb1rWtucu66eDaUb;G@$MU%;PY@T~^;p zKlJeCT}<)rfL&C{58Oo?x4J#Ru&4eFP-FK4JiVN(0Dd%;&ovETSsSsejWF0>&BNDY z3RxI*n<{E(v~Ei`&&GGCSbC4oQV7$abFPN+JXwTZH2FD=8;Ah123fIy!6+z#pE3h{ Y0d@FYoN}qqg#Z8m07*qoM6N<$f}%T&W&i*H literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/lutris.png.import b/tools/configurator/assets/icons/pixelitos/16/lutris.png.import new file mode 100644 index 00000000..c0f841a8 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/lutris.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyfq23gxv48s8" +path="res://.godot/imported/lutris.png-cd61cbe3bc5de5779f553209a9e424da.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/lutris.png" +dest_files=["res://.godot/imported/lutris.png-cd61cbe3bc5de5779f553209a9e424da.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/map-globe.png b/tools/configurator/assets/icons/pixelitos/16/map-globe.png new file mode 100644 index 0000000000000000000000000000000000000000..88f0a50db4554509610dc3cfe89d1490ee15f06e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ydl>XLo80u4c;ht$bjdMdDhE_ z4n-q3sTC&}N<0rs@Eo)fd3hzv*EH7a7ObRz#(c^f6(cq#XI=lo6ot6~@!K0CaM z(VUwn`S`s_VsC`-Mz+PPaw3%kx%aT@aNG5VcZsj)y=&yAzagjK0wceLaD~T~sAU%; zit_^}a_Wfc?&YkW`fc8^qQl#&5?9V-H)3e`&|I&}aNu{@g7TS{wAf`cCdNPOs=Rnz dK6~v6@x=%HnF2pN2>`mA!PC{xWt~$(695xZSa$#b literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/map-globe.png.import b/tools/configurator/assets/icons/pixelitos/16/map-globe.png.import new file mode 100644 index 00000000..91bbdfb9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/map-globe.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6hl4s5shp1kp" +path="res://.godot/imported/map-globe.png-8e00c3af669b6eb554bf2fbff8941f0d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/map-globe.png" +dest_files=["res://.godot/imported/map-globe.png-8e00c3af669b6eb554bf2fbff8941f0d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/mate-desktop.png b/tools/configurator/assets/icons/pixelitos/16/mate-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..887dc1f98682db6cab17ccd387b23904526d61b2 GIT binary patch literal 362 zcmV-w0hRuVP)Je&;*`79cIEte@)Na|v0D5yqH#CXMy^h1b83CF_&d!P$*-gWzm?Wj$6$ z$HqT!1M2JRnHXg+{YBRJkRj+|4JqpxQ8E()0|R4BslAPg zy3ip)nW-UVJre^1!+&%GV1T1xPT+TJvD1*Uo`Zpb;U}^f0K@l^c^s#Oi2wiq07*qo IM6N<$g7&eVP5=M^ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/mate-desktop.png.import b/tools/configurator/assets/icons/pixelitos/16/mate-desktop.png.import new file mode 100644 index 00000000..b6ed9f1b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/mate-desktop.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyira43h8wpf0" +path="res://.godot/imported/mate-desktop.png-6919e96f0ea4bef9e886a7c8c088805c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/mate-desktop.png" +dest_files=["res://.godot/imported/mate-desktop.png-6919e96f0ea4bef9e886a7c8c088805c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/mate-disk-usage-analyzer.png b/tools/configurator/assets/icons/pixelitos/16/mate-disk-usage-analyzer.png new file mode 100644 index 0000000000000000000000000000000000000000..2831a1f7292768bc8f0c22cddf22eb6c983db909 GIT binary patch literal 262 zcmV+h0r~!kP)0002ZNklT6l7_3vwyg^WA5 z7{OIpTTEmwoBb8TbeG6Kol|)R4T*HzhD73d-Z~us0M(at1c3MVF@sLG0|21QbAF~Q zE*yYUWCvMXpy|ud6LhzC+}(o^0f3pyR@0Z>d6ZH_CRl>$t7gB(4`*>sp3lbY+yDRo M07*qoM6N<$f=anK4IuuJkg3x#-<{mA%}{ zI{X)2S$Dk0LNwV}Fp|0Jk-Go91dVAECpNB5JhUtz?VA1?HiN_&ETJ817?(d%&&<&< zi95POM)ftrMHcltB{4Odb$s5x+FO20BP~ryY1^ZyY_B^}(!Len zpGT<1b#z#-);jxwjg>>8=AQh!hlO(&pY(6iI5xLq!YV5+0g*p;!t2j$ET-x&cd=If|_I=uME>+F0$begz#Vlr`itN+S$ybaR%_kX#eVSid a$N2JTL6*ddmTy2uGkCiCxvX~Y4&}G*C)%XLDuijzD=?J6P(b{Z@pKdTVwA#wGZAv%NRUe{an^LB{Ts5 D|2#S~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/menulibre.png.import b/tools/configurator/assets/icons/pixelitos/16/menulibre.png.import new file mode 100644 index 00000000..97beb1b0 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/menulibre.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ccg32h1k43s5v" +path="res://.godot/imported/menulibre.png-770b34222fc6d89cbeec09a611c66ad8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/menulibre.png" +dest_files=["res://.godot/imported/menulibre.png-770b34222fc6d89cbeec09a611c66ad8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/microsoft-edge.png b/tools/configurator/assets/icons/pixelitos/16/microsoft-edge.png new file mode 100644 index 0000000000000000000000000000000000000000..f4ee2aeac1d1ea6670d083ca5d7492790de134f2 GIT binary patch literal 308 zcmV-40n7f0P)Z`7sTni>ybT2)WoHL7y~b#tope>09Y{N2CEywvt$UT!D%0000L(AD4hSmXrfpAK!A^P+w13>l#}o?m<(=07dLUiMuG zo8wbYp|{JK8A4eY{)C78^krImtzA;};#@Cl?>lOOQrFneYyX#8v-NwVMyH9+FP}AM zw^q&7y%Z(jKHqb9?Xl|M73Ws8&YFDUm*BWoQ7DY#=SRQ=HBit60yW~{U-N!ZvkK#c|hUzN2CBOQ|C2%ZLZSW=lNou zZV>UP)uCz>aQzXEk>_f>;EYvc?rLfCrR$&kc@g6dLK3Cu1`+wpvz%STxc(R+1$NB@ zpc_OBlJ-F#A;sLmYO%onZ_Wbzx%E4c!Yb>RiqTaaY}IRvy{b`|698B%Iy?3pe60Rq zv$28OAJS|)e6VYyNbysX^mjz8pfeS>D}0D(fYU+1tt z;m{8O*l%}0C?>yti|a>-kKcV&bxuZX*)_UBMD?;9tE|&(9U@eM5|aPVm0PIn+_uqU4#~&^t$WE@WC2xME(&g#kb z;1UnN%af2+nNv4R7M~WMubGtMWG=X@V}{0&SyMWFJ2gCKYR&At^M;2(X>zb`$E7a^ QfNo{*boFyt=akR{0EM1Y0RR91 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/mpv.png.import b/tools/configurator/assets/icons/pixelitos/16/mpv.png.import new file mode 100644 index 00000000..b640b8d3 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/mpv.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhqqyiol0fxt8" +path="res://.godot/imported/mpv.png-aa95741f25fc87b01ccf4833fb229e13.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/mpv.png" +dest_files=["res://.godot/imported/mpv.png-aa95741f25fc87b01ccf4833fb229e13.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/multimedia-volume-control.png b/tools/configurator/assets/icons/pixelitos/16/multimedia-volume-control.png new file mode 100644 index 0000000000000000000000000000000000000000..13750d5e9fec8431e3c015a721de81e844e0241d GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%N3OrpLLp07OU%7t$|9JG?qir=`|yi&)=U2mbJBF-Z_kS6ae2+h*~;egEo9cu$-= zsCL}t#NQV+o0{iX&ARZnLAT+-L~o5R6aF4=Ie&NuQ%h%nN20L0_FG1VJL@&>IJ)yU Q1MOz;boFyt=akR{0P$r$T>t<8 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/multimedia-volume-control.png.import b/tools/configurator/assets/icons/pixelitos/16/multimedia-volume-control.png.import new file mode 100644 index 00000000..61de383b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/multimedia-volume-control.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7ql0ymmxc1cf" +path="res://.godot/imported/multimedia-volume-control.png-0c5f3e83bbacf08bff6c3f1631d7c1d7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/multimedia-volume-control.png" +dest_files=["res://.godot/imported/multimedia-volume-control.png-0c5f3e83bbacf08bff6c3f1631d7c1d7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/nestopia.png b/tools/configurator/assets/icons/pixelitos/16/nestopia.png new file mode 100644 index 0000000000000000000000000000000000000000..18754b3d5e6bc61fa8741be6049022a9b01fe3bd GIT binary patch literal 232 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD3Rvr z;uvDlo17rQ+H-yV-JkxQj5<6(a8$K2CG*|enJk73(^ZTPq;hsKitEKB7#J8FSk1T` z#C9-bna%yI_V0lSM|2sM2l4==6kagRP?P9=$T}m9jm_wAg9Pu3hDRj^JU~0wYwfst SS#kx?Mg~t;KbLh*2~7Z`D?<|i literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/nestopia.png.import b/tools/configurator/assets/icons/pixelitos/16/nestopia.png.import new file mode 100644 index 00000000..52c4c6a9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/nestopia.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcpn5on5d86j6" +path="res://.godot/imported/nestopia.png-e5b6bab34508815eef32f056c8faa1ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/nestopia.png" +dest_files=["res://.godot/imported/nestopia.png-e5b6bab34508815eef32f056c8faa1ca.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/net.kuribo64.melonDS.png b/tools/configurator/assets/icons/pixelitos/16/net.kuribo64.melonDS.png new file mode 100644 index 0000000000000000000000000000000000000000..25fbe352b90d32e6325e0edfdf5b50e919c7608d GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`U7jwEAr_~TQyQ9PbYA-}>A~Rr zso%)Rz`$U`0TX?$^=S&cTmHpQs-H5Eb=l8-(ej?R#NVz;OGwE0d%j6$#gcQLQ=V0u z?>~G~=fxy9ez`|iYy2GLTF)PGP+V|>LCncdRqjeIxIb$Au;dY66 tB*LzwymO{zUaI!tNq-ji^h`-hXJ9F_P}s1;_c+j144$rjF6*2UngBD%N<9Do literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/net.kuribo64.melonDS.png.import b/tools/configurator/assets/icons/pixelitos/16/net.kuribo64.melonDS.png.import new file mode 100644 index 00000000..72ffb9ce --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/net.kuribo64.melonDS.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgftfx70c0n3o" +path="res://.godot/imported/net.kuribo64.melonDS.png-91be884a1cbb396218bda12865b1e1f8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/net.kuribo64.melonDS.png" +dest_files=["res://.godot/imported/net.kuribo64.melonDS.png-91be884a1cbb396218bda12865b1e1f8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/net.openra.OpenRA.png b/tools/configurator/assets/icons/pixelitos/16/net.openra.OpenRA.png new file mode 100644 index 0000000000000000000000000000000000000000..f0788bbe2c3b139770afc8c1904d2f8c2a7ce934 GIT binary patch literal 252 zcmVWZ zu!JanYi-u2HJTwBuIxX$ZYU6vlt&=B7!73R=NIpG7x8-$8{gx`{4z(MeZnx4J04fs^9sgE$s4+*-&W)L`R~ z_BOexvHDFX3E%ntoCp)V97O4K{;F#XU_u4JFz^`FvTsqKiGAVmd`SS5OLj2~JUb_2 zvGZ2vGX+pC*;NOux{HmwG*v8!WGoEo9H$QQ1>dk(TkRNc=bW-3xvA7;Q4rf0h|A_ z9hb_B{VdAsNoIfZe$Ex#yGOzA2Ic9R!C^UZpPmG- k%Oi#=i@zopr05bhAjQ{`u literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/net.rpcs3.RPCS3.png.import b/tools/configurator/assets/icons/pixelitos/16/net.rpcs3.RPCS3.png.import new file mode 100644 index 00000000..f966a3db --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/net.rpcs3.RPCS3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2gmles6ceqya" +path="res://.godot/imported/net.rpcs3.RPCS3.png-002c184a5be273fbc4387bd556fa3460.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/net.rpcs3.RPCS3.png" +dest_files=["res://.godot/imported/net.rpcs3.RPCS3.png-002c184a5be273fbc4387bd556fa3460.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/net.veloren.airshipper.png b/tools/configurator/assets/icons/pixelitos/16/net.veloren.airshipper.png new file mode 100644 index 0000000000000000000000000000000000000000..5407a9b025d363d2e1109bf1e0ababd0b74a7856 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`mpxq^Lo7}wr!+Jj4c7W^Jb@vp z_?D!k1P~<7($BMW>8fL^mA7uYF{jM!7)ZtY*iCaE1_r2lvYl9)onFxQF(n}}At6CP z@IhJy%hZU;kGd8aq@2rJlcdCShX(|FKt#S>jcZ`QrwNl6K2cPUGn^r(HiO%PwIcR{ z@_*UYYAJpmL91!_6?D!bIOLZReBDemvn1d6{F@If$vhU`h#3;1+J$ z*zk_4#4Zq|WA;M#f7W68f^+!_TG@U0pU&*O^oECFiC1Ro^TYa2f!<^AboFyt=akR{ E00dWI?*IS* literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/net.veloren.airshipper.png.import b/tools/configurator/assets/icons/pixelitos/16/net.veloren.airshipper.png.import new file mode 100644 index 00000000..e54fce48 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/net.veloren.airshipper.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7lpo3mnccxgq" +path="res://.godot/imported/net.veloren.airshipper.png-2003d1db12f8d5c6ccbf0808b7a48c52.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/net.veloren.airshipper.png" +dest_files=["res://.godot/imported/net.veloren.airshipper.png-2003d1db12f8d5c6ccbf0808b7a48c52.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/network-wired.png b/tools/configurator/assets/icons/pixelitos/16/network-wired.png new file mode 100644 index 0000000000000000000000000000000000000000..24cc0d0f4b3e9e7ca8cc3e8c1477fbd78a22c662 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3HGN^yhQ|scKIb#}JM4ZzrDSY;fRlxv$q0 zwmhOu?BPMFKT{M}pM9xX6(kmU{r$zAEiGq~J*F5Q)={zv6ls02JguQ{4#%}+xzfLs zRP>f#=9-Xd$uMhrP;B}$(}S|L(;l!##NX(M3cfz|`=@&>N{?bn&N587`{uHYrmyf* fmYBvHX$`DTo||vzS!t#SbOwW`tDnm{r-UW|^S(v~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/network-wired.png.import b/tools/configurator/assets/icons/pixelitos/16/network-wired.png.import new file mode 100644 index 00000000..86ec9efe --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/network-wired.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpqprsxdxasdy" +path="res://.godot/imported/network-wired.png-60a912dbdd88732efe9ab4daae443017.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/network-wired.png" +dest_files=["res://.godot/imported/network-wired.png-60a912dbdd88732efe9ab4daae443017.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/network-workgroup.png b/tools/configurator/assets/icons/pixelitos/16/network-workgroup.png new file mode 100644 index 0000000000000000000000000000000000000000..24cc0d0f4b3e9e7ca8cc3e8c1477fbd78a22c662 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3HGN^yhQ|scKIb#}JM4ZzrDSY;fRlxv$q0 zwmhOu?BPMFKT{M}pM9xX6(kmU{r$zAEiGq~J*F5Q)={zv6ls02JguQ{4#%}+xzfLs zRP>f#=9-Xd$uMhrP;B}$(}S|L(;l!##NX(M3cfz|`=@&>N{?bn&N587`{uHYrmyf* fmYBvHX$`DTo||vzS!t#SbOwW`tDnm{r-UW|^S(v~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/network-workgroup.png.import b/tools/configurator/assets/icons/pixelitos/16/network-workgroup.png.import new file mode 100644 index 00000000..65240120 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/network-workgroup.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bp4nne3q8pora" +path="res://.godot/imported/network-workgroup.png-1841de749dc3c890f673198b54d0b511.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/network-workgroup.png" +dest_files=["res://.godot/imported/network-workgroup.png-1841de749dc3c890f673198b54d0b511.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/nl.hjdskes.gcolor3.png b/tools/configurator/assets/icons/pixelitos/16/nl.hjdskes.gcolor3.png new file mode 100644 index 0000000000000000000000000000000000000000..c2171703ebff967ff8149160c818f7b5d58ae8f7 GIT binary patch literal 296 zcmV+@0oVSCP);y#5Q*+ z+7ti)N~!iHaLv9HZjt~1lv3Ww$u9H)iYTggKq=L$!_zb_>sQNQCpq2sre;$9c3^9J zTbR0x<39x-`Rp`lbUwAcP=~;}TQFq^$1%0H#2gl+7Jf uw><_@nJZ7=ep(;IHJe{>Wk1W%JAVPy1#mbJz{k7*0000f#=9-Xd$uMhrP;B}$(}S|L(;l!##NX(M3cfz|`=@&>N{?bn&N587`{uHYrmyf* fmYBvHX$`DTo||vzS!t#SbOwW`tDnm{r-UW|^S(v~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/nm-device-wireless.png.import b/tools/configurator/assets/icons/pixelitos/16/nm-device-wireless.png.import new file mode 100644 index 00000000..72f413e4 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/nm-device-wireless.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cif3n56iv533k" +path="res://.godot/imported/nm-device-wireless.png-4f2a088d01234e898dd6f6f487e36170.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/nm-device-wireless.png" +dest_files=["res://.godot/imported/nm-device-wireless.png-4f2a088d01234e898dd6f6f487e36170.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/nnn.png b/tools/configurator/assets/icons/pixelitos/16/nnn.png new file mode 100644 index 0000000000000000000000000000000000000000..cf236b7b659ae2db579707822d4943ff521d1586 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`g`O^sAr`0KPC6)fK!Jnh;zId# z|Fsqtu8Z%l&)YD*u81y)H5fm8Pp8FF*$U{oNLzg zJ{YNdIGBgC>>Zzi$wQA?(=E5dU$j@2evR`#o8&%QS!?eT@gEKioB22Wvaw~~#%8*x TXKwCGpydpnu6{1-oD!Mz|2@(po zyL$VtGXMoO%ocq%aw8G{9!ou8(76s9dQv1VqtB&t8fbHR&qK#LhX MUHx3vIVCg!0DB5Kr2qf` literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/notepadqq.png.import b/tools/configurator/assets/icons/pixelitos/16/notepadqq.png.import new file mode 100644 index 00000000..cb17d43a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/notepadqq.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4uvtwuq8w644" +path="res://.godot/imported/notepadqq.png-af5c993f6eca67b95872d62476ba3208.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/notepadqq.png" +dest_files=["res://.godot/imported/notepadqq.png-af5c993f6eca67b95872d62476ba3208.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/nvim.png b/tools/configurator/assets/icons/pixelitos/16/nvim.png new file mode 100644 index 0000000000000000000000000000000000000000..622643ccf69aa8f120ef191957f191afa291b0ed GIT binary patch literal 220 zcmV<203-j2P) ztq#I46hPr~uR@@B4uVC_An_zMXwrnYSh&H|uK!JEO!a8+_Z326yO4W*?r{qMPV_=vsm1LeaS2 ztPBS4jOSHwP5g3bXVK>4*6%x%m;@`I%GyoS4hUWGN_#)&I{xs@X|KPB#y?!%R1^@@ jv1Nwl3F&Jm?7q(F%62v=Wb2Xzx`n~h)z4*}Q$iB}oP0&p literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/octopi.png.import b/tools/configurator/assets/icons/pixelitos/16/octopi.png.import new file mode 100644 index 00000000..583bb7b4 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/octopi.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bcmhdph6oy3h0" +path="res://.godot/imported/octopi.png-de1fab0715c6dd9070ee5e6b7df9192d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/octopi.png" +dest_files=["res://.godot/imported/octopi.png-de1fab0715c6dd9070ee5e6b7df9192d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/okular.png b/tools/configurator/assets/icons/pixelitos/16/okular.png new file mode 100644 index 0000000000000000000000000000000000000000..e83aa42267db4492ca25aac8aeb28ebf77dc1dfb GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`t)4E9Ar_~TQxXyq1Vlvs?2q^A zW@LL5xz9j=SubwSi4#X0)GB0aW;B98r_k9HNruZhyRJ+^UV`xw{#XUu4{0fmfVv1 keAOmdKI;Vst04iHTG5`Po literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/okular.png.import b/tools/configurator/assets/icons/pixelitos/16/okular.png.import new file mode 100644 index 00000000..37eda872 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/okular.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2vwo82rcjlg8" +path="res://.godot/imported/okular.png-e538058210716536d62723674156f539.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/okular.png" +dest_files=["res://.godot/imported/okular.png-e538058210716536d62723674156f539.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/openarena-server.png b/tools/configurator/assets/icons/pixelitos/16/openarena-server.png new file mode 100644 index 0000000000000000000000000000000000000000..3ca336372920d8d22841aab47ae878e7a1d25eee GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!3HF=pW8NqC{Gv15RLP_lMad=P~dQ8zFo?c zp3>BpuJ8I=LvY8;h7;nBLTqPzL4JdIvwX)p}{^F@dvX7SLJ- MPgg&ebxsLQ0OdG1vj6}9 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/openarena-server.png.import b/tools/configurator/assets/icons/pixelitos/16/openarena-server.png.import new file mode 100644 index 00000000..2c22a5f2 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/openarena-server.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://f1aqbp0uk47y" +path="res://.godot/imported/openarena-server.png-0b3424e66040b1b4e1973e759e2a921a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/openarena-server.png" +dest_files=["res://.godot/imported/openarena-server.png-0b3424e66040b1b4e1973e759e2a921a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/openarena.png b/tools/configurator/assets/icons/pixelitos/16/openarena.png new file mode 100644 index 0000000000000000000000000000000000000000..45a81400a624b336bb9228f34629358cbacf8a50 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~e!3HF=pW8M9sR~aQ#}JM4$teezcyvzvPZr)^ zuxPSiY>(hr8lk^3JK@_cp~|cb(ZtpJ^y)tfPK~^i9%K_;cWrO#8&KhGLwT<=%S`*_#(w6 ad<!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~@D@ z#WBR9ck1MgyoU?~T<0tLDyc|uaU}J4EJ;^ zwH{@7d5-r@n9Zrw<|WsZa^}nR7u{4?X?ooE);jsh)_dkkJOY)!B5&D=Bo|qoag}gr w{6Eu2`rU5OHvSNg>nUFN|6Qh}dfq~)Jv19*XY(|LYRQ}U@cYQ!t z=CgH-w3S1W@+=NQqB{{PQo_u|o4bj^o7 z14PR|zIp?XyRBrUXe(qJ%mroo5Vlpo12K)++gtOZMLpYG-03>yF U66)_r8vp$)Ut8r1e4Fgi)S`AHa@(uG5LRDj$6mGkh*n8H`^`HP62`=%Q$bU z_UxFGd*<}%vUjJa-}eyvdpwQf@&Et-4OuSc9)DUh#lYcOhj;Px1v>}G_qnUFN|6Qh}dfq~(Zh3kJ9n-QWpmH+hKT_4aD zIy`^Kh)ol+OBiuEyXf;QU*ASYGvZ6a3=9km5m%10GBPkQFznSb6=8n=>NQqB{{PQo_u|o4bj{PR zUlc9>`05SZmaUpbV%#6zzQkq-QMu9k`ngw4Up{dNh{?F18*uL7EjT;s{#6cSIRLBr VbrQ18r8ocp002ovPDHLkV1k14k_-R< literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/opera.png.import b/tools/configurator/assets/icons/pixelitos/16/opera.png.import new file mode 100644 index 00000000..ca6c7b43 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/opera.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dt6lscyalqlu6" +path="res://.godot/imported/opera.png-a8785d94df88079ed761f7242173087d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/opera.png" +dest_files=["res://.godot/imported/opera.png-a8785d94df88079ed761f7242173087d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png b/tools/configurator/assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png new file mode 100644 index 0000000000000000000000000000000000000000..6e56ca025c9a7050d3602d9f0134f92d5d736709 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr_~T6C_xBPRJ}h`TxK0 zr2_rw69rc@dd&_rl`i<7u;as2=FrXhtI~EbdT}ex;!UZ4u;u5WHA pW8z$4^(-I7N^x5oH^!L^4AZ7qbL>y8*adVEgQu&X%Q~loCIBMMNQeLc literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png.import b/tools/configurator/assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png.import new file mode 100644 index 00000000..176c5966 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://du7kd6j4lyvcm" +path="res://.godot/imported/org.DolphinEmu.dolphin-emu.png-7f096726fc198b4bc687ebc7db123987.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.DolphinEmu.dolphin-emu.png" +dest_files=["res://.godot/imported/org.DolphinEmu.dolphin-emu.png-7f096726fc198b4bc687ebc7db123987.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.citra_emu.citra.png b/tools/configurator/assets/icons/pixelitos/16/org.citra_emu.citra.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2f7a2019bd6ab3b02771660128c0395d978a59 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`3p`yMLo7}wr!+LZ-|6&U(t}~n zp!n=DD~ zohvRJOXd*XxUl!MfZ8IH$A&F}(>hO_=3yRC@pb literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.citra_emu.citra.png.import b/tools/configurator/assets/icons/pixelitos/16/org.citra_emu.citra.png.import new file mode 100644 index 00000000..d4acd591 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.citra_emu.citra.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://p2yjf1kb775k" +path="res://.godot/imported/org.citra_emu.citra.png-bd33ba020e6b8762ad9047d0f6fca25d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.citra_emu.citra.png" +dest_files=["res://.godot/imported/org.citra_emu.citra.png-bd33ba020e6b8762ad9047d0f6fca25d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.ArchiveManager.png b/tools/configurator/assets/icons/pixelitos/16/org.gnome.ArchiveManager.png new file mode 100644 index 0000000000000000000000000000000000000000..f94f6e1e3d571838455973240ec11f94db299eb9 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`n>}3|Lo80OoxGQ~*+9VUzT&kL z9Gb=~%mFQvlr(&2G<0z~iF2I_FlgAVmdKI;Vst0IjuR0RR91 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.ArchiveManager.png.import b/tools/configurator/assets/icons/pixelitos/16/org.gnome.ArchiveManager.png.import new file mode 100644 index 00000000..2dc9844f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.gnome.ArchiveManager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2mcmjsuuhfvn" +path="res://.godot/imported/org.gnome.ArchiveManager.png-6cc6c570f5246d7c6d7b7dfd597ed752.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.gnome.ArchiveManager.png" +dest_files=["res://.godot/imported/org.gnome.ArchiveManager.png-6cc6c570f5246d7c6d7b7dfd597ed752.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.Nautilus.png b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Nautilus.png new file mode 100644 index 0000000000000000000000000000000000000000..77e0688887bea849fc14a8f7a63a962f32f011db GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D g#cVv>%o=PAe45UVP7@b<0S#vGboFyt=akR{0Jmr>I{*Lx literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.Nautilus.png.import b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Nautilus.png.import new file mode 100644 index 00000000..caac5636 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Nautilus.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cjcfg3bcgj3t4" +path="res://.godot/imported/org.gnome.Nautilus.png-05ba453446d9169d05743a89e6cd9e9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.gnome.Nautilus.png" +dest_files=["res://.godot/imported/org.gnome.Nautilus.png-05ba453446d9169d05743a89e6cd9e9f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.Screenshot.png b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..cd86d42d51ae188b7a513917147c7c45430a572c GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ZJsWUAr`0iPPoh4pup3@e~8a_ z`GbjqF^5fK4xgRTWYB6S(X(K!y~?-N3q|qo4etGBl}%+#nA3K>&|mQ1_ccI(;o p`9I=Y)VH}F2)?b(AXwYCfl16qQ!mlmJrd|522WQ%mvv4FO#sz#NV5O{ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.Screenshot.png.import b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Screenshot.png.import new file mode 100644 index 00000000..ecf1f14f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Screenshot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3ah1cfj4gtdt" +path="res://.godot/imported/org.gnome.Screenshot.png-5f1e1cfa0ea9a14cfa44f3fb5b96f3a0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.gnome.Screenshot.png" +dest_files=["res://.godot/imported/org.gnome.Screenshot.png-5f1e1cfa0ea9a14cfa44f3fb5b96f3a0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.Yelp.png b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Yelp.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8b1912d4233c20bbea505b7685710c0811e4d4 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRaG=Lo7}&4R#c2P~Z?*=KnPC z{@UYJVzNQ)92?y7xK6L@b})G4(fPyj8duca*ONM4oQcfcHC>3|L8Bul-{c9V393uF z_D)&;Wf{wUqi8R)bJrrDSl@oiP*^Hme%t8$>EwtGW!0#x4Qmp5HvWDv>%^S*aYv%w zJLUFluD{TEA-QC!IZuVq*4POxD@y+!%E^0tzjPnN)^~n0lQs*~0iDO->FVdQ&MBb@ E0QYHCa{vGU literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.Yelp.png.import b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Yelp.png.import new file mode 100644 index 00000000..6c3d7643 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.gnome.Yelp.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dv73q6cn2f1ar" +path="res://.godot/imported/org.gnome.Yelp.png-26e7f4e6e1d31a4c9ca1b29380b9d7cc.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.gnome.Yelp.png" +dest_files=["res://.godot/imported/org.gnome.Yelp.png-26e7f4e6e1d31a4c9ca1b29380b9d7cc.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.gnome.clocks.png b/tools/configurator/assets/icons/pixelitos/16/org.gnome.clocks.png new file mode 100644 index 0000000000000000000000000000000000000000..22ee5f71b92d029e13c4fada3034f21abe590ddf GIT binary patch literal 324 zcmV-K0lWT*P)b;@5Jmqin3f8Kjv7I+cc8;^9h3{C4GmO205t3=qJTt8#|bP;TW|n6h^SHq5^suV z(C*4C=67EC{r^WZ1WRVsYpWtYAfUHm)25f*Cx4R#H&hXSJ3l|q003$^bxppu4SLNl zR|6kruuN>mCUx`Pe^SNpcn_3P0syquP|GP)b8rT75=#8TAu;SXH0y3h+^cQFT5ETl zOR^WJC?DoP5lT-!{LnhdLaG3?X6!i$fIdE}Hi*hvqW*r|4FD%r}9ZRF1kpa$TV-~Iru WiFdl17-ZG}0000?7i+ad#JjtvH~4vXA1rzwwZpS@J#+#JhhDQ*qMn;)7Q6ZZ=-13~jWMZFzAtdcG_rZlto xsY~a5Nw#>uzw=Y*@m>FtgHgw^#Vg@4!%C@O1TaS?83{1ORpB z7b3_1X@6*5?%~!EAo$no$+89o`@QlL-jo-ZT@XC!wCO>g$28~5YGU)uRvtX8rn^J@ zd17MphkNyNEuVkRt6s`>T;lw*c_E=szRg-E_%BW2x^7R?s$VQ0rb*tg{LZDAV=w3y x@29!;EXU;g(_itpozb~t!mwe&o$3b*`Q80GN+f!hi2&Wj;OXk;vd$@?2>`tbQ4RnA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.inkscape.Inkscape.png.import b/tools/configurator/assets/icons/pixelitos/16/org.inkscape.Inkscape.png.import new file mode 100644 index 00000000..166e1a2d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.inkscape.Inkscape.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bu0hbafdygr88" +path="res://.godot/imported/org.inkscape.Inkscape.png-061df928dfed8ef067b57680edcb6db5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.inkscape.Inkscape.png" +dest_files=["res://.godot/imported/org.inkscape.Inkscape.png-061df928dfed8ef067b57680edcb6db5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.mamedev.MAME.png b/tools/configurator/assets/icons/pixelitos/16/org.mamedev.MAME.png new file mode 100644 index 0000000000000000000000000000000000000000..c4c264d0c1fcc050aae7370534e34b808550d02e GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`m7Xq+Ar_~T6C@-ZG9Ui`@5TN9 z|8cc*PCaQQ8=pMwxA^vd(%*9jfWT!{8XFMINZZ5q;8Ks?IghTioQ8=)XC>keEc=P5@Oa^r*G1nbtWWttRRFBT31b8W(*^96qkNxv*vGgjAmA4^FBx YEVQ&X<$W~qC(scLp00i_>zopr0F*>Zy#N3J literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.mamedev.MAME.png.import b/tools/configurator/assets/icons/pixelitos/16/org.mamedev.MAME.png.import new file mode 100644 index 00000000..b4928423 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.mamedev.MAME.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0sqfj4pjyd2h" +path="res://.godot/imported/org.mamedev.MAME.png-037b5f3e522db848a08c11ae7dd1fc66.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.mamedev.MAME.png" +dest_files=["res://.godot/imported/org.mamedev.MAME.png-037b5f3e522db848a08c11ae7dd1fc66.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.midori_browser.Midori.png b/tools/configurator/assets/icons/pixelitos/16/org.midori_browser.Midori.png new file mode 100644 index 0000000000000000000000000000000000000000..7a9b98394fdc93a1f1e9f3181e20f686db26bfc5 GIT binary patch literal 205 zcmeAS@N?(olHy`uVBq!ia0vp^d_XL~!3HGNrubO_sVSZ=jv*T7rv@M7J)pp0;~~4i zQ~ZTd>L(AD4hSmXrfpAK!A^P+w13>l#}o?m<(=07dLUiMuG zo8wbYp|{JK8A4eY{)C78^krImtzA;};#@Cl?>lOOQrFneYyX#8v-NwVMyH9+FP}AM zw^q&7y%Z(jKHqb9?Xl|M73Ws8&YFDUm*BJwHqqOShaA5OXpUX43hgaxwSG^Mv33KOWZ?F;t7$ zmVDVJ+mD;so?Y5Y!C3Hd_>43*AefXO5L)pt5o_vMuwv~nDQ_>TF;Kt7X59`HZ zq!MQpMs6tn@7&gJUuS6aklW=6!{KF;*%B7FP8|qdymYDR^W*aSB`ybLNtC^-?^q}~ zZ-Psu#eeHtrxr-GtP=<~dF0FfBC%nek&h7Hiu44$rjF6*2UngFwlb7%kn literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.openmw.OpenMW.png.import b/tools/configurator/assets/icons/pixelitos/16/org.openmw.OpenMW.png.import new file mode 100644 index 00000000..79174227 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.openmw.OpenMW.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://nha16jes77rx" +path="res://.godot/imported/org.openmw.OpenMW.png-f946f9c0c3ef7270ff1cc454a3821115.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.openmw.OpenMW.png" +dest_files=["res://.godot/imported/org.openmw.OpenMW.png-f946f9c0c3ef7270ff1cc454a3821115.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.openttd.OpenTTD.png b/tools/configurator/assets/icons/pixelitos/16/org.openttd.OpenTTD.png new file mode 100644 index 0000000000000000000000000000000000000000..ed5fd37ad424434f4f4911055f2a16fba0acf3d4 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD6!kq z#WBR9ckN_dzC#WIZufI$v9&%D`WnHyE5Qgt3RVW1SFuTkylg*x|^Hufh^DNa^g6%sXP)KeD$mp(Ofn>kyrMcdH|6h(=TJ7LL!oM|o;t5rOEFIgFpW|gpve0GDB>F_0eT#L1t7_= z&~wOgeeQKy0DxdLLAg+A>`vQ-*g>^chiQ~x8pWit&xzv<0OdlZxjSta-L{QL)3Mnf zk=JvW&*t(7N##2P_ioP7rc{iL?tDLPi z98VE?4%zO2VrU=+2r()5AkyTksn>t)f|Y>H{`i}Tmh00EaQF?t#2_Z+@5|~6!Ea_w T_L$xa00000NkvXXu0mjf?Ld!j literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.ppsspp.PPSSPP_.png.import b/tools/configurator/assets/icons/pixelitos/16/org.ppsspp.PPSSPP_.png.import new file mode 100644 index 00000000..ff5715ea --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.ppsspp.PPSSPP_.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://buu8rqln4qdfu" +path="res://.godot/imported/org.ppsspp.PPSSPP_.png-70c5a5a3a41e36f238abf53cfa0a2789.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.ppsspp.PPSSPP_.png" +dest_files=["res://.godot/imported/org.ppsspp.PPSSPP_.png-70c5a5a3a41e36f238abf53cfa0a2789.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png b/tools/configurator/assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png new file mode 100644 index 0000000000000000000000000000000000000000..7998042cd46649a6da9e6e4bbb6f609c0cf9b825 GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKVAS+8}>|HJ_x_)wj6tey=B+?-}jjAgjo!xJG_b~kB) ze(>Q59>%lS6VJ2;@K4eJShv_;Rp z$DC*1os+H)jTe6S_dk6{-A^OGv;1;42Y8rsxDwkkUcGvBrQ^)uZaf#UBqm!dLI+|S{KNYt(Fe&kycmBZ1)29s- zi*=cS;IOPPvq)v_=WGGy4Vi6>s^>f`r0+6-Jpm%(s~`VABGHg{;hLDZn;KA{?JWCw oqe(&qTIqTQIk|<2pg>??NREnCN`2?m2@E?1Pgg&ebxsLQ0LH3}J^%m! literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png.import b/tools/configurator/assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png.import new file mode 100644 index 00000000..5ccdabc6 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvr0vqplyynln" +path="res://.godot/imported/org.prismlauncher.PrismLauncher.png-07e164a314679fe4b0835f9ae129f321.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.prismlauncher.PrismLauncher.png" +dest_files=["res://.godot/imported/org.prismlauncher.PrismLauncher.png-07e164a314679fe4b0835f9ae129f321.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.rnd2.cpupower-gui.png b/tools/configurator/assets/icons/pixelitos/16/org.rnd2.cpupower-gui.png new file mode 100644 index 0000000000000000000000000000000000000000..99ddb5e1cccee4cad752ae4812bd461832c87a14 GIT binary patch literal 276 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^5;? z#WBR9_w3|@oDBv%uJPRu4yxX95t(yj=Ny-SJ4aM)DlRp%Bt-|VX8*rb^JnJ2{3zyt zZC|}u+Ljp~(|y-HCu`1&ZkY!HuWL>H7;elscZuUb@CT7jJKq%Dw=ycrecMid*O?B>Ar`0iPTa_Qz<`5A{@MwR znTNNg7r(W%>AKFbaznrpm9`T<+uH2q7Hw%9Lxz5h%~(}li?F-ctu90W|6{{ z_4e%_RvH@$uwD?K;`n+)O1gnm;xaLnyx_D0yF1VNxC>?&d$*j?JGlIz%C`NV`cHo; boST3Bxx?!J3wdS(-N4}K>gTe~DWM4f+s#5k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.about.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.about.png.import new file mode 100644 index 00000000..418cc8a8 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.about.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwcp67onjq824" +path="res://.godot/imported/org.xfce.about.png-a66c7b7f85a744d1c11fb5851ea8a62a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.about.png" +dest_files=["res://.godot/imported/org.xfce.about.png-a66c7b7f85a744d1c11fb5851ea8a62a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.appfinder.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.appfinder.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1d91fc8f64fc124668eeeb62c5c29a44deab86 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C{U~wRs}EE x-pZ5IoU@?i!6~We2}?C2eDByVyIWkx@W{e(!os-hDxkv{JYD@<);T3K0RTItO6mXr literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.appfinder.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.appfinder.png.import new file mode 100644 index 00000000..8bdf189b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.appfinder.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cf5ny8suf3skw" +path="res://.godot/imported/org.xfce.appfinder.png-36a7fb2a29275e01504d402474117897.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.appfinder.png" +dest_files=["res://.godot/imported/org.xfce.appfinder.png-36a7fb2a29275e01504d402474117897.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.filemanager.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.filemanager.png new file mode 100644 index 0000000000000000000000000000000000000000..77e0688887bea849fc14a8f7a63a962f32f011db GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D g#cVv>%o=PAe45UVP7@b<0S#vGboFyt=akR{0Jmr>I{*Lx literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.filemanager.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.filemanager.png.import new file mode 100644 index 00000000..f5b8ada8 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.filemanager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://co37mhpomsm5k" +path="res://.godot/imported/org.xfce.filemanager.png-30b6aa56ac2e2a09e9be7eb060fb0f33.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.filemanager.png" +dest_files=["res://.godot/imported/org.xfce.filemanager.png-30b6aa56ac2e2a09e9be7eb060fb0f33.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.garcon.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.garcon.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c05361ff8207f83c8973b92be9b738d75ffc93 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%N5~Y4&}G*C)%XLDuijzD=?J6P(b{Z@pKdTVwA#wGZAv%NRUe{an^LB{Ts5 D|2#S~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.garcon.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.garcon.png.import new file mode 100644 index 00000000..77a2c2f9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.garcon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2gcl1s3kkq3w" +path="res://.godot/imported/org.xfce.garcon.png-c11059a9935d671a8b40787df039cd86.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.garcon.png" +dest_files=["res://.godot/imported/org.xfce.garcon.png-c11059a9935d671a8b40787df039cd86.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.mailreader.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.mailreader.png new file mode 100644 index 0000000000000000000000000000000000000000..9533dc874c364eb49891d25d875f828bf44c3f01 GIT binary patch literal 249 zcmVqfl41v>g&2#)B-O$D z;{xzsxI2k%SXj^|vLdjJ3;@iRkzn@!k*l62afL#!P#j#R00000NkvXXu0mjf^fh7P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.mailreader.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.mailreader.png.import new file mode 100644 index 00000000..9f05cd98 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.mailreader.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqokc3afgdgwl" +path="res://.godot/imported/org.xfce.mailreader.png-acdb445240e7da3bdb5f5993993bd450.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.mailreader.png" +dest_files=["res://.godot/imported/org.xfce.mailreader.png-acdb445240e7da3bdb5f5993993bd450.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.notification.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.notification.png new file mode 100644 index 0000000000000000000000000000000000000000..15912542ed6da8a00e82857580ec0d7209540991 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr_~TQyiG~t={*~{aHTW zK4IuuJkg3x#-<{mA%s(tnH7$y1jRLR8-G lH(_4iDRw?~+4|Ri7?QL7S06NL3Hw%9Lxz5h%~(}li?F-ctu90W|6{{ z_4e%_RvH@$uwD?K;`n+)O1gnm;xaLnyx_D0yF1VNxC>?&d$*j?JGlIz%C`NV`cHo; boST3Bxx?!J3wdS(-N4}K>gTe~DWM4f+s#5k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.applicationsmenu.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.applicationsmenu.png.import new file mode 100644 index 00000000..9cc79aa4 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.applicationsmenu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dv1a1fj4w55jp" +path="res://.godot/imported/org.xfce.panel.applicationsmenu.png-2581cc5e977993815757389dd480e611.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.panel.applicationsmenu.png" +dest_files=["res://.godot/imported/org.xfce.panel.applicationsmenu.png-2581cc5e977993815757389dd480e611.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.png new file mode 100644 index 0000000000000000000000000000000000000000..6c71f919d4aa8f6fb0bdad6272d52c469e702f4f GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1sR&OO#}JM4$xp0){Hw%9Lxz5h%~(}li?F-ctu90W|6{{ z_4e%_RvH@$uwD?K;`n+)O1gnm;xaLnyx_D0yF1VNxC>?&d$*j?JGlIz%C`NV`cHo; boST3Bxx?!J3wdS(-N4}K>gTe~DWM4f+s#5k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.whiskermenu.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.whiskermenu.png.import new file mode 100644 index 00000000..6433ff1b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.whiskermenu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://o66g0htjj5yy" +path="res://.godot/imported/org.xfce.panel.whiskermenu.png-51446df856ff13f503b581f007d98ee4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.panel.whiskermenu.png" +dest_files=["res://.godot/imported/org.xfce.panel.whiskermenu.png-51446df856ff13f503b581f007d98ee4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png new file mode 100644 index 0000000000000000000000000000000000000000..b9c05361ff8207f83c8973b92be9b738d75ffc93 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%N5~Y4&}G*C)%XLDuijzD=?J6P(b{Z@pKdTVwA#wGZAv%NRUe{an^LB{Ts5 D|2#S~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png.import new file mode 100644 index 00000000..8f804c77 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6hu6nwnodggt" +path="res://.godot/imported/org.xfce.panel.windowmenu.png-02cd501fdab8fb1160560157990e5107.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.panel.windowmenu.png" +dest_files=["res://.godot/imported/org.xfce.panel.windowmenu.png-02cd501fdab8fb1160560157990e5107.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.powermanager.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.powermanager.png new file mode 100644 index 0000000000000000000000000000000000000000..035ae5ef731d1d1a58f9ed5d203d0ed3f572b449 GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)1|-ie{%Q%Nd_7$pLp07Or#LXx*4F-)ENED? zNXboN_Qb}<#)J3o%P&tV*--e{&CM;y}{ zI{X)2S$Dk0LNwV}Fp|0Jk-Go91dVAECpNB5JhUtz?VA1?HiN_&ETJ817?(d%&&<&< zi95POmlfXr9&M!M(gY z++iqSI=%o)uPA{S#L1n7@{VPLWgYcc|2$EHd-tK=cI)@gKqWrAQvkqZ=_^eL0II~r zIisKSUI0L*;|u)Bc)mAC^6GFDqHt7jeYWiv{0268<)r%;tS@a#z5eF4Y* VQA60bf35%k002ovPDHLkV1nwca*+T4 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.accessibility.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.accessibility.png.import new file mode 100644 index 00000000..60e485c3 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.accessibility.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbistoey5xott" +path="res://.godot/imported/org.xfce.settings.accessibility.png-93533fa194363a020734ae40cd0051d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.settings.accessibility.png" +dest_files=["res://.godot/imported/org.xfce.settings.accessibility.png-93533fa194363a020734ae40cd0051d3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.appearance.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.appearance.png new file mode 100644 index 0000000000000000000000000000000000000000..31f776b42c6e5407b5950946fe5364d166da993c GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr_~TuUxvRWSMpJb83dG<>Lnxsr7SY$@QDBT@{nQ9*~cH4&iz}|k+6OL-$Mt0 zpkPhB&?D9&lf^BJmb2pPESn7)V$N#lDYzSVF)qpCvpC)k5|D^f2n7q2{g}{#B=96- dnO7PUL$!a!=i^evwLq6Kc)I$ztaD0e0sxu0OE&-j literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.appearance.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.appearance.png.import new file mode 100644 index 00000000..3c9b6f0d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.appearance.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bia24qoyb6qcx" +path="res://.godot/imported/org.xfce.settings.appearance.png-661546795fae00496f33c54a947a3956.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.settings.appearance.png" +dest_files=["res://.godot/imported/org.xfce.settings.appearance.png-661546795fae00496f33c54a947a3956.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.color.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.color.png new file mode 100644 index 0000000000000000000000000000000000000000..d6de244566221c9649d79bc683f1e4832bb8e9c7 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-dusTZCujv*T7lT!{bimBHA;7>k& zRyg6vvbKp6+-leku>LbPFfcMQ_;Y-jAe)&)ZBhadL`+vc&T;*Zh6cyFhYbg8)<|7A zxJ$;;O)aH&Ny7ro{(r^~gBwnVNgTNF=7VBq#_h-roK`g+O}}I39A|O<_jI~3&uc52 z7Rmd*n|}R&+Q3q_SXkcx1h(w|+oWh}`%hK)@ovws|B@0C5*K(M6jmHO00bXgKeGBU zM_dq{%=Dqn>`WLN8(W)KqTC}>#JiErsQ-!=-aS*Df`qX zJ_|J3T`$buJ;@=k?61S=Jsdx$I*HFb`Pjns=R}se&H~Y=^|ODJ%2$bJvTw4xc&&M6 b#@)N8HJt^QGnZckx`Dyd)z4*}Q$iB}A45Xn literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.default-applications.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.default-applications.png.import new file mode 100644 index 00000000..ba10ed12 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.default-applications.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvhekbcxjlry5" +path="res://.godot/imported/org.xfce.settings.default-applications.png-87df4cde2b5b850345969bc64e9a5871.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.settings.default-applications.png" +dest_files=["res://.godot/imported/org.xfce.settings.default-applications.png-87df4cde2b5b850345969bc64e9a5871.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.display.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.display.png new file mode 100644 index 0000000000000000000000000000000000000000..ce878051949174fb587c24b446f8ad7c1a547190 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Zk{fVAr_~TdwP2QoOfVMNK8mb z*irUYDstA=En6gJNNBJuX6uo15M_=?@GLqIbD+a_!-^Fg*?ezbzfL~#inT;RS=o6D aH^XCgE=HLH2ikxpGI+ZBxvXIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.editor.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.editor.png.import new file mode 100644 index 00000000..e7e6e16b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.editor.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ed28akply7xg" +path="res://.godot/imported/org.xfce.settings.editor.png-6f68cd2db2d317f318d3f169cd8bad38.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.settings.editor.png" +dest_files=["res://.godot/imported/org.xfce.settings.editor.png-6f68cd2db2d317f318d3f169cd8bad38.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.keyboard.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.keyboard.png new file mode 100644 index 0000000000000000000000000000000000000000..2a577eb2850c1a79aa7ebf355cb4945d0c418aa2 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!3HGD9`RZNsbEhR#}JM4$tej52_L?H|9{?r z?Z%EmWo6}^vmPF}fB*mg$?E?94rj#V#3cFfh%j~SWhg&*Wo5ABGQYW8>B7owNe3D# p8(D91FKKx5CP%BX@zN9y2ANg9u9`LLX9A69@O1TaS?83{1OSVfGX?+v literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.keyboard.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.keyboard.png.import new file mode 100644 index 00000000..14aaa8b3 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.keyboard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2ytuk3nolulh" +path="res://.godot/imported/org.xfce.settings.keyboard.png-223c26df080ab222223ebd7610051880.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.settings.keyboard.png" +dest_files=["res://.godot/imported/org.xfce.settings.keyboard.png-223c26df080ab222223ebd7610051880.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.manager.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.manager.png new file mode 100644 index 0000000000000000000000000000000000000000..f007d74a45da5edd2dea8407bc6893dca568278e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar`0C23ztSP~a&J*q&Fz z^6!7w4^^MJFE4p%umpIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.manager.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.manager.png.import new file mode 100644 index 00000000..92aa2cc7 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.manager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsqn3ch8h3nne" +path="res://.godot/imported/org.xfce.settings.manager.png-0f2f007fbda2297afc3fd07e4f4cb773.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.settings.manager.png" +dest_files=["res://.godot/imported/org.xfce.settings.manager.png-0f2f007fbda2297afc3fd07e4f4cb773.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.mouse.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.settings.mouse.png new file mode 100644 index 0000000000000000000000000000000000000000..f22eaccaaac2140095a22234f933d03e11c4eac1 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^AT~b-8<4#FKaLMbWq7(chG?9>+P{(afC3N8c@3e^ zBVHv_cn)UiJec%yj+#iJNUM_Xx+?GQm!d6BTHZcmcuZ0*i~hK8uuLJAoZi{JHU)p;AL&5aV6_;kK}^pDhue~v$~ea>xP WXSCgyb^kk{{S2P2elF{r5}E)Cr9XNA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal-settings.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal-settings.png.import new file mode 100644 index 00000000..0a725418 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal-settings.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b870j1m7iegvv" +path="res://.godot/imported/org.xfce.terminal-settings.png-5fc70e4f55fce672952233170ee9f96e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.terminal-settings.png" +dest_files=["res://.godot/imported/org.xfce.terminal-settings.png-5fc70e4f55fce672952233170ee9f96e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8a1c2b1a7a9d22ad056db184ca045dadbcbda9 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr_~PPQJ)_K!L|a|7dNA z$w5~cT|SXp^W8+EE-bn5o9mFRzKY_VF2i{@0*i~hK8uuLJAoZi{JHU)p;AL&5aV6_;kK}^pDhue~v$~ea>xP WXSCgyb^kk{{S2P2elF{r5}E)Cr9XNA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal.png.import new file mode 100644 index 00000000..dc29536e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpykpi6o2og2r" +path="res://.godot/imported/org.xfce.terminal.png-45f9db63c63ff7830cbc6c476d27ebac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.terminal.png" +dest_files=["res://.godot/imported/org.xfce.terminal.png-45f9db63c63ff7830cbc6c476d27ebac.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminalemulator.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminalemulator.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8a1c2b1a7a9d22ad056db184ca045dadbcbda9 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr_~PPQJ)_K!L|a|7dNA z$w5~cT|SXp^W8+EE-bn5o9mFRzKY_VF2i{@0*i~hK8uuLJAoZi{JHU)p;AL&5aV6_;kK}^pDhue~v$~ea>xP WXSCgyb^kk{{S2P2elF{r5}E)Cr9XNA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminalemulator.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminalemulator.png.import new file mode 100644 index 00000000..9321f1e6 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.terminalemulator.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bqfyk1uusseue" +path="res://.godot/imported/org.xfce.terminalemulator.png-f28e77455486c9acdefe66205820681e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.terminalemulator.png" +dest_files=["res://.godot/imported/org.xfce.terminalemulator.png-f28e77455486c9acdefe66205820681e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.thunar.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.thunar.png new file mode 100644 index 0000000000000000000000000000000000000000..77e0688887bea849fc14a8f7a63a962f32f011db GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D g#cVv>%o=PAe45UVP7@b<0S#vGboFyt=akR{0Jmr>I{*Lx literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.thunar.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.thunar.png.import new file mode 100644 index 00000000..0f12e979 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.thunar.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bt40bcd4q1cge" +path="res://.godot/imported/org.xfce.thunar.png-7acd5f7299ecf650849cb5d3ee5798ab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.thunar.png" +dest_files=["res://.godot/imported/org.xfce.thunar.png-7acd5f7299ecf650849cb5d3ee5798ab.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.tumbler.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.tumbler.png new file mode 100644 index 0000000000000000000000000000000000000000..0bdbb16cacfa166070b18a1b58b45b73990171f3 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ii4<#Ar_~TuUx=Jnq4Ud0gsoi6PHMA^bpq<=xJSlRq=^5!)2dUiV=GoPEYv0 zj_Zi}5}=?4+d-4X(oO~f`@`B3GMt_Xi*o0rsZDv#8q;RLSCPlU5U-}-ClT%$544xT M)78&qol`;+0I<(E`~Uy| literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.tumbler.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.tumbler.png.import new file mode 100644 index 00000000..af12e56d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.tumbler.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn76eg7lrk667" +path="res://.godot/imported/org.xfce.tumbler.png-c8f9d08654760a6cd9b5fdeb937418fe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.tumbler.png" +dest_files=["res://.godot/imported/org.xfce.tumbler.png-c8f9d08654760a6cd9b5fdeb937418fe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.volman.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.volman.png new file mode 100644 index 0000000000000000000000000000000000000000..83c09b8eb0b2c407479ad45ea8ed1e71a5debae8 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar_~TQw}io$y$G#&&a-E z)21YsXT}eMcI4bNYD+ymEpfv|MnC2b)}AR hrfrIK@Gxcu0)~t71`)B2(?M=x@O1TaS?83{1OWdCLiGRu literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.volman.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.volman.png.import new file mode 100644 index 00000000..8153ddf9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.volman.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbtod0i0xmq0n" +path="res://.godot/imported/org.xfce.volman.png-f046606d234aea49999cd1321103be66.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.volman.png" +dest_files=["res://.godot/imported/org.xfce.volman.png-f046606d234aea49999cd1321103be66.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.webbrowser.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.webbrowser.png new file mode 100644 index 0000000000000000000000000000000000000000..88f0a50db4554509610dc3cfe89d1490ee15f06e GIT binary patch literal 229 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ydl>XLo80u4c;ht$bjdMdDhE_ z4n-q3sTC&}N<0rs@Eo)fd3hzv*EH7a7ObRz#(c^f6(cq#XI=lo6ot6~@!K0CaM z(VUwn`S`s_VsC`-Mz+PPaw3%kx%aT@aNG5VcZsj)y=&yAzagjK0wceLaD~T~sAU%; zit_^}a_Wfc?&YkW`fc8^qQl#&5?9V-H)3e`&|I&}aNu{@g7TS{wAf`cCdNPOs=Rnz dK6~v6@x=%HnF2pN2>`mA!PC{xWt~$(695xZSa$#b literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.webbrowser.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.webbrowser.png.import new file mode 100644 index 00000000..9dd6b64c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.webbrowser.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgqe4crqoksyx" +path="res://.godot/imported/org.xfce.webbrowser.png-e4b5b9c513e65d1ea17c40a54e9c8257.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.webbrowser.png" +dest_files=["res://.godot/imported/org.xfce.webbrowser.png-e4b5b9c513e65d1ea17c40a54e9c8257.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.workspaces.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.workspaces.png new file mode 100644 index 0000000000000000000000000000000000000000..a03ea0be4c4881dee87b58f70ba0295e18f9ebc4 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr`0KPB7$aP~c%$f8=8L zg@YFz>t4Q-=2@RG-TvVs>1!;HkM;V#zZ9~g!%$4C;(d0q69>}+otsL}V;G+J*6n(5 z?BhhahD6`VJ2&Vj*FSpSm^^!FXjo_=gRWqxXoGOmHxc7UGeVXCEo1O>^>bP0l+XkK D$L=~s literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.workspaces.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.workspaces.png.import new file mode 100644 index 00000000..7c23aed1 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.workspaces.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://wpjwggxb0xpi" +path="res://.godot/imported/org.xfce.workspaces.png-936b0a43d7ba97967317c303793ead6b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.workspaces.png" +dest_files=["res://.godot/imported/org.xfce.workspaces.png-936b0a43d7ba97967317c303793ead6b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfdesktop.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfdesktop.png new file mode 100644 index 0000000000000000000000000000000000000000..7c519310a9572715e96ad2247d93df475788b1e2 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`v7RoDAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D w#cToEQj!u95@K84t9T|mEwwIIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4-tweaks.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4-tweaks.png.import new file mode 100644 index 00000000..101e0008 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4-tweaks.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cb1dsanh76hp2" +path="res://.godot/imported/org.xfce.xfwm4-tweaks.png-4edef579d9857d639b79a675ac20d192.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.xfwm4-tweaks.png" +dest_files=["res://.godot/imported/org.xfce.xfwm4-tweaks.png-4edef579d9857d639b79a675ac20d192.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4.png b/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4.png new file mode 100644 index 0000000000000000000000000000000000000000..004f34cd16670406ab0cd518d838a0a611c12103 GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`L7py-Ar_~TuUxU_Dmx^OLHl)X}3yS3YhE lWNvF^)Oo?#{7#R7VUGa+p2rn&X+YB%JYD@<);T3K0RX_YFgE}I literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4.png.import b/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4.png.import new file mode 100644 index 00000000..0c9ca2be --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.xfce.xfwm4.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbdx1hyg82dti" +path="res://.godot/imported/org.xfce.xfwm4.png-4e660e6b97cc24b183beeb11a27f5f24.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.xfce.xfwm4.png" +dest_files=["res://.godot/imported/org.xfce.xfwm4.png-4e660e6b97cc24b183beeb11a27f5f24.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png b/tools/configurator/assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png new file mode 100644 index 0000000000000000000000000000000000000000..5494bbaf37cd41260faf810aedc17fed8e9f2bbe GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr_~XPC6*aAjsn?{CEkA zsK%k#v+ueB8iisuFFz9@y*u&$*#}3z+czjom)?1YLuAuuSBtAQq1?ug7peDOQtWEf zV2fhfa#>}<&spaV1qph)vUQ4?B%Lr!*iy{=#>Haap^QJPlWjCFDYN?aPS^bMBrv=E s|3R=2$grRi_55<>&`l&S7*kKXOR0dy0Cr>mdKI;Vst0Cp)$-~a#s literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png.import b/tools/configurator/assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png.import new file mode 100644 index 00000000..b78fc8ca --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1hjps1wpnsvt" +path="res://.godot/imported/org.yuzu_emu.yuzu.png-d516bd818951c54eb7ddfa9b4e248b45.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.yuzu_emu.yuzu.png" +dest_files=["res://.godot/imported/org.yuzu_emu.yuzu.png-d516bd818951c54eb7ddfa9b4e248b45.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.zdoom.GZDoom.png b/tools/configurator/assets/icons/pixelitos/16/org.zdoom.GZDoom.png new file mode 100644 index 0000000000000000000000000000000000000000..0cf56591990a7f1124850b53783eac6d10b203c7 GIT binary patch literal 216 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`^F3W0Lo7}wr!+8G&i?kFN2S5t zT}x6@0tilC?8)I!-Z?9=p|!EGQStI@o3od?Kjvwe2V>0Bcb3sUre&3K~JrxUYI8ZkUmnqeM!VQ!pkxAMUa z2F3mdKI;Vst E00Q_;EC2ui literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/org.zdoom.GZDoom.png.import b/tools/configurator/assets/icons/pixelitos/16/org.zdoom.GZDoom.png.import new file mode 100644 index 00000000..2fbed2be --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/org.zdoom.GZDoom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgejbfwthuvpk" +path="res://.godot/imported/org.zdoom.GZDoom.png-28bc1e29b0bfbb21d25aaa8763b86d02.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/org.zdoom.GZDoom.png" +dest_files=["res://.godot/imported/org.zdoom.GZDoom.png-28bc1e29b0bfbb21d25aaa8763b86d02.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/oricutron.png b/tools/configurator/assets/icons/pixelitos/16/oricutron.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c724eaaa39638a52ee3b90c728d7913eb9c1ca GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^5m) z#WBR9cWJPtP=f+bjLc6a)}Q|`FL=N$c1t4U&J4*rU5wupI2jp=&RMGkWb-CYTN81- zH>j)D`q;iHQy3Ud^ZYb+EEm|>5?w8qCtWa4zrf+7c>rUn{K;Q=;SE=tCi*fy%WLH3 z5e+Y&_U0n1;6m5m8Sf0({f@qOThH?4?6D6SN}ea@GxOUvURC2~{PBG*f5>bTy+wT9 RPl0Y@@O1TaS?83{1ONc}Te<)M literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/oricutron.png.import b/tools/configurator/assets/icons/pixelitos/16/oricutron.png.import new file mode 100644 index 00000000..dadf1e9b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/oricutron.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dae2syr0t3xf7" +path="res://.godot/imported/oricutron.png-41a6bab6a207b41204a0fe50d3cf1826.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/oricutron.png" +dest_files=["res://.godot/imported/oricutron.png-41a6bab6a207b41204a0fe50d3cf1826.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/pcsxr-icon.png b/tools/configurator/assets/icons/pixelitos/16/pcsxr-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f1af0b570abd267fd7b4976ae2eff743271f74c7 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!3HGD9`RZNsd7&j#}JM4$tey@udl8B&7aK9 z%4#U2e7wV#(U2jHL)miHMBYS|aAO_=#bPOGY0j)0`eB`S8D^xFNXFVdQ&MBb@079!cE&u=k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/pcsxr-icon.png.import b/tools/configurator/assets/icons/pixelitos/16/pcsxr-icon.png.import new file mode 100644 index 00000000..b90a3ebb --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/pcsxr-icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://01728drco4o4" +path="res://.godot/imported/pcsxr-icon.png-8917afafc3f1e660bd5c0e50da790609.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/pcsxr-icon.png" +dest_files=["res://.godot/imported/pcsxr-icon.png-8917afafc3f1e660bd5c0e50da790609.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/picom.png b/tools/configurator/assets/icons/pixelitos/16/picom.png new file mode 100644 index 0000000000000000000000000000000000000000..76349c4c3586802793c2e86ff99548784d60a25b GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar`0CPTt7ZY#`wLcTrAB z(&PX3eZ6`mYa<<;6rWxZ$nQ*=dw%0Z{u|$Z@&r^*|03WrS--`JQ&7=qUF^PRKc{W+ z3%2JsGPo7D$kR0Szzo&BjVZr>PyanZ<>!Y3ym34F*~{zWs{)?2)_#8`bE9m&#`aYY mro48%r2fiz?L?ckpV`uu+DUsVF5L}u4TGnvpUXO@geCw$B~5Jr literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/picom.png.import b/tools/configurator/assets/icons/pixelitos/16/picom.png.import new file mode 100644 index 00000000..c4daf96e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/picom.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c4sgwyv0jbsu1" +path="res://.godot/imported/picom.png-ef1986fc454441d1a642b5b06966273c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/picom.png" +dest_files=["res://.godot/imported/picom.png-ef1986fc454441d1a642b5b06966273c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/plasma-search.png b/tools/configurator/assets/icons/pixelitos/16/plasma-search.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1d91fc8f64fc124668eeeb62c5c29a44deab86 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C{U~wRs}EE x-pZ5IoU@?i!6~We2}?C2eDByVyIWkx@W{e(!os-hDxkv{JYD@<);T3K0RTItO6mXr literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/plasma-search.png.import b/tools/configurator/assets/icons/pixelitos/16/plasma-search.png.import new file mode 100644 index 00000000..d34276dc --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/plasma-search.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d4cxjx6r5p8nh" +path="res://.godot/imported/plasma-search.png-735378940b6c67d3137d3d624dba6562.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/plasma-search.png" +dest_files=["res://.godot/imported/plasma-search.png-735378940b6c67d3137d3d624dba6562.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/plasma.png b/tools/configurator/assets/icons/pixelitos/16/plasma.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0d2d4c0319a635b63f5dfe240eb77c721a2740 GIT binary patch literal 301 zcmV+|0n+}7P)pHMhv(~GAo?jQde zk|uM~^Aq<4fca(JoQ-k$8bKv`7@Rry<}RDFCW_9+p6udI{9(G03$RtgBIjD9C!4(u z8{?95uEjJJXBjL^P&g*=z60CyIy18{0BG!1wVeUrkR(!gltrIC5W#HOo`(fJAbks# z>ng1>0Boy1Mp;DMB_7k1R0V3d^BRAp5t%#zZ3A45e|S&&00000NkvXXu0mjfH@ba1 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/plasma.png.import b/tools/configurator/assets/icons/pixelitos/16/plasma.png.import new file mode 100644 index 00000000..bec06136 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/plasma.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://7mfq1ri1aqmp" +path="res://.godot/imported/plasma.png-c6018396c6be27623a15d265e28c380e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/plasma.png" +dest_files=["res://.godot/imported/plasma.png-c6018396c6be27623a15d265e28c380e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/plasmashell.png b/tools/configurator/assets/icons/pixelitos/16/plasmashell.png new file mode 100644 index 0000000000000000000000000000000000000000..6c0d2d4c0319a635b63f5dfe240eb77c721a2740 GIT binary patch literal 301 zcmV+|0n+}7P)pHMhv(~GAo?jQde zk|uM~^Aq<4fca(JoQ-k$8bKv`7@Rry<}RDFCW_9+p6udI{9(G03$RtgBIjD9C!4(u z8{?95uEjJJXBjL^P&g*=z60CyIy18{0BG!1wVeUrkR(!gltrIC5W#HOo`(fJAbks# z>ng1>0Boy1Mp;DMB_7k1R0V3d^BRAp5t%#zZ3A45e|S&&00000NkvXXu0mjfH@ba1 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/plasmashell.png.import b/tools/configurator/assets/icons/pixelitos/16/plasmashell.png.import new file mode 100644 index 00000000..af9733e1 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/plasmashell.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c14vif2ujrpah" +path="res://.godot/imported/plasmashell.png-2087bea5d0258667796a94afc624b5a9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/plasmashell.png" +dest_files=["res://.godot/imported/plasmashell.png-2087bea5d0258667796a94afc624b5a9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/playonlinux.png b/tools/configurator/assets/icons/pixelitos/16/playonlinux.png new file mode 100644 index 0000000000000000000000000000000000000000..bb0889fece9d0877bd65709ffce1c81627a6d90b GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Gdx`!Lo7}wrzkM|V_)^BeWT>{ z`-v{o-32GiJob5hV`Jk(&uijtC1*8eP2fp#y54h6?TMCJlF0+(7S8ERNxZ2_$IG4+ zBrI|+Wbo(y@=yQ&+j&SB2z`2=%***_-9e5$H!3ySZ2fYS&oPwr9+5ia;$a+j zd+s{}Bf-@I>$&IY_$8?vFPoB~lESe`JK#pdWW%5t0!9)H_x{={@3j1J8|X#`Pgg&e IbxsLQ0O0;mw*UYD literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/playonlinux.png.import b/tools/configurator/assets/icons/pixelitos/16/playonlinux.png.import new file mode 100644 index 00000000..ac872f30 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/playonlinux.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c72he282v60dh" +path="res://.godot/imported/playonlinux.png-0efbe94457ea618be9c7219d1f75d693.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/playonlinux.png" +dest_files=["res://.godot/imported/playonlinux.png-0efbe94457ea618be9c7219d1f75d693.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/portal2.png b/tools/configurator/assets/icons/pixelitos/16/portal2.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a067b312a3a3eb91356db4e34a4600d40731b9 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^5~` z#WBR9ckbk~ybTIGt@1~@wKoWHY72&CJ@Se@xHzsQ!Exai7moL@7u&P>TRhj(Xqw5( zaAV>RANTKe*=x);x8!W@&sMMg@-&9Q78(zby1~`cfzTI(!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~?Ho z#WBR9H#sFCA;BZ2@Vh;;WI|nwk+Sm6S&0ptu?c6d(oInjJdGB-4(1$^ z2}_uR7;VJT3Z_n4V)!`Pd==vpCb68R9Wl(CMI{5?FuAd@o!Vr~urkNb#$QZbALt(j MPgg&ebxsLQ05tYy$^ZZW literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/portmaster.png.import b/tools/configurator/assets/icons/pixelitos/16/portmaster.png.import new file mode 100644 index 00000000..1b36f3bb --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/portmaster.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk752lj5kwueq" +path="res://.godot/imported/portmaster.png-c092ba49485bf5f8fca6713d5a7dcf77.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/portmaster.png" +dest_files=["res://.godot/imported/portmaster.png-c092ba49485bf5f8fca6713d5a7dcf77.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-accessibility.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-accessibility.png new file mode 100644 index 0000000000000000000000000000000000000000..71112dbc67acbe0d3f25c7930b32c2cef1805236 GIT binary patch literal 271 zcmV+q0r38bP)mlfXr9&M!M(gY z++iqSI=%o)uPA{S#L1n7@{VPLWgYcc|2$EHd-tK=cI)@gKqWrAQvkqZ=_^eL0II~r zIisKSUI0L*;|u)Bc)mAC^6GFDqHt7jeYWiv{0268<)r%;tS@a#z5eF4Y* VQA60bf35%k002ovPDHLkV1nwca*+T4 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-accessibility.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-accessibility.png.import new file mode 100644 index 00000000..5cbf3e1f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-accessibility.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c35qwkfw3scqc" +path="res://.godot/imported/preferences-desktop-accessibility.png-75273d2d7bc377d62114b17b779c0ea8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-accessibility.png" +dest_files=["res://.godot/imported/preferences-desktop-accessibility.png-75273d2d7bc377d62114b17b779c0ea8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-activities.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-activities.png new file mode 100644 index 0000000000000000000000000000000000000000..a03ea0be4c4881dee87b58f70ba0295e18f9ebc4 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`iJmTwAr`0KPB7$aP~c%$f8=8L zg@YFz>t4Q-=2@RG-TvVs>1!;HkM;V#zZ9~g!%$4C;(d0q69>}+otsL}V;G+J*6n(5 z?BhhahD6`VJ2&Vj*FSpSm^^!FXjo_=gRWqxXoGOmHxc7UGeVXCEo1O>^>bP0l+XkK D$L=~s literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-activities.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-activities.png.import new file mode 100644 index 00000000..d1581c8d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-activities.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dhh411lvgak6x" +path="res://.godot/imported/preferences-desktop-activities.png-be9947e634977e435a1e89e856dd4cc0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-activities.png" +dest_files=["res://.godot/imported/preferences-desktop-activities.png-be9947e634977e435a1e89e856dd4cc0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-baloo.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-baloo.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1d91fc8f64fc124668eeeb62c5c29a44deab86 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C{U~wRs}EE x-pZ5IoU@?i!6~We2}?C2eDByVyIWkx@W{e(!os-hDxkv{JYD@<);T3K0RTItO6mXr literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-baloo.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-baloo.png.import new file mode 100644 index 00000000..d1d1dcd1 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-baloo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://g3kbuut4p8rp" +path="res://.godot/imported/preferences-desktop-baloo.png-4e6a1233daa2b235cdd793d053dd3620.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-baloo.png" +dest_files=["res://.godot/imported/preferences-desktop-baloo.png-4e6a1233daa2b235cdd793d053dd3620.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-color.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-color.png new file mode 100644 index 0000000000000000000000000000000000000000..d6de244566221c9649d79bc683f1e4832bb8e9c7 GIT binary patch literal 289 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-dusTZCujv*T7lT!{bimBHA;7>k& zRyg6vvbKp6+-leku>LbPFfcMQ_;Y-jAe)&)ZBhadL`+vc&T;*Zh6cyFhYbg8)<|7A zxJ$;;O)aH&Ny7ro{(r^~gBwnVNgTNF=7VBq#_h-roK`g+O}}I39A|O<_jI~3&uc52 z7Rmd*n|}R&+Q3q_SXkcx1h(w|+oWh}`%hK)@ovws|B@0C5*K(M6jmHO00bXgKeGBU zM_dq{%=Dqn>`WLN8(W)KqTC}>^jSx+Id#;c2l<;)><{y?(mM^vu}Q7Pmo;^%6RL3P`vA;JlDOp`-P9y-2mFi;OXk; Jvd$@?2>?q&JVyWk literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-cursors.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-cursors.png.import new file mode 100644 index 00000000..52e60254 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-cursors.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bv5u500iou4t7" +path="res://.godot/imported/preferences-desktop-cursors.png-73d490687d1903fe0531da1af6868295.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-cursors.png" +dest_files=["res://.godot/imported/preferences-desktop-cursors.png-73d490687d1903fe0531da1af6868295.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-default-applications.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-default-applications.png new file mode 100644 index 0000000000000000000000000000000000000000..0b273a9f297ebba012d4b53ac8e338f7fce34efc GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0C20QW{P~c#`znpWA zh|qWYa-%}O2}cW!w~0ov6lig8)wyEBQ}yIy%|^YAoP6BM>#JiErsQ-!=-aS*Df`qX zJ_|J3T`$buJ;@=k?61S=Jsdx$I*HFb`Pjns=R}se&H~Y=^|ODJ%2$bJvTw4xc&&M6 b#@)N8HJt^QGnZckx`Dyd)z4*}Q$iB}A45Xn literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-default-applications.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-default-applications.png.import new file mode 100644 index 00000000..b05ae5b3 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-default-applications.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1484gslnijbh" +path="res://.godot/imported/preferences-desktop-default-applications.png-e33b100d4c8e4ec3a8f8b58a96189e46.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-default-applications.png" +dest_files=["res://.godot/imported/preferences-desktop-default-applications.png-e33b100d4c8e4ec3a8f8b58a96189e46.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-display-nightcolor.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-display-nightcolor.png new file mode 100644 index 0000000000000000000000000000000000000000..ce878051949174fb587c24b446f8ad7c1a547190 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Zk{fVAr_~TdwP2QoOfVMNK8mb z*irUYDstA=En6gJNNBJuX6uo15M_=?@GLqIbD+a_!-^Fg*?ezbzfL~#inT;RS=o6D aH^XCgE=HLH2ikxpGI+ZBxvXbAzMjuE4AZVVk>0nb*-T*3r?xdEQWclxNkl7rn`PT_&&KcY#Vu#FqpWy+ zIKp1Z-rX;$%)rpG{)4~6&(!j&ppPMEPx&xcPIXGvXbxpO6!`DSjC=Dw^VzrP_G}30 RUw;OXk;vd$@?2>|HGKm`B* literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-emoticons.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-emoticons.png.import new file mode 100644 index 00000000..b9604624 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-emoticons.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dkithtfdcslqm" +path="res://.godot/imported/preferences-desktop-emoticons.png-ba8b4da68eaace5320d714abbc97bfc1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-emoticons.png" +dest_files=["res://.godot/imported/preferences-desktop-emoticons.png-ba8b4da68eaace5320d714abbc97bfc1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-feedback.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..eba63ae7a8b2bee5dc45f1e69ef76669680534c3 GIT binary patch literal 159 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`X`U{QAr_~TQw}grDx2}gU3~WQ z!ZyL!o{18@KX{TO^~Qy%r+5v z%{u2|$2UFCb8MTp$vb*cKn3qVOrEhDYUQ4{uMFoa8J< YIXkUGf1`O01D(R)>FVdQ&MBb@0I?}I$p8QV literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-filetype-association.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-filetype-association.png.import new file mode 100644 index 00000000..b68c9abf --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-filetype-association.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://chfiyjqoa1h76" +path="res://.godot/imported/preferences-desktop-filetype-association.png-222303069c5b8b7c51ae472d2102f670.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-filetype-association.png" +dest_files=["res://.godot/imported/preferences-desktop-filetype-association.png-222303069c5b8b7c51ae472d2102f670.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-font-installer.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-font-installer.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed035331b89255bfed0f3d64044fe3435b1c211 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`8J;eVAr_~%PQJ+7pdjE}-J-bb zf5}~^{RV=J+!^~l9#pMoXJPQL+MqB=(9iH>w(iSq)6=@5y|{1ebF_>}&KJDFR{CA; zs6C6{w?#IyKHV0r6H?r*zs~)NO2H<3o;iE2@uclyc6d|wT=;IR%Epziw(iSq)6=@5y|{1ebF_>}&KJDFR{CA; zs6C6{w?#IyKHV0r6H?r*zs~)NO2H<3o;iE2@uclyc6d|wT=;IR%Epzi!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD6z!T z#WBR9H#tEf<3Pumi`TFJ=TDB`Q!!D)(k+LpppmzGo&n2|lM5scwRmq{yH?lv0b3$l zbaXTu2)sUI*VbSm*=ClfCc-V5$TPzUDA;zmoj{<%~NPUA%TpOtoi*ga^wDMxRZLFB&E`G8)S+ hu$E`*2sJ+f^zDD^W8zakivius;OXk;vd$@?2>>-TV9fvk literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-gaming.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-gaming.png.import new file mode 100644 index 00000000..18843b3e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-gaming.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://50ang61sjvqf" +path="res://.godot/imported/preferences-desktop-gaming.png-e8e25e5669463d458821e72145f00c66.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-gaming.png" +dest_files=["res://.godot/imported/preferences-desktop-gaming.png-e8e25e5669463d458821e72145f00c66.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-icons.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-icons.png new file mode 100644 index 0000000000000000000000000000000000000000..64d42472a86eee0e2851f6430e1bd6a1d2a8fb3d GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zdT(WLo7}wU%7t$|9J<-grtOo z1dkOZ=|FsZf{D3#x`Da*@dW=}6%!LL9qr~|)?n-j`N*W&(AwD8`0(lJ=_#3F;^OTR z49w@}+oxN+dvhjXXSsg!k|iq6D}5wm*8TPrcTPBN&jti--_QRukeP9$?PcrZbLV&* zudg$dDKBg57M-hiWJ6>?7i+ad#JjtvH~4vXA1rzwwZpS@J#+#JhhDQ*qMn;)7Q6ZZ=-13~jWMZFzAtdcG_rZlto xsY~a5Nw#>uzw=Y*@m>FtgHgw^#Vg@4!%C@O1TaS?83{1ORpB7owNe3D# p8(D91FKKx5CP%BX@zN9y2ANg9u9`LLX9A69@O1TaS?83{1OSVfGX?+v literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcut.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcut.png.import new file mode 100644 index 00000000..6de0ce62 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcut.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cflmi0x335ois" +path="res://.godot/imported/preferences-desktop-keyboard-shortcut.png-7900b64636f49c2e322162254451288f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcut.png" +dest_files=["res://.godot/imported/preferences-desktop-keyboard-shortcut.png-7900b64636f49c2e322162254451288f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcuts.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard-shortcuts.png new file mode 100644 index 0000000000000000000000000000000000000000..9728b1682422ce182e9c685a25d44ded9d9ea112 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!3HGD9`RZNsc=sh#}JM4$tej52_L?H|9{?r z?Z%EmWo6}^vl1IR8yg!FUtL+rV<06y8^}JW7&I4%WzV%qJ8&-O6TdLG{k-&vq~^oi qItFZ;Hg_=Iym>R^6Vp;nL53x>G<*2fvoe5IFnGH9xvXB7owNe3D# p8(D91FKKx5CP%BX@zN9y2ANg9u9`LLX9A69@O1TaS?83{1OSVfGX?+v literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard.png.import new file mode 100644 index 00000000..8c115daa --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-keyboard.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://m58on2yeua6q" +path="res://.godot/imported/preferences-desktop-keyboard.png-d18cce687b93ca5fd501adbe7801798c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-keyboard.png" +dest_files=["res://.godot/imported/preferences-desktop-keyboard.png-d18cce687b93ca5fd501adbe7801798c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-launch-feedback.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-launch-feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..65460949d8661e1b3e65a20f0609272e331e9b4b GIT binary patch literal 231 zcmeAS@N?(olHy`uVBq!ia0vp^+(0bA!3HD`>}{ zI{X)2S$Dk0LNwV}Fp|0Jk-Go91dVAECpNB5JhUtz?VA1?HiN_&ETJ817?(d%&&<&< zi95POfd$BU@Z+?0cH3*@Kskq{>Ht9a4mNw+>%azp+wm1=C(2h~aky?!*R@*! zV2mk$pjZQ2a!NpE4)#C;U;R0D7mdjPV^>9w6;YT>d}ei^RPXId%?2|E6ez|2uY=@6 zDHV@$E|Y&p6z7w<&$8Ozy-{wQctsS#U00000 LNkvXXu0mjfPH||O literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-locale.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-locale.png.import new file mode 100644 index 00000000..1fde067a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-locale.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cthlwjgcq1xa3" +path="res://.godot/imported/preferences-desktop-locale.png-bcb93f5c133027ee5845257cf81ebe63.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-locale.png" +dest_files=["res://.godot/imported/preferences-desktop-locale.png-bcb93f5c133027ee5845257cf81ebe63.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-mouse.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-mouse.png new file mode 100644 index 0000000000000000000000000000000000000000..f22eaccaaac2140095a22234f933d03e11c4eac1 GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^AT~b-8<4#FKaLMbWq7(chG?9>+P{(afC3N8c@3e^ zBVHv_cn)UiJec%yj+#iJNUM_Xx+?GQm!d6BTHZcmcuZ0K4IuuJkg3x#-<{mA%+P{(afC3N8c@3e^ zBVHv_cn)UiJec%yj+#iJNUM_Xx+?GQm!d6BTHZcmcuZ0MJhXxg*m$ujHc=GYBXz)k{bON>$vw<~?cIwOfCAKtT9kUSkELtj*V=w#x=R z>ux%J=2qgl(D-HBUJa8o1|?@Lcn_pW0ChVbx+x}dR)TGT_4LNZM#t=*Ol_>kObhlM zn#8$-*MU9iwD^IW{7GCJqz*Nm-g#n{tjYcb8BS(BofFQ!FjLAtR={}Yf805qbsIN= zZQU)de{AK<1PO)gvfkcQkJOs(+YBY?%FHveB_t#acoIQg(OalxH8~_0iQSkt#2nisF+gIZ`Ev>My@KTI|p58ei_KVf$*~6&wo^k8myVhyq&1;OXk;vd$@?2>>4ZGa~>1 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-tablet.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-tablet.png.import new file mode 100644 index 00000000..532b6b6a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-tablet.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://32xih17df4pr" +path="res://.godot/imported/preferences-desktop-tablet.png-c804535884330c8eec41a5169afea038.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-tablet.png" +dest_files=["res://.godot/imported/preferences-desktop-tablet.png-c804535884330c8eec41a5169afea038.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-applications.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-applications.png new file mode 100644 index 0000000000000000000000000000000000000000..d382caa6ca78e6ec36eb1c35b3c2925584e1fd95 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`?Vc`U_Dmx^OLHl)X}3y4P!t2 z`B`kid)Q@nLt|s3V^EM#tC}UxDfJ^0-!N6^Ops>NIg-_|vkxe@aC3s-H-iJupKxlQ n?&NoI(p%swae(E;yeW)VrkUMM)L^y*I*Gy4)z4*}Q$iB}CEG}M literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-applications.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-applications.png.import new file mode 100644 index 00000000..8ec1eae2 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-applications.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dws0rr8jfap8i" +path="res://.godot/imported/preferences-desktop-theme-applications.png-4747329daaf2f9bc279e7d1f91ee6676.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-theme-applications.png" +dest_files=["res://.godot/imported/preferences-desktop-theme-applications.png-4747329daaf2f9bc279e7d1f91ee6676.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-global.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-global.png new file mode 100644 index 0000000000000000000000000000000000000000..31f776b42c6e5407b5950946fe5364d166da993c GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr_~TuUxvRWSMpJb83dG<>Lnxsr7SY$@QDBT@{nQ9*~cH4&iz}|k+6OL-$Mt0 zpkPhB&?D9&lf^BJmb2pPESn7)V$N#lDYzSVF)qpCvpC)k5|D^f2n7q2{g}{#B=96- dnO7PUL$!a!=i^evwLq6Kc)I$ztaD0e0sxu0OE&-j literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-global.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-global.png.import new file mode 100644 index 00000000..b3897a62 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme-global.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8oex88dows0o" +path="res://.godot/imported/preferences-desktop-theme-global.png-6aac40f72448c6b1549f1e3f0b14ac10.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-theme-global.png" +dest_files=["res://.godot/imported/preferences-desktop-theme-global.png-6aac40f72448c6b1549f1e3f0b14ac10.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme.png new file mode 100644 index 0000000000000000000000000000000000000000..31f776b42c6e5407b5950946fe5364d166da993c GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr_~TuUxvRWSMpJb83dG<>Lnxsr7SY$@QDBT@{nQ9*~cH4&iz}|k+6OL-$Mt0 zpkPhB&?D9&lf^BJmb2pPESn7)V$N#lDYzSVF)qpCvpC)k5|D^f2n7q2{g}{#B=96- dnO7PUL$!a!=i^evwLq6Kc)I$ztaD0e0sxu0OE&-j literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme.png.import new file mode 100644 index 00000000..9ddbb3ed --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-theme.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dky7nwryje704" +path="res://.godot/imported/preferences-desktop-theme.png-e883ec76cbd7504c6f9b646b1f6b0ddd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-theme.png" +dest_files=["res://.godot/imported/preferences-desktop-theme.png-e883ec76cbd7504c6f9b646b1f6b0ddd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-touchpad.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-touchpad.png new file mode 100644 index 0000000000000000000000000000000000000000..4f7691e1fc2fcbe756324c97aa4d321ad39e88b6 GIT binary patch literal 99 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-duDJ@SI#}JM4$zQ&I|9{>=Eg@+E yLr<36RiEgyI{b1r2Q*hMSa6`hzpmq#BtwfB`?~YY_xXUj7(8A5T-G@yGywqTS{>a0 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-touchpad.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-touchpad.png.import new file mode 100644 index 00000000..f67eb19e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-touchpad.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cedie5ag60rbc" +path="res://.godot/imported/preferences-desktop-touchpad.png-33c38dc42bf5aa5231ef159fb7ce7ca9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-touchpad.png" +dest_files=["res://.godot/imported/preferences-desktop-touchpad.png-33c38dc42bf5aa5231ef159fb7ce7ca9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-user.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-user.png new file mode 100644 index 0000000000000000000000000000000000000000..ef122e2d6c59c7957fc3e54c8dd6aa132c598cab GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~TQw}iw3ZL@#xLTaV z#iJd1$2@x6YS;`Xt&+Se;1)BB`;c|u58<$B$)+uxjZOz#R$ab$xF<<`!-Gi&o~1A1 zJ;9lqo{*TNbSgkCXJNmu@wOQUvlvcpY|yQoG--xL8Dr@rqfjH^oi`;Jj_B%@scaPf Q2DF*M)78&qol`;+0A%ewi2wiq literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-user.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-user.png.import new file mode 100644 index 00000000..cf0e2b48 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-user.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://n8p7470loem4" +path="res://.godot/imported/preferences-desktop-user.png-124cb7d45f1278e37a3d0db514e7d8c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-user.png" +dest_files=["res://.godot/imported/preferences-desktop-user.png-124cb7d45f1278e37a3d0db514e7d8c3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-wallpaper.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-wallpaper.png new file mode 100644 index 0000000000000000000000000000000000000000..64aaa26d98deb6b1695509bb1c91e39218fab278 GIT binary patch literal 269 zcmV+o0rLKdP)BWhMV*r+B3P9zK0Hm^>ddZvkq74j&qPhaGm&BofGTD=bN_d>=Xs+WQh;6Gs z;#Y|E>-`s^3_d~5Um(`M=@7(qm?(n~#3++82(kX#wjmQ`;@%+2Anh>G5M7Q9by*k0 zf1PJ5Z}US#mB}3d2O?qsatZ*-`u0rBfyH{RTX`wtO2%3eX95~UgSXFQ`hMp-FimaM TNpF(P00000NkvXXu0mjfJ1lMR literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-wallpaper.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-wallpaper.png.import new file mode 100644 index 00000000..5dcccba7 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop-wallpaper.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1f52fe05blqy" +path="res://.godot/imported/preferences-desktop-wallpaper.png-64bd2841fd5ea0b3609d36f2b28942ff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop-wallpaper.png" +dest_files=["res://.godot/imported/preferences-desktop-wallpaper.png-64bd2841fd5ea0b3609d36f2b28942ff.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop.png b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop.png new file mode 100644 index 0000000000000000000000000000000000000000..f007d74a45da5edd2dea8407bc6893dca568278e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar`0C23ztSP~a&J*q&Fz z^6!7w4^^MJFE4p%umpIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-desktop.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop.png.import new file mode 100644 index 00000000..74524089 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-desktop.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bn3pw84c6mlsk" +path="res://.godot/imported/preferences-desktop.png-05a9a9a3084bba8618cf5c49bdfcf2ff.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-desktop.png" +dest_files=["res://.godot/imported/preferences-desktop.png-05a9a9a3084bba8618cf5c49bdfcf2ff.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-network.png b/tools/configurator/assets/icons/pixelitos/16/preferences-system-network.png new file mode 100644 index 0000000000000000000000000000000000000000..24cc0d0f4b3e9e7ca8cc3e8c1477fbd78a22c662 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3HGN^yhQ|scKIb#}JM4ZzrDSY;fRlxv$q0 zwmhOu?BPMFKT{M}pM9xX6(kmU{r$zAEiGq~J*F5Q)={zv6ls02JguQ{4#%}+xzfLs zRP>f#=9-Xd$uMhrP;B}$(}S|L(;l!##NX(M3cfz|`=@&>N{?bn&N587`{uHYrmyf* fmYBvHX$`DTo||vzS!t#SbOwW`tDnm{r-UW|^S(v~ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-network.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-system-network.png.import new file mode 100644 index 00000000..78913223 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-system-network.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2qkkdgbfdchd" +path="res://.godot/imported/preferences-system-network.png-a7f18f002d7e33c008f5c7c9580f6480.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-system-network.png" +dest_files=["res://.godot/imported/preferences-system-network.png-a7f18f002d7e33c008f5c7c9580f6480.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-notifications.png b/tools/configurator/assets/icons/pixelitos/16/preferences-system-notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..15912542ed6da8a00e82857580ec0d7209540991 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr_~TQyiG~t={*~{aHTW zK4IuuJkg3x#-<{mA%{U~wRs}EE x-pZ5IoU@?i!6~We2}?C2eDByVyIWkx@W{e(!os-hDxkv{JYD@<);T3K0RTItO6mXr literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-search.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-system-search.png.import new file mode 100644 index 00000000..a1ac9052 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-system-search.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://djrtcdwxuvfj4" +path="res://.godot/imported/preferences-system-search.png-de9a763925f1da793e0b974c213186dd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-system-search.png" +dest_files=["res://.godot/imported/preferences-system-search.png-de9a763925f1da793e0b974c213186dd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-session-services.png b/tools/configurator/assets/icons/pixelitos/16/preferences-system-session-services.png new file mode 100644 index 0000000000000000000000000000000000000000..31db6e05687a3e4320920bcf134b5681e414c6b9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr_~TQw}iZ%(?SV`E&o9 z+ebTmWrdkr8zxRT`-0)FYEO%a0Fy{{qgJ9q#^Wd7_+lS@xHng$COW-5=b_?}4iT~c z1)0avPE4%bJwrl5;@{yt4t@^*md9Bg5S!}K#`yTaa%Q)rN&5Rzc)Q*5*x1_Ew|rvW gCUepwvy6>_gWq6{`082KK!-4Ry85}Sb4q9e00T5cqyPW_ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-session-services.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-system-session-services.png.import new file mode 100644 index 00000000..c8047301 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-system-session-services.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfxghigsbiqf1" +path="res://.godot/imported/preferences-system-session-services.png-30af6243d6ffd3d8a18c0bdf3b6df591.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-system-session-services.png" +dest_files=["res://.godot/imported/preferences-system-session-services.png-30af6243d6ffd3d8a18c0bdf3b6df591.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-splash.png b/tools/configurator/assets/icons/pixelitos/16/preferences-system-splash.png new file mode 100644 index 0000000000000000000000000000000000000000..e63322a26c6cdafe44c7dbf2c9494c7c8d34ac97 GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr`0CPCCnbK!KxmVIhxt zg0kC(R|;`=&vYNY;e7dsyqE9G-JTWkatcPp%*`?k4w_FV&+O1Uuy)Sp3j$68+1^Ym z7n+|_6IJkR-pf>V*rtzT#%z^f{gh{EI}b6s?VP(pbLqp_>{!NID^30yGYQtR%@AG? n(qp)-J@wJG@Nf6>)h!s^PH9Q7Z(UyobPt24tDnm{r-UW|h;BuN literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-splash.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-system-splash.png.import new file mode 100644 index 00000000..17f1f32a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-system-splash.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cebtyi1tx7f7n" +path="res://.godot/imported/preferences-system-splash.png-5c2558cab91f6e30e3e311e8ef79fced.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-system-splash.png" +dest_files=["res://.godot/imported/preferences-system-splash.png-5c2558cab91f6e30e3e311e8ef79fced.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system-time.png b/tools/configurator/assets/icons/pixelitos/16/preferences-system-time.png new file mode 100644 index 0000000000000000000000000000000000000000..22ee5f71b92d029e13c4fada3034f21abe590ddf GIT binary patch literal 324 zcmV-K0lWT*P)b;@5Jmqin3f8Kjv7I+cc8;^9h3{C4GmO205t3=qJTt8#|bP;TW|n6h^SHq5^suV z(C*4C=67EC{r^WZ1WRVsYpWtYAfUHm)25f*Cx4R#H&hXSJ3l|q003$^bxppu4SLNl zR|6kruuN>mCUx`Pe^SNpcn_3P0syquP|GP)b8rT75=#8TAu;SXH0y3h+^cQFT5ETl zOR^WJC?DoP5lT-!{LnhdLaG3?X6!i$fIdE}Hi*hvqW*r|4FD%r}9ZRF1kpa$TV-~Iru WiFdl17-ZG}0000B>Ar_~TuUx; z$~|X~95`@bLcq(u(1km9T5{RGeB{bw+B0QWLu+GWB>Ar_~TuUx; z$~|X~95`@bLcq(u(1km9T5{RGeB{bw+B0QWLu+GWIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-system.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-system.png.import new file mode 100644 index 00000000..12df65a9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-system.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dm6m1y0u7tqul" +path="res://.godot/imported/preferences-system.png-8bcf1f077b588bae0aeaad821886906d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-system.png" +dest_files=["res://.godot/imported/preferences-system.png-8bcf1f077b588bae0aeaad821886906d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-tweaks-shadows.png b/tools/configurator/assets/icons/pixelitos/16/preferences-tweaks-shadows.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc09aa2ff6586f1c3ff798c4bc844d14789be71 GIT binary patch literal 212 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`vproLLo813opg}5*?`B@zC(0X zO1F$H(<>&+%Z3q$xl4GSoe=AjXqxAwePGh!kUy8FFM9vu<~t`2X{jsB2Tb~BJp1^? z!$o1y zm$LVJ*E?T0v_IpO*t$dRCR-c66?4wAx-eraADj1u5|7kX+vk5`*9b9lILDpr4s<4i Mr>mdKI;Vst07Dd2F8}}l literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/preferences-tweaks-shadows.png.import b/tools/configurator/assets/icons/pixelitos/16/preferences-tweaks-shadows.png.import new file mode 100644 index 00000000..54f22053 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/preferences-tweaks-shadows.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bnrroqoqmswwl" +path="res://.godot/imported/preferences-tweaks-shadows.png-9f5472e0debd8a608aba1a98d88b846b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/preferences-tweaks-shadows.png" +dest_files=["res://.godot/imported/preferences-tweaks-shadows.png-9f5472e0debd8a608aba1a98d88b846b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/primehack.png b/tools/configurator/assets/icons/pixelitos/16/primehack.png new file mode 100644 index 0000000000000000000000000000000000000000..6e8032a6fede257981af755f6ef6c93fa706e0c8 GIT binary patch literal 442 zcmV;r0Y(0aP)Tk}-UC z`C^MH58m^4iK0mE>no4l66YL)!JxP8)oKO6>2wNO9RMDlOePdXfpgA#aU64g|0GkF z<_zj-KkF6llKRbb&M_PgJH6?2+DtGSjT&GLS5?)5w-A|lpWk|Y6s khV=^e$`~Vm2K}eL0ZuZ0DagJo!2kdN07*qoM6N<$f_%`ocmMzZ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/primehack.png.import b/tools/configurator/assets/icons/pixelitos/16/primehack.png.import new file mode 100644 index 00000000..fb14d203 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/primehack.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://kr1q8015vaim" +path="res://.godot/imported/primehack.png-215d916d6654b2811b2c90bd03445f63.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/primehack.png" +dest_files=["res://.godot/imported/primehack.png-215d916d6654b2811b2c90bd03445f63.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/pvz.png b/tools/configurator/assets/icons/pixelitos/16/pvz.png new file mode 100644 index 0000000000000000000000000000000000000000..257f89401e6a2539e869f35f2373454263fd8e23 GIT binary patch literal 244 zcmVDk16>aU=<|LxxtdjoMiin~OS9nx-THK?vbjpQ);_yJ8X3 zYX;T@05H8DrqDpiG5?WM%%(e`w literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/qemu.png.import b/tools/configurator/assets/icons/pixelitos/16/qemu.png.import new file mode 100644 index 00000000..65e2cc81 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/qemu.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvuv7sp4uneml" +path="res://.godot/imported/qemu.png-c2a290f1a375d41e82faaafa287ce6b5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/qemu.png" +dest_files=["res://.godot/imported/qemu.png-c2a290f1a375d41e82faaafa287ce6b5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/raze.png b/tools/configurator/assets/icons/pixelitos/16/raze.png new file mode 100644 index 0000000000000000000000000000000000000000..390982e88f4b6269e4f3eb3ec447a2ecdce70860 GIT binary patch literal 357 zcmV-r0h<1aP)Lkvp!!Knz8X`83c*i1ak+Mp*?lE6CDl$r4yZ^cqUK zC*?^{AwdITD54qg%!K!|6e+Ur^&H#q->7Rl3{v(tpCrtzKkSbluZ%EAnajN2ROYDq z=$*MTAz-Ij70|T00h^tr$h!Zg_2%S=xBD~UM<_CwP5aRS>j*zj@dyBn2cd`LHXXie z;6)+|Ke|Sl>$)d!Lfdn_GKXve+r2Uipw1XIsEkk>!Xj zBcu-f1Nb|DwPFZsB|0M(2Bh+_R6(j*6){wiqEhPGNu1cRkHN7MljNOFr~5t6`#yIE zE2`ZIW!Fz+*H2`xAIYaLj^wg)YpdXFttxT8zf43~1;2XvgR{>MxgJmG4HZuRCUpKJ z9KAaMV1I8@SrBMMO!w4?Fj6; z04TuGC}uR6Fqy)I3|@a5%iZlm%IgN@bpyL$02G`9KVsxXc(l;C}JllB7T7sDeMHl zg!uxdNGVvRh^3W{t%ZVxjSBulD}^+Pq|e*gHz&o;jyvx?2L=vz&OLMg8Y|8Le>K4| z#na%a@l5gDW@3xn!tj(MP4Se@J+4RiI#u>_19-x3bwpYs9U`EN+X6?vGuPl(4PYR8 zBD=b}Dl^{N86Hs~ei3yIXC_Ij$j|JU8b^cYkuGQZdz;bVsPSy!t$JubmhxjvBQwGi0XI$;z^J1S<# zb0VCX*#rAbi`cPmg~*=Pa%x?Q;Dw#$6z|iR0o>)IYFuh(#Y=6j8V#P?Nt%Ja%{yGO zJk$61q-h$EW@!(4`$aq#lI<~93`V=~j$0NGUGD$CwuaQoS+Whzu&|B8+2)Iyg;lO` d?6JPYKL@(?-5ow?Ew2Co002ovPDHLkV1h{~>fZnW literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/romm.png.import b/tools/configurator/assets/icons/pixelitos/16/romm.png.import new file mode 100644 index 00000000..1219d3b4 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/romm.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b72c8l76p2v63" +path="res://.godot/imported/romm.png-4509adc3492d66efb382d7974e45aa79.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/romm.png" +dest_files=["res://.godot/imported/romm.png-4509adc3492d66efb382d7974e45aa79.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/roxterm.png b/tools/configurator/assets/icons/pixelitos/16/roxterm.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8a1c2b1a7a9d22ad056db184ca045dadbcbda9 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr_~PPQJ)_K!L|a|7dNA z$w5~cT|SXp^W8+EE-bn5o9mFRzKY_VF2i{@0*i~hK8uuLJAoZi{JHU)p;AL&5aV6_;kK}^pDhue~v$~ea>xP WXSCgyb^kk{{S2P2elF{r5}E)Cr9XNA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/roxterm.png.import b/tools/configurator/assets/icons/pixelitos/16/roxterm.png.import new file mode 100644 index 00000000..e535774c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/roxterm.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ca7xrs551iscw" +path="res://.godot/imported/roxterm.png-7642cf5b41e736ab6ef3cb10b79ec163.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/roxterm.png" +dest_files=["res://.godot/imported/roxterm.png-7642cf5b41e736ab6ef3cb10b79ec163.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/ruffle.png b/tools/configurator/assets/icons/pixelitos/16/ruffle.png new file mode 100644 index 0000000000000000000000000000000000000000..ac69d76b1af8433fb05beaa4fbe1a1906dbd9c5a GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC=uc5 z;uvDlo1Cyfz~IrOAN#NUu#f9Km@Zi;<=|nwNzvzs#u4@x=?rJizi42MO^BLw;{VHN z`9&S6Ri_`DNyIYPGAz%pJu$)bJ@2_2i)tkvY@TbUCt=zEv?-QR++jDf{&%1q44$rj JF6*2UngARQMCAYg literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/ruffle.png.import b/tools/configurator/assets/icons/pixelitos/16/ruffle.png.import new file mode 100644 index 00000000..17846697 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/ruffle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvmof0t5n2ir0" +path="res://.godot/imported/ruffle.png-f70fbfddbbafb936c7a1f4b99a59aa5e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/ruffle.png" +dest_files=["res://.godot/imported/ruffle.png-f70fbfddbbafb936c7a1f4b99a59aa5e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/scummvm.png b/tools/configurator/assets/icons/pixelitos/16/scummvm.png new file mode 100644 index 0000000000000000000000000000000000000000..131cd9ade9d42c15335f7ef91b12e72d73af4d95 GIT binary patch literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~?Ho z#WBR9w|DYI-opw!F8ZPA9L;yq&0ccNRo6}twzK7kY^oFJV06yn#~#TTN*=eDyQ_{{Tjv~82RGvmop6WW_!F3aA=#nka?0}^w|Z=HGEYh zQ@I(!HV1V+W+`aSW@o+~b!XS6`lq@}de5&~b TyRtqL=pP18S3j3^P6Llf6m*Mguy(Djfh|&RyKB;O2N`(A;=b1A<<_D zL<9?wh@#jC+W8J*Ct~9xXt}~Nx<6wvd&8(%!X~#l=Ns-FF2k;(sIB(Cr9#~gPZWRx z*lg`p8kTyvJX30;6;3rgszx)k?;oGG(G0ElxGZOXb1la$kYf=KdR@-@{a;ynBnQ1N zITmeeZWE#JlL(+QlK~*~eG&n5y*>wk(DyQ4A0GkGJ~%{YY2t1z==(SZoelsOg8^BZ zpp)+u0HN(irB66P0|DqZsS@~i-U0NAk1XV}~0H~;_u07*qoM6N<$f<8~3 ArT_o{ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/sdltrs.png.import b/tools/configurator/assets/icons/pixelitos/16/sdltrs.png.import new file mode 100644 index 00000000..4c75435a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/sdltrs.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvk5hxalqfgb7" +path="res://.godot/imported/sdltrs.png-fe31a6206147de752a57abbd41e7e8e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/sdltrs.png" +dest_files=["res://.godot/imported/sdltrs.png-fe31a6206147de752a57abbd41e7e8e8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/search.png b/tools/configurator/assets/icons/pixelitos/16/search.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1d91fc8f64fc124668eeeb62c5c29a44deab86 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C{U~wRs}EE x-pZ5IoU@?i!6~We2}?C2eDByVyIWkx@W{e(!os-hDxkv{JYD@<);T3K0RTItO6mXr literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/search.png.import b/tools/configurator/assets/icons/pixelitos/16/search.png.import new file mode 100644 index 00000000..0768db3a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/search.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj7nyqs2setf3" +path="res://.godot/imported/search.png-8f15dc952b96a8b8e28e3d52f2c4f2e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/search.png" +dest_files=["res://.godot/imported/search.png-8f15dc952b96a8b8e28e3d52f2c4f2e7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/security-high.png b/tools/configurator/assets/icons/pixelitos/16/security-high.png new file mode 100644 index 0000000000000000000000000000000000000000..ac52aca74d55fd7ce3fbd587d81a582f6bb6bff5 GIT binary patch literal 641 zcmV-{0)G98P)EX>4Tx04R}tkv&MmKpe$i(~2S$2Q#QRWT;LSM5Q=t6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c3aNLh~_a1le0HI!Hx*eJTbi=Vy ziMW)>u1ejn2tj~|A;c7Bn{%?9M91-Uj{slqqCBhfxj#prma`cUkcelQX*t9j#Ia4s zO4_d?Dkr z#(9ggUaqp{J^2g6Ib&s+>oiA@z#^6)LxPGbN+`oYlvaZj8!6h4ckmB;ewkb_zpZyRJ4HD%iM5_=+>n07dkW8jfH56@Ysw3Jj>gYmtmV{FF bWp)5Bmx?xK_r+^E00000NkvXXu0mjf3Xc$W literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/security-high.png.import b/tools/configurator/assets/icons/pixelitos/16/security-high.png.import new file mode 100644 index 00000000..b3e17a6f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/security-high.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://j6ayc241mul7" +path="res://.godot/imported/security-high.png-e3c55e9993f44540fe3855ab3b49d5a6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/security-high.png" +dest_files=["res://.godot/imported/security-high.png-e3c55e9993f44540fe3855ab3b49d5a6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/security-low.png b/tools/configurator/assets/icons/pixelitos/16/security-low.png new file mode 100644 index 0000000000000000000000000000000000000000..45d2cf8a7c560917c9e90dc1b7ddd3b6275f0201 GIT binary patch literal 650 zcmV;50(Jd~P)EX>4Tx04R}tkv&MmKpe$i(~2S$2Q#QRWT;LSM5Q=t6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c3aNLh~_a1le0HI!Hx*eJTbi=Vy ziMW)>u1ejn2tj~|A;c7Bn{%?9M91-Uj{slqqCBhfxj#prma`cUkcelQX*t9j#Ia4s zO4_d?Dkr z#(9ggUaqp{J^2g6Ib&s+>oiA@z#^6)LxPGbN+`oYlvaZj8!6h4ckmB;ewkbEX>4Tx04R}tkv&MmKpe$i(~2S$2Q#QRWT;LSM5Q=t6^c+H)C#RSm|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jfbaGO3krMxx6k5c3aNLh~_a1le0HI!Hx*eJTbi=Vy ziMW)>u1ejn2tj~|A;c7Bn{%?9M91-Uj{slqqCBhfxj#prma`cUkcelQX*t9j#Ia4s zO4_d?Dkr z#(9ggUaqp{J^2g6Ib&s+>oiA@z#^6)LxPGbN+`oYlvaZj8!6h4ckmB;ewkb!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBB;o1e z7-G@8c9OMFg949Byo~gF_t&0liuv>p{MFeg$m*iDBHEDWx2IU6>IcRm+54Ql@pl|u zKXuO&(XvLf zdyn~f2LQa@D^4@m_G->ITRUzXtmBAzdF*<{$!D6{f6!ZD9bU=9T1%JKs1dcEIzoYF aSHl+rO-Hr7!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~?En z#WBR9H#tEf<3Pumnb*F)u;10R#>mpG#4zPRliq?=O5KO%gGB9|XIx;-yIXXda{(pyKihiF%m1u5LjsT714!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^6I1 z#WBR9cWLlJ-UA98ESF1T4xS5PUub+)RAxo(MFlxupZBSJ?;Kdw8YaE&{c)|;)?7eq zkDp`Jt$r)Xz3r1;%W_VfIP1fz8?$o)XS;k3HA$=7c6IHISrzx5sb875R-jY#B)ci& zUd~4e>??{`G6XsW?Im6KC65NbKIB!`d2#wSy*WA?gDQ70MNP^uD%EQX4EqzMmhz<0 bs+M5_b7DtF7Q6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#u+E*MXh; zR{5cuoKxQ|k=(GLR=rED#Lnt~B-@E~2iOaw98SEn*gGNMrQepf7R-Wo%W57vgjgMT iuC+*5Xk((25d%Xwe^jT3yofH)F$|urelF{r5}E*fu|xX+ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/spacefm-find.png.import b/tools/configurator/assets/icons/pixelitos/16/spacefm-find.png.import new file mode 100644 index 00000000..6381060f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/spacefm-find.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr5yjnrs8omxq" +path="res://.godot/imported/spacefm-find.png-53352db519eb13c0782ad7624d28cf2b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/spacefm-find.png" +dest_files=["res://.godot/imported/spacefm-find.png-53352db519eb13c0782ad7624d28cf2b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/spacefm.png b/tools/configurator/assets/icons/pixelitos/16/spacefm.png new file mode 100644 index 0000000000000000000000000000000000000000..77e0688887bea849fc14a8f7a63a962f32f011db GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D g#cVv>%o=PAe45UVP7@b<0S#vGboFyt=akR{0Jmr>I{*Lx literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/spacefm.png.import b/tools/configurator/assets/icons/pixelitos/16/spacefm.png.import new file mode 100644 index 00000000..82b29f21 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/spacefm.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://coe8y7u6h2ris" +path="res://.godot/imported/spacefm.png-7b259b5b2ff7202b6d6d76c6c6fed804.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/spacefm.png" +dest_files=["res://.godot/imported/spacefm.png-7b259b5b2ff7202b6d6d76c6c6fed804.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/spotify.png b/tools/configurator/assets/icons/pixelitos/16/spotify.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4c736af2ee5ab36d799cf865edf3d95316aa7f GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDADHW z;uvDlJ2&_sFM}e-Y7L!@67_%+mtu_0J z&M>#h1=S59X2L?x8CGtPox!)JdvZkB&uJ`m%Y>D_%&out&R=@1(Lo=eix@mz{an^L HB{Ts569ic* literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/spotify.png.import b/tools/configurator/assets/icons/pixelitos/16/spotify.png.import new file mode 100644 index 00000000..510a4714 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/spotify.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://def4opf6rqyuc" +path="res://.godot/imported/spotify.png-20583f418e2d260b4827ed546eabf5bb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/spotify.png" +dest_files=["res://.godot/imported/spotify.png-20583f418e2d260b4827ed546eabf5bb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/steam.png b/tools/configurator/assets/icons/pixelitos/16/steam.png new file mode 100644 index 0000000000000000000000000000000000000000..4f517f48cecf77ffbcf9ef1e2719b18bb7003e78 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`%RF5iLo80Oo$SbUSV6$`{|%9< zCZ|c!qFdO{_`OekA$copmyu73(DDiUC!OEZ&g>O%>Gz2!`{fR$?qVN2T>c;0+M-j? zS7*zwn5&Y~$Q|Mm^a#k06E$U>_GaCJw`ap z@s(hZDK+mozeQ5Q>Co0<--ud|r)>9I3kyp)&TC$<^#3{Kyh_pg+M2fw$_+ZZ<$We4 V9*Rp=S_gD7gQu&X%Q~loCIBYjS2+Lx literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/steam.png.import b/tools/configurator/assets/icons/pixelitos/16/steam.png.import new file mode 100644 index 00000000..128a44c0 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/steam.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq7k15yigp12n" +path="res://.godot/imported/steam.png-b078f1f95ae03fe9d3dc8218c130db0d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/steam.png" +dest_files=["res://.godot/imported/steam.png-b078f1f95ae03fe9d3dc8218c130db0d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/steam_icon_1289310.png b/tools/configurator/assets/icons/pixelitos/16/steam_icon_1289310.png new file mode 100644 index 0000000000000000000000000000000000000000..c336011d5241d2414cac674f81e2de65a844aeca GIT binary patch literal 285 zcmV+&0pk9NP)PcXTF2Tj{IwSA>98gaK^+r+G z?#FwTQgh>=ZQE$Ej63)d0z)(r;1384F_>z2o(_{_>nDCg(wOaXGr;RWX4T}%MbXW# z9muSL$8m2B)%9$be_r0$fHBCdg6E)29k`EzPxr;*uFN(1u98RLL@jW;c5#vC7Qs;ab7mdKI;Vst03pCkyZ`_I literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/steam_icon_20.png.import b/tools/configurator/assets/icons/pixelitos/16/steam_icon_20.png.import new file mode 100644 index 00000000..9630d3f7 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/steam_icon_20.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dy12d6j31cqhx" +path="res://.godot/imported/steam_icon_20.png-99848ddb725c982b2af9d08cfdecb92f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/steam_icon_20.png" +dest_files=["res://.godot/imported/steam_icon_20.png-99848ddb725c982b2af9d08cfdecb92f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/steam_icon_245170.png b/tools/configurator/assets/icons/pixelitos/16/steam_icon_245170.png new file mode 100644 index 0000000000000000000000000000000000000000..f049d3a4a1cb2c4fb8d52c74d6c88eff92d604f2 GIT binary patch literal 224 zcmV<603ZK}P)Lf zdyn~f2LQa@D^4@m_G->ITRUzXtmBAzdF*<{$!D6{f6!ZD9bU=9T1%JKs1dcEIzoYF aSHl+rO-Hr7Dk16>aU=<|LxxtdjoMiin!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^5~` z#WBR9ckbk~ybTIGt@1~@wKoWHY72&CJ@Se@xHzsQ!Exai7moL@7u&P>TRhj(Xqw5( zaAV>RANTKe*=x);x8!W@&sMMg@-&9Q78(zby1~`cfzTI(cX z{odH<0i(|k75nR}{-i6g*Q^Ws)BjFrQqHkwqLWO5Q;h8nc&rKD*lHuJS+`{F=83tj zmcp|o+R|#e3Qh*fg)U(cYTKMR>tiYl5BH22k~2!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD3R~! z;uvDlo17qVB_Uey@c&#_p8p?LCLUTYd8{n>a4v@*a|f%4bOYlyQNus&mXhMLSLsRQ zu?cvYu-eVYY+{Xl+@j0FvpdhwU{UtBSIG%?!j62{f1tgwF_GKl@49H79-ku_Ze}dc hgxJ{rXilkPU^stE>;GxB>=K~W44$rjF6*2UngF5?Oho_y literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/stella.png.import b/tools/configurator/assets/icons/pixelitos/16/stella.png.import new file mode 100644 index 00000000..ad35404b --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/stella.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ojje55wspq87" +path="res://.godot/imported/stella.png-4de3afffad8f31f69344bb3bd6f9aa9f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/stella.png" +dest_files=["res://.godot/imported/stella.png-4de3afffad8f31f69344bb3bd6f9aa9f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/strawberry.png b/tools/configurator/assets/icons/pixelitos/16/strawberry.png new file mode 100644 index 0000000000000000000000000000000000000000..361cefcfccad28c53c682f5690a5a8563a03c6ef GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`+dN$yLo7}wryO9qbc^Tz;_kDn ztj>4%>V`Qc@id-HHhnO0%jtSHHnz5DZ?^N?;BhpYBRD-RrQxi?jKrQ6lgCCJ&t%nN zW|jZ@*OBOOHYAa4PGZC9Z*%wC8|~Qq>2V3C@UFCy*%wV0Gpm&_=15)Ob^XRAe5Nd? zuB}s1noGEuRY`f literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/strawberry.png.import b/tools/configurator/assets/icons/pixelitos/16/strawberry.png.import new file mode 100644 index 00000000..f62501ac --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/strawberry.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgk64qjqo6q1j" +path="res://.godot/imported/strawberry.png-7ccb8caf25884ca8511816502ff738ed.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/strawberry.png" +dest_files=["res://.godot/imported/strawberry.png-7ccb8caf25884ca8511816502ff738ed.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/supermodel.png b/tools/configurator/assets/icons/pixelitos/16/supermodel.png new file mode 100644 index 0000000000000000000000000000000000000000..d52230ebcce8e96d65eb3080116803eb97f2d249 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC{gI? z;uvDloBU^6&qI4=)`m`@v(1MY#Ms!_+KL0SEJP)Acee)L%ebj~D)xZJu?O9zV%H4s zq$B_VM^b=$;^NaA6}TrbuMqAqSgy#N6npeXuH@nWjGe5DQ@0D~DO?v|Ydbh$iln53 igv5!jY~doz$_#QI%6$o?J-I;389ZJ6T-G@yGywqVDM@tz literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/supermodel.png.import b/tools/configurator/assets/icons/pixelitos/16/supermodel.png.import new file mode 100644 index 00000000..c00f0c52 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/supermodel.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gwkmo282lwpq" +path="res://.godot/imported/supermodel.png-2370d99ef21be058ea45c09b3cd4ca21.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/supermodel.png" +dest_files=["res://.godot/imported/supermodel.png-2370d99ef21be058ea45c09b3cd4ca21.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/supertuxkart.png b/tools/configurator/assets/icons/pixelitos/16/supertuxkart.png new file mode 100644 index 0000000000000000000000000000000000000000..23b4691ce19294452e69c1ac951d6f6ce1a4a7a9 GIT binary patch literal 315 zcmV-B0mS}^P)Zg7w#qI4epSxK>Grc2I-oMsE{a@;^c@V zb}oXg?Dcqd#u@|svvAtbTFbQ8wk@tAh+V!$l3kO?%!}vQTCd+L88Y;O%^d&jd+P6zH6jr^jaqs%I7gcvqIuX~)-(%hdb);=k)K3rrOvREUF; zRNXz?3^-9rFhn>c&KLvl5>Ir62vgi927Eaj;^X)GG)`+ROP?u)`vEcSW?(gT)gu4^ N002ovPDHLkV1kPDiRJ(R literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/supertuxkart.png.import b/tools/configurator/assets/icons/pixelitos/16/supertuxkart.png.import new file mode 100644 index 00000000..43925f01 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/supertuxkart.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cytqatrku51le" +path="res://.godot/imported/supertuxkart.png-f1d1934d102f7db2e5541804410921c8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/supertuxkart.png" +dest_files=["res://.godot/imported/supertuxkart.png-f1d1934d102f7db2e5541804410921c8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-file-manager.png b/tools/configurator/assets/icons/pixelitos/16/system-file-manager.png new file mode 100644 index 0000000000000000000000000000000000000000..77e0688887bea849fc14a8f7a63a962f32f011db GIT binary patch literal 134 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`zMd|QAr_~T6C^SYoH%gcz=Vqe zALM60u|Ih{XY-}=|I}_XI3>6pW^-ek!T5xM4G7e{4mY$mHa0rOI`<|XI#slZXTc5D g#cVv>%o=PAe45UVP7@b<0S#vGboFyt=akR{0Jmr>I{*Lx literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-file-manager.png.import b/tools/configurator/assets/icons/pixelitos/16/system-file-manager.png.import new file mode 100644 index 00000000..d27327df --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-file-manager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dl2i2gk1hbnqa" +path="res://.godot/imported/system-file-manager.png-842ebc4010d551148ae9b76ccc8766d2.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-file-manager.png" +dest_files=["res://.godot/imported/system-file-manager.png-842ebc4010d551148ae9b76ccc8766d2.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-lock-screen.png b/tools/configurator/assets/icons/pixelitos/16/system-lock-screen.png new file mode 100644 index 0000000000000000000000000000000000000000..fe75993c3813b1674d56b4d37d933f6e440afb51 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C_WK7L*zF=T7(`30uY}7ZYar+eQsZ>$Er(Bbcl` zx=V$w?K&3I?(}l8k=sj+tEXB+q|T>p^SM^F_HfUdex=WE>}I)V?r`w_x8ML%zopr00n?eM*si- literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-lock-screen.png.import b/tools/configurator/assets/icons/pixelitos/16/system-lock-screen.png.import new file mode 100644 index 00000000..a2e65ce2 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-lock-screen.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d00ek24nvfj7x" +path="res://.godot/imported/system-lock-screen.png-e9ea68da0d3a36330347454e7ac3c345.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-lock-screen.png" +dest_files=["res://.godot/imported/system-lock-screen.png-e9ea68da0d3a36330347454e7ac3c345.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-log-out.png b/tools/configurator/assets/icons/pixelitos/16/system-log-out.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccffb7c5f2974219276136ead35bc8be239f65d GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr`0CPCh8wpuo}A`n<1d zJ!_UgtiyZLrE_0NDg~Yt{88t?$djzsdg$l(O4e7*yc(R2{P&hEWvuP%OcPOZn+e43E_tLhwkgN481ejmwAK=&|sy85}Sb4q9e02`l6LjV8( literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-log-out.png.import b/tools/configurator/assets/icons/pixelitos/16/system-log-out.png.import new file mode 100644 index 00000000..ec6fa71a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-log-out.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://br1jsl4kv2n3t" +path="res://.godot/imported/system-log-out.png-bb671251ad259cb2c201d79028478a62.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-log-out.png" +dest_files=["res://.godot/imported/system-log-out.png-bb671251ad259cb2c201d79028478a62.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-logout.png b/tools/configurator/assets/icons/pixelitos/16/system-logout.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccffb7c5f2974219276136ead35bc8be239f65d GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr`0CPCh8wpuo}A`n<1d zJ!_UgtiyZLrE_0NDg~Yt{88t?$djzsdg$l(O4e7*yc(R2{P&hEWvuP%OcPOZn+e43E_tLhwkgN481ejmwAK=&|sy85}Sb4q9e02`l6LjV8( literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-logout.png.import b/tools/configurator/assets/icons/pixelitos/16/system-logout.png.import new file mode 100644 index 00000000..ad01417c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-logout.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3rbuehbro1ry" +path="res://.godot/imported/system-logout.png-3c7da452254b7fd460d47363c13e73cd.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-logout.png" +dest_files=["res://.godot/imported/system-logout.png-3c7da452254b7fd460d47363c13e73cd.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-reboot.png b/tools/configurator/assets/icons/pixelitos/16/system-reboot.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d1794415e5380fecdc03ee474d9e423f454bc6 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar_~TQw}h_o6i0JxZ1iK zKc@-C_Dq!M{lSx@5^B6lvFC@0cF7*chxRK34jQy{ibP-JO-TR(mu<4k81AZ-oIUZ$ z=Y~kaX3p6Q3z#=#9#CuJ6?n=T(`LIuAW=a}V56nHT3gnE|NmJIKe)esy#`y-66PQ# rfo!V-OC{13f>bqwRgEXkp3C@RweO{-v#|z1M=^N1`njxgN@xNAK)OdX literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-reboot.png.import b/tools/configurator/assets/icons/pixelitos/16/system-reboot.png.import new file mode 100644 index 00000000..3184a412 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-reboot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfgok7ebqinc3" +path="res://.godot/imported/system-reboot.png-7e29360bc5998a0b2efb37079f86b3c4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-reboot.png" +dest_files=["res://.godot/imported/system-reboot.png-7e29360bc5998a0b2efb37079f86b3c4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-run.png b/tools/configurator/assets/icons/pixelitos/16/system-run.png new file mode 100644 index 0000000000000000000000000000000000000000..31db6e05687a3e4320920bcf134b5681e414c6b9 GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`wVp1HAr_~TQw}iZ%(?SV`E&o9 z+ebTmWrdkr8zxRT`-0)FYEO%a0Fy{{qgJ9q#^Wd7_+lS@xHng$COW-5=b_?}4iT~c z1)0avPE4%bJwrl5;@{yt4t@^*md9Bg5S!}K#`yTaa%Q)rN&5Rzc)Q*5*x1_Ew|rvW gCUepwvy6>_gWq6{`082KK!-4Ry85}Sb4q9e00T5cqyPW_ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-run.png.import b/tools/configurator/assets/icons/pixelitos/16/system-run.png.import new file mode 100644 index 00000000..18bcbb53 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-run.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqn6ewwbp7vrv" +path="res://.godot/imported/system-run.png-305ddb0d74524762e698470100fefe20.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-run.png" +dest_files=["res://.godot/imported/system-run.png-305ddb0d74524762e698470100fefe20.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-search.png b/tools/configurator/assets/icons/pixelitos/16/system-search.png new file mode 100644 index 0000000000000000000000000000000000000000..4f1d91fc8f64fc124668eeeb62c5c29a44deab86 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`y`C{U~wRs}EE x-pZ5IoU@?i!6~We2}?C2eDByVyIWkx@W{e(!os-hDxkv{JYD@<);T3K0RTItO6mXr literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-search.png.import b/tools/configurator/assets/icons/pixelitos/16/system-search.png.import new file mode 100644 index 00000000..6d85407c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-search.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dnpe0gn8f210" +path="res://.godot/imported/system-search.png-bc21dfb5be7657a4a0ac84f5ddc4c40b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-search.png" +dest_files=["res://.godot/imported/system-search.png-bc21dfb5be7657a4a0ac84f5ddc4c40b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-shutdown.png b/tools/configurator/assets/icons/pixelitos/16/system-shutdown.png new file mode 100644 index 0000000000000000000000000000000000000000..933ee6a7343385671cf3c6cc521633763fbf0417 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar`0C20QXKDDd1Cvu|<# z!?;hpzQMg#Xr4-n=IKRWA~Ifj9A}x3yrSd&`Prt&s(tnH7$y1jRLR8-G lH(_4iDRw?~+4|Ri7?QL7S06NL3V>P+JkKm3f}D6!-w wMT+P0zd1dx<7iH9M(X*_byMptm%XvH7mJT{*}BAp7w9ksPgg&ebxsLQ06%U^ssI20 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-software-install.png.import b/tools/configurator/assets/icons/pixelitos/16/system-software-install.png.import new file mode 100644 index 00000000..97012ed6 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-software-install.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://caoe28dbq33x3" +path="res://.godot/imported/system-software-install.png-b13f1ec242485529c63ced3278abf54b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-software-install.png" +dest_files=["res://.godot/imported/system-software-install.png-b13f1ec242485529c63ced3278abf54b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-suspend-hibernate.png b/tools/configurator/assets/icons/pixelitos/16/system-suspend-hibernate.png new file mode 100644 index 0000000000000000000000000000000000000000..885a2a4e40f2aabc040d9a4978fef02fab4a4c1f GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`HJ&bxAr`0CPCm$cK!L-x)w8gp zj6;^mJl9{vqe0^8><7Q)MHg7SR{Xc8LS8h7C+vU^htdv1-wV<0+Du~C7C6NDxTrB& zX53w~?J?Z7`Chu^mpi%>V);)$JR~}Oja84F$NSB9KAPXlT=F<< fpOMe*$A6f&gk=1EzFqw<&>ak(u6{1-oD!M_WK7L*zF=T7(`30uY}7ZYar+eQsZ>$Er(Bbcl` zx=V$w?K&3I?(}l8k=sj+tEXB+q|T>p^SM^F_HfUdex=WE>}I)V?r`w_x8ML%zopr00n?eM*si- literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-suspend.png.import b/tools/configurator/assets/icons/pixelitos/16/system-suspend.png.import new file mode 100644 index 00000000..312566ac --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-suspend.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bdqayeev762dx" +path="res://.godot/imported/system-suspend.png-3805ff4bef128ce0747c8a8d9416f70c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-suspend.png" +dest_files=["res://.godot/imported/system-suspend.png-3805ff4bef128ce0747c8a8d9416f70c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-switch-user.png b/tools/configurator/assets/icons/pixelitos/16/system-switch-user.png new file mode 100644 index 0000000000000000000000000000000000000000..480e62d1460924b9bfce74289653fee1ceacab99 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0K2H)mwP!M>1x5B8A zM{)BB0i(t>?e>#04r{+!{@r!fmW9_>FEIGLX}OTx9>HTNEjNUO)bd}mFl^Af=h2fc zs5|lJ-AyZXo%~rCT59{FPAsml+<&0b^-pjPwdQj a*M2gHIy+32GR^|Ifx*+&&t;ucLK6UTw?nW1 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-switch-user.png.import b/tools/configurator/assets/icons/pixelitos/16/system-switch-user.png.import new file mode 100644 index 00000000..f9ac607d --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-switch-user.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://64ojdcj7mfol" +path="res://.godot/imported/system-switch-user.png-b582e67832ed6a2d283bf00b190081d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-switch-user.png" +dest_files=["res://.godot/imported/system-switch-user.png-b582e67832ed6a2d283bf00b190081d9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-users.png b/tools/configurator/assets/icons/pixelitos/16/system-users.png new file mode 100644 index 0000000000000000000000000000000000000000..ef122e2d6c59c7957fc3e54c8dd6aa132c598cab GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~TQw}iw3ZL@#xLTaV z#iJd1$2@x6YS;`Xt&+Se;1)BB`;c|u58<$B$)+uxjZOz#R$ab$xF<<`!-Gi&o~1A1 zJ;9lqo{*TNbSgkCXJNmu@wOQUvlvcpY|yQoG--xL8Dr@rqfjH^oi`;Jj_B%@scaPf Q2DF*M)78&qol`;+0A%ewi2wiq literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/system-users.png.import b/tools/configurator/assets/icons/pixelitos/16/system-users.png.import new file mode 100644 index 00000000..befd0585 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/system-users.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://qqcb7grvp6om" +path="res://.godot/imported/system-users.png-f43ba36547704aa521f06c414bb06bfe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/system-users.png" +dest_files=["res://.godot/imported/system-users.png-f43ba36547704aa521f06c414bb06bfe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/systemsettings.png b/tools/configurator/assets/icons/pixelitos/16/systemsettings.png new file mode 100644 index 0000000000000000000000000000000000000000..f007d74a45da5edd2dea8407bc6893dca568278e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar`0C23ztSP~a&J*q&Fz z^6!7w4^^MJFE4p%umpIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/systemsettings.png.import b/tools/configurator/assets/icons/pixelitos/16/systemsettings.png.import new file mode 100644 index 00000000..a4cce86e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/systemsettings.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b8w5o1bmrth6g" +path="res://.godot/imported/systemsettings.png-a32512d81ece5301e2abfb892943e3f9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/systemsettings.png" +dest_files=["res://.godot/imported/systemsettings.png-a32512d81ece5301e2abfb892943e3f9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/team-fortress-classic.png b/tools/configurator/assets/icons/pixelitos/16/team-fortress-classic.png new file mode 100644 index 0000000000000000000000000000000000000000..789c9e397ee0c04092addba9e95f6fd90934410a GIT binary patch literal 193 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`9iA?ZAr_~XPQJ+7V8G$h-~D?- zx3a|yC7Qs;ab7mdKI;Vst03pCkyZ`_I literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/team-fortress-classic.png.import b/tools/configurator/assets/icons/pixelitos/16/team-fortress-classic.png.import new file mode 100644 index 00000000..52b71583 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/team-fortress-classic.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://g5bbb8d4048h" +path="res://.godot/imported/team-fortress-classic.png-7fb9df470d445fd4020a654dc726ff15.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/team-fortress-classic.png" +dest_files=["res://.godot/imported/team-fortress-classic.png-7fb9df470d445fd4020a654dc726ff15.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/telegram.png b/tools/configurator/assets/icons/pixelitos/16/telegram.png new file mode 100644 index 0000000000000000000000000000000000000000..98f6f3c6b673d8c2b2e9a998a6200a72f2ad03a1 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`J3U<-Lo7}wryO81nP&5=-}jGO zkBssz31vg6kCI0`R;86VOPsvelf%Kiv1`5i=|eYXdCMQZsq-VJJ@eO3@!dkbs{Q{q z3vB9b1cJFU1(%%b pO^rCCAl)%(%F0PIPn*i~hK8uuLJAoZi{JHU)p;AL&5aV6_;kK}^pDhue~v$~ea>xP WXSCgyb^kk{{S2P2elF{r5}E)Cr9XNA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/terminal-tango.png.import b/tools/configurator/assets/icons/pixelitos/16/terminal-tango.png.import new file mode 100644 index 00000000..7ba27817 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/terminal-tango.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxtop31oij8b5" +path="res://.godot/imported/terminal-tango.png-2cca333019c8808606519465822a385a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/terminal-tango.png" +dest_files=["res://.godot/imported/terminal-tango.png-2cca333019c8808606519465822a385a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/tesseract.png b/tools/configurator/assets/icons/pixelitos/16/tesseract.png new file mode 100644 index 0000000000000000000000000000000000000000..800ea5efa432586047faf145e70e021d29cbc986 GIT binary patch literal 401 zcmV;C0dD?@P)5r00044NklQq@_y} zgQ1cR!k{W`uR-6_dheAp-FwdYe((4ExPpeoA|cH`ER!peGz?+hRdeukV8|61c*=5H zDB1i9;9xhTb=_USVku9iP~vTN0f1%DrV2~J+2Ak$UH*WbA(eL}R{*l{xCstV`K^Rp zbdyZ3NF^M_1AJt!zEuQ+I%ya}#v&oD^^g3m$q}^HH2Z$r>-3Cu7Kb|y>b{ z#b>JMy-cA_F0Ng{0_gMl+KyG#JG)U!tBwtP-(LH3FQoh|y9Rsqk9m21#B;RgC_iZ! zLZ08;iFzWA?ogB;(ynC9BqkU@TJ_edh+5TE1wiFKjgZQ|2TmRSuUYe(A0O2Ka%J5y vQ77Up6ERD$Ex_Ewm=`&1gQu&X%Q~loCID@r BG#K8h;*WDXs_4y}$;jYYrN4H^4c=FE$s2zhXn(Y-g4yBI!>c)y zV%AoQXvm1K`S-?>altnm=e0eNn+{LzVftjfXR711d2ipZo;QE(hk_0xdu@=-44$rj JF6*2UngDfuJvRUV literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/tools-check-spelling.png.import b/tools/configurator/assets/icons/pixelitos/16/tools-check-spelling.png.import new file mode 100644 index 00000000..37b01a18 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/tools-check-spelling.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgfk8feokb5w5" +path="res://.godot/imported/tools-check-spelling.png-a2a533768237b01e590776eb567fc3a3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/tools-check-spelling.png" +dest_files=["res://.godot/imported/tools-check-spelling.png-a2a533768237b01e590776eb567fc3a3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/tsugaru.png b/tools/configurator/assets/icons/pixelitos/16/tsugaru.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf8e1eb599ee262703754d0087f1651bf33aef2 GIT binary patch literal 369 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBDDmFY z#WBR9cWSU9U$X&^O}Nh+n}s%qjFS>xoiYB^cqn*RN?MY`8Jk5OKN+f*dzCOO_mpzD z!zA&$=9_8@LtEku=fX5K`)4fMxK_WeuI&3Lf032p)5`guSI$@c$Wf*|sUbF|*Rb!z zDnmBo;3wjpXSU?|e0p72?6%>g=dRQK_76GiS+zTZxF%j>XxNs^8BwOP>eQx^DU)Kx+B0Zsr$oKMwRd NgQu&X%Q~loCIDSXk8=P3 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/tsugaru.png.import b/tools/configurator/assets/icons/pixelitos/16/tsugaru.png.import new file mode 100644 index 00000000..5d963e39 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/tsugaru.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwwhexnd8i1h1" +path="res://.godot/imported/tsugaru.png-437ad6a3a7ff11854f4c1cc89abad33a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/tsugaru.png" +dest_files=["res://.godot/imported/tsugaru.png-437ad6a3a7ff11854f4c1cc89abad33a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/twitter.png b/tools/configurator/assets/icons/pixelitos/16/twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbbfe3d921d050ed0dbe432e0b8e52e9e5f6d47 GIT binary patch literal 175 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1sWML&#}JM4ODA3AZBP(!jy}Y| zv*59z=;MbBJPu9qLW^F^b^ov6{&`(%K!*R)yYGv5SQy@|-12%st<9;-HW%jAo_&q) z_}}@&L@pGrY1KHno`r)!@A!eR*J%ge>t6VM*vrA2IXUfI*FS{|0cUP468pP0%aHkH a{~Vrp6RE67cN3rs7(8A5T-G@yGywn;K0)aK literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/twitter.png.import b/tools/configurator/assets/icons/pixelitos/16/twitter.png.import new file mode 100644 index 00000000..07148812 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/twitter.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bmg3ay2o2rond" +path="res://.godot/imported/twitter.png-eb5a5787b6dc28d2695e1fdef37276ca.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/twitter.png" +dest_files=["res://.godot/imported/twitter.png-eb5a5787b6dc28d2695e1fdef37276ca.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/uget-icon.png b/tools/configurator/assets/icons/pixelitos/16/uget-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b15ae0cea2331581ec788d7cfe47a44be3820aaa GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`eV#6kAr_~XPQJ){$biRX{@O)- zE^Z5Do7Xs6v)yFbsvYX|mfw}p^aS5`QP-;SZ<>N}yY8LW=Ii~d!w|&$TrG(EeO8}d zd)_b3qaydxw=Q{dVEdKHIdKP#TW>1NKX+V(9?cquoi_z@q7q*$ xQ_6X_fQ9+b-zlONjNWh4gC1CZD~@Jn&aq9=H`Ls8H4W%822WQ%mvv4FO#r^LONIad literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/uget-icon.png.import b/tools/configurator/assets/icons/pixelitos/16/uget-icon.png.import new file mode 100644 index 00000000..c4c24a6c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/uget-icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cj3edaahdc7oo" +path="res://.godot/imported/uget-icon.png-c5a5b0f19c7b736fc0446ce5c9159089.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/uget-icon.png" +dest_files=["res://.godot/imported/uget-icon.png-c5a5b0f19c7b736fc0446ce5c9159089.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/urbanterror.png b/tools/configurator/assets/icons/pixelitos/16/urbanterror.png new file mode 100644 index 0000000000000000000000000000000000000000..3cf4e5ced99bc17df436ced5d344e97cd70a32c2 GIT binary patch literal 224 zcmV<603ZK}P)5f~14dU$4Dq`jgJ({Zef}a*J z^Xc-K8Qy!U0C89|#JZQUQVamp+Cdyv%-dLj=WT?hki`H%cZ`(5g^?)6n8m+cuQ-wZ awelBrky=dB^b?T)0000~qGy@)-n ze{}f-^C!X0C*CQuOYX^QkSMbW-Fu|=?DM3Ex6kLL?X6k1{%iF_se|2KWu1IiJQQzD sp0)99pwaXfeVG$%f2f>L{&1JUcS~Sruh=FVppzIpUHx3vIVCg!02rZAhyVZp literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/utilities-system-monitor.png.import b/tools/configurator/assets/icons/pixelitos/16/utilities-system-monitor.png.import new file mode 100644 index 00000000..b8a111fd --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/utilities-system-monitor.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3fd3momtaxc8" +path="res://.godot/imported/utilities-system-monitor.png-28372a5bab0d00e46abb06d42711a0e7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/utilities-system-monitor.png" +dest_files=["res://.godot/imported/utilities-system-monitor.png-28372a5bab0d00e46abb06d42711a0e7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/utilities-terminal.png b/tools/configurator/assets/icons/pixelitos/16/utilities-terminal.png new file mode 100644 index 0000000000000000000000000000000000000000..ed8a1c2b1a7a9d22ad056db184ca045dadbcbda9 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`C7v#hAr_~PPQJ)_K!L|a|7dNA z$w5~cT|SXp^W8+EE-bn5o9mFRzKY_VF2i{@0*i~hK8uuLJAoZi{JHU)p;AL&5aV6_;kK}^pDhue~v$~ea>xP WXSCgyb^kk{{S2P2elF{r5}E)Cr9XNA literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/utilities-terminal.png.import b/tools/configurator/assets/icons/pixelitos/16/utilities-terminal.png.import new file mode 100644 index 00000000..72e85df4 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/utilities-terminal.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://do0eyukvt2nmx" +path="res://.godot/imported/utilities-terminal.png-2cbe6a35ce562b2e6c45b2965a4235b4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/utilities-terminal.png" +dest_files=["res://.godot/imported/utilities-terminal.png-2cbe6a35ce562b2e6c45b2965a4235b4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/utilities-tweak-tool.png b/tools/configurator/assets/icons/pixelitos/16/utilities-tweak-tool.png new file mode 100644 index 0000000000000000000000000000000000000000..f007d74a45da5edd2dea8407bc6893dca568278e GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar`0C23ztSP~a&J*q&Fz z^6!7w4^^MJFE4p%umpIhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/utilities-tweak-tool.png.import b/tools/configurator/assets/icons/pixelitos/16/utilities-tweak-tool.png.import new file mode 100644 index 00000000..a454a608 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/utilities-tweak-tool.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://8skwer0rpxrd" +path="res://.godot/imported/utilities-tweak-tool.png-6e7480633f257c24648b69404af54b4b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/utilities-tweak-tool.png" +dest_files=["res://.godot/imported/utilities-tweak-tool.png-6e7480633f257c24648b69404af54b4b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/ventoy.png b/tools/configurator/assets/icons/pixelitos/16/ventoy.png new file mode 100644 index 0000000000000000000000000000000000000000..83c09b8eb0b2c407479ad45ea8ed1e71a5debae8 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jh-%!Ar_~TQw}io$y$G#&&a-E z)21YsXT}eMcI4bNYD+ymEpfv|MnC2b)}AR hrfrIK@Gxcu0)~t71`)B2(?M=x@O1TaS?83{1OWdCLiGRu literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/ventoy.png.import b/tools/configurator/assets/icons/pixelitos/16/ventoy.png.import new file mode 100644 index 00000000..2a4b6194 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/ventoy.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gdvbqsbd21ea" +path="res://.godot/imported/ventoy.png-73c71b94bf12c922d070aa57b7937b5e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/ventoy.png" +dest_files=["res://.godot/imported/ventoy.png-73c71b94bf12c922d070aa57b7937b5e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/video-display.png b/tools/configurator/assets/icons/pixelitos/16/video-display.png new file mode 100644 index 0000000000000000000000000000000000000000..ce878051949174fb587c24b446f8ad7c1a547190 GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Zk{fVAr_~TdwP2QoOfVMNK8mb z*irUYDstA=En6gJNNBJuX6uo15M_=?@GLqIbD+a_!-^Fg*?ezbzfL~#inT;RS=o6D aH^XCgE=HLH2ikxpGI+ZBxvX=Jnq4Ud0gsoi6PHMA^bpq<=xJSlRq=^5!)2dUiV=GoPEYv0 zj_Zi}5}=?4+d-4X(oO~f`@`B3GMt_Xi*o0rsZDv#8q;RLSCPlU5U-}-ClT%$544xT M)78&qol`;+0I<(E`~Uy| literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/viewnior.png.import b/tools/configurator/assets/icons/pixelitos/16/viewnior.png.import new file mode 100644 index 00000000..ab0c8027 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/viewnior.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://e87q1uv22qnk" +path="res://.godot/imported/viewnior.png-44d50731b3e041071409e21564c92b2c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/viewnior.png" +dest_files=["res://.godot/imported/viewnior.png-44d50731b3e041071409e21564c92b2c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/vim.png b/tools/configurator/assets/icons/pixelitos/16/vim.png new file mode 100644 index 0000000000000000000000000000000000000000..326ea23566b2f02383ce5d12a0b75ab74885853c GIT binary patch literal 288 zcmV+*0pI?KP)fWFg6Dfmyjzrrc5R?FHHi9v;KjtG}`yQl~yZY zB8;~*-f~KljU`_F8&jh(-3kEOwk3JjhzR!e`yXM9@t;Xi6p{fzp68M#hVWBYNaJ!i zL#e)5WT3(Jg m8gKhSWdoqc1F>83oxcHmD_*-JZ3GGc0000uQiYx_jv*44r%u=?+MvMWVjtPj z$2zC6%gb7Q(dDjFzHeq6mObEBGh=yc__MoD>yjpYHhnYuVNlUNCYeNrgjgkp$0p|7 zuZ2!pN;AB4u1{IJ_IuO%Z~Jym%#h0bkuOraV&#-i3j}g6Y|rKrtUSZAp#D+(+yEWD V)I7DjtALg>c)I$ztaD0e0sva|L6rai literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/virt-manager.png.import b/tools/configurator/assets/icons/pixelitos/16/virt-manager.png.import new file mode 100644 index 00000000..608d385f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/virt-manager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bk5dgt1074ggd" +path="res://.godot/imported/virt-manager.png-6b91c09de9ef35b02d508798aa67389c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/virt-manager.png" +dest_files=["res://.godot/imported/virt-manager.png-6b91c09de9ef35b02d508798aa67389c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/virtualbox.png b/tools/configurator/assets/icons/pixelitos/16/virtualbox.png new file mode 100644 index 0000000000000000000000000000000000000000..07c0ec4f94975eb5de2fb411fe44b04d7acc5045 GIT binary patch literal 258 zcmV+d0sa1oP)*8FkcA@tLFlQ_Hu2D=CYnfF_q2qW$;>887;AUB z87!#h^+*6fYsjt$S@QmTK)Ok15xcs@<8lW8ussZsjSd@2x7pP5ubYSoFo16QC?+bP zn;unB0t9fL41LIrZCrp*5}YTq=D{vWC^?271cj2Qiqh+&4*c-&+*r{d)IQ?`#QXM8 zeY)VKpT~^(B6Q$13}vgh09z3XW~d_K$PG=FM3(-u{p|ob zr@b=u6H`C257`{Cf9@>cAvRYG0PoLyQ$MjqH!!+^*NWrwt3ZSN5zm0jc`G0uq=~ze zi9=?wg2zo2hZB%3w3VcnbuzO)#yD$POHdNvdyXMX1`7{D!+g1#=y}-C@#SO%nppD$ z0QPs6*aO9=8RAkNm{qGBv_nLRDJ-sYr6wAi!esnL2^pKh0KgZCu~8tz>Wd8k0000< KMNUMnLSTZd&uJ(C literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/visual-studio-code.png.import b/tools/configurator/assets/icons/pixelitos/16/visual-studio-code.png.import new file mode 100644 index 00000000..c4376ee3 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/visual-studio-code.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ca6to2d15hvp6" +path="res://.godot/imported/visual-studio-code.png-25692ca8485bb690bbc73f9bf8cfa184.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/visual-studio-code.png" +dest_files=["res://.godot/imported/visual-studio-code.png-25692ca8485bb690bbc73f9bf8cfa184.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/vita3k.png b/tools/configurator/assets/icons/pixelitos/16/vita3k.png new file mode 100644 index 0000000000000000000000000000000000000000..e1441196e6be30123839be733e2a23590c0680d1 GIT binary patch literal 443 zcmV;s0Yv_ZP)f)j99#A*u%1vy|aNJ>DA1|8$re9lM1wcA{HYzhq?ORlpnca_43h-tDM!j}n+M%+zwRudLznnNt zG;yM@f@T{{I*1(L=TrQf`WtF)t%G$Bb0y10WSip!_tCFQ>;%hFS{`rM<^llR@KymR lgzYE&!tiPVmq2A>rhj%eoab$3Z8!h`002ovPDHLkV1goFvnT)n literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/vita3k.png.import b/tools/configurator/assets/icons/pixelitos/16/vita3k.png.import new file mode 100644 index 00000000..62d7a9c1 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/vita3k.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cly75dshuhaj" +path="res://.godot/imported/vita3k.png-93fe1d165f18d42eb8d11782e32ca7a8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/vita3k.png" +dest_files=["res://.godot/imported/vita3k.png-93fe1d165f18d42eb8d11782e32ca7a8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/vivaldi.png b/tools/configurator/assets/icons/pixelitos/16/vivaldi.png new file mode 100644 index 0000000000000000000000000000000000000000..5d34b0c938f5943099359b4a9b1598f73340113d GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0C1|JkWpuoY+vzYnD zU-b<31F5(CzuI(d&G`Ijhl&#)hxs=FKZ^}deHa{!A6;unJIdPQ8q%!Nq+%qJAs5~9 zRM1V$y~n?K+Yj%KF!8Y7>b04UmDzne+4Chcn6Jx4Sbhvo(ogyJCrxU~>QCF^`ZK@I Z(ck^qgfXIf1}D%B44$rjF6*2UngH8bKsEpX literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/vivaldi.png.import b/tools/configurator/assets/icons/pixelitos/16/vivaldi.png.import new file mode 100644 index 00000000..46b695d8 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/vivaldi.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://psgbhmi6m6a" +path="res://.godot/imported/vivaldi.png-1656dbc320082bef066759e8094d9a65.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/vivaldi.png" +dest_files=["res://.godot/imported/vivaldi.png-1656dbc320082bef066759e8094d9a65.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/vpinball.png b/tools/configurator/assets/icons/pixelitos/16/vpinball.png new file mode 100644 index 0000000000000000000000000000000000000000..246a0f0dedf2e08bdb9371440348d94afc579945 GIT binary patch literal 422 zcmV;X0a^ZuP)G%5Q3xK!R z7Zd*5D1@Mf0pd{tz|H*HbN(UEQV%ay+g^CzyaP~_l>xB2b5T|lWkq~`=;3&jG~lAF z0GLc?4q&gHz@Jf`rPOZdYZ}(F(tWYol4ohdM8@rdC)1g;y72V;(P^S#J=y)^9Y!Y5 zfn8l5b#@G4_zzLT0JjgHjY;}o02{*JwILZttqJ5f8a@~du)E+elVluu7{JPU_QACq z_L^+gOJjGzeVK^-Do4jBPMm?x!1Q-n<;G=_^%RAHi8kwH`!a<_U9bj4zx_a}L-~a! QnE(I)07*qoM6N<$f&dM*y#N3J literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/vpinball.png.import b/tools/configurator/assets/icons/pixelitos/16/vpinball.png.import new file mode 100644 index 00000000..bf8f035c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/vpinball.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cgqp5gfygvabx" +path="res://.godot/imported/vpinball.png-f7b80d1ce198d6aba87b6d34b24e4b4c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/vpinball.png" +dest_files=["res://.godot/imported/vpinball.png-f7b80d1ce198d6aba87b6d34b24e4b4c.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/vscodium.png b/tools/configurator/assets/icons/pixelitos/16/vscodium.png new file mode 100644 index 0000000000000000000000000000000000000000..8db5def04e109307c9701484c2dfbf34866a230a GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`lRRAb;@5S%@XBH2wObOos_1(7yUK9DBR)AEAUJb)L_^8wm4Jb_=3=BkKbA|wV$uPvU6W`l|TOOV7F7Q#@7G<002ov JPDHLkV1jQmhA995 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/waterfox.png.import b/tools/configurator/assets/icons/pixelitos/16/waterfox.png.import new file mode 100644 index 00000000..667dd539 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/waterfox.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b18qmcfm8xitj" +path="res://.godot/imported/waterfox.png-f5cdf2daf2fb1f59bc435c4904dfcd80.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/waterfox.png" +dest_files=["res://.godot/imported/waterfox.png-f5cdf2daf2fb1f59bc435c4904dfcd80.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/wine.png b/tools/configurator/assets/icons/pixelitos/16/wine.png new file mode 100644 index 0000000000000000000000000000000000000000..b0bf71085112c71adc3e2c9520af1c27ee0d7fd6 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~i!3HGN^yhQ|sbo(V#}JM4cPAa>J)ppIq$YHE z;>L4Vjz*~eUFP5j7>li#;{an^L HB{Ts5G4DG$ literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/wine.png.import b/tools/configurator/assets/icons/pixelitos/16/wine.png.import new file mode 100644 index 00000000..80f93f3e --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/wine.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dpwyu3hvv62c5" +path="res://.godot/imported/wine.png-583ea9587fa331cb756b428ac5ab7cd7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/wine.png" +dest_files=["res://.godot/imported/wine.png-583ea9587fa331cb756b428ac5ab7cd7.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xarchiver.png b/tools/configurator/assets/icons/pixelitos/16/xarchiver.png new file mode 100644 index 0000000000000000000000000000000000000000..f94f6e1e3d571838455973240ec11f94db299eb9 GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`n>}3|Lo80OoxGQ~*+9VUzT&kL z9Gb=~%mFQvlr(&2G<0z~iF2I_FlgAVmdKI;Vst0IjuR0RR91 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xarchiver.png.import b/tools/configurator/assets/icons/pixelitos/16/xarchiver.png.import new file mode 100644 index 00000000..7f8668ba --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xarchiver.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dgta2khfqwul5" +path="res://.godot/imported/xarchiver.png-440e60dc8a19f025c3df8304419c2af3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xarchiver.png" +dest_files=["res://.godot/imported/xarchiver.png-440e60dc8a19f025c3df8304419c2af3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xenia.png b/tools/configurator/assets/icons/pixelitos/16/xenia.png new file mode 100644 index 0000000000000000000000000000000000000000..1c37b691bfa2fd72da6bf6a476ad9137dbe54eb0 GIT binary patch literal 282 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC^5s+ z#WBR9w|BBP-vI>({{RNmdY@v73|S=}#A%v5B1tYRg7+tujC;|^=XJ6RLM zPUp`mVP!b=ULbbov%L&oK6mICakaU+@UcHS%6I4NjjP4~+5gCI+Gn!pgwTnQ@=v-G cMgK6Z*wp!C>CqL(fo^2*boFyt=akR{02Ehg#{d8T literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xenia.png.import b/tools/configurator/assets/icons/pixelitos/16/xenia.png.import new file mode 100644 index 00000000..1bd76ab9 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xenia.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cadw0a72vyht3" +path="res://.godot/imported/xenia.png-404c14c1fb3a625de35e2b6a0233918a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xenia.png" +dest_files=["res://.godot/imported/xenia.png-404c14c1fb3a625de35e2b6a0233918a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfce-display-profile.png b/tools/configurator/assets/icons/pixelitos/16/xfce-display-profile.png new file mode 100644 index 0000000000000000000000000000000000000000..ef122e2d6c59c7957fc3e54c8dd6aa132c598cab GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~TQw}iw3ZL@#xLTaV z#iJd1$2@x6YS;`Xt&+Se;1)BB`;c|u58<$B$)+uxjZOz#R$ab$xF<<`!-Gi&o~1A1 zJ;9lqo{*TNbSgkCXJNmu@wOQUvlvcpY|yQoG--xL8Dr@rqfjH^oi`;Jj_B%@scaPf Q2DF*M)78&qol`;+0A%ewi2wiq literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfce-display-profile.png.import b/tools/configurator/assets/icons/pixelitos/16/xfce-display-profile.png.import new file mode 100644 index 00000000..ee88b815 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfce-display-profile.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://s5wjg2hbbs4c" +path="res://.godot/imported/xfce-display-profile.png-3fae86b686e1c34ac75474b4221254e8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfce-display-profile.png" +dest_files=["res://.godot/imported/xfce-display-profile.png-3fae86b686e1c34ac75474b4221254e8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfce4-logo.png b/tools/configurator/assets/icons/pixelitos/16/xfce4-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..44b33e8019ee530ec4109cbe51b23b61358727c3 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0CPCm$cK!Jz3@XEzg z90nHw%9Lxz5h%~(}li?F-ctu90W|6{{ z_4e%_RvH@$uwD?K;`n+)O1gnm;xaLnyx_D0yF1VNxC>?&d$*j?JGlIz%C`NV`cHo; boST3Bxx?!J3wdS(-N4}K>gTe~DWM4f+s#5k literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfce4-logo.png.import b/tools/configurator/assets/icons/pixelitos/16/xfce4-logo.png.import new file mode 100644 index 00000000..154e8558 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfce4-logo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvhmw7adbslp" +path="res://.godot/imported/xfce4-logo.png-d15a4ad641968d3fb52e371a647d1a99.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfce4-logo.png" +dest_files=["res://.godot/imported/xfce4-logo.png-d15a4ad641968d3fb52e371a647d1a99.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfce4-panel.png b/tools/configurator/assets/icons/pixelitos/16/xfce4-panel.png new file mode 100644 index 0000000000000000000000000000000000000000..6c71f919d4aa8f6fb0bdad6272d52c469e702f4f GIT binary patch literal 145 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~q!3HGX7W?Z1sR&OO#}JM4$xp0){IhrueEv5Y?x!rDpA&YLzu~V_`C1}1vFFny je}?Nh@-~K%vCpNumO1_j;$1Nn=oki1S3j3^P6}%P literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfce4-settings.png.import b/tools/configurator/assets/icons/pixelitos/16/xfce4-settings.png.import new file mode 100644 index 00000000..12a6a3d0 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfce4-settings.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cks7g5wldlmxh" +path="res://.godot/imported/xfce4-settings.png-549e6b6c58b910debf614a20b7846dab.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfce4-settings.png" +dest_files=["res://.godot/imported/xfce4-settings.png-549e6b6c58b910debf614a20b7846dab.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-hibernate.png b/tools/configurator/assets/icons/pixelitos/16/xfsm-hibernate.png new file mode 100644 index 0000000000000000000000000000000000000000..885a2a4e40f2aabc040d9a4978fef02fab4a4c1f GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`HJ&bxAr`0CPCm$cK!L-x)w8gp zj6;^mJl9{vqe0^8><7Q)MHg7SR{Xc8LS8h7C+vU^htdv1-wV<0+Du~C7C6NDxTrB& zX53w~?J?Z7`Chu^mpi%>V);)$JR~}Oja84F$NSB9KAPXlT=F<< fpOMe*$A6f&gk=1EzFqw<&>ak(u6{1-oD!M_WK7L*zF=T7(`30uY}7ZYar+eQsZ>$Er(Bbcl` zx=V$w?K&3I?(}l8k=sj+tEXB+q|T>p^SM^F_HfUdex=WE>}I)V?r`w_x8ML%zopr00n?eM*si- literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-lock.png.import b/tools/configurator/assets/icons/pixelitos/16/xfsm-lock.png.import new file mode 100644 index 00000000..8e631d4a --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfsm-lock.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dqsq1h8y71lfc" +path="res://.godot/imported/xfsm-lock.png-9576458b998d6372c9977082063a1443.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfsm-lock.png" +dest_files=["res://.godot/imported/xfsm-lock.png-9576458b998d6372c9977082063a1443.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-logout.png b/tools/configurator/assets/icons/pixelitos/16/xfsm-logout.png new file mode 100644 index 0000000000000000000000000000000000000000..1ccffb7c5f2974219276136ead35bc8be239f65d GIT binary patch literal 189 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EuJopAr`0CPCh8wpuo}A`n<1d zJ!_UgtiyZLrE_0NDg~Yt{88t?$djzsdg$l(O4e7*yc(R2{P&hEWvuP%OcPOZn+e43E_tLhwkgN481ejmwAK=&|sy85}Sb4q9e02`l6LjV8( literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-logout.png.import b/tools/configurator/assets/icons/pixelitos/16/xfsm-logout.png.import new file mode 100644 index 00000000..1a4013c2 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfsm-logout.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c0m8e47lba1et" +path="res://.godot/imported/xfsm-logout.png-ac73a847e90bdf75fad44456bfb943e3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfsm-logout.png" +dest_files=["res://.godot/imported/xfsm-logout.png-ac73a847e90bdf75fad44456bfb943e3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-reboot.png b/tools/configurator/assets/icons/pixelitos/16/xfsm-reboot.png new file mode 100644 index 0000000000000000000000000000000000000000..e2d1794415e5380fecdc03ee474d9e423f454bc6 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`ot`d^Ar_~TQw}h_o6i0JxZ1iK zKc@-C_Dq!M{lSx@5^B6lvFC@0cF7*chxRK34jQy{ibP-JO-TR(mu<4k81AZ-oIUZ$ z=Y~kaX3p6Q3z#=#9#CuJ6?n=T(`LIuAW=a}V56nHT3gnE|NmJIKe)esy#`y-66PQ# rfo!V-OC{13f>bqwRgEXkp3C@RweO{-v#|z1M=^N1`njxgN@xNAK)OdX literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-reboot.png.import b/tools/configurator/assets/icons/pixelitos/16/xfsm-reboot.png.import new file mode 100644 index 00000000..70542333 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfsm-reboot.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://reen68m4q0sa" +path="res://.godot/imported/xfsm-reboot.png-9d2dec3268df7f808e7bbc7e0648e701.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfsm-reboot.png" +dest_files=["res://.godot/imported/xfsm-reboot.png-9d2dec3268df7f808e7bbc7e0648e701.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-shutdown.png b/tools/configurator/assets/icons/pixelitos/16/xfsm-shutdown.png new file mode 100644 index 0000000000000000000000000000000000000000..933ee6a7343385671cf3c6cc521633763fbf0417 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`O`a}}Ar`0C20QXKDDd1Cvu|<# z!?;hpzQMg#Xr4-n=IKRWA~Ifj9A}x3yrSd&`Prt&s(tnH7$y1jRLR8-G lH(_4iDRw?~+4|Ri7?QL7S06NL3<7Q)MHg7SR{Xc8LS8h7C+vU^htdv1-wV<0+Du~C7C6NDxTrB& zX53w~?J?Z7`Chu^mpi%>V);)$JR~}Oja84F$NSB9KAPXlT=F<< fpOMe*$A6f&gk=1EzFqw<&>ak(u6{1-oD!M_WK7L*zF=T7(`30uY}7ZYar+eQsZ>$Er(Bbcl` zx=V$w?K&3I?(}l8k=sj+tEXB+q|T>p^SM^F_HfUdex=WE>}I)V?r`w_x8ML%zopr00n?eM*si- literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-suspend.png.import b/tools/configurator/assets/icons/pixelitos/16/xfsm-suspend.png.import new file mode 100644 index 00000000..81031a8f --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfsm-suspend.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwruuyshmnsnr" +path="res://.godot/imported/xfsm-suspend.png-696c941b51e15ad9372f9a667e7e212d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfsm-suspend.png" +dest_files=["res://.godot/imported/xfsm-suspend.png-696c941b51e15ad9372f9a667e7e212d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-switch-user.png b/tools/configurator/assets/icons/pixelitos/16/xfsm-switch-user.png new file mode 100644 index 0000000000000000000000000000000000000000..480e62d1460924b9bfce74289653fee1ceacab99 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`6`n4RAr`0K2H)mwP!M>1x5B8A zM{)BB0i(t>?e>#04r{+!{@r!fmW9_>FEIGLX}OTx9>HTNEjNUO)bd}mFl^Af=h2fc zs5|lJ-AyZXo%~rCT59{FPAsml+<&0b^-pjPwdQj a*M2gHIy+32GR^|Ifx*+&&t;ucLK6UTw?nW1 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-switch-user.png.import b/tools/configurator/assets/icons/pixelitos/16/xfsm-switch-user.png.import new file mode 100644 index 00000000..63862b15 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfsm-switch-user.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dftye6v4lj68f" +path="res://.godot/imported/xfsm-switch-user.png-72d8f01ff17445363a9f48c777ebec31.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfsm-switch-user.png" +dest_files=["res://.godot/imported/xfsm-switch-user.png-72d8f01ff17445363a9f48c777ebec31.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-users.png b/tools/configurator/assets/icons/pixelitos/16/xfsm-users.png new file mode 100644 index 0000000000000000000000000000000000000000..ef122e2d6c59c7957fc3e54c8dd6aa132c598cab GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~TQw}iw3ZL@#xLTaV z#iJd1$2@x6YS;`Xt&+Se;1)BB`;c|u58<$B$)+uxjZOz#R$ab$xF<<`!-Gi&o~1A1 zJ;9lqo{*TNbSgkCXJNmu@wOQUvlvcpY|yQoG--xL8Dr@rqfjH^oi`;Jj_B%@scaPf Q2DF*M)78&qol`;+0A%ewi2wiq literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/xfsm-users.png.import b/tools/configurator/assets/icons/pixelitos/16/xfsm-users.png.import new file mode 100644 index 00000000..98e89924 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/xfsm-users.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bwbb7jldfgivg" +path="res://.godot/imported/xfsm-users.png-bac0746ce05178f903a231cb62e00b07.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/xfsm-users.png" +dest_files=["res://.godot/imported/xfsm-users.png-bac0746ce05178f903a231cb62e00b07.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/youtube-music.png b/tools/configurator/assets/icons/pixelitos/16/youtube-music.png new file mode 100644 index 0000000000000000000000000000000000000000..7b101c88b538d0372d1caeb2df39b432c7eae2fe GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`#hxyXAr`0C1|JkVpuoZO|Ns2E zD{a$vM4p{(qo}ItV)1}W-Jwy`#b0WP$Rigymu1I=>|87+DjPoMRCcJ=4O_fq!>J8H zEqjXD?_B70TB0A&vsrC{O~fiOwcBEre`c)w`exGnYJoX_v!d@Ex~TQP$Y=NS8pgE| W7E+!E-zfvFXYh3Ob6Mw<&;$V1r9e~w literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/youtube-music.png.import b/tools/configurator/assets/icons/pixelitos/16/youtube-music.png.import new file mode 100644 index 00000000..7920ff9c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/youtube-music.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3shqdknt7pm" +path="res://.godot/imported/youtube-music.png-3177d6285d96c22fcfc17e4e23364668.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/youtube-music.png" +dest_files=["res://.godot/imported/youtube-music.png-3177d6285d96c22fcfc17e4e23364668.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/youtube.png b/tools/configurator/assets/icons/pixelitos/16/youtube.png new file mode 100644 index 0000000000000000000000000000000000000000..eaad852246108329a719e944698f17332944d449 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC=uf6 z;uvDldvvlPAA!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~?)( z#WBR9cj;t%zC#Kk$LwbCL65xg{{pj=fI#ylSa|Y;(xxDZ6Y1v@$0&iOo`xmdKI;Vst0I#-wj{pDw literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/zsnes.png.import b/tools/configurator/assets/icons/pixelitos/16/zsnes.png.import new file mode 100644 index 00000000..3085d4b0 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/zsnes.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0jiqq01ttumv" +path="res://.godot/imported/zsnes.png-9d207e62f6761228b413dd3ba02be9fe.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/zsnes.png" +dest_files=["res://.godot/imported/zsnes.png-9d207e62f6761228b413dd3ba02be9fe.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index 83ff7877..a6c14f17 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -23,13 +23,10 @@ func _ready(): if bios_type == 1: #Basic BIOS button pressed var parameters = ["check_bios_files","basic"] - await run_thread_command(class_functions.wrapper_command, parameters, console) - class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(bios_result["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) else: #Assume advanced BIOS button pressed var parameters = ["check_bios_files"] - class_functions.execute_command(class_functions.wrapper_command, parameters, false) - await run_thread_command(class_functions.wrapper_command, parameters, console) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) var bios_list = bios_result["output"] var bios_lines = bios_list.split("\n") for line in bios_lines: @@ -40,6 +37,3 @@ func _ready(): if table_line.get_index() % 2 == 1: table_line.set_custom_bg_color(i,Color(0.15, 0.15, 0.15, 1),false) table_line.set_custom_color(i,Color(1,1,1,1)) - -func run_thread_command(command: String, parameters: Array, console: bool) -> void: - bios_result = await class_functions.run_command_in_thread(command, parameters, console) diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 1289df48..4d75e012 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -10,7 +10,6 @@ var content = null func _ready(): lbhide.visible=false rbhide.visible=false - print (bios_type) $".".theme = custom_theme # TODO this alowes copy and paste from RTB in logs? if (content != null and bios_type > 0): diff --git a/tools/configurator/helper_text.gd b/tools/configurator/helper_text.gd index e4d92d63..1026e672 100644 --- a/tools/configurator/helper_text.gd +++ b/tools/configurator/helper_text.gd @@ -10,5 +10,5 @@ func _on_focus_changed(selected_element:Control) -> void: if selected_element != null and selected_element.has_meta("description"): helper_text_node.text = selected_element.get_meta("description") else: - #helper_text_node.text = "Hey, there's no description" - helper_text_node.text = "That stupid Monkey almost deleted me.\n\n\nPlease save me!!!!!!!!" + helper_text_node.text = "Hey, there's no description" + #helper_text_node.text = "That stupid Monkey almost deleted me.\n\n\nPlease save me!!!!!!!!" diff --git a/tools/configurator/locales/interface.de.translation b/tools/configurator/locales/interface.de.translation deleted file mode 100644 index 2f59526ef4237e4bff1e8526f5d7179b82a157dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3601 zcma)94Nz3q6@Dy~EV4?92*edx6gL6+NyTJZK+OV+Kd?ereo{gu3;Td|ci)otb~QrM zsDmrsH?^pIlamJiN7 z5?5v8vj2zbp_B^9qT&n4tzxss*Xr;z`+dzyt0;-WtnfX_;T45ANW7w=INC);xDAYY zLKNb$>~JU@&3;FVM-*m)Z3(oxMZYE>Pl{i5N$sIyN~`SZ^g}2JQNTh#wN#j&|KBog zZvXbu4J|?z>EijH1^EUxsTiC(MS%)w0vrH6RM2TW28||abROseZB6_1+y#CKPz;o4 zdzGLy+M0A8(AMiT>I9|EP;%b~wgFE9q|2W@8vk?9LEt5g9|rv$Fskv#K*xZSz!bpG zb9xD~D`E0~YHO+~>CDh*66joQZPF<1XJdUgP#7j7`F#=m8t~OXy(Vu0Z2>woego)c z;Kv%jN2AYZbU>pofl_Nsz%bVMs7S1PF{KcFn+-l$lhNL$b>;;pKxxoug1Ej?nBR02 z`nN+y&}n8VyF=i5cGJs$*b0X15-z88jmN+q#U3920r&T&Ps3>nCm62B&p)=}UppQ| zeJGg4K%2qTGXuLq8*XNDJVyHu&zd)zG8&BfZahlafCi2hZ*O`$u(8zYS%+&+RYm-*Nf^ z7@Ea2U~)9ak&fUZ>y`a^Rryk!r*|lU$9?0=z4LzwhH@uxyY~$4KVbvU@8hS#X{TQR zPu~{QGp=`RZR7s$;yleVp?}}dc?0}Yel)XO?`nV9)PC^XfA8z>Uw;bcsJ4_7k7xd( zkIq=ZQ18R#yAN&o^ghUWU%B1>va53_M)FPZUm1Gy@HXU0Yr5au?mJ%`KWjx?*iymI z|8?=X{tqDIaXAwg+A=c%{h_hsOo z)!qG&^E&gmrY4uHSOA9nQLnlD{*G-2=)E5q$M0WJD)Y4ZhQB|~&eu2Igng zR@c$mzHTf?Mm1gc!lUa0(4!twk1n@vwhw{l`D3Y`ODafToU7@O-W!Lu@2Lfiybl{q z*~chP(h2u_c;C(48zAHN^ZkdHOS2FMy$dPsn>Ej6K8+wF``^8!BKbAQ$zFJVv&4TW z`yi*f5_p`Q=G*>u1$JrnGlBOWI`D%(Vv}kaUeCSjvoh#AlVYX2Liwfxt58e(CdDs$ z1!gbSAJiq-4kk}si(_E>xA&DrH%CuQ6@jxFcI6wRna~)JgQKl(r8D3WC4rTEvTU4{ z+#5X|6&zec$4WayhhGuyYH@g+rVXOp794GFamZQ1O4-roa>K0EY$S^fqU`Px1MQ-) zR`hpm1Sha^U1Ecw>Gnp|+`5(1Q5N?auO4aq>cM49u(vu;iRvCZvybh_ zVg+zQm86Y;*IREh**je#ep)h{F42(lSz_wNML{!jNB1&eT31kJ59vGR8SKR)Oek4h z1&O8ankONiH5i$DLTA2)w0qmyB++E`2Jj2oC+Fqm39LpJjGc}yvzAtb@)FoeIW>jd zN+q;{mufqrD%TrwPh}vB@)&P+{`dnaYB7$h(T>JV==4;GGKXJunQk?w&R$|tf4H}a zvZ>bR^PtWJZ%i0dFJ>|O54)&flx;k#c&b>=4OLK6(2uiv_f}~&UYgk z-3eKVi}6fH6$;fT^G2WSM_*P|r3M~mw%F7`Ce+Hl&W_-qD48r$m*{H8z*YL%T@p=9 zr^m60Q`73QLc!w1e*r~=iF#vW!g_L9b}{bbQ_0clG*OT?n$l(Q%x=GssKhM_1#2Js z;?T6NytW#N7(Zr0y(qW1BxgWsH>so6iFt1ec~)-4Q6nm%AGac5;^6iQX3aJCBpD=0 zf>TRhe2CAW5b9(5LSFUPQdnaz0vMgg+_+TZ-kqWT#f17-SDbqBIEwOFqTIhm9X@8w z8-a(Sq9NWJTfpOY<<=?aggVTYfWjNEmYi30eNKYjXw^y#p{>A-!X}Iq8KzQm2ldlY z?$9kV)rfxCr}}RYTNIZcGg@zaFFl2=T9jn4Kwoi1EyWkJM=~pERyV$F*-r{+GLQ;P1!|&}7S`6N{su$Q&5&Yg5gp>uhZM`Ecw%{3 zC&}*re$t>h9WYcg5;J^ib133dLd{mB+4QNp%I-?s)0MEw#zPWTO;c%8O?D@kxP{6l zVi{1(K(nQ^gj6;OY)i}+R4rRTCz+O^>20HCrq9r#7KDtA1MUUlo=S>}{#&NaU+{g= zR9HUg;`yHiq3j6~paAqx1xN6t+cd+b*`TxRHSNvMKEsVErIak{~1bm&fpn!Pf%IZ22RgEkMBL9|v6ze8c8<+H{vq_t^9W z&^r*L1oUBzUmO{Y2R?f#iLuXspJK~suVbZS))7#eEE*Z1Z%r4Cqq`;K%Xh5H2OH0ea=R@*vG?p`_@N7YcY=HhKYS|&UicAlEZs8Y z+XIkOuL$oCMc>^HXE|6Cgx}qVUaQl=2t8r{#KZsCmW;ebey!ZU zEbt; zEcqem*nYpfVEf!(K|Xdq%1>;+@m<6#@)B{SZ|M5vUdZVkl33rPGY^y%;&3`IaenW0 z^s_54rWgpq&-KE+Q>);I-c5wtay|VAhrm-ks7@lEzBwE3`4g0=cjV`}p!T^>uu1iy zyx}VD1!Pn!!iRk`-`)yJxh0-Iuypy0 z3t&&V5PAMsI!#pse zuOk0m*Y&9spE&>Op;Jev<9x~|(f-UwuMfWrIeu{n`#;Zlx0l}8A})W%tof_4IktZ1 zOW(V=8+z1V>VdHT*1&zg{~h>yfNbE2E#FKXL7Y@ef{1_5Lse@Zg%QP>c#kg(&3pI` zDA9T3Tj)D4Q|yxci(I%kFC?%c}u2wA*XW);+(tGzncpnr@j(IoKeS}e?1AM zEXe5n_SR$lUw;alW9zefRes(i=+R8jhZ4n=3mk_}xx=*7F!SKENRm~{ihtYG#WY_~ zs#nbzK9?^4xjj~GG58%)RYrU}P}`KOlT^Gn?i6mVAF5{X%iyZ%sc zCU*jqDhgH&fizv2pPg5Xg}iG9#O|+IhQhoNKm3t?0kL`$kMyr3sXTC4f9}&$lmLiw)k~kd37R}2OZhT-ASAkyX5$;vW4J9Ov)`Zu*kKTa)lKC@@`d)`0=bl z@daa1snLYMrC16o@}1JW=WpA4QzMKwHZOsr`KV8Q(%@sfyf-Z=ax)n(bSW(m!UuKK9+ z5A5UKtdxJ=q$bJodl}~Vv_GP@DG}fY>u&V=5EcVJmo;7 zUBYoDX4X{UPOfZXiACn+JvNWAs*HWA+_p($>GVq&jN!Doo6h9gF5L<)iy^t&;Mp4s zSz2MdaPhgTX>Dbrogx_~!nr@QkZOk$ys93PyfIVrjZXG|n#-Eh7E`m(!(}tx>f(#; u&rFv&Ytn)ma~i5&ql@Lry~L4-;tQZpj8|_eZblJm^!WRU-VycqkL%x#mPrZ# diff --git a/tools/configurator/locales/interface.it.translation b/tools/configurator/locales/interface.it.translation deleted file mode 100644 index 9c7151eec309b3c8443fa38f9c8cb2c07f437e65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3585 zcma)94Nz3q6~3}$v;3&3ASNuzuIL(&4XH%i0wD!vg1e0APduanFak4y+V-#%loQKn-+_$ zULVUQTRi`>Aa`JsiovBEW>iQEAOiGIK_~De>vD!JGa%>cYucyhUg(Q}BA`^?tA=#z zYqD9cuUF`@1(G^L$$cN#4EzWnTmJ0O^&dm-1zy$lLC9YKZ|eF<$YJ0Na2ep|xf}y` zEr$Q6zNVUzO`MVGXngZ2GDK@3Oyw{O#{pw|J*bpA2Ol|Y-WuYr65cv9DQ z=<)?!?$+h2kklFrFo-q&qL@+t%B%;_H|hoTmh)>@*yg?uoq9&Y#(A|M@3B$X)9l^@ z#OZr)7f)H#j5SRgq3HU%)mgBk=_K&;N@>FJJD`vaO*H4e;Sz2}hcyAyxFrIc%I{2#3F zkG1Kxbbj5?X4?t)qgf^JIFovJOFhtUuUF&t_1U1KwW1ujedF;xXR6?5Iyj1%^C{ZF zTQsBG56`3K>6D&};8BVwKEBj`yyyR;7quM0oF;h`_KHXv`xjnJBG z={^IUJ`1t;|7_RqYzx5M-iMzK9=R|IXVf$L264Y*7yH(A;Jy@aR6Bo{_0w(GB%Q$R zt{%PF_8@e+D-}qey075ZkTgdG9{(@DwJrBDblxw{mmJ@Aa~hK8d2v2@<1=rigQs57 z8O|S@{Yvp_Tu%2<9GuUx9by*nv%qD>@HgyxW*$U6czwD3jbQRmegix5Pr37a1{ZeS zb61T27k%>A%W?i|u%Z00jNW;8=!0F4!j5=~qc=6};(6%2zW@4R{qrYaO#P0X+Xwo$ zel!L!%;VK%>;=QlE@6vsc zpU(zof3ydZa-&(`b|-5ZU!(5{%_pIM-~Ovq9O^y!k#(qxk84=I5V1Iq%#Ubh^t5YVI zF*U{^G2TbYk@h-Ic=|SDL9<3PvSMKU>Q2N#Js^DIeM0y-be=z!(Q~Q!nG5rv8S zZc}_9U`#8#A{wEUW#*a>Y*??=CuW$e8uKU-ueVKR+P!kE5-?6o$z~Ob*eZKPG95DZ znQ%rJvW-`1%q@lC);-^tW*hM(X?1F2gPpejo53Zf!rlcr*sM%&96*d%InL)$v>Gc7 zDJ{6M;nO7<)_ijRf>~qE?}ZhSxk4?>Q{r)2u)tlOID1jI^QAZ>7!79qMp!%J?d12w za9=!Rb-eJMEUnI#mY9wZwX*J)H&L23)142J6l|Hzi8d6&P!+)KN!r7snlDbEos9Ie zndG6Oryu_7x&=)b-kLozC7)HuA=Jbocq4(pG8asTP8oU!G?y){>aT#ff|65B(2_AM_D4S zX04>(6c-vdBx|TMX2~iX~gOpuq1@K+`kS1k=b!v~$Ap zz=HU~!e~_k0n>mcnEz5dVJP?1>C@3nE?)K_aQ%ARi=kDeu-<|WO(-{}87CXzIaS39 zpVxO3nr;~4%XYoUwXLlzy2L<*B{9ILxHNF)!wJig8|CTRyJ=wc>zXUy2BidhYLW3QwJ>Hd z1UVeCG)OB^l~g6dv}NYAnW#mB?8CcMX5C0JIWkcxYFt_7uwgg@+to7uzv`4&ZSc$A JwQl_L_iuz-frtPA diff --git a/tools/configurator/locales/interface.ja.translation b/tools/configurator/locales/interface.ja.translation deleted file mode 100644 index 98f644136b7d39926608895ca95f61c732b2db30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4149 zcma)A3viUx75=GjK}UI6vEULUBM$+C;7A#4F{ML6!7NbA*u*7S%#x?srJVxW?Efcm zLrh2_?5e4728e`?RWnFp6uTxo$((|?mg$8 z=XcJ%$q;9adqR=ljaY90-3*!m+LY;Xq&fE3leT2p(w(U`mm?z`V&fyln53i2R?O@D zKFhw%dMlK^3(B%PGj?Ys+7nVU5^bpou8ag{qCMTN+-W{bx24&Y+aO7^JDs-Y?M~$u zFuH|ZnT&0+&6%9wvh7HHuCOm52{YZ?mfOPTwUqEicA%Vf`E}KF?T0k}seFW$?_@>Bps$9Q^HA?R3oW2La z$ADIY*2=SuSmWfLbe@s>c)2EFrOr@sFM)DE`$443-$BVA!P*FFle`z}aga~)r?9>S zIt@AxVtZaMLiU+S{!h6lOiAZZ#2>vJFH-olG`LkGe zfRZKu3#{3oJjoxFYn5DU<=TdoT4MouvBy81rfzMy=O!Fb4~SU)tN7@s4Pa=Th*<7i zwe;C9p+6HcqVLGF;Wd+DH0-BITK&a48$%d?yTB8%eb(CBMux$#9?Rc2J@xG^7!cNH zzvsSkEbB4({ah{j_^&3vtY@_x8=3?;`~770p7$o3{BfM_l%Id|HH?d+ELf5M77Y_L2J2t+*GQ7wb>^`q;HMO@26! zr##b&skd~&i2~;`FPy>QBJ7FSzPjU`rz;_+o)WSBi;w@S@KFfvhm2_F6ifaE@R9M` z5C1;;F`P%ro4tK!4^4pY#Sbg?K8GMYC#mY(Pp3ogUicv5_+sE{^3TBY+|0V8b=7<% z%{=FS;<1v&8DKb1mj7_1mX-bSUxzrWzFA!FV79j=S6obFHC^@ zm51tQc;P(K&z1BkbuloGtjD`Zy*J+ErzXYm@LbsQ{NqUPNzdzN4*S4FfhQ`PKJ&vO z;KOnLle@M2ZP-Qnf26YTgC-M>=X{H8D<_!Sg`aO)_iyM$;`r4U)pL3QKI6!JSkc(^ z$DPRIc1f4Kvp=9WiSuE-Q%`O0+63lq=n+-6c8L2BpX+12E0wY5?}k0cFB^XU>Jc2W z9^*b|e&Fm%$hl6Im-e|YEr6Wu*>7d+l^G=C{(aW*#^5#+PHg|~KmPDhlBxe}|Mx`~ zDxZN8+b2zpT4@DNk#l`^^{AKwy~z3xoO<9dMUXE;4n!|{UcNa8eVmUy5y!7xv3~DE zrarO!{JEINuYrk-_jGbj_ot9^Uaa5W>)iOHsScKZH0Rds!|*=~F^PDt_WX8B#Xb}} z8#1E!hJCv(;gI8fl9+8>XPOJfW%}~_7t!xa#`|}D1qU<1vmM9%rDfqM^2_&{;|{i7 zD{Y0G=jZ(w)};RlMyz)&uI7OZ^eGBDMC@;G%!Zl$kkjvWB9`B2|I%3kdE}gCM&A-z zjG!^lCHnJo-M@Yb^+e)Uy=%eTyHFg@6(H1orC=k}exaTaTAt8q!Td&OKI}p*o&K&W z@W+JOC^U^WTANS@gw|we;H+L~`9doeT957_U-9=333p+@gP-L}uzoPqRv7G4M+fs1 zp}BQ4k8;`P35}El%A5ST9b;t$mwoy054qJmLhIBG+uGEb04r04w>8b-oKUByB@3ZF`-A$P1{7{=9l>}>o5V}O!R zRU5bvW<9V3l+A`Bm=+y9Kuf79frBT;vTGIp5jFT)Z-k}L03}@HD^{1?mUh`!bzS|a z4GL%yKq(hmht7Hs1>G^=M-*rfPSrvkA*s8I6rq7m8Rh8d!WH_7R0*~M-J{_*A08lj zjn0v@O2~)$`uzom#%icKR0|OS3N1YeeQ+-OULBts#hSP~Ep6MAVS&(&P*14;=x?2# zaC@M+fWTNDYqgAP3hiY^vm6B|Yu9hGDx(A0Ax}rJDo426OalOHwHm$2IuIyVEyXYi z_kkr#mMC#{S5`*skDl0I(c!fGILndbgvJD5ZMH6#c@cQE1QR+)cuk}&-1`IGa^Y_G z=Qas-Ka^yIa1rhn%)W3R4b`;-8wY`tspwY=M^9EOTdiwDL-k|X03nW>(dC2tppu z*MicN3oR@)>Sx|Mx(v z)9*Pw+_=brrjw@Z-R;8NDBQSTM^R~q-*o@fzDp#r;Zc{ wf?-_HG#sHykK#X;GdfhEjAb_j`|4oWN-hWudYhn)oO_JFALw^l9R9=Lztb@9O8@`> diff --git a/tools/configurator/locales/interface.sv.translation b/tools/configurator/locales/interface.sv.translation deleted file mode 100644 index 324bf1a8adb34918b43e682956251f2738fd4e79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3553 zcma)94Nz3q6~6q00AkW0ZcwT`G?IXTR$^v~8`DL0h432|v86_QuuoXu?%Vaf2MKDL zNVJi3j6ZP*WK6VywwgGIVvDo8Ev1di){7(+B&u z_1NaS1o!{QSQsS(x?%*H^m?V%7pRwgwPv8!s8=+F-4Q;g$$o{!f$=MbAvY)nyB*5d z3WZI=uu(P|YfZV%r?AOT>ze9S#k2_8$uM=V)-b-zsMozg6C`61z-(a5Q{KFJ|Ldf+ zs-D}}$TG+l&vz!|HcV17gfyBNB~k)pfF4TdD4qmMCR+0Qkh82Y&C_!q^aX$&$hYQ7 zASS1r94vJW_J>HUxcz}83BmPGd^oOBW0M!=10cDW&7@)gSy=bogny@mFct2L8nHe4idbPH*ZBh?5WKN zk=ERsiz5~UFeZC~{p+_&Cc}{q64haY^#aEsRxe)&gmln;V9Pw(8;X(KQq zj{1F%>ixm}SS;#Ee#pn+(1n)@u!!D|boTZn+lQy1Q>=u4Z(jC7H;gGpvJw98@7(&q zMJP$&C|`rev*f>o`4{nJep&9C243`w;77jRJ+lJ}`6URy3%h&H{S>;$;}^X%KG+AH z@*RF}`^##2YOr41=g$2HuD*|bNT)grf7d$;t{jGrsWG&_`QD9fSSRu&;+Z+;lS_qA z=-p272!7|0jbAvRhc`?afmu$y@PZTy}AO^4{cKQTXVyl#}-wDLe5JmrI8T-mi@jTd%w=LnzIKjq#7UF?J5*t(?L)VT{Wro2)e-#YS(U8^9)Iod75g6Be{<)P&_y2KTf11Bj76ePZdUHOXDy6{f8lTaf@0hA;Au~S;O|iW zVQd6X`_mc`XE6Qt&pv_?y{jbP-BpL4JRWu)v3~cOjI_B>#CwJ6oeJ2{5bhSkRQ!y) z&%JOmYBVC$-4W+1=g{M#YibyX%}3Mi_JKulE|3oY^ewGX7*q}0YNENCV~?>}6SlYF zT=6Tonm|6XoVHrdTup|`?o$JPzoJWqChKMfTdK>ey(;6ysiByT6way@T{T-8SXrps zY{roG$K)_Gix9a5$T`d_8u28KzvrbrmTn>@s)06lzEQSBLt>e(X{ys4V$%z1kF% zivjSP%LA-Y=* z@Pk~-Vh}4VQ~P!y935TUnVsI2l!gWjGn5JypDa}>rXCnC z&oa9``OkV){FzO$S+QI_n~F`T9?qPjj5`-CqN=%;51wmFuuugGKr?04l%;aRV7%n%+*+KcBJ?Y~8|Zt5-XE3tbN3$~--yQm diff --git a/tools/configurator/locales/interface.ua.translation b/tools/configurator/locales/interface.ua.translation deleted file mode 100644 index 374ba23349ab4bc7ad82ed0e3984d27c43ef0b89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4701 zcma)A3vg7`8NQ(9p{SLYg&}x}8V!#`f^>!qg#rOfr4X|L8O9Qquq8{L-CeK}ZL>)T zp~WCE1OtI2gz_pQn|HE#b)e2r?c-c5oq>^oO6zo}Rjjmj3dDZjx%c0sG0gN1Kj)nP z{_p=g|6NFNr7SU==U%M$fJT5OfL7%NyxHDuo{gzKcaA^H9q{JnfNeh%%#6>wV4nR; zg7E&IbrgiY0rGkLxm$ecp0upobaz%-AUDmQ?#b~O4-R~nrHaF+xt#gc6%Hp|eLB58UEQYLG+y)D2g4`fJEa;bb#yIO(XPtsI+S&6xpQmtU zLFa=OJMUItO>y>=S?lcAJL^WQ>L9lRR@`2TYDtSM#gbJp=#Cp&x7S^0iC_D_Qn2k^-M_Mr23aZU!UariG{ z-2lpP&Rek-fJ&Tmg|qH=)>>yhiIuG}K_Tq%N7LBV#~(R>#zf&v68`n%cB>KL^qkE@7i8vw&|DE$=fBhps zb+Fybx4ln)0Xf2&^jTrq-a|>$9%EhqJ_$f3`SgKkN~!B+X```si}rhxv$i2KFSeTYc)?=VQTVPf4Qx+QKhh zKacvvfJgel7<1<(^lKvaB+>uH!S`a4aUSQ8@Q;OBF8vk;qroSM-RmE`m46Y3IPgeW zh1352EaXh=Ng{Wx{Z__SoOypqlOH&dSOnvoUL^6;F>lYzD>w}9&!XNvw`QSll9$Mj z36^y)1YhbU{BYFq1*0KMJIqD+kHs_?38*{g2TAxhXC0of3-uTr&&`}Mb-N%WeUf}a zGYTh-h8;GSRFmnQ-H!T-97i5)H=TX|pn}{y>`9g5Cw|b3xFp{HY+t>v5q_mEV*i<{ z*DrnwInFxL<*u3T1mr1rm$;{Ywrbff_?7!5{M(;bPhEo`o`5b%?9M&%w&IMFJU9>?P2(z0$q~G-KSetiQSE3qrX{>dO}o_=wF)u=WBTbnaBV5DfqJ>PkOC%$A}#C@jKX)M89_K z^88J(J2c{XH7VlO}8xruwhAN)Oe(DP6K zTJY(MByr}&jQp#DQ@J;Pc&XthN0E=QOE&9-~s&-;( zWi$tI2u75<5hgVdc|A5o+O-qhkdm<4VW|BGs#^!sgjz7LLKrGwu83Dx(+V1@0@7i= zfItbd+h?dF)MQY{b=7*Lu6tEj=hMwM@PUf6kPxh3eY6LdLcTprh^%(0hS;u!Vk_Fz zWu`7lU23=j9(Q)4345$$r|sBuVn>m{=%f?WuhCHD8X9anowVytD7(Rh@LoC)6*NM* zUJzigUn3_7r5(%-1?pS*(9&;>=raJ9Mkt0&^(Jf-Si2#Cj#D3CBl4_LL)EdRsHeuA z?byaqdMiIa+1cy6v7kHJUfVdwprmJSEy{Zej zAa2`sTwL6ce@0KJP~V(4sc57&V#`wu;PT7wS;M`Xfr*6_(9Z z_3&Dzo2{>-Y3*k1BgJgA9T7mRcO`GKj#GovRBa~kX;&|V3k2{Dk+Sq8a@7gW9js3U zt?K@+b}i;~;4LPK8^La|k=Kismw`b^Jp%fbh)i8XUPv1YJJ>FC5JrOph@GXA&wybA zqfnCiOAaW=&?fs*hM#?@Z&B5#;kmc(xeqWcQC&}R9@&>wPs#oW66weuM1TTLKi4OY zM8>NTZ|ZFIPLv(GUi;dNn zN7sUbd58%ZX@T9mI-sT7+D_-X+igxxFu_6IpnJoS;ml(j@_M@W7qiakAo^(fm!&56 zSDm*vg8BaqGh*;72t9yUnusi3dWNTaYN$gTXsY|}mk0P7bgyWI_8oND1_4F~S&`dC zUz}8occQ4Yh^&yDU21cQ+IG}$6>qQ6z@v*{ZQs%*Fbg_i37%+Z@fKUnKov&wP zLgSVr-7b52eg*ZoOnM@4w9+d+E|AqTXb3>_<5i7N+h7sXz~uK1!ezt`THilr=(I&O z%p$S~K;Ygs&ToMIIp*geNO&4Acr(4kVk5n?&vsn^7Kq?u-d`I%<#Byv48Z`d5@rd1 dQ|Kvj0Om_{ecP~$+ySPKpE~+CQ40QJ>Azj;hK~RM diff --git a/tools/configurator/locales/interface.zh.translation b/tools/configurator/locales/interface.zh.translation deleted file mode 100644 index e1a1802a64353d4edfc748287356038816ca9e48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3477 zcma)93v5$W7(Vzw)M?CkC`PcLEb@>kL!yL$!o;8;xPnmv%rdI0d)gKd@X?JuT1M9~ zx<^Mx*R69M8(rrHbZxhqp^2hVgJL3qh|+WJEy_!$MiKQt?fLP#%*300`Op8I|9#GF zy9{;45+a@(Kwb|R4HyqtS!mSd>9%V(t=4Pu4Y?Ylt{@-i#KR5ePWyPZYP32Hx&I@_ zfYDt5z1C2$S)ZlN%q_^$2-xhAPE@-xDODIG(R??8niO`(udRM#I?&hrukn%Q<4KBoksteK*VSzbd+g&`^Vq5o@HjVi zy70SdaN_R>2l_iZk3E+M3O`d0^nY{Fuh!Af_XOZLUQSY3bf9BA^zUf=IAsd#^UoO$ zUXRFBb-}q@s#r`N3c5^xRN~&;$gnKZ)>0L1Rdv!dHNpPGmF1p zXovh0kv&%$MmV>mqRM{n2z+poci}9kWB57Um(opQih42r(1Xq6myQr;C_l;FqNo%5 z_RlPycnX}cPFIfZ;a^}A=K!JNv+FtfMdL)^@ja>?H{p~ObnN^0(lvE2f-(AG{J9S6 z*KSZS{^{^6jeCUpW?Wvm^pqkV_VdS2&dG0sf_X9SBOc%9OBDTF@K5@>T%n`g;InIe zi@+c6fup_itQGQOJ!m)NNIz4l@UI;>aYe6~3)VAv8ap{lQ4jLfhl(yt0|n=SaUJPH z<2i@_C^-@pmyiT+KGEZeaToUl&h&zzpKXbdR$xr6+3*(KehKp9@gkzT{{ zt`YkCX7ZS|K8QaKYTy8q_`TZx-s<}G5C`wghL$&8eN<7$4_PL)4s^@|%eddTw0mc! z!W#Ma4^`No27P#6TU9d#c|Pn5^9I|mR_7@EPrSA;e@J0>HN$oP^bz{lG3S{HD}W#V zKHjeV*)R`y>;vm8Ou0!Ofc_>!Y>qEq>VA7CY!08N^VR87lEDt^=f5TH1ssEzQcp+< zxd;mcnAs-#2B@!r&`3wjMx^aKWl8g7`70}9+G>#gjKdtGx#29rKLwmjz*_?O$TIk%yh|Nk5^HXxo?1~e^SY%_38DLo z!3Y!@wh^^atI4|^jjt%Y`#k;Thas!23plFglB7|gPlhE2S@3K!Hld-iNmWQNwLFGzoK$up{W zGpeWbx=jYLw@RHx_XQyhVf6!&C&=uF8u<7ZZwer1IeZWqo{TZr!Riv4&~BwiCUS5bdA94&XGRaO`?f!?I1 zBEFK`ovbM!jv-MUZLMXET|{z(Xnzfn`u8w%y%5XN)}; z;Pk6@vxBYlU_FEH7?>5U>M|@{y^1-lbeEgo2G(L?u2ytS45Y4=M(Rkc+#0`B)*7jz z^ItP&787$?u2C@8-L%x3u)j8W!uIvDT7S&cAi1EZcx2k&F7K-#aL{5hi3Vy2Mc6edeE6@S2kh_=oIo@|iB6 diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd index 440271db..5cdef960 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/main.gd @@ -4,20 +4,16 @@ extends Control @onready var bios_type:int -var log_results: Dictionary var theme_option: OptionButton #signal signal_theme_changed var custom_theme: Theme = $".".theme var log_option: OptionButton var tab_container: TabContainer var anim_logo: AnimatedSprite2D -var rd_logs: String -var rd_version: String -var gc_version: String -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 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 app_data := AppData.new() func _ready(): @@ -25,15 +21,10 @@ func _ready(): _connect_signals() _play_main_animations() #%locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) - #display_json_data() - var config_file_path = "/var/config/retrodeck/retrodeck.cfg" - var json_file_path = "/var/config/retrodeck/retrodeck.json" - var config = data_handler.parse_config_to_json(config_file_path) - data_handler.config_save_json(config, json_file_path) - rd_logs = config["paths"]["logs_folder"] - rd_version = config["version"] - gc_version = ProjectSettings.get_setting("application/config/version") - %rd_title.text+= "\n " + rd_version + "\nConfigurator\n " + gc_version + + #class_functions.logger() + %rd_title.text += class_functions.read_cfg() + class_functions.logger("i","Started Godot configurator") #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") #for id in config.paths: @@ -53,7 +44,7 @@ func _ready(): func _input(event): if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): - get_tree().quit() + _exit() if Input.is_action_pressed("next_tab"): %r1_button.texture_normal = %r1_button.texture_pressed elif Input.is_action_pressed("previous_tab"): @@ -71,6 +62,7 @@ func _input(event): _exit() func _exit(): + class_functions.logger("i","Exited Godot configurator") get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) get_tree().quit() @@ -96,19 +88,16 @@ func _load_log(index: int) -> void: var log_content:String match index: 1: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroDeck log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(rd_logs +"/retrodeck.log") + class_functions.logger("i","Loading RetroDeck log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") load_popup("RetroDeck Log", "res://components/logs_view/logs_popup_content.tscn", log_content) 2: - class_functions.log_parameters[2] = class_functions.log_text + "Loading ES-DE log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(rd_logs +"/ES-DE/es_log.txt") + class_functions.logger("i","Loading ES-DE log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") load_popup("ES-DE Log", "res://components/logs_view/logs_popup_content.tscn",log_content) 3: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroArch log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(rd_logs +"/retroarch/logs/log.txt") + class_functions.logger("i","Loading RetroArch log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) func _play_main_animations() -> void: @@ -152,20 +141,16 @@ func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hi func _conf_theme(index: int) -> void: match index: 1: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") 2: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://assets/themes/retro_theme.tres") 3: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://assets/themes/modern_theme.tres") 4: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("i","Set theme to index " + str(index)) custom_theme = preload("res://assets/themes/accesible_theme.tres") $".".theme = custom_theme _play_main_animations() @@ -193,25 +178,21 @@ func _on_quickresume_advanced_pressed(): func _on_bios_button_pressed(): _play_main_animations() bios_type = 1 - class_functions.log_parameters[2] = class_functions.log_text + "Bios_Check" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) + class_functions.logger("i","Bios Check") load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") bios_type = 0 func _on_bios_button_expert_pressed(): _play_main_animations() bios_type = 2 - class_functions.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"]) + class_functions.logger("i","Advanced Bios Check") load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") bios_type = 0 func _on_exit_button_pressed(): _play_main_animations() - class_functions.log_parameters[2] = class_functions.log_text + "Exited" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) - class_functions._exit() + _exit() + _exit() func _on_locale_selected(index): match index: @@ -238,7 +219,8 @@ func _on_locale_selected(index): func combine_tkeys(): #More as a test - %cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor + pass + #%cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor #$Background/MarginContainer/TabContainer/TK_SYSTEM/ScrollContainer/VBoxContainer/HBoxContainer/GridContainer/cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") #%tate_mode.text = tr("TK_TATE") + " " + tr("TK_SOON") #%hotkey_sound.text = tr("TK_HOTKEYSOUND") + " " + tr("TK_SOON") diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 3e6b0fce..d3508b1e 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=99 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=101 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"] @@ -62,7 +62,6 @@ [ext_resource type="Texture2D" uid="uid://cn11vcrybtor4" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0047.png" id="31_j5ri1"] [ext_resource type="Texture2D" uid="uid://cc7ohmfxafe78" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png" id="33_1ghye"] [ext_resource type="Texture2D" uid="uid://cs8lh31kh7jv1" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0048.png" id="34_fum2b"] -[ext_resource type="Texture2D" uid="uid://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/SystemTab.gd" id="36_wv31h"] [ext_resource type="Texture2D" uid="uid://10pyy05xqpr4" path="res://assets/icons/pixelitos/128/ruffle.png" id="37_7hhbn"] @@ -92,6 +91,9 @@ [ext_resource type="Texture2D" uid="uid://dieva7tuxjrvy" path="res://assets/graphics/rekku2/rekku_nomouth.png" id="65_kk8ba"] [ext_resource type="Script" path="res://controller_guide.gd" id="68_ahvw4"] [ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] +[ext_resource type="Texture2D" uid="uid://dllymmym0335n" path="res://assets/icons/pixelitos/16/system-shutdown.png" id="87_1yqbe"] +[ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] +[ext_resource type="Script" path="res://retrodeck.gd" id="94_8nlr1"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] bg_color = Color(0.712505, 0, 0.175592, 1) @@ -719,18 +721,6 @@ 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 -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") -show_percentage = false - [node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] unique_name_in_owner = true layout_mode = 2 @@ -1186,6 +1176,7 @@ columns = 5 unique_name_in_owner = true visible = false layout_mode = 2 +focus_neighbor_right = NodePath("../GLOBALS") metadata/_tab_index = 5 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP"] @@ -1559,18 +1550,11 @@ mouse_default_cursor_shape = 8 script = ExtResource("4_nqqx3") [node name="speach_bubble" type="Panel" parent="Background/SplitContainer/side_logo/rekku"] -layout_mode = 1 -anchors_preset = 7 -anchor_left = 0.5 -anchor_top = 1.0 -anchor_right = 0.5 -anchor_bottom = 1.0 -offset_left = 365.0 -offset_top = -783.0 -offset_right = 673.0 -offset_bottom = -402.0 -grow_horizontal = 2 -grow_vertical = 0 +layout_mode = 0 +offset_left = 371.0 +offset_top = -1120.0 +offset_right = 644.0 +offset_bottom = -786.0 theme_override_styles/panel = SubResource("StyleBoxTexture_rf0rc") [node name="helper_text" type="RichTextLabel" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] @@ -1580,10 +1564,10 @@ anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -offset_left = -132.0 -offset_top = -177.5 -offset_right = 149.0 -offset_bottom = 172.5 +offset_left = -129.5 +offset_top = -161.0 +offset_right = 129.5 +offset_bottom = 191.0 grow_horizontal = 2 grow_vertical = 2 text = "Rekku: @@ -1595,7 +1579,7 @@ scroll_following = true script = ExtResource("5_cprkf") [node name="rekku_sprite" type="Sprite2D" parent="Background/SplitContainer/side_logo/rekku"] -position = Vector2(544, -898) +position = Vector2(536, -513) scale = Vector2(0.5, 0.5) texture = ExtResource("57_1n3u5") @@ -1633,95 +1617,41 @@ color = Color(0.858824, 0.890196, 1, 1) [node name="controller_guide" type="PanelContainer" parent="."] layout_mode = 1 -anchors_preset = 12 +anchors_preset = 7 +anchor_left = 0.5 anchor_top = 1.0 -anchor_right = 1.0 +anchor_right = 0.5 anchor_bottom = 1.0 -offset_left = 5.0 -offset_top = -69.0 -offset_right = -337.0 +offset_left = -136.0 +offset_top = -72.0 +offset_right = 87.0 grow_horizontal = 2 grow_vertical = 0 script = ExtResource("68_ahvw4") -[node name="controller_guide_text" type="RichTextLabel" parent="controller_guide"] +[node name="HBoxContainer" type="HBoxContainer" parent="controller_guide"] layout_mode = 2 -theme_override_colors/default_color = Color(1, 1, 1, 0.607843) -theme_override_font_sizes/normal_font_size = 23 -fit_content = true -scroll_active = false +theme_override_constants/separation = 25 -[node name="a_button" type="TextureButton" parent="controller_guide/controller_guide_text"] +[node name="a_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(60, 60) layout_mode = 2 -offset_left = 147.0 -offset_top = -5.0 -offset_right = 231.0 -offset_bottom = 54.0 texture_normal = ExtResource("30_glnve") texture_pressed = ExtResource("31_j5ri1") stretch_mode = 0 -[node name="b_button" type="TextureButton" parent="controller_guide/controller_guide_text"] +[node name="b_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(60, 60) layout_mode = 2 -offset_left = 314.0 -offset_top = -4.0 -offset_right = 398.0 -offset_bottom = 55.0 texture_normal = ExtResource("33_1ghye") texture_pressed = ExtResource("34_fum2b") stretch_mode = 0 -[node name="l1_button" type="TextureButton" parent="controller_guide/controller_guide_text"] +[node name="locale_option" type="OptionButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true layout_mode = 2 -offset_left = 7.0 -offset_top = -6.0 -offset_right = 91.0 -offset_bottom = 53.0 -texture_normal = ExtResource("38_prt7u") -texture_pressed = ExtResource("39_m4qgd") -stretch_mode = 0 - -[node name="r1_button" type="TextureButton" parent="controller_guide/controller_guide_text"] -unique_name_in_owner = true -layout_mode = 0 -offset_left = 832.0 -offset_top = -8.0 -offset_right = 916.0 -offset_bottom = 51.0 -texture_normal = ExtResource("39_5ft88") -texture_pressed = ExtResource("40_pnuor") -stretch_mode = 0 - -[node name="exit_button" type="Button" parent="controller_guide/controller_guide_text"] -layout_mode = 2 -offset_left = 567.0 -offset_top = -11.0 -offset_right = 651.0 -offset_bottom = 48.0 -grow_horizontal = 0 -scale = Vector2(1.4, 1.4) -icon = ExtResource("36_3qttl") -flat = true -icon_alignment = 1 -expand_icon = true - -[node name="locale_option" type="OptionButton" parent="controller_guide/controller_guide_text"] -unique_name_in_owner = true -layout_mode = 1 -anchors_preset = 3 -anchor_left = 1.0 -anchor_top = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_left = -217.0 -offset_top = -46.0 -offset_right = -158.0 -offset_bottom = -17.0 -grow_horizontal = 0 -grow_vertical = 0 selected = 0 item_count = 7 popup/item_0/icon = ExtResource("5_exkn2") @@ -1738,12 +1668,47 @@ popup/item_5/id = 5 popup/item_6/icon = ExtResource("11_ri2fv") popup/item_6/id = 6 +[node name="exit_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +custom_minimum_size = Vector2(45, 45) +layout_mode = 2 +texture_normal = ExtResource("87_1yqbe") +stretch_mode = 0 + [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] unique_name_in_owner = true stream = ExtResource("71_ghxvk") volume_db = -5.0 +[node name="l1_button" type="TextureButton" parent="."] +unique_name_in_owner = true +layout_mode = 2 +offset_left = 14.0 +offset_top = 2.0 +offset_right = 105.0 +offset_bottom = 54.0 +texture_normal = ExtResource("38_prt7u") +texture_pressed = ExtResource("39_m4qgd") +stretch_mode = 0 + +[node name="r1_button" type="TextureButton" parent="."] +unique_name_in_owner = true +layout_mode = 0 +offset_left = 1134.0 +offset_top = 1.0 +offset_right = 1225.0 +offset_bottom = 53.0 +texture_normal = ExtResource("39_5ft88") +texture_pressed = ExtResource("40_pnuor") +stretch_mode = 0 + +[node name="Retrodeck_Thread_Check" type="Sprite2D" parent="."] +visible = false +position = Vector2(1046, 238) +scale = Vector2(0.390625, 0.398438) +texture = ExtResource("93_f7ex4") +script = ExtResource("94_8nlr1") + [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button" to="." method="_on_bios_button_pressed"] [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] -[connection signal="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"] +[connection signal="item_selected" from="controller_guide/HBoxContainer/locale_option" to="." method="_on_locale_selected"] +[connection signal="pressed" from="controller_guide/HBoxContainer/exit_button" to="." method="_on_exit_button_pressed"] diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 8a5ca29b..e2b38f40 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -77,6 +77,7 @@ next_tab={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":5,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194328,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } previous_tab={ @@ -84,6 +85,7 @@ previous_tab={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } back_button={ @@ -100,12 +102,14 @@ action_button={ quit1={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } quit2={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":true,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index fe9b98fc..72a6175e 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_a7dcu"] +[sub_resource type="Image" id="Image_cnkdp"] 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_a7dcu") +image = SubResource("Image_cnkdp") -[sub_resource type="Image" id="Image_vkg40"] +[sub_resource type="Image" id="Image_y087u"] 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_vkg40") +image = SubResource("Image_y087u") [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_bfilg"] +[sub_resource type="Image" id="Image_v8u2n"] 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_bfilg") +image = SubResource("Image_v8u2n") [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_7602g"] +[sub_resource type="Image" id="Image_nm35u"] 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_7602g") +image = SubResource("Image_nm35u") [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_x1e3p"] +[sub_resource type="Image" id="Image_8c7o3"] 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_x1e3p") +image = SubResource("Image_8c7o3") [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_xyl16"] +[sub_resource type="Image" id="Image_pejxg"] 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_xyl16") +image = SubResource("Image_pejxg") [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_lldyy"] +[sub_resource type="Image" id="Image_ojymx"] 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_lldyy") +image = SubResource("Image_ojymx") -[sub_resource type="Image" id="Image_onsr7"] +[sub_resource type="Image" id="Image_kngke"] 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_onsr7") +image = SubResource("Image_kngke") -[sub_resource type="Image" id="Image_vqhpb"] +[sub_resource type="Image" id="Image_fhmiv"] 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_vqhpb") +image = SubResource("Image_fhmiv") -[sub_resource type="Image" id="Image_s5uaf"] +[sub_resource type="Image" id="Image_1enfl"] 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_s5uaf") +image = SubResource("Image_1enfl") -[sub_resource type="Image" id="Image_5eqfe"] +[sub_resource type="Image" id="Image_4ta1g"] 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_5eqfe") +image = SubResource("Image_4ta1g") [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_5kmku"] +[sub_resource type="Image" id="Image_d74vd"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_5kmku") +image = SubResource("Image_d74vd") [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_4skxb"] +[sub_resource type="Image" id="Image_idlp5"] 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_4skxb") +image = SubResource("Image_idlp5") [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_f6rrs"] +[sub_resource type="Image" id="Image_iaor7"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_f6rrs") +image = SubResource("Image_iaor7") [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_78m4j"] +[sub_resource type="Image" id="Image_45yoo"] 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_78m4j") +image = SubResource("Image_45yoo") [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_4yw0t"] +[sub_resource type="Image" id="Image_20mtj"] 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_4yw0t") +image = SubResource("Image_20mtj") -[sub_resource type="Image" id="Image_rjeo0"] +[sub_resource type="Image" id="Image_4jlgx"] 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_rjeo0") +image = SubResource("Image_4jlgx") -[sub_resource type="Image" id="Image_tkawg"] +[sub_resource type="Image" id="Image_g6hdl"] 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_tkawg") +image = SubResource("Image_g6hdl") -[sub_resource type="Image" id="Image_uk2xp"] +[sub_resource type="Image" id="Image_eq2xi"] 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_uk2xp") +image = SubResource("Image_eq2xi") [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_b517m"] +[sub_resource type="Image" id="Image_f876f"] 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_b517m") +image = SubResource("Image_f876f") -[sub_resource type="Image" id="Image_pipqk"] +[sub_resource type="Image" id="Image_xrkuo"] 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_pipqk") +image = SubResource("Image_xrkuo") [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_x6yil"] +[sub_resource type="Image" id="Image_fklke"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_x6yil") +image = SubResource("Image_fklke") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/retrodeck.gd b/tools/configurator/retrodeck.gd new file mode 100644 index 00000000..4f0203ac --- /dev/null +++ b/tools/configurator/retrodeck.gd @@ -0,0 +1,17 @@ +extends Sprite2D + +@export var rotation_speed: float = 45.0 +@export var speed = 400 +const SCALE_MIN = 0.01 +const SCALE_MAX = 0.35 +const SCALE_SPEED = 0.5 +var scale_direction = 1.0 + +func _process(delta) -> void: + # Rotate the sprite + rotation_degrees += rotation_speed * delta + var new_scale = scale + Vector2(scale_direction, scale_direction) * SCALE_SPEED * delta + if new_scale.x < SCALE_MIN or new_scale.x > SCALE_MAX: + scale_direction *= -1 # Reverse direction if scale limit is reached + else: + scale = new_scale diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index bc5ae3c4..f1c4e6f5 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -3,7 +3,6 @@ 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 @@ -13,18 +12,13 @@ func _ready(): _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: @@ -45,8 +39,7 @@ func _connect_signals() -> void: %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.button_down.connect(_do_action.bind(%launch_button)) - %launch_button.button_up.connect(_on_Button_released.bind(%launch_progress)) + %launch_button.pressed.connect(_do_action.bind(%launch_button)) %reset_button.button_down.connect(_do_action.bind(%reset_button)) %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) @@ -74,9 +67,7 @@ func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hi button.toggle_mode = true func _on_Button_released(progress: ProgressBar) -> void: - is_launch_pressed = false is_reset_pressed = false - %launch_progress.visible = false %reset_progress.visible = false press_time = 0.0 progress.value = 0.0 @@ -84,32 +75,21 @@ func _on_Button_released(progress: ProgressBar) -> void: 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.logger("i", "Launching " + current_system.name + " Help") class_functions.launch_help(current_system.url) ["launch_button", current_system.name]: - is_launch_pressed = true - %launch_progress.visible = true + class_functions.logger("i", "Launching " + current_system.name) + var launch = class_functions.execute_command(current_system.launch,[], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) ["reset_button", current_system.name]: is_reset_pressed = true %reset_progress.visible = true 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) + class_functions.logger("i", "Resetting " + current_system.name) + var parameters = ["prepare_component","reset",current_system.name] + reset_result = await class_functions.run_thread_command(class_functions.wrapper_command,parameters, false) + class_functions.logger("d", "Exit Code: " + str(reset_result["exit_code"])) %reset_button.text = "RESET COMPLETED" - -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/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 88ef29db..c8ba4dfc 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -1,14 +1,42 @@ class_name ClassFunctions extends Control -var log_text = "gdc_" -var log_parameters: Array = ["log", "i", log_text] -var wrapper_command: String = "../../tools/retrodeck_function_wrapper.sh" +var log_result: Dictionary +var log_parameters: Array +var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" +var config_file_path = "/var/config/retrodeck/retrodeck.cfg" +var json_file_path = "/var/config/retrodeck/retrodeck.json" +var rd_log: String +var rd_log_folder: String +var rd_version: String +var gc_version: String +func read_cfg() -> String: + var title: String + var config = data_handler.parse_config_to_json(config_file_path) + data_handler.config_save_json(config, json_file_path) + rd_log_folder = config["paths"]["logs_folder"] + rd_log = rd_log_folder + "/retrodeck.log" + #rd_log = "/var/config/retrodeck/logs/retrodeck.log" + + rd_version = config["version"] + gc_version = ProjectSettings.get_setting("application/config/version") + title = "\n " + rd_version + "\nConfigurator\n " + gc_version + print ("Make logging a function\nAlso add d,i,e,w: ", rd_log) + return title + +func logger(log_type: String, log_text: String) -> void: + var log_header_text = "gdc_" + log_header_text+=log_text + log_parameters = ["log", log_type, log_header_text] + log_result = await class_functions.run_thread_command(wrapper_command,log_parameters, false) + #log_result = await class_functions.run_thread_command("find",["$HOME", "-name", "*.xml","-print"], false) + #print (log_result["exit_code"]) + #print (log_result["output"]) + func array_to_string(arr: Array) -> String: var text: String for line in arr: - #text += line + "\n" text = line.strip_edges() + "\n" return text @@ -19,8 +47,6 @@ func execute_command(command: String, parameters: Array, console: bool) -> Dicti var exit_code = OS.execute(command, parameters, output, console) ## add if exit == 0 etc result["output"] = array_to_string(output) result["exit_code"] = exit_code - #print (array_to_string(output)) - #print (result["exit_code"]) return result func run_command_in_thread(command: String, paramaters: Array, _console: bool) -> Dictionary: @@ -31,11 +57,11 @@ func run_command_in_thread(command: String, paramaters: Array, _console: bool) - var result = thread.wait_to_finish() thread = null return result - -func _threaded_command_execution(command: String, parameters: Array, console: bool) -> Dictionary: - var result = execute_command(command, parameters, console) - return result - + +func run_thread_command(command: String, parameters: Array, console: bool) -> Dictionary: + log_result = await run_command_in_thread(command, parameters, console) + return log_result + func process_url_image(body) -> Texture: var image = Image.new() image.load_png_from_buffer(body) @@ -43,6 +69,10 @@ func process_url_image(body) -> Texture: return texture func launch_help(url: String) -> void: + #OS.unset_environment("LD_PRELOAD") + #OS.set_environment("XDG_CURRENT_DESKTOP", "KDE") + #var launch = class_functions.execute_command("xdg-open",[url], false) + #var launch = class_functions.execute_command("org.mozilla.firefox",[url], false) OS.shell_open(url) func import_csv_data(file_path: String) -> Dictionary: diff --git a/tools/configurator/tk_about.gd b/tools/configurator/tk_about.gd index cf107e8c..3aa19033 100644 --- a/tools/configurator/tk_about.gd +++ b/tools/configurator/tk_about.gd @@ -28,12 +28,10 @@ func _connect_signals() -> void: func _about_button_pressed(id: String, button: Button) -> void: match id: "rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses": - class_functions.log_parameters[2] = class_functions.log_text + "Loading website for " + id - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - OS.shell_open(button.editor_description) + class_functions.logger("i","Loading website for " + id) + class_functions.launch_help(button.editor_description) _: - class_functions.log_parameters[2] = class_functions.log_text + "Loading website - no matching ID found" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + class_functions.logger("d","Loading website for " + id) print ("Website ID/Link not found") func create_buttons() -> void: From a3a4f3245cac2825a68bc697592aa0d2fe571f0a Mon Sep 17 00:00:00 2001 From: MonkeyX Date: Mon, 9 Sep 2024 15:03:42 +0100 Subject: [PATCH 10/74] Feat/godot (#942) * Feat/godot (#929) * On branch cooker Changes to be committed: modified: ../config/retrodeck/reference_lists/features.json modified: configurator.sh modified: configurator/TabContainer.gd modified: configurator/assets/themes/accesible_theme.tres modified: configurator/assets/themes/modern_theme.tres modified: configurator/assets/themes/retro_theme.tres modified: configurator/main.tscn modified: configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Signal test * s * Oops Data Recovery On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Sliding Rekku On branch cooker Changes to be committed: modified: tools/configurator/Rekku.gd modified: tools/configurator/main.gd modified: tools/configurator/main.tscn * Using less tabs? On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Generic Save experiment On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Let it flow On branch feat/godot Changes to be committed: new file: .github/workflows/build-godot.yml modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * On branch feat/godot Changes to be committed: modified: .github/workflows/build-godot.yml * FLow 2.0 * Flow 2.1 * Flow 2.2 * Flow 2.3 * Flow 2.4 * Flow 2.5 * Flow 2.6 * Flow 2.7 * Flow 2.8 * Flow 2.9 * Flow 2.9 * Flow 2.91 * Flow 2.92 * Emualtor==System * FFS revert! * Progress on Cores at last! * Progress on Cores at lastgit add .! * Functions * Bios change * Removed need for BIOS tmp file for Godot * Rotten the core! * Push TEst * fixed duplicate * fixed duplicate * Tidied Bios reading * Rekku assistant * Icons and System Tab work * Generic buttons please * Generic buttons pleases * Generic buttons please2 * Rekku gets the saw * Dialogues * Fixed link to json file * Feat/godot (#927) * Tidied parameter code * Tricky bios dialogue! * Mini change * Tidying icons * And then there were 5! * Time to Cook * INITOOL: added * SET_SETTING_VALUE: edited to use initool * Revert "SET_SETTING_VALUE: edited to use initool" This reverts commit b56916c2b0bf16305b2b8f22d08871390884351c. * Revert "INITOOL: added" This reverts commit 127bcdb6cde4cca85f47efdfeebb2b22868ae0ab. * POST_UPDATE: update_rd_conf to include steam_sync * INJECT_FRAMEWORK: added force args [skip ci] * Progress buttons * Reset! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feedback changes and 16 bit icons * Launch button change * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * On branch feat/godot (#935) Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd Co-authored-by: Rekku * Log file refactor * Log full path? * Ooops! * Fix for functions wrapper (#937) * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * Log file refactor * Log full path? * Ooops! --------- Co-authored-by: Rekku * POST_UPDATE: even on PR [skip ci] * RETRODECK: You know? till now we never quit retrodeck in the end! [skip ci] * FRAMEWORK: added the possibility to run a game from cli * RUN_GAME: system name prettyfied * RUN_GAME: added retroarch cores * FEATURES: added more launch args * RUN_GAME: fixed retroarch * RUN_GAME: various fixes, time up * FEATURES: fixed libetro with libretro [skip ci] * RUN_GAME: emulator and system can now be passed as optional arguments * Reftactored logging and threading * URL * Desktop Mode * Hide logo --------- Co-authored-by: Rekku Co-authored-by: XargonWan From 24a5892badaff8121d6f0c88d1a61e1abe07c197 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 10 Sep 2024 12:17:04 +0100 Subject: [PATCH 11/74] Custom Buttons and firmware --- tools/configurator/ToolsTab.gd | 34 +++++++ tools/configurator/main.gd | 3 - tools/configurator/main.tscn | 36 +++++--- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/SystemTab.gd | 83 +++++++++-------- 5 files changed, 149 insertions(+), 95 deletions(-) create mode 100644 tools/configurator/ToolsTab.gd diff --git a/tools/configurator/ToolsTab.gd b/tools/configurator/ToolsTab.gd new file mode 100644 index 00000000..20f964c8 --- /dev/null +++ b/tools/configurator/ToolsTab.gd @@ -0,0 +1,34 @@ +extends Control + +@onready var http_request: HTTPRequest = HTTPRequest.new() + + +func _ready(): + add_child(http_request) + http_request.request_completed.connect(_on_request_completed) + #check_internet_connection() + _connect_signals() + +func _connect_signals() -> void: + %check_conn_button.pressed.connect(check_internet_connection) + #%check_conn_button.text = "YES" + +func check_internet_connection(): + %check_conn_button.text = "CHECK CONNECTION" + var error = http_request.request("https://retrodeck.net/") # Change this URL to any reliable one + if error != OK: + print("Request failed: ", error) + else: + print("Request started.") + +func _on_request_completed(result, response_code, headers, body): + var style_box = StyleBoxFlat.new() + if response_code == 200: + style_box.bg_color = Color(0, 1, 0) + %check_conn_button.add_theme_stylebox_override("normal", style_box) + %check_conn_button.text += " - CONNECTED" + + else: + style_box.bg_color = Color(1, 0, 0) + %check_conn_button.add_theme_stylebox_override("normal", style_box) + %check_conn_button.text += " - NOT CONNECTED: " + str(response_code) diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd index 5cdef960..c6b842ed 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/main.gd @@ -1,6 +1,3 @@ -#todo -# add cores as class/ Like eumlator but one level lower - extends Control @onready var bios_type:int diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index d3508b1e..da3ffc30 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=101 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=102 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"] @@ -81,6 +81,7 @@ [ext_resource type="Texture2D" uid="uid://b0awa8venu1h8" path="res://assets/icons/pixelitos/128/cs-network.png" id="50_5d2ui"] [ext_resource type="Texture2D" uid="uid://bafdexg6aq8tn" path="res://assets/icons/pixelitos/128/applications-accessories.png" id="50_h3jx2"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] +[ext_resource type="Script" path="res://ToolsTab.gd" id="50_wqa5h"] [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"] @@ -206,7 +207,7 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 tab_alignment = 1 -current_tab = 4 +current_tab = 2 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -216,6 +217,7 @@ layout_mode = 2 metadata/_tab_index = 0 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS"] +custom_minimum_size = Vector2(1200, 600) layout_mode = 2 follow_focus = true @@ -589,6 +591,7 @@ script = ExtResource("36_wv31h") metadata/_tab_index = 1 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM"] +custom_minimum_size = Vector2(1200, 600) layout_mode = 2 follow_focus = true @@ -739,9 +742,25 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +[node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +unique_name_in_owner = true visible = false layout_mode = 2 +action_mode = 0 +text = "INSTALL FIRMWARE" +icon = ExtResource("8_ec4gt") + +[node name="rpcs3_scan_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +action_mode = 0 +text = "SCAN GAMES" +icon = ExtResource("8_ec4gt") + +[node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +layout_mode = 2 +script = ExtResource("50_wqa5h") metadata/_tab_index = 2 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS"] @@ -756,6 +775,7 @@ theme_override_constants/separation = 64 layout_mode = 2 [node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +unique_name_in_owner = true layout_mode = 2 text = "CHECK CONNECTION" icon = ExtResource("50_5d2ui") @@ -861,10 +881,6 @@ 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" @@ -879,11 +895,6 @@ text = "TK_SCAN" [node name="scan_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 -[node name="ps3_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -disabled = true -text = "TK_PS3SCAN" - [node name="scummvm_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 disabled = true @@ -1122,6 +1133,7 @@ disabled = true text = "TK_FTPBTN" [node name="ABOUT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("4_m4rto") metadata/_tab_index = 4 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 72a6175e..d0debd74 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_cnkdp"] +[sub_resource type="Image" id="Image_60ssu"] 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_cnkdp") +image = SubResource("Image_60ssu") -[sub_resource type="Image" id="Image_y087u"] +[sub_resource type="Image" id="Image_g7yo8"] 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_y087u") +image = SubResource("Image_g7yo8") [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_v8u2n"] +[sub_resource type="Image" id="Image_4eak5"] 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_v8u2n") +image = SubResource("Image_4eak5") [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_nm35u"] +[sub_resource type="Image" id="Image_4ismd"] 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_nm35u") +image = SubResource("Image_4ismd") [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_8c7o3"] +[sub_resource type="Image" id="Image_1jman"] 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_8c7o3") +image = SubResource("Image_1jman") [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_pejxg"] +[sub_resource type="Image" id="Image_57dlr"] 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_pejxg") +image = SubResource("Image_57dlr") [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_ojymx"] +[sub_resource type="Image" id="Image_6sba3"] 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_ojymx") +image = SubResource("Image_6sba3") -[sub_resource type="Image" id="Image_kngke"] +[sub_resource type="Image" id="Image_iy7kj"] 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_kngke") +image = SubResource("Image_iy7kj") -[sub_resource type="Image" id="Image_fhmiv"] +[sub_resource type="Image" id="Image_rgsh3"] 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_fhmiv") +image = SubResource("Image_rgsh3") -[sub_resource type="Image" id="Image_1enfl"] +[sub_resource type="Image" id="Image_pd1vn"] 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_1enfl") +image = SubResource("Image_pd1vn") -[sub_resource type="Image" id="Image_4ta1g"] +[sub_resource type="Image" id="Image_egfq2"] 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_4ta1g") +image = SubResource("Image_egfq2") [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_d74vd"] +[sub_resource type="Image" id="Image_cbsof"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_d74vd") +image = SubResource("Image_cbsof") [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_idlp5"] +[sub_resource type="Image" id="Image_it3tx"] 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_idlp5") +image = SubResource("Image_it3tx") [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_iaor7"] +[sub_resource type="Image" id="Image_ph7kf"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_iaor7") +image = SubResource("Image_ph7kf") [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_45yoo"] +[sub_resource type="Image" id="Image_o26qs"] 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_45yoo") +image = SubResource("Image_o26qs") [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_20mtj"] +[sub_resource type="Image" id="Image_2chqd"] 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_20mtj") +image = SubResource("Image_2chqd") -[sub_resource type="Image" id="Image_4jlgx"] +[sub_resource type="Image" id="Image_7fxd8"] 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_4jlgx") +image = SubResource("Image_7fxd8") -[sub_resource type="Image" id="Image_g6hdl"] +[sub_resource type="Image" id="Image_6tcvx"] 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_g6hdl") +image = SubResource("Image_6tcvx") -[sub_resource type="Image" id="Image_eq2xi"] +[sub_resource type="Image" id="Image_447v2"] 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_eq2xi") +image = SubResource("Image_447v2") [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_f876f"] +[sub_resource type="Image" id="Image_032vd"] 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_f876f") +image = SubResource("Image_032vd") -[sub_resource type="Image" id="Image_xrkuo"] +[sub_resource type="Image" id="Image_y3hoa"] 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_xrkuo") +image = SubResource("Image_y3hoa") [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_fklke"] +[sub_resource type="Image" id="Image_mg0bp"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_fklke") +image = SubResource("Image_mg0bp") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index f1c4e6f5..af84bf6d 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -22,49 +22,56 @@ func _process(delta: float) -> void: %reset_progress.value = 0.0 func _connect_signals() -> void: - %retroarch_button.pressed.connect(_hide_show_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) - %mame_button.pressed.connect(_hide_show_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) - %ruffle_button.pressed.connect(_hide_show_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) - %melonds_button.pressed.connect(_hide_show_buttons.bind(%melonds_button,%system_gridcontainer, %action_gridcontainer)) - %pcsx2_button.pressed.connect(_hide_show_buttons.bind(%pcsx2_button,%system_gridcontainer, %action_gridcontainer)) - %duckstation_button.pressed.connect(_hide_show_buttons.bind(%duckstation_button,%system_gridcontainer, %action_gridcontainer)) - %ppsspp_button.pressed.connect(_hide_show_buttons.bind(%ppsspp_button,%system_gridcontainer, %action_gridcontainer)) - %vita3k_button.pressed.connect(_hide_show_buttons.bind(%vita3k_button,%system_gridcontainer, %action_gridcontainer)) - %rpcs3_button.pressed.connect(_hide_show_buttons.bind(%rpcs3_button,%system_gridcontainer, %action_gridcontainer)) - %ryujinx_button.pressed.connect(_hide_show_buttons.bind(%ryujinx_button,%system_gridcontainer, %action_gridcontainer)) - %dolphin_button.pressed.connect(_hide_show_buttons.bind(%dolphin_button,%system_gridcontainer, %action_gridcontainer)) - %primehack_button.pressed.connect(_hide_show_buttons.bind(%primehack_button,%system_gridcontainer, %action_gridcontainer)) - %cemu_button.pressed.connect(_hide_show_buttons.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) - %xemu_button.pressed.connect(_hide_show_buttons.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) - %esde_button.pressed.connect(_hide_show_buttons.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) + %retroarch_button.pressed.connect(standard_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) + %mame_button.pressed.connect(standard_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) + %ruffle_button.pressed.connect(standard_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) + %melonds_button.pressed.connect(standard_buttons.bind(%melonds_button,%system_gridcontainer, %action_gridcontainer)) + %pcsx2_button.pressed.connect(standard_buttons.bind(%pcsx2_button,%system_gridcontainer, %action_gridcontainer)) + %duckstation_button.pressed.connect(standard_buttons.bind(%duckstation_button,%system_gridcontainer, %action_gridcontainer)) + %ppsspp_button.pressed.connect(standard_buttons.bind(%ppsspp_button,%system_gridcontainer, %action_gridcontainer)) + %vita3k_button.pressed.connect(standard_buttons.bind(%vita3k_button,%system_gridcontainer, %action_gridcontainer)) + %rpcs3_button.pressed.connect(standard_buttons.bind(%rpcs3_button,%system_gridcontainer, %action_gridcontainer)) + %ryujinx_button.pressed.connect(standard_buttons.bind(%ryujinx_button,%system_gridcontainer, %action_gridcontainer)) + %dolphin_button.pressed.connect(standard_buttons.bind(%dolphin_button,%system_gridcontainer, %action_gridcontainer)) + %primehack_button.pressed.connect(standard_buttons.bind(%primehack_button,%system_gridcontainer, %action_gridcontainer)) + %cemu_button.pressed.connect(standard_buttons.bind.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) + %xemu_button.pressed.connect(standard_buttons.bind.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) + %esde_button.pressed.connect(standard_buttons.bind.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) %help_button.pressed.connect(_do_action.bind(%help_button)) #%launch_button.pressed.connect(_do_action.bind(%launch_button)) %launch_button.pressed.connect(_do_action.bind(%launch_button)) %reset_button.button_down.connect(_do_action.bind(%reset_button)) %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) - -func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: + %rpcs3_firmware_button.pressed.connect(_do_action.bind(%rpcs3_firmware_button)) + +func extra_buttons () -> void: + print ("Extra") + +func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: current_system = app_data.emulators[button.text.to_lower()] + %reset_button.text="RESET" match button.name: - "retroarch_button", "mame_button", "ruffle_button", "melonds_button", "pcsx2_button", "duckstation_button", \ - "ppsspp_button", "vita3k_button", "rpcs3_button", "ryujinx_button", "dolphin_button", "primehack_button", \ - "cemu_button", "xemu_button", "esde_button": - %reset_button.text="RESET" - hidden_gridcontainer.visible = true - if button.toggle_mode == false: - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - if child is Button and child != button: - child.visible=false - elif button.toggle_mode == true and hidden_gridcontainer.visible == true: - hidden_gridcontainer.visible = false - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - if child is Button: - child.visible=true - child.toggle_mode = false - if hidden_gridcontainer.visible == true: - button.toggle_mode = true + "rpcs3_button": + %rpcs3_firmware_button.visible = true + %rpcs3_scan_button.visible = true + _: + %rpcs3_firmware_button.visible = false + %rpcs3_scan_button.visible = false + hidden_gridcontainer.visible = true + if button.toggle_mode == false: + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + if child is Button and child != button: + child.visible=false + elif button.toggle_mode == true and hidden_gridcontainer.visible == true: + hidden_gridcontainer.visible = false + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + if child is Button: + child.visible=true + child.toggle_mode = false + if hidden_gridcontainer.visible == true: + button.toggle_mode = true func _on_Button_released(progress: ProgressBar) -> void: is_reset_pressed = false @@ -84,6 +91,10 @@ func _do_action(button: Button) -> void: ["reset_button", current_system.name]: is_reset_pressed = true %reset_progress.visible = true + ["rpcs3_firmware_button", current_system.name]: + class_functions.logger("i", "Firmware install " + current_system.name) + var launch = class_functions.execute_command(class_functions.wrapper_command,["update_rpcs3_firmware"], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) func _do_complete() ->void: if is_reset_pressed: From 9a15c4362a0ca08e755de184023c365d8a502769 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 10 Sep 2024 14:09:42 +0100 Subject: [PATCH 12/74] Gaming Mode? --- tools/configurator/main.gd | 3 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/SystemTab.gd | 14 ++- tools/configurator/scripts/class_functions.gd | 17 +++- tools/configurator/tk_about.gd | 10 ++- 5 files changed, 80 insertions(+), 52 deletions(-) diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd index c6b842ed..ac916d30 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/main.gd @@ -17,8 +17,7 @@ func _ready(): _get_nodes() _connect_signals() _play_main_animations() - #%locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) - + %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) #class_functions.logger() %rd_title.text += class_functions.read_cfg() class_functions.logger("i","Started Godot configurator") diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index d0debd74..d8d90878 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_60ssu"] +[sub_resource type="Image" id="Image_vtx1j"] 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_60ssu") +image = SubResource("Image_vtx1j") -[sub_resource type="Image" id="Image_g7yo8"] +[sub_resource type="Image" id="Image_och6r"] 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_g7yo8") +image = SubResource("Image_och6r") [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_4eak5"] +[sub_resource type="Image" id="Image_7482x"] 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_4eak5") +image = SubResource("Image_7482x") [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_4ismd"] +[sub_resource type="Image" id="Image_isu4h"] 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_4ismd") +image = SubResource("Image_isu4h") [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_1jman"] +[sub_resource type="Image" id="Image_bjadf"] 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_1jman") +image = SubResource("Image_bjadf") [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_57dlr"] +[sub_resource type="Image" id="Image_8omfk"] 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_57dlr") +image = SubResource("Image_8omfk") [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_6sba3"] +[sub_resource type="Image" id="Image_54xs7"] 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_6sba3") +image = SubResource("Image_54xs7") -[sub_resource type="Image" id="Image_iy7kj"] +[sub_resource type="Image" id="Image_vo4s6"] 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_iy7kj") +image = SubResource("Image_vo4s6") -[sub_resource type="Image" id="Image_rgsh3"] +[sub_resource type="Image" id="Image_clgl8"] 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_rgsh3") +image = SubResource("Image_clgl8") -[sub_resource type="Image" id="Image_pd1vn"] +[sub_resource type="Image" id="Image_8jxxb"] 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_pd1vn") +image = SubResource("Image_8jxxb") -[sub_resource type="Image" id="Image_egfq2"] +[sub_resource type="Image" id="Image_qj8gb"] 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_egfq2") +image = SubResource("Image_qj8gb") [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_cbsof"] +[sub_resource type="Image" id="Image_4f2lo"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_cbsof") +image = SubResource("Image_4f2lo") [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_it3tx"] +[sub_resource type="Image" id="Image_tvtki"] 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_it3tx") +image = SubResource("Image_tvtki") [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_ph7kf"] +[sub_resource type="Image" id="Image_e33xy"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_ph7kf") +image = SubResource("Image_e33xy") [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_o26qs"] +[sub_resource type="Image" id="Image_5wku6"] 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_o26qs") +image = SubResource("Image_5wku6") [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_2chqd"] +[sub_resource type="Image" id="Image_shcs1"] 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_2chqd") +image = SubResource("Image_shcs1") -[sub_resource type="Image" id="Image_7fxd8"] +[sub_resource type="Image" id="Image_1q308"] 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_7fxd8") +image = SubResource("Image_1q308") -[sub_resource type="Image" id="Image_6tcvx"] +[sub_resource type="Image" id="Image_fgdq8"] 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_6tcvx") +image = SubResource("Image_fgdq8") -[sub_resource type="Image" id="Image_447v2"] +[sub_resource type="Image" id="Image_103tl"] 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_447v2") +image = SubResource("Image_103tl") [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_032vd"] +[sub_resource type="Image" id="Image_biwtt"] 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_032vd") +image = SubResource("Image_biwtt") -[sub_resource type="Image" id="Image_y3hoa"] +[sub_resource type="Image" id="Image_yj1ge"] 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_y3hoa") +image = SubResource("Image_yj1ge") [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_mg0bp"] +[sub_resource type="Image" id="Image_vcgvy"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_mg0bp") +image = SubResource("Image_vcgvy") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index af84bf6d..5ef0e819 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -80,10 +80,17 @@ func _on_Button_released(progress: ProgressBar) -> void: progress.value = 0.0 func _do_action(button: Button) -> void: + var tmp_txt = button.text match [button.name, current_system.name]: ["help_button", current_system.name]: - class_functions.logger("i", "Launching " + current_system.name + " Help") - class_functions.launch_help(current_system.url) + if class_functions.desktop_mode != "gamescope": + class_functions.logger("i", "Launching " + current_system.name + " Help") + class_functions.launch_help(current_system.url) + else: + button.text = "Help only in Desktop Mode" + await class_functions.wait(3.0) + button.text = tmp_txt + ["launch_button", current_system.name]: class_functions.logger("i", "Launching " + current_system.name) var launch = class_functions.execute_command(current_system.launch,[], false) @@ -98,9 +105,12 @@ func _do_action(button: Button) -> void: func _do_complete() ->void: if is_reset_pressed: + var tmp_txt = %reset_button.text %reset_button.text = "RESETTING-NOW" class_functions.logger("i", "Resetting " + current_system.name) var parameters = ["prepare_component","reset",current_system.name] reset_result = await class_functions.run_thread_command(class_functions.wrapper_command,parameters, false) class_functions.logger("d", "Exit Code: " + str(reset_result["exit_code"])) %reset_button.text = "RESET COMPLETED" + await class_functions.wait(3.0) + %reset_button.text = tmp_txt diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index c8ba4dfc..0e86ddfd 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -6,6 +6,7 @@ var log_parameters: Array var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" var config_file_path = "/var/config/retrodeck/retrodeck.cfg" var json_file_path = "/var/config/retrodeck/retrodeck.json" +var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") var rd_log: String var rd_log_folder: String var rd_version: String @@ -29,8 +30,8 @@ func logger(log_type: String, log_text: String) -> void: var log_header_text = "gdc_" log_header_text+=log_text log_parameters = ["log", log_type, log_header_text] - log_result = await class_functions.run_thread_command(wrapper_command,log_parameters, false) - #log_result = await class_functions.run_thread_command("find",["$HOME", "-name", "*.xml","-print"], false) + 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"]) @@ -40,6 +41,9 @@ func array_to_string(arr: Array) -> String: text = line.strip_edges() + "\n" return text +func wait (seconds: float) -> void: + await get_tree().create_timer(seconds).timeout + # TODO This should be looked at again when GoDot 4.3 ships as has new OS.execute_with_pipe func execute_command(command: String, parameters: Array, console: bool) -> Dictionary: var result = {} @@ -134,3 +138,12 @@ func map_locale_id(current_locale: String) -> int: "cn": int_locale = 6 return int_locale + +func environment_data() -> void: + var env_result = class_functions.execute_command("printenv",[], true) + #print (env_result["output"]) + #print (OS.get_environment("XDG_CURRENT_DESKTOP")) + var file = FileAccess.open(OS.get_environment("HOME") + "/sdenv.txt",FileAccess.WRITE) + if file != null: + file.store_string(env_result["output"]) + file.close() diff --git a/tools/configurator/tk_about.gd b/tools/configurator/tk_about.gd index 3aa19033..36b0b489 100644 --- a/tools/configurator/tk_about.gd +++ b/tools/configurator/tk_about.gd @@ -26,10 +26,16 @@ func _connect_signals() -> void: rd_licenses_button.pressed.connect(_about_button_pressed.bind("rd_licenses", rd_licenses_button)) func _about_button_pressed(id: String, button: Button) -> void: + var tmp_txt = button.text match id: "rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses": - class_functions.logger("i","Loading website for " + id) - class_functions.launch_help(button.editor_description) + if class_functions.desktop_mode != "gamescope": + class_functions.logger("i","Loading website for " + id) + class_functions.launch_help(button.editor_description) + else: + button.text = "Help only in Desktop Mode" + await class_functions.wait(3.0) + button.text = tmp_txt _: class_functions.logger("d","Loading website for " + id) print ("Website ID/Link not found") From 5a7591ffc724aa1e15ca004a70658858c0cadc80 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 10 Sep 2024 15:33:58 +0100 Subject: [PATCH 13/74] Settings --- tools/configurator/main.tscn | 52 ++++++++--- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/{ => scripts}/Rekku.gd | 0 tools/configurator/scripts/SettingsTab.gd | 14 +++ tools/configurator/scripts/SystemTab.gd | 15 ++-- .../{ => scripts}/TabContainer.gd | 0 tools/configurator/{ => scripts}/ToolsTab.gd | 8 +- .../{ => scripts}/controller_guide.gd | 0 tools/configurator/{ => scripts}/main.gd | 35 ++++---- tools/configurator/{ => scripts}/retrodeck.gd | 0 tools/configurator/{ => scripts}/tk_about.gd | 0 tools/configurator/tk_about.txt | 2 +- 12 files changed, 125 insertions(+), 89 deletions(-) rename tools/configurator/{ => scripts}/Rekku.gd (100%) create mode 100644 tools/configurator/scripts/SettingsTab.gd rename tools/configurator/{ => scripts}/TabContainer.gd (100%) rename tools/configurator/{ => scripts}/ToolsTab.gd (77%) rename tools/configurator/{ => scripts}/controller_guide.gd (100%) rename tools/configurator/{ => scripts}/main.gd (99%) rename tools/configurator/{ => scripts}/retrodeck.gd (100%) rename tools/configurator/{ => scripts}/tk_about.gd (100%) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index da3ffc30..a9bdcda9 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,15 +1,15 @@ -[gd_scene load_steps=102 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=110 format=3 uid="uid://61f6m4r1mpan"] [ext_resource type="Texture2D" uid="uid://bv6vh33cnfaw4" path="res://icon.svg" id="1_axfei"] [ext_resource type="Theme" uid="uid://hhc60cllcg47" path="res://assets/themes/default_theme.tres" id="1_if8nh"] -[ext_resource type="Script" path="res://main.gd" id="1_obpq7"] -[ext_resource type="Script" path="res://TabContainer.gd" id="3_id6l4"] +[ext_resource type="Script" path="res://scripts/main.gd" id="1_obpq7"] +[ext_resource type="Script" path="res://scripts/TabContainer.gd" id="3_id6l4"] [ext_resource type="AudioStream" uid="uid://dig4pco500pyt" path="res://res/configurator.mp3" id="3_xivj6"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="4_2tuu4"] [ext_resource type="Texture2D" uid="uid://qu88ngewoj4w" path="res://assets/icons/pixelitos/128/applications-games.png" id="4_caaxx"] [ext_resource type="Texture2D" uid="uid://bdj8vt3vhucq4" path="res://assets/icons/pixelitos/128/cs-display.png" id="4_jldgc"] -[ext_resource type="Script" path="res://tk_about.gd" id="4_m4rto"] -[ext_resource type="Script" path="res://Rekku.gd" id="4_nqqx3"] +[ext_resource type="Script" path="res://scripts/tk_about.gd" id="4_m4rto"] +[ext_resource type="Script" path="res://scripts/Rekku.gd" id="4_nqqx3"] [ext_resource type="Texture2D" uid="uid://suusabsjin6e" path="res://assets/icons/pixelitos/128/applications-graphics.png" id="4_q6hd2"] [ext_resource type="Texture2D" uid="uid://dk856hwnwsuab" path="res://assets/icons/pixelitos/128/retroarch.png" id="4_xcuib"] [ext_resource type="Texture2D" uid="uid://cvr1eijddf6nv" path="res://assets/icons/banner/gamegear.png" id="5_4d7s7"] @@ -81,8 +81,16 @@ [ext_resource type="Texture2D" uid="uid://b0awa8venu1h8" path="res://assets/icons/pixelitos/128/cs-network.png" id="50_5d2ui"] [ext_resource type="Texture2D" uid="uid://bafdexg6aq8tn" path="res://assets/icons/pixelitos/128/applications-accessories.png" id="50_h3jx2"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] -[ext_resource type="Script" path="res://ToolsTab.gd" id="50_wqa5h"] +[ext_resource type="Script" path="res://scripts/ToolsTab.gd" id="50_wqa5h"] +[ext_resource type="Script" path="res://scripts/SettingsTab.gd" id="54_bxhvn"] +[ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] +[ext_resource type="Texture2D" uid="uid://d4ee8j2kh1tmy" path="res://assets/icons/pixelitos/128/cs-themes.png" id="55_wv2p5"] +[ext_resource type="Texture2D" uid="uid://cfcgi6owxt3uu" path="res://assets/icons/pixelitos/128/preferences-system-notifications.png" id="55_x32s4"] +[ext_resource type="Texture2D" uid="uid://dw3tdbhmpkst7" path="res://assets/icons/pixelitos/128/preferences-desktop-theme-applications.png" id="56_ubqc2"] +[ext_resource type="Texture2D" uid="uid://d4suyd0iag1k" path="res://assets/icons/pixelitos/128/system-suspend.png" id="56_witym"] [ext_resource type="Texture2D" uid="uid://l3bredurb11m" path="res://assets/graphics/rekku2/rekku_base.png" id="57_1n3u5"] +[ext_resource type="Texture2D" uid="uid://dxtd2lvewb4qa" path="res://assets/icons/pixelitos/128/system-switch-user.png" id="57_7b0kp"] +[ext_resource type="Texture2D" uid="uid://bby02mc8j6rxt" path="res://assets/icons/pixelitos/128/youtube-music.png" id="58_oismn"] [ext_resource type="Texture2D" uid="uid://cvlncuql8igrm" path="res://assets/graphics/rekku2/rekku_eye_1.png" id="59_7lcu5"] [ext_resource type="Texture2D" uid="uid://bdrdu4nddkqjn" path="res://assets/graphics/rekku2/rekku_eye_2.png" id="60_mbhg6"] [ext_resource type="Texture2D" uid="uid://cb2hwhaq036mu" path="res://assets/graphics/rekku2/rekku_mouth_a.png" id="61_5vyvy"] @@ -90,11 +98,11 @@ [ext_resource type="Texture2D" uid="uid://3ktnkmuecxea" path="res://assets/graphics/rekku2/rekku_mouth_m.png" id="63_52v81"] [ext_resource type="Texture2D" uid="uid://d08ngewjvxkmn" path="res://assets/graphics/rekku2/rekku_mouth_o.png" id="64_s8u0e"] [ext_resource type="Texture2D" uid="uid://dieva7tuxjrvy" path="res://assets/graphics/rekku2/rekku_nomouth.png" id="65_kk8ba"] -[ext_resource type="Script" path="res://controller_guide.gd" id="68_ahvw4"] +[ext_resource type="Script" path="res://scripts/controller_guide.gd" id="68_ahvw4"] [ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] [ext_resource type="Texture2D" uid="uid://dllymmym0335n" path="res://assets/icons/pixelitos/16/system-shutdown.png" id="87_1yqbe"] [ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] -[ext_resource type="Script" path="res://retrodeck.gd" id="94_8nlr1"] +[ext_resource type="Script" path="res://scripts/retrodeck.gd" id="94_8nlr1"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] bg_color = Color(0.712505, 0, 0.175592, 1) @@ -207,7 +215,7 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 tab_alignment = 1 -current_tab = 2 +current_tab = 3 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -267,7 +275,7 @@ layout_mode = 2 text = "TATE MODE" icon = ExtResource("10_jm3oh") -[node name="Widescreen7" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] layout_mode = 2 text = "RESET RETROCECK" @@ -750,15 +758,16 @@ action_mode = 0 text = "INSTALL FIRMWARE" icon = ExtResource("8_ec4gt") -[node name="rpcs3_scan_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] unique_name_in_owner = true visible = false layout_mode = 2 action_mode = 0 -text = "SCAN GAMES" -icon = ExtResource("8_ec4gt") +text = "INSTALL FIRMWARE" +icon = ExtResource("38_vsjf2") [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("50_wqa5h") metadata/_tab_index = 2 @@ -910,8 +919,8 @@ disabled = true text = "TK_3DSDECRYPT" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 +script = ExtResource("54_bxhvn") metadata/_tab_index = 3 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS"] @@ -938,12 +947,14 @@ layout_mode = 2 layout_mode = 2 button_pressed = true text = "TK_UPDATENOTIF" +icon = ExtResource("55_x32s4") [node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 disabled = true button_pressed = true text = "TK_EASTEREGGS" +icon = ExtResource("56_witym") [node name="multi_user_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 @@ -960,6 +971,7 @@ size_flags_horizontal = 10 selected = 0 item_count = 3 popup/item_0/text = "TK_OFF" +popup/item_0/icon = ExtResource("57_7b0kp") popup/item_1/text = "TK_STEAMUSR" popup/item_1/id = 1 popup/item_2/text = "TK_CUSTOMUSR" @@ -969,27 +981,39 @@ popup/item_2/id = 2 layout_mode = 2 button_pressed = true text = "TK_MUSIC" +icon = ExtResource("58_oismn") [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="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +layout_mode = 2 +button_pressed = true +text = "SOUND" +icon = ExtResource("9_qwq2k") + [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/icon = ExtResource("54_dah1j") popup/item_0/disabled = true popup/item_0/separator = true popup/item_1/text = "Default" +popup/item_1/icon = ExtResource("55_wv2p5") popup/item_1/id = 1 popup/item_2/text = "Retro" +popup/item_2/icon = ExtResource("56_ubqc2") popup/item_2/id = 2 popup/item_3/text = "Modern" +popup/item_3/icon = ExtResource("55_wv2p5") popup/item_3/id = 3 popup/item_4/text = "OpenDyslexic3" +popup/item_4/icon = ExtResource("56_ubqc2") popup/item_4/id = 4 [node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index d8d90878..d5a7d830 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_vtx1j"] +[sub_resource type="Image" id="Image_t31pf"] 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_vtx1j") +image = SubResource("Image_t31pf") -[sub_resource type="Image" id="Image_och6r"] +[sub_resource type="Image" id="Image_2um5k"] 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_och6r") +image = SubResource("Image_2um5k") [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_7482x"] +[sub_resource type="Image" id="Image_evuht"] 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_7482x") +image = SubResource("Image_evuht") [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_isu4h"] +[sub_resource type="Image" id="Image_77fjm"] 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_isu4h") +image = SubResource("Image_77fjm") [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_bjadf"] +[sub_resource type="Image" id="Image_08w20"] 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_bjadf") +image = SubResource("Image_08w20") [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_8omfk"] +[sub_resource type="Image" id="Image_bswst"] 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_8omfk") +image = SubResource("Image_bswst") [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_54xs7"] +[sub_resource type="Image" id="Image_yeelk"] 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_54xs7") +image = SubResource("Image_yeelk") -[sub_resource type="Image" id="Image_vo4s6"] +[sub_resource type="Image" id="Image_idyrq"] 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_vo4s6") +image = SubResource("Image_idyrq") -[sub_resource type="Image" id="Image_clgl8"] +[sub_resource type="Image" id="Image_rq7sm"] 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_clgl8") +image = SubResource("Image_rq7sm") -[sub_resource type="Image" id="Image_8jxxb"] +[sub_resource type="Image" id="Image_m6fdw"] 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_8jxxb") +image = SubResource("Image_m6fdw") -[sub_resource type="Image" id="Image_qj8gb"] +[sub_resource type="Image" id="Image_7yewc"] 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_qj8gb") +image = SubResource("Image_7yewc") [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_4f2lo"] +[sub_resource type="Image" id="Image_qx1ps"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_4f2lo") +image = SubResource("Image_qx1ps") [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_tvtki"] +[sub_resource type="Image" id="Image_w7lh2"] 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_tvtki") +image = SubResource("Image_w7lh2") [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_e33xy"] +[sub_resource type="Image" id="Image_36wx0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_e33xy") +image = SubResource("Image_36wx0") [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_5wku6"] +[sub_resource type="Image" id="Image_0ukgh"] 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_5wku6") +image = SubResource("Image_0ukgh") [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_shcs1"] +[sub_resource type="Image" id="Image_mcwap"] 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_shcs1") +image = SubResource("Image_mcwap") -[sub_resource type="Image" id="Image_1q308"] +[sub_resource type="Image" id="Image_vo7n5"] 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_1q308") +image = SubResource("Image_vo7n5") -[sub_resource type="Image" id="Image_fgdq8"] +[sub_resource type="Image" id="Image_lce1u"] 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_fgdq8") +image = SubResource("Image_lce1u") -[sub_resource type="Image" id="Image_103tl"] +[sub_resource type="Image" id="Image_b0u1v"] 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_103tl") +image = SubResource("Image_b0u1v") [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_biwtt"] +[sub_resource type="Image" id="Image_m0s3i"] 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_biwtt") +image = SubResource("Image_m0s3i") -[sub_resource type="Image" id="Image_yj1ge"] +[sub_resource type="Image" id="Image_w1pa1"] 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_yj1ge") +image = SubResource("Image_w1pa1") [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_vcgvy"] +[sub_resource type="Image" id="Image_je7wx"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_vcgvy") +image = SubResource("Image_je7wx") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/Rekku.gd b/tools/configurator/scripts/Rekku.gd similarity index 100% rename from tools/configurator/Rekku.gd rename to tools/configurator/scripts/Rekku.gd diff --git a/tools/configurator/scripts/SettingsTab.gd b/tools/configurator/scripts/SettingsTab.gd new file mode 100644 index 00000000..07bb655a --- /dev/null +++ b/tools/configurator/scripts/SettingsTab.gd @@ -0,0 +1,14 @@ +extends Control + + +func _ready(): + _get_nodes() + _connect_signals() + + +func _connect_signals() -> void: + pass + + +func _get_nodes() -> void: + pass diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index 5ef0e819..4662f646 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -43,20 +43,19 @@ func _connect_signals() -> void: %reset_button.button_down.connect(_do_action.bind(%reset_button)) %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) %rpcs3_firmware_button.pressed.connect(_do_action.bind(%rpcs3_firmware_button)) - -func extra_buttons () -> void: - print ("Extra") - + %vita3k_firmware_button.pressed.connect(_do_action.bind(%vita3k_firmware_button)) + func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: current_system = app_data.emulators[button.text.to_lower()] %reset_button.text="RESET" match button.name: + "vita3k_button": + %vita3k_firmware_button.visible = true "rpcs3_button": %rpcs3_firmware_button.visible = true - %rpcs3_scan_button.visible = true _: + %vita3k_firmware_button.visible = false %rpcs3_firmware_button.visible = false - %rpcs3_scan_button.visible = false hidden_gridcontainer.visible = true if button.toggle_mode == false: for i in range(buttons_gridcontainer.get_child_count()): @@ -102,6 +101,10 @@ func _do_action(button: Button) -> void: class_functions.logger("i", "Firmware install " + current_system.name) var launch = class_functions.execute_command(class_functions.wrapper_command,["update_rpcs3_firmware"], false) class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) + ["vita3k_firmware_button", current_system.name]: + class_functions.logger("i", "Firmware install " + current_system.name) + var launch = class_functions.execute_command(class_functions.wrapper_command,["update_vita3k_firmware"], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) func _do_complete() ->void: if is_reset_pressed: diff --git a/tools/configurator/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd similarity index 100% rename from tools/configurator/TabContainer.gd rename to tools/configurator/scripts/TabContainer.gd diff --git a/tools/configurator/ToolsTab.gd b/tools/configurator/scripts/ToolsTab.gd similarity index 77% rename from tools/configurator/ToolsTab.gd rename to tools/configurator/scripts/ToolsTab.gd index 20f964c8..76fc90aa 100644 --- a/tools/configurator/ToolsTab.gd +++ b/tools/configurator/scripts/ToolsTab.gd @@ -15,13 +15,9 @@ func _connect_signals() -> void: func check_internet_connection(): %check_conn_button.text = "CHECK CONNECTION" - var error = http_request.request("https://retrodeck.net/") # Change this URL to any reliable one - if error != OK: - print("Request failed: ", error) - else: - print("Request started.") + http_request.request("https://retrodeck.net/") -func _on_request_completed(result, response_code, headers, body): +func _on_request_completed(_result, response_code, _headers, _body): var style_box = StyleBoxFlat.new() if response_code == 200: style_box.bg_color = Color(0, 1, 0) diff --git a/tools/configurator/controller_guide.gd b/tools/configurator/scripts/controller_guide.gd similarity index 100% rename from tools/configurator/controller_guide.gd rename to tools/configurator/scripts/controller_guide.gd diff --git a/tools/configurator/main.gd b/tools/configurator/scripts/main.gd similarity index 99% rename from tools/configurator/main.gd rename to tools/configurator/scripts/main.gd index ac916d30..454bc382 100644 --- a/tools/configurator/main.gd +++ b/tools/configurator/scripts/main.gd @@ -13,7 +13,7 @@ var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") var app_data := AppData.new() -func _ready(): +func _ready(): _get_nodes() _connect_signals() _play_main_animations() @@ -71,7 +71,6 @@ func _get_nodes() -> void: func _connect_signals() -> void: #signal_theme_changed.connect(_conf_theme) theme_option.item_selected.connect(_conf_theme) - #signal_theme_changed.emit(theme_option.item_selected) log_option.item_selected.connect(_load_log) %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) @@ -80,6 +79,22 @@ func _connect_signals() -> void: %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) %save_resume_button.pressed.connect(_hide_show_containers.bind(%decorations_button,%systems_gridcontainer)) +func _conf_theme(index: int) -> void: + match index: + 1: + class_functions.logger("i","Set theme to index " + str(index)) + custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") + 2: + class_functions.logger("i","Set theme to index " + str(index)) + custom_theme = preload("res://assets/themes/retro_theme.tres") + 3: + class_functions.logger("i","Set theme to index " + str(index)) + custom_theme = preload("res://assets/themes/modern_theme.tres") + 4: + class_functions.logger("i","Set theme to index " + str(index)) + custom_theme = preload("res://assets/themes/accesible_theme.tres") + $".".theme = custom_theme + func _load_log(index: int) -> void: var log_content:String match index: @@ -134,22 +149,6 @@ func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hi child.toggle_mode = false button.toggle_mode = true -func _conf_theme(index: int) -> void: - match index: - 1: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") - 2: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/retro_theme.tres") - 3: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/modern_theme.tres") - 4: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/accesible_theme.tres") - $".".theme = custom_theme - _play_main_animations() func findElements(node: Node, className: String, result: Array = []) -> Array: if node.is_class(className): diff --git a/tools/configurator/retrodeck.gd b/tools/configurator/scripts/retrodeck.gd similarity index 100% rename from tools/configurator/retrodeck.gd rename to tools/configurator/scripts/retrodeck.gd diff --git a/tools/configurator/tk_about.gd b/tools/configurator/scripts/tk_about.gd similarity index 100% rename from tools/configurator/tk_about.gd rename to tools/configurator/scripts/tk_about.gd diff --git a/tools/configurator/tk_about.txt b/tools/configurator/tk_about.txt index b40c235b..8683f08c 100644 --- a/tools/configurator/tk_about.txt +++ b/tools/configurator/tk_about.txt @@ -5,4 +5,4 @@ rd_wiki,https://retrodeck.readthedocs.io/en/latest/,Opens the RetroDECK Wiki in rd_credits,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK Credits in your default browser rd_donate,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens Donations in your default browser rd_contactus,https://github.com/XargonWan/RetroDECK,Opens the RetroDECK contact us section in your default browser -rd_licenses,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK licenses in your default browser \ No newline at end of file +rd_licenses,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK licenses in your default browser From 1d6d608d9c0687098297b5d77dc4d70efba2d7b3 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 10 Sep 2024 15:54:29 +0100 Subject: [PATCH 14/74] Sounds --- tools/configurator/main.tscn | 47 +++++++++---------- tools/configurator/scripts/SettingsTab.gd | 8 ++-- tools/configurator/scripts/TabContainer.gd | 3 +- tools/configurator/scripts/class_functions.gd | 1 + 4 files changed, 29 insertions(+), 30 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index a9bdcda9..9f708d27 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=110 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=111 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"] @@ -90,6 +90,7 @@ [ext_resource type="Texture2D" uid="uid://d4suyd0iag1k" path="res://assets/icons/pixelitos/128/system-suspend.png" id="56_witym"] [ext_resource type="Texture2D" uid="uid://l3bredurb11m" path="res://assets/graphics/rekku2/rekku_base.png" id="57_1n3u5"] [ext_resource type="Texture2D" uid="uid://dxtd2lvewb4qa" path="res://assets/icons/pixelitos/128/system-switch-user.png" id="57_7b0kp"] +[ext_resource type="Texture2D" uid="uid://diu1akug7xul8" path="res://assets/icons/pixelitos/128/cs-user.png" id="58_mntxv"] [ext_resource type="Texture2D" uid="uid://bby02mc8j6rxt" path="res://assets/icons/pixelitos/128/youtube-music.png" id="58_oismn"] [ext_resource type="Texture2D" uid="uid://cvlncuql8igrm" path="res://assets/graphics/rekku2/rekku_eye_1.png" id="59_7lcu5"] [ext_resource type="Texture2D" uid="uid://bdrdu4nddkqjn" path="res://assets/graphics/rekku2/rekku_eye_2.png" id="60_mbhg6"] @@ -215,7 +216,7 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 tab_alignment = 1 -current_tab = 3 +current_tab = 2 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -767,7 +768,6 @@ text = "INSTALL FIRMWARE" icon = ExtResource("38_vsjf2") [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("50_wqa5h") metadata/_tab_index = 2 @@ -792,9 +792,10 @@ 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 +alignment = 1 selected = 0 item_count = 4 -popup/item_0/text = " LOGS" +popup/item_0/text = "LOGS" popup/item_0/icon = ExtResource("50_h3jx2") popup/item_0/disabled = true popup/item_0/separator = true @@ -919,6 +920,7 @@ disabled = true text = "TK_3DSDECRYPT" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -948,6 +950,7 @@ layout_mode = 2 button_pressed = true text = "TK_UPDATENOTIF" icon = ExtResource("55_x32s4") +alignment = 1 [node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 @@ -955,44 +958,40 @@ disabled = true button_pressed = true text = "TK_EASTEREGGS" icon = ExtResource("56_witym") +alignment = 1 -[node name="multi_user_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="multi_user_option" type="OptionButton" 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 +alignment = 1 selected = 0 -item_count = 3 -popup/item_0/text = "TK_OFF" +item_count = 4 +popup/item_0/text = "TK_MULTIUSR" popup/item_0/icon = ExtResource("57_7b0kp") -popup/item_1/text = "TK_STEAMUSR" +popup/item_0/separator = true +popup/item_1/text = "TK_CUSTOMUSR" +popup/item_1/icon = ExtResource("58_mntxv") popup/item_1/id = 1 -popup/item_2/text = "TK_CUSTOMUSR" +popup/item_2/text = "TK_OFF" +popup/item_2/icon = ExtResource("58_mntxv") popup/item_2/id = 2 +popup/item_3/text = "TK_STEAMUSR" +popup/item_3/icon = ExtResource("58_mntxv") +popup/item_3/id = 3 [node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 button_pressed = true text = "TK_MUSIC" icon = ExtResource("58_oismn") - -[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 = "|| ------( )--------" +alignment = 1 [node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true layout_mode = 2 button_pressed = true text = "SOUND" icon = ExtResource("9_qwq2k") +alignment = 1 [node name="theme_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] unique_name_in_owner = true diff --git a/tools/configurator/scripts/SettingsTab.gd b/tools/configurator/scripts/SettingsTab.gd index 07bb655a..916a13a4 100644 --- a/tools/configurator/scripts/SettingsTab.gd +++ b/tools/configurator/scripts/SettingsTab.gd @@ -1,14 +1,14 @@ extends Control - func _ready(): _get_nodes() _connect_signals() - func _connect_signals() -> void: - pass + %sound_button.pressed.connect(sound_off) - func _get_nodes() -> void: pass + +func sound_off() -> void: + class_functions.sound_effects = false diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 99dc396c..d983fcd7 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -3,7 +3,6 @@ extends TabContainer var icon_width: int = 32 @onready var tcount: int = get_tab_count()-1 - func _ready(): focusFirstFocusableChild() #grab focus on first element to enable controller focusing %TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) @@ -31,7 +30,7 @@ func connect_focus_signals(node): connect_focus_signals(child) func _on_Button_focus_entered(button: Button): - if button: + if button and class_functions.sound_effects: %AudioStreamPlayer2D.play() func _input(event): diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 0e86ddfd..f9892c0c 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -11,6 +11,7 @@ var rd_log: String var rd_log_folder: String var rd_version: String var gc_version: String +var sound_effects: bool = true func read_cfg() -> String: var title: String From 0d734ac007faa8f5a979f45547b9f6d7172e9e33 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 10 Sep 2024 18:13:53 +0100 Subject: [PATCH 15/74] Backup with progress --- tools/configurator/main.tscn | 30 ++++++- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/SystemTab.gd | 6 +- tools/configurator/scripts/ToolsTab.gd | 27 +++++- tools/configurator/scripts/class_functions.gd | 24 +++-- tools/configurator/scripts/main.gd | 3 +- 6 files changed, 117 insertions(+), 61 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 9f708d27..5cc56ab0 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=111 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=113 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"] @@ -79,11 +79,12 @@ [ext_resource type="Texture2D" uid="uid://b6vndtbu4qduo" path="res://assets/icons/pixelitos/128/preferences-desktop-launch-feedback.png" id="45_qxd26"] [ext_resource type="Texture2D" uid="uid://3sw7gtoiuab3" path="res://assets/icons/pixelitos/128/help-browser.png" id="46_feagl"] [ext_resource type="Texture2D" uid="uid://b0awa8venu1h8" path="res://assets/icons/pixelitos/128/cs-network.png" id="50_5d2ui"] -[ext_resource type="Texture2D" uid="uid://bafdexg6aq8tn" path="res://assets/icons/pixelitos/128/applications-accessories.png" id="50_h3jx2"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] [ext_resource type="Script" path="res://scripts/ToolsTab.gd" id="50_wqa5h"] +[ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] [ext_resource type="Script" path="res://scripts/SettingsTab.gd" id="54_bxhvn"] [ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] +[ext_resource type="Texture2D" uid="uid://c5ik1giuv1ar5" path="res://assets/icons/pixelitos/128/system-lock-screen.png" id="54_f245y"] [ext_resource type="Texture2D" uid="uid://d4ee8j2kh1tmy" path="res://assets/icons/pixelitos/128/cs-themes.png" id="55_wv2p5"] [ext_resource type="Texture2D" uid="uid://cfcgi6owxt3uu" path="res://assets/icons/pixelitos/128/preferences-system-notifications.png" id="55_x32s4"] [ext_resource type="Texture2D" uid="uid://dw3tdbhmpkst7" path="res://assets/icons/pixelitos/128/preferences-desktop-theme-applications.png" id="56_ubqc2"] @@ -111,6 +112,9 @@ 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="StyleBoxFlat" id="StyleBoxFlat_8lrwm"] +bg_color = Color(0.352941, 0.858824, 0.129412, 0.556863) + [sub_resource type="SpriteFrames" id="SpriteFrames_lhf2y"] animations = [{ "frames": [{ @@ -796,7 +800,7 @@ alignment = 1 selected = 0 item_count = 4 popup/item_0/text = "LOGS" -popup/item_0/icon = ExtResource("50_h3jx2") +popup/item_0/icon = ExtResource("52_1rasc") popup/item_0/disabled = true popup/item_0/separator = true popup/item_1/text = "RetroDECK Log" @@ -819,6 +823,26 @@ layout_mode = 2 text = "BIOS EXPERT" icon = ExtResource("50_tl5ty") +[node name="backup_user_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +unique_name_in_owner = true +layout_mode = 2 +text = "BACKUP USER DATA" +icon = ExtResource("54_f245y") + +[node name="progress_bar_backup" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/backup_user_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_8lrwm") +show_percentage = false +indeterminate = true +editor_preview_indeterminate = false + [node name="controls_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index d5a7d830..aab162b5 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_t31pf"] +[sub_resource type="Image" id="Image_yotwh"] 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_t31pf") +image = SubResource("Image_yotwh") -[sub_resource type="Image" id="Image_2um5k"] +[sub_resource type="Image" id="Image_1na0j"] 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_2um5k") +image = SubResource("Image_1na0j") [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_evuht"] +[sub_resource type="Image" id="Image_5j46v"] 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_evuht") +image = SubResource("Image_5j46v") [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_77fjm"] +[sub_resource type="Image" id="Image_x4077"] 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_77fjm") +image = SubResource("Image_x4077") [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_08w20"] +[sub_resource type="Image" id="Image_al1js"] 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_08w20") +image = SubResource("Image_al1js") [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_bswst"] +[sub_resource type="Image" id="Image_hj4d0"] 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_bswst") +image = SubResource("Image_hj4d0") [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_yeelk"] +[sub_resource type="Image" id="Image_owyy0"] 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_yeelk") +image = SubResource("Image_owyy0") -[sub_resource type="Image" id="Image_idyrq"] +[sub_resource type="Image" id="Image_okisu"] 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_idyrq") +image = SubResource("Image_okisu") -[sub_resource type="Image" id="Image_rq7sm"] +[sub_resource type="Image" id="Image_ygjdi"] 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_rq7sm") +image = SubResource("Image_ygjdi") -[sub_resource type="Image" id="Image_m6fdw"] +[sub_resource type="Image" id="Image_160bk"] 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_m6fdw") +image = SubResource("Image_160bk") -[sub_resource type="Image" id="Image_7yewc"] +[sub_resource type="Image" id="Image_sns0p"] 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_7yewc") +image = SubResource("Image_sns0p") [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_qx1ps"] +[sub_resource type="Image" id="Image_fck4c"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_qx1ps") +image = SubResource("Image_fck4c") [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_w7lh2"] +[sub_resource type="Image" id="Image_fsrs3"] 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_w7lh2") +image = SubResource("Image_fsrs3") [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_36wx0"] +[sub_resource type="Image" id="Image_vs4s6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_36wx0") +image = SubResource("Image_vs4s6") [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_0ukgh"] +[sub_resource type="Image" id="Image_mw3l1"] 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_0ukgh") +image = SubResource("Image_mw3l1") [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_mcwap"] +[sub_resource type="Image" id="Image_10eaj"] 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_mcwap") +image = SubResource("Image_10eaj") -[sub_resource type="Image" id="Image_vo7n5"] +[sub_resource type="Image" id="Image_c2x61"] 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_vo7n5") +image = SubResource("Image_c2x61") -[sub_resource type="Image" id="Image_lce1u"] +[sub_resource type="Image" id="Image_5367v"] 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_lce1u") +image = SubResource("Image_5367v") -[sub_resource type="Image" id="Image_b0u1v"] +[sub_resource type="Image" id="Image_ic0ai"] 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_b0u1v") +image = SubResource("Image_ic0ai") [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_m0s3i"] +[sub_resource type="Image" id="Image_p04wl"] 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_m0s3i") +image = SubResource("Image_p04wl") -[sub_resource type="Image" id="Image_w1pa1"] +[sub_resource type="Image" id="Image_hhije"] 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_w1pa1") +image = SubResource("Image_hhije") [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_je7wx"] +[sub_resource type="Image" id="Image_22pmp"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_je7wx") +image = SubResource("Image_22pmp") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index 4662f646..93b6727a 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -34,9 +34,9 @@ func _connect_signals() -> void: %ryujinx_button.pressed.connect(standard_buttons.bind(%ryujinx_button,%system_gridcontainer, %action_gridcontainer)) %dolphin_button.pressed.connect(standard_buttons.bind(%dolphin_button,%system_gridcontainer, %action_gridcontainer)) %primehack_button.pressed.connect(standard_buttons.bind(%primehack_button,%system_gridcontainer, %action_gridcontainer)) - %cemu_button.pressed.connect(standard_buttons.bind.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) - %xemu_button.pressed.connect(standard_buttons.bind.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) - %esde_button.pressed.connect(standard_buttons.bind.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) + %cemu_button.pressed.connect(standard_buttons.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) + %xemu_button.pressed.connect(standard_buttons.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) + %esde_button.pressed.connect(standard_buttons.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) %help_button.pressed.connect(_do_action.bind(%help_button)) #%launch_button.pressed.connect(_do_action.bind(%launch_button)) %launch_button.pressed.connect(_do_action.bind(%launch_button)) diff --git a/tools/configurator/scripts/ToolsTab.gd b/tools/configurator/scripts/ToolsTab.gd index 76fc90aa..a2ab4dc3 100644 --- a/tools/configurator/scripts/ToolsTab.gd +++ b/tools/configurator/scripts/ToolsTab.gd @@ -2,29 +2,50 @@ extends Control @onready var http_request: HTTPRequest = HTTPRequest.new() - func _ready(): add_child(http_request) http_request.request_completed.connect(_on_request_completed) #check_internet_connection() _connect_signals() - + %backup_user_button.text += " - " + class_functions.rdhome + "/backup" + func _connect_signals() -> void: %check_conn_button.pressed.connect(check_internet_connection) - #%check_conn_button.text = "YES" + %backup_user_button.pressed.connect(run_function.bind(%backup_user_button)) +func run_function(button: Button) -> void: + var tmp_txt = button.text + class_functions.logger("d","Start User Backup") + %progress_bar_backup.visible = true + %backup_user_button.text = "Backup Running" + var parameters = ["backup_retrodeck_userdata"] + var run_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, true) + if run_result["exit_code"] == 0: + %backup_user_button.text = "Backup Complete - " + class_functions.rdhome + "/backup" + class_functions.logger("d","User Backup Completed") + await class_functions.wait(3.0) + %backup_user_button.text = tmp_txt + %progress_bar_backup.visible = false + else: + %backup_user_button.text = "Backup Failed" + class_functions.logger("e","User Backup Failed. " + run_result["exit_code"]) + %progress_bar_backup.visible = false + func check_internet_connection(): + class_functions.logger("i","Check Internet Connection") %check_conn_button.text = "CHECK CONNECTION" http_request.request("https://retrodeck.net/") func _on_request_completed(_result, response_code, _headers, _body): var style_box = StyleBoxFlat.new() if response_code == 200: + class_functions.logger("i","Internet Connection Succesful") style_box.bg_color = Color(0, 1, 0) %check_conn_button.add_theme_stylebox_override("normal", style_box) %check_conn_button.text += " - CONNECTED" else: + class_functions.logger("d","Internet Connection Failed") style_box.bg_color = Color(1, 0, 0) %check_conn_button.add_theme_stylebox_override("normal", style_box) %check_conn_button.text += " - NOT CONNECTED: " + str(response_code) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index f9892c0c..9fa70926 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -7,27 +7,39 @@ var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" var config_file_path = "/var/config/retrodeck/retrodeck.cfg" var json_file_path = "/var/config/retrodeck/retrodeck.json" var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") +var rdhome: String +var roms_folder: String +var saves_folder: String +var states_folder: String +var bios_folder: String var rd_log: String var rd_log_folder: String var rd_version: String var gc_version: String var sound_effects: bool = true +var title: String -func read_cfg() -> String: - var title: String +func _ready(): var config = data_handler.parse_config_to_json(config_file_path) data_handler.config_save_json(config, json_file_path) rd_log_folder = config["paths"]["logs_folder"] rd_log = rd_log_folder + "/retrodeck.log" - #rd_log = "/var/config/retrodeck/logs/retrodeck.log" - + rdhome = config["paths"]["rdhome"] + roms_folder = config["paths"]["roms_folder"] + saves_folder = config["paths"]["saves_folder"] + states_folder = config["paths"]["states_folder"] + bios_folder = config["paths"]["bios_folder"] rd_version = config["version"] gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version - print ("Make logging a function\nAlso add d,i,e,w: ", rd_log) - return title + 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] diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 454bc382..82bb7119 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -19,7 +19,7 @@ func _ready(): _play_main_animations() %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) #class_functions.logger() - %rd_title.text += class_functions.read_cfg() + %rd_title.text += class_functions.title class_functions.logger("i","Started Godot configurator") #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") @@ -149,7 +149,6 @@ func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hi child.toggle_mode = false button.toggle_mode = true - func findElements(node: Node, className: String, result: Array = []) -> Array: if node.is_class(className): result.push_back(node) From ce268f0d23550d4ed25e61da321241d563f96872 Mon Sep 17 00:00:00 2001 From: Rekku Date: Wed, 11 Sep 2024 19:23:05 +0100 Subject: [PATCH 16/74] Better buttons? --- .../assets/themes/default_theme.tres | 62 +++++++++++-- tools/configurator/main.tscn | 71 ++++++++++----- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/GlobalsTab.gd | 24 +++++ tools/configurator/scripts/class_functions.gd | 51 +++++++++++ tools/configurator/scripts/data_handler.gd | 2 + tools/configurator/scripts/main.gd | 77 ++-------------- tools/configurator/scripts/tk_about.gd | 4 +- 8 files changed, 237 insertions(+), 142 deletions(-) create mode 100644 tools/configurator/scripts/GlobalsTab.gd diff --git a/tools/configurator/assets/themes/default_theme.tres b/tools/configurator/assets/themes/default_theme.tres index 755ad376..9d3b462d 100644 --- a/tools/configurator/assets/themes/default_theme.tres +++ b/tools/configurator/assets/themes/default_theme.tres @@ -1,14 +1,66 @@ -[gd_resource type="Theme" load_steps=4 format=3 uid="uid://hhc60cllcg47"] +[gd_resource type="Theme" load_steps=7 format=3 uid="uid://hhc60cllcg47"] [ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] [ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_md22p"] +bg_color = Color(0.6, 0.168627, 0.6, 0.745098) +border_width_left = 15 +border_width_top = 15 +border_width_right = 15 +border_width_bottom = 15 +border_color = Color(0.843137, 0.137255, 0.909804, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kr58o"] bg_color = Color(0.6, 0.168627, 0.6, 0.372549) +border_width_left = 15 +border_width_top = 15 +border_width_right = 15 +border_width_bottom = 15 +border_color = Color(0.136826, 0.136826, 0.136826, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0ahfc"] +bg_color = Color(0.454524, 0.454524, 0.454524, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.843137, 0.137255, 0.909804, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 +corner_detail = 7 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o8sf1"] +bg_color = Color(0, 1, 0, 1) +border_width_left = 15 +border_width_top = 15 +border_width_right = 15 +border_width_bottom = 15 +border_color = Color(0.843137, 0.137255, 0.909804, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 [resource] -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 +Button/constants/align_to_largest_stylebox = 1 +Button/styles/focus = SubResource("StyleBoxFlat_md22p") +Button/styles/hover = SubResource("StyleBoxFlat_kr58o") +Button/styles/normal = SubResource("StyleBoxFlat_0ahfc") +Button/styles/pressed = SubResource("StyleBoxFlat_o8sf1") CheckBox/icons/checked = ExtResource("1_pvl23") CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 5cc56ab0..dfaf262e 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -5,6 +5,7 @@ [ext_resource type="Script" path="res://scripts/main.gd" id="1_obpq7"] [ext_resource type="Script" path="res://scripts/TabContainer.gd" id="3_id6l4"] [ext_resource type="AudioStream" uid="uid://dig4pco500pyt" path="res://res/configurator.mp3" id="3_xivj6"] +[ext_resource type="Script" path="res://scripts/GlobalsTab.gd" id="4_2jqfc"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="4_2tuu4"] [ext_resource type="Texture2D" uid="uid://qu88ngewoj4w" path="res://assets/icons/pixelitos/128/applications-games.png" id="4_caaxx"] [ext_resource type="Texture2D" uid="uid://bdj8vt3vhucq4" path="res://assets/icons/pixelitos/128/cs-display.png" id="4_jldgc"] @@ -57,7 +58,6 @@ [ext_resource type="Texture2D" uid="uid://dyw0ondpk6ned" path="res://assets/icons/pixelitos/128/search.png" id="14_oe3l4"] [ext_resource type="Texture2D" uid="uid://b164ihk8riiwh" path="res://assets/graphics/space_bground.png" id="15_qdvxo"] [ext_resource type="Texture2D" uid="uid://cgh3df7ajg2c4" path="res://assets/icons/pixelitos/128/computer.png" id="17_0kr64"] -[ext_resource type="Texture2D" uid="uid://cvt2jky3bbjun" path="res://assets/icons/pixelitos/128/drive-removable-media.png" id="18_h2o3e"] [ext_resource type="Texture2D" uid="uid://dyumvh0ixwrbl" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png" id="30_glnve"] [ext_resource type="Texture2D" uid="uid://cn11vcrybtor4" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0047.png" id="31_j5ri1"] [ext_resource type="Texture2D" uid="uid://cc7ohmfxafe78" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png" id="33_1ghye"] @@ -220,13 +220,13 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 tab_alignment = 1 -current_tab = 2 +current_tab = 0 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 +script = ExtResource("4_2jqfc") metadata/_tab_index = 0 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS"] @@ -243,55 +243,91 @@ size_flags_vertical = 3 layout_mode = 2 columns = 3 +[node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(345, 222) +layout_mode = 2 +tooltip_text = "RetroArch only" +text = "QUICK RESUME" +icon = ExtResource("12_3jrmi") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 + [node name="Widescreen6" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 tooltip_text = "Change to Nintendo style button mappings." text = "BUTTON SWAP " icon = ExtResource("4_caaxx") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="Widescreen2" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "MODS" 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("12_3jrmi") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="decorations_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "BORDERS" icon = ExtResource("4_jldgc") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="Widescreen" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "SHADERS" icon = ExtResource("4_q6hd2") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="Widescreen3" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "QUICK REWIND" icon = ExtResource("11_c3qcy") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="Widescreen4" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "TATE MODE" icon = ExtResource("10_jm3oh") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 -text = "RESET -RETROCECK" +text = "RESET RETROCECK" icon = ExtResource("11_g1uhn") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 expand_icon = true -[node name="Widescreen8" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="reset_all_emulators" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) layout_mode = 2 -text = "RESET ALL -EMULATORS" +text = "RESET ALL EMULATORS" icon = ExtResource("45_qxd26") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] visible = false @@ -772,6 +808,7 @@ text = "INSTALL FIRMWARE" icon = ExtResource("38_vsjf2") [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("50_wqa5h") metadata/_tab_index = 2 @@ -1255,6 +1292,7 @@ icon = ExtResource("4_q6hd2") [node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 columns = 5 @@ -1503,7 +1541,6 @@ icon = ExtResource("17_0kr64") [node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 size_flags_vertical = 3 theme_override_constants/h_separation = 10 @@ -1572,12 +1609,6 @@ icon = ExtResource("10_wbaif") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="save_resume_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "FUNCTIONS - Save states, etc" -icon = ExtResource("18_h2o3e") - [node name="logo_animated" type="AnimatedSprite2D" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true visible = false diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index aab162b5..9e8f1ed7 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_yotwh"] +[sub_resource type="Image" id="Image_sdnow"] 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_yotwh") +image = SubResource("Image_sdnow") -[sub_resource type="Image" id="Image_1na0j"] +[sub_resource type="Image" id="Image_e6ajj"] 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_1na0j") +image = SubResource("Image_e6ajj") [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_5j46v"] +[sub_resource type="Image" id="Image_jfadg"] 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_5j46v") +image = SubResource("Image_jfadg") [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_x4077"] +[sub_resource type="Image" id="Image_gyphe"] 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_x4077") +image = SubResource("Image_gyphe") [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_al1js"] +[sub_resource type="Image" id="Image_jgnon"] 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_al1js") +image = SubResource("Image_jgnon") [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_hj4d0"] +[sub_resource type="Image" id="Image_s2ldw"] 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_hj4d0") +image = SubResource("Image_s2ldw") [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_owyy0"] +[sub_resource type="Image" id="Image_a7a0d"] 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_owyy0") +image = SubResource("Image_a7a0d") -[sub_resource type="Image" id="Image_okisu"] +[sub_resource type="Image" id="Image_7fhno"] 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_okisu") +image = SubResource("Image_7fhno") -[sub_resource type="Image" id="Image_ygjdi"] +[sub_resource type="Image" id="Image_swkbf"] 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_ygjdi") +image = SubResource("Image_swkbf") -[sub_resource type="Image" id="Image_160bk"] +[sub_resource type="Image" id="Image_jpvky"] 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_160bk") +image = SubResource("Image_jpvky") -[sub_resource type="Image" id="Image_sns0p"] +[sub_resource type="Image" id="Image_fmc5e"] 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_sns0p") +image = SubResource("Image_fmc5e") [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_fck4c"] +[sub_resource type="Image" id="Image_5g4bd"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_fck4c") +image = SubResource("Image_5g4bd") [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_fsrs3"] +[sub_resource type="Image" id="Image_dpcrr"] 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_fsrs3") +image = SubResource("Image_dpcrr") [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_vs4s6"] +[sub_resource type="Image" id="Image_se38v"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_vs4s6") +image = SubResource("Image_se38v") [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_mw3l1"] +[sub_resource type="Image" id="Image_1lrts"] 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_mw3l1") +image = SubResource("Image_1lrts") [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_10eaj"] +[sub_resource type="Image" id="Image_nox1y"] 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_10eaj") +image = SubResource("Image_nox1y") -[sub_resource type="Image" id="Image_c2x61"] +[sub_resource type="Image" id="Image_dor5j"] 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_c2x61") +image = SubResource("Image_dor5j") -[sub_resource type="Image" id="Image_5367v"] +[sub_resource type="Image" id="Image_oaenh"] 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_5367v") +image = SubResource("Image_oaenh") -[sub_resource type="Image" id="Image_ic0ai"] +[sub_resource type="Image" id="Image_4bb5a"] 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_ic0ai") +image = SubResource("Image_4bb5a") [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_p04wl"] +[sub_resource type="Image" id="Image_fr3rw"] 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_p04wl") +image = SubResource("Image_fr3rw") -[sub_resource type="Image" id="Image_hhije"] +[sub_resource type="Image" id="Image_mw2uo"] 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_hhije") +image = SubResource("Image_mw2uo") [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_22pmp"] +[sub_resource type="Image" id="Image_as5nm"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_22pmp") +image = SubResource("Image_as5nm") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/GlobalsTab.gd new file mode 100644 index 00000000..15a64e59 --- /dev/null +++ b/tools/configurator/scripts/GlobalsTab.gd @@ -0,0 +1,24 @@ +extends MarginContainer + +var app_data := AppData.new() +var button_swap: Array + +func _ready(): + app_data = data_handler.app_data + _connect_signals() + + #for emulator in app_data.emulators: + #var emulator_data: Emulator = app_data.emulators[emulator] + #if emulator_data.properties: + #if emulator_data.properties: + ##print (emulator_data.name) + #for property: EmulatorProperty in emulator_data.properties: + ##print (property.abxy_button) + #button_swap.append(emulator_data.name) + ##print (button_swap) + +func _connect_signals(): + %quick_resume_button.pressed.connect(run_function.bind(%quick_resume_button)) + +func run_function(button: Button) -> void: + pass diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 9fa70926..d4a984dd 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -18,6 +18,7 @@ var rd_version: String var gc_version: String var sound_effects: bool = true var title: String +var quick_resume_status: bool func _ready(): var config = data_handler.parse_config_to_json(config_file_path) @@ -32,6 +33,7 @@ func _ready(): rd_version = config["version"] gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version + quick_resume_status = config["quick_resume"]["retroarch"] func logger(log_type: String, log_text: String) -> void: @@ -160,3 +162,52 @@ func environment_data() -> void: if file != null: file.store_string(env_result["output"]) file.close() + +func display_json_data() -> void: + var app_data := AppData.new() + app_data = data_handler.app_data + #data_handler.add_emulator() + #data_handler.modify_emulator_test() + if app_data: + #var website_data: Link = app_data.about_links["rd_web"] + #print (website_data.name,"-",website_data.url,"-",website_data.description,"-",website_data.url) + ##print (app_data.about_links["rd_web"]["name"]) + #var core_data: Core = app_data.cores["gambatte_libetro"] + #print (core_data.name) + #for property: CoreProperty in core_data.properties: + #print("Cheevos: ", property.cheevos) + #print("Cheevos Hardcore: ", property.cheevos_hardcore) + #print("Quick Resume: ", property.quick_resume) + #print("Rewind: ", property.rewind) + #print("Borders: ", property.borders) + #print("Widescreen: ", property.widescreen) + #print("ABXY_button:", property.abxy_button) + for key in app_data.emulators.keys(): + var emulator = app_data.emulators[key] + # Display the properties of each emulator + print("System Name: ", emulator.name) + print("Description: ", emulator.description) + #print("System: ", emulator.systen) + print("Help URL: ", emulator.url) + print("Properties:") + for property: EmulatorProperty in emulator.properties: + print("Cheevos: ", property.cheevos) + print("Borders: ", property.borders) + print("ABXY_button:", property.abxy_button) + print("multi_user_config_dir: ", property.multi_user_config_dir) + + for key in app_data.cores.keys(): + var core = app_data.cores[key] + print("Core Name: ", core.name) + print("Description: ", core.description) + print("Properties:") + for property: CoreProperty in core.properties: + print("Cheevos: ", property.cheevos) + print("Cheevos Hardcore: ", property.cheevos_hardcore) + print("Quick Resume: ", property.quick_resume) + print("Rewind: ", property.rewind) + print("Borders: ", property.borders) + print("Widescreen: ", property.widescreen) + print("ABXY_button:", property.abxy_button) + else: + print ("No emulators") diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 2b24a79c..d25f695e 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -4,6 +4,7 @@ class_name DataHandler var data_file_path = "/app/retrodeck/config/retrodeck/reference_lists/features.json" var app_data: AppData +var button_swap: Array func _ready(): # Load the data when the scene is ready @@ -61,6 +62,7 @@ func load_base_data() -> AppData: if core_data.has("properties"): for property_data in core_data["properties"]: #print (core.name,"----",property_data) + # inherit from RetroArch var property = CoreProperty.new() property.cheevos = true property.cheevos_hardcore = true diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 82bb7119..eb72b199 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -11,17 +11,17 @@ var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts- var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") -var app_data := AppData.new() func _ready(): _get_nodes() _connect_signals() _play_main_animations() + _set_up_globals() %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) #class_functions.logger() %rd_title.text += class_functions.title class_functions.logger("i","Started Godot configurator") - + #class_functions.display_json_data() #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") #for id in config.paths: # var path_data = config.paths[id] @@ -77,7 +77,6 @@ func _connect_signals() -> void: %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) - %save_resume_button.pressed.connect(_hide_show_containers.bind(%decorations_button,%systems_gridcontainer)) func _conf_theme(index: int) -> void: match index: @@ -139,7 +138,6 @@ func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hi if child is Button and child != button: child.visible=false elif button.toggle_mode == true and %borders_gridcontainer.visible == true: - print (button.name, "SAVE NOW? TODO") # TODO SHOW ALL AGAIN? buttons_gridcontainer.visible = false #button.toggle_mode = false for i in range(hidden_gridcontainer.get_child_count()): @@ -166,9 +164,6 @@ func load_popup(title:String, content_path:String, display_text: String): popup.set_display_text(display_text) $Background.add_child(popup) -func _on_quickresume_advanced_pressed(): - load_popup("Quick Resume Advanced", "res://components/popups_content/popup_content_test.tscn","") - func _on_bios_button_pressed(): _play_main_animations() bios_type = 1 @@ -196,22 +191,6 @@ func _on_locale_selected(index): TranslationServer.set_locale("en") combine_tkeys() -""" - 1: - TranslationServer.set_locale("it") - 2: - TranslationServer.set_locale("de") - 3: - TranslationServer.set_locale("sv") - 4: - TranslationServer.set_locale("ua") - 5: - TranslationServer.set_locale("ja") - 6: - TranslationServer.set_locale("zh") -""" - - func combine_tkeys(): #More as a test pass #%cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor @@ -221,51 +200,7 @@ func combine_tkeys(): #More as a test #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_hardcore.text = tr("TK_CHEEVOSHARDCORE") + " " + tr("TK_SOON") #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") - -func display_json_data() -> void: - app_data = data_handler.app_data - #data_handler.add_emulator() - #data_handler.modify_emulator_test() - if app_data: - var website_data: Link = app_data.about_links["rd_web"] - print (website_data.name,"-",website_data.url,"-",website_data.description,"-",website_data.url) - #print (app_data.about_links["rd_web"]["name"]) - var core_data: Core = app_data.cores["gambatte_libetro"] - print (core_data.name) - for property: CoreProperty in core_data.properties: - print("Cheevos: ", property.cheevos) - print("Cheevos Hardcore: ", property.cheevos_hardcore) - print("Quick Resume: ", property.quick_resume) - print("Rewind: ", property.rewind) - print("Borders: ", property.borders) - print("Widescreen: ", property.widescreen) - print("ABXY_button:", property.abxy_button) - for key in app_data.emulators.keys(): - var emulator = app_data.emulators[key] - # Display the properties of each emulator - print("System Name: ", emulator.name) - print("Description: ", emulator.description) - #print("System: ", emulator.systen) - print("Help URL: ", emulator.url) - print("Properties:") - for property: EmulatorProperty in emulator.properties: - print("Cheevos: ", property.cheevos) - print("Borders: ", property.borders) - print("ABXY_button:", property.abxy_button) - print("multi_user_config_dir: ", property.multi_user_config_dir) - - for key in app_data.cores.keys(): - var core = app_data.cores[key] - print("Core Name: ", core.name) - print("Description: ", core.description) - print("Properties:") - for property: CoreProperty in core.properties: - print("Cheevos: ", property.cheevos) - print("Cheevos Hardcore: ", property.cheevos_hardcore) - print("Quick Resume: ", property.quick_resume) - print("Rewind: ", property.rewind) - print("Borders: ", property.borders) - print("Widescreen: ", property.widescreen) - print("ABXY_button:", property.abxy_button) - else: - print ("No emulators") + +func _set_up_globals() -> void: + if class_functions.quick_resume_status: + %quick_resume_button.button_pressed = true diff --git a/tools/configurator/scripts/tk_about.gd b/tools/configurator/scripts/tk_about.gd index 36b0b489..bad6acea 100644 --- a/tools/configurator/scripts/tk_about.gd +++ b/tools/configurator/scripts/tk_about.gd @@ -7,12 +7,13 @@ var rd_credits_button := Button.new() var rd_donate_button := Button.new() var rd_contactus_button := Button.new() var rd_licenses_button := Button.new() -var app_data := AppData.new() +var app_data:= AppData.new() var bArray :Array = [rd_web_button,rd_changelog_button,rd_wiki_button, rd_credits_button,rd_donate_button,rd_contactus_button,rd_licenses_button] func _ready(): #tk_about = class_functions.import_csv_data("res://tk_about.txt") + app_data = data_handler.app_data _connect_signals() create_buttons() @@ -41,7 +42,6 @@ func _about_button_pressed(id: String, button: Button) -> void: print ("Website ID/Link not found") func create_buttons() -> void: - app_data = data_handler.app_data for button in bArray: %GridContainer.add_child(button) for id in app_data.about_links: From 6b05cd0e3509bf88f662a4ae4a3b243b5e0bfc14 Mon Sep 17 00:00:00 2001 From: Rekku Date: Thu, 12 Sep 2024 16:29:10 +0100 Subject: [PATCH 17/74] cfg parser --- .../assets/themes/default_theme.tres | 11 ++- tools/configurator/main.tscn | 42 ++++----- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/GlobalsTab.gd | 22 ++++- tools/configurator/scripts/class_functions.gd | 2 +- tools/configurator/scripts/data_handler.gd | 55 +++++++++++- 6 files changed, 146 insertions(+), 74 deletions(-) diff --git a/tools/configurator/assets/themes/default_theme.tres b/tools/configurator/assets/themes/default_theme.tres index 9d3b462d..a2d96385 100644 --- a/tools/configurator/assets/themes/default_theme.tres +++ b/tools/configurator/assets/themes/default_theme.tres @@ -4,7 +4,7 @@ [ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_md22p"] -bg_color = Color(0.6, 0.168627, 0.6, 0.745098) +bg_color = Color(0.580392, 0.419608, 0.921569, 1) border_width_left = 15 border_width_top = 15 border_width_right = 15 @@ -17,7 +17,7 @@ corner_radius_bottom_right = 25 corner_radius_bottom_left = 25 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kr58o"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) +bg_color = Color(0.580392, 0.419608, 0.921569, 1) border_width_left = 15 border_width_top = 15 border_width_right = 15 @@ -35,7 +35,7 @@ border_width_left = 10 border_width_top = 10 border_width_right = 10 border_width_bottom = 10 -border_color = Color(0.843137, 0.137255, 0.909804, 1) +border_color = Color(0.101961, 0.623529, 1, 1) border_blend = true corner_radius_top_left = 25 corner_radius_top_right = 25 @@ -44,12 +44,11 @@ corner_radius_bottom_left = 25 corner_detail = 7 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o8sf1"] -bg_color = Color(0, 1, 0, 1) +bg_color = Color(0.101961, 0.623529, 1, 1) border_width_left = 15 -border_width_top = 15 +border_width_top = 14 border_width_right = 15 border_width_bottom = 15 -border_color = Color(0.843137, 0.137255, 0.909804, 1) border_blend = true corner_radius_top_left = 25 corner_radius_top_right = 25 diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index dfaf262e..111992ce 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -243,18 +243,16 @@ size_flags_vertical = 3 layout_mode = 2 columns = 3 -[node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] -unique_name_in_owner = true +[node name="borders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 -tooltip_text = "RetroArch only" -text = "QUICK RESUME" -icon = ExtResource("12_3jrmi") +text = "BORDERS" +icon = ExtResource("4_jldgc") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Widescreen6" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 tooltip_text = "Change to Nintendo style button mappings." @@ -265,7 +263,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Widescreen2" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "MODS" @@ -274,25 +272,18 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="decorations_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(345, 222) layout_mode = 2 -text = "BORDERS" -icon = ExtResource("4_jldgc") +tooltip_text = "RetroArch Cores/Systems only" +text = "QUICK RESUME" +icon = ExtResource("12_3jrmi") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Widescreen" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] -custom_minimum_size = Vector2(345, 222) -layout_mode = 2 -text = "SHADERS" -icon = ExtResource("4_q6hd2") -alignment = 1 -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Widescreen3" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "QUICK REWIND" @@ -301,7 +292,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="Widescreen4" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "TATE MODE" @@ -310,6 +301,15 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +[node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +custom_minimum_size = Vector2(345, 222) +layout_mode = 2 +text = "SHADERS" +icon = ExtResource("4_q6hd2") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 + [node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 9e8f1ed7..58f1d740 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_sdnow"] +[sub_resource type="Image" id="Image_qmupa"] 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_sdnow") +image = SubResource("Image_qmupa") -[sub_resource type="Image" id="Image_e6ajj"] +[sub_resource type="Image" id="Image_kbj7w"] 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_e6ajj") +image = SubResource("Image_kbj7w") [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_jfadg"] +[sub_resource type="Image" id="Image_grvtx"] 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_jfadg") +image = SubResource("Image_grvtx") [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_gyphe"] +[sub_resource type="Image" id="Image_m6k7j"] 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_gyphe") +image = SubResource("Image_m6k7j") [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_jgnon"] +[sub_resource type="Image" id="Image_uarsq"] 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_jgnon") +image = SubResource("Image_uarsq") [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_s2ldw"] +[sub_resource type="Image" id="Image_gtqr0"] 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_s2ldw") +image = SubResource("Image_gtqr0") [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_a7a0d"] +[sub_resource type="Image" id="Image_lcdrp"] 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_a7a0d") +image = SubResource("Image_lcdrp") -[sub_resource type="Image" id="Image_7fhno"] +[sub_resource type="Image" id="Image_yq053"] 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_7fhno") +image = SubResource("Image_yq053") -[sub_resource type="Image" id="Image_swkbf"] +[sub_resource type="Image" id="Image_luv7r"] 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_swkbf") +image = SubResource("Image_luv7r") -[sub_resource type="Image" id="Image_jpvky"] +[sub_resource type="Image" id="Image_vbw3w"] 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_jpvky") +image = SubResource("Image_vbw3w") -[sub_resource type="Image" id="Image_fmc5e"] +[sub_resource type="Image" id="Image_d20fu"] 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_fmc5e") +image = SubResource("Image_d20fu") [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_5g4bd"] +[sub_resource type="Image" id="Image_rpqhj"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_5g4bd") +image = SubResource("Image_rpqhj") [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_dpcrr"] +[sub_resource type="Image" id="Image_epids"] 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_dpcrr") +image = SubResource("Image_epids") [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_se38v"] +[sub_resource type="Image" id="Image_02ibc"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_se38v") +image = SubResource("Image_02ibc") [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_1lrts"] +[sub_resource type="Image" id="Image_h1n45"] 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_1lrts") +image = SubResource("Image_h1n45") [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_nox1y"] +[sub_resource type="Image" id="Image_v0bkx"] 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_nox1y") +image = SubResource("Image_v0bkx") -[sub_resource type="Image" id="Image_dor5j"] +[sub_resource type="Image" id="Image_ylndj"] 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_dor5j") +image = SubResource("Image_ylndj") -[sub_resource type="Image" id="Image_oaenh"] +[sub_resource type="Image" id="Image_4vu6r"] 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_oaenh") +image = SubResource("Image_4vu6r") -[sub_resource type="Image" id="Image_4bb5a"] +[sub_resource type="Image" id="Image_2bkt7"] 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_4bb5a") +image = SubResource("Image_2bkt7") [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_fr3rw"] +[sub_resource type="Image" id="Image_d1rd4"] 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_fr3rw") +image = SubResource("Image_d1rd4") -[sub_resource type="Image" id="Image_mw2uo"] +[sub_resource type="Image" id="Image_3ss5p"] 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_mw2uo") +image = SubResource("Image_3ss5p") [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_as5nm"] +[sub_resource type="Image" id="Image_btkn6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_as5nm") +image = SubResource("Image_btkn6") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/GlobalsTab.gd index 15a64e59..ea7458a0 100644 --- a/tools/configurator/scripts/GlobalsTab.gd +++ b/tools/configurator/scripts/GlobalsTab.gd @@ -21,4 +21,24 @@ func _connect_signals(): %quick_resume_button.pressed.connect(run_function.bind(%quick_resume_button)) func run_function(button: Button) -> void: - pass + if button.button_pressed: + enable_global(button) + else: + disable_global(button) + +func enable_global(button: Button) -> void: + var result: Array + match button.name: + "quick_resume_button": + result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "true") + change_global(result) + +func disable_global(button: Button) -> void: + var result: Array + match button.name: + "quick_resume_button": + result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "false") + change_global(result) + +func change_global(parameters: Array) -> void: + print (parameters) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index d4a984dd..1c0e8078 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -128,7 +128,7 @@ func import_text_file(file_path: String) -> String: var content: String = "" var file = FileAccess.open(file_path, FileAccess.READ) if file == null: - print("Failed to open file") + class_functions.logger("e","Failed to open file %s" % file_path) return content while not file.eof_reached(): content += file.get_line() + "\n" diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index d25f695e..d196ffc6 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -273,4 +273,57 @@ func config_save_json(config: Dictionary, json_file_path: String) -> void: file.store_string(json_string) file.close() else: - print("Failed to open JSON file for writing") + class_functions.logger("e", "File not found: %s" % json_file_path) + +func read_cfg_file(file_path: String) -> Array: + var lines: Array = [] + var current_section: String = "" + var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.READ) + if file: + while not file.eof_reached(): + var line: String = file.get_line() + lines.append(line) + file.close() + else: + class_functions.logger("e", "File not found: %s" % file_path) + return lines + +func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> void: + var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.WRITE) + var current_section: String = "" + for line in lines: + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + file.store_line(line) + elif "=" in trimmed_line and current_section in changes: + var parts: Array = trimmed_line.split("=", false) + if parts.size() >= 2: + var key: String = parts[0].strip_edges() + var original_value: String = parts[1].strip_edges() + if key in changes[current_section]: + var new_value: String = changes[current_section][key] + if new_value != original_value: + file.store_line(key + "=" + new_value) + class_functions.logger("d", "Changed %s %s from Value: %s to Value: %s" % [key, current_section, original_value, new_value]) + else: + file.store_line(line) + else: + file.store_line(line) + else: + file.store_line(line) + else: + file.store_line(line) + file.close() + +func change_cfg_value(file_path: String, key: String, section: String, new_value: String) -> Array: + var lines: Array = read_cfg_file(file_path) + var args: Array =[key, section, new_value] + var changes: Dictionary = {} + if section in changes: + changes[section][key] = new_value + else: + changes[section] = {key: new_value} + class_functions.logger("d", "No Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) + write_cfg_file(file_path, lines, changes) + return args From ec0a7871663767d6aa3bbeffbded6071fb46755f Mon Sep 17 00:00:00 2001 From: Rekku Date: Thu, 12 Sep 2024 16:48:16 +0100 Subject: [PATCH 18/74] cfg parser update 1 --- tools/configurator/scripts/GlobalsTab.gd | 6 +++++- tools/configurator/scripts/data_handler.gd | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/GlobalsTab.gd index ea7458a0..a2ce70d2 100644 --- a/tools/configurator/scripts/GlobalsTab.gd +++ b/tools/configurator/scripts/GlobalsTab.gd @@ -41,4 +41,8 @@ func disable_global(button: Button) -> void: change_global(result) func change_global(parameters: Array) -> void: - print (parameters) + parameters.push_front("build_preset_config") + class_functions.logger("d", "Running: %s" % var_to_str(parameters)) + var result: Dictionary + result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, false) + class_functions.logger("d", "Exit code: %s" % result["exit_code"]) diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index d196ffc6..1e5cd77f 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -318,7 +318,7 @@ func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> voi func change_cfg_value(file_path: String, key: String, section: String, new_value: String) -> Array: var lines: Array = read_cfg_file(file_path) - var args: Array =[key, section, new_value] + var parameters: Array =[key, section] var changes: Dictionary = {} if section in changes: changes[section][key] = new_value @@ -326,4 +326,4 @@ func change_cfg_value(file_path: String, key: String, section: String, new_value changes[section] = {key: new_value} class_functions.logger("d", "No Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) write_cfg_file(file_path, lines, changes) - return args + return parameters From 967b8a794469dff47616dbfa0e65836abce98930 Mon Sep 17 00:00:00 2001 From: Rekku Date: Thu, 12 Sep 2024 19:28:14 +0100 Subject: [PATCH 19/74] Beta Global setting --- tools/configurator/main.tscn | 9 ++ tools/configurator/project.godot | 1 - .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/GlobalsTab.gd | 31 +------ tools/configurator/scripts/SystemTab.gd | 8 +- tools/configurator/scripts/class_functions.gd | 41 +++++++++ tools/configurator/scripts/main.gd | 6 +- 7 files changed, 103 insertions(+), 81 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 111992ce..d12401ce 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -807,6 +807,15 @@ action_mode = 0 text = "INSTALL FIRMWARE" icon = ExtResource("38_vsjf2") +[node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +action_mode = 0 +text = "QUICK RESUME" +icon = ExtResource("4_xcuib") +alignment = 1 + [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index e2b38f40..e4271740 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -119,7 +119,6 @@ locale/translation_remaps={ "res://res/pixel_ui_theme/8x8_ui_elements.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements_sv.png:sv"), "res://res/pixel_ui_theme/8x8_ui_elements2x.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements2x_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements2x_sv.png:sv") } -locale/translations=PackedStringArray("res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.zh.translation", "res://locales/interface.ja.translation") [rendering] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 58f1d740..97a9baec 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_qmupa"] +[sub_resource type="Image" id="Image_qm3uc"] 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_qmupa") +image = SubResource("Image_qm3uc") -[sub_resource type="Image" id="Image_kbj7w"] +[sub_resource type="Image" id="Image_jn0se"] 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_kbj7w") +image = SubResource("Image_jn0se") [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_grvtx"] +[sub_resource type="Image" id="Image_tnkem"] 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_grvtx") +image = SubResource("Image_tnkem") [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_m6k7j"] +[sub_resource type="Image" id="Image_eoe08"] 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_m6k7j") +image = SubResource("Image_eoe08") [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_uarsq"] +[sub_resource type="Image" id="Image_7irfp"] 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_uarsq") +image = SubResource("Image_7irfp") [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_gtqr0"] +[sub_resource type="Image" id="Image_twfrf"] 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_gtqr0") +image = SubResource("Image_twfrf") [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_lcdrp"] +[sub_resource type="Image" id="Image_jb3eg"] 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_lcdrp") +image = SubResource("Image_jb3eg") -[sub_resource type="Image" id="Image_yq053"] +[sub_resource type="Image" id="Image_fwc3x"] 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_yq053") +image = SubResource("Image_fwc3x") -[sub_resource type="Image" id="Image_luv7r"] +[sub_resource type="Image" id="Image_nml70"] 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_luv7r") +image = SubResource("Image_nml70") -[sub_resource type="Image" id="Image_vbw3w"] +[sub_resource type="Image" id="Image_qynky"] 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_vbw3w") +image = SubResource("Image_qynky") -[sub_resource type="Image" id="Image_d20fu"] +[sub_resource type="Image" id="Image_m4tt8"] 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_d20fu") +image = SubResource("Image_m4tt8") [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_rpqhj"] +[sub_resource type="Image" id="Image_jy2il"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_rpqhj") +image = SubResource("Image_jy2il") [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_epids"] +[sub_resource type="Image" id="Image_v12cl"] 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_epids") +image = SubResource("Image_v12cl") [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_02ibc"] +[sub_resource type="Image" id="Image_ns47u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_02ibc") +image = SubResource("Image_ns47u") [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_h1n45"] +[sub_resource type="Image" id="Image_o4wmd"] 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_h1n45") +image = SubResource("Image_o4wmd") [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_v0bkx"] +[sub_resource type="Image" id="Image_6gro8"] 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_v0bkx") +image = SubResource("Image_6gro8") -[sub_resource type="Image" id="Image_ylndj"] +[sub_resource type="Image" id="Image_ygi78"] 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_ylndj") +image = SubResource("Image_ygi78") -[sub_resource type="Image" id="Image_4vu6r"] +[sub_resource type="Image" id="Image_f444h"] 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_4vu6r") +image = SubResource("Image_f444h") -[sub_resource type="Image" id="Image_2bkt7"] +[sub_resource type="Image" id="Image_vq4sq"] 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_2bkt7") +image = SubResource("Image_vq4sq") [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_d1rd4"] +[sub_resource type="Image" id="Image_lgtx7"] 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_d1rd4") +image = SubResource("Image_lgtx7") -[sub_resource type="Image" id="Image_3ss5p"] +[sub_resource type="Image" id="Image_poq4i"] 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_3ss5p") +image = SubResource("Image_poq4i") [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_btkn6"] +[sub_resource type="Image" id="Image_1kqak"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_btkn6") +image = SubResource("Image_1kqak") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/GlobalsTab.gd index a2ce70d2..a87c0422 100644 --- a/tools/configurator/scripts/GlobalsTab.gd +++ b/tools/configurator/scripts/GlobalsTab.gd @@ -6,7 +6,7 @@ var button_swap: Array func _ready(): app_data = data_handler.app_data _connect_signals() - + #for emulator in app_data.emulators: #var emulator_data: Emulator = app_data.emulators[emulator] #if emulator_data.properties: @@ -18,31 +18,4 @@ func _ready(): ##print (button_swap) func _connect_signals(): - %quick_resume_button.pressed.connect(run_function.bind(%quick_resume_button)) - -func run_function(button: Button) -> void: - if button.button_pressed: - enable_global(button) - else: - disable_global(button) - -func enable_global(button: Button) -> void: - var result: Array - match button.name: - "quick_resume_button": - result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "true") - change_global(result) - -func disable_global(button: Button) -> void: - var result: Array - match button.name: - "quick_resume_button": - result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "false") - change_global(result) - -func change_global(parameters: Array) -> void: - parameters.push_front("build_preset_config") - class_functions.logger("d", "Running: %s" % var_to_str(parameters)) - var result: Dictionary - result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, false) - class_functions.logger("d", "Exit code: %s" % result["exit_code"]) + %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd index 93b6727a..52dc826d 100644 --- a/tools/configurator/scripts/SystemTab.gd +++ b/tools/configurator/scripts/SystemTab.gd @@ -22,6 +22,7 @@ func _process(delta: float) -> void: %reset_progress.value = 0.0 func _connect_signals() -> void: + #TODO make for loops for each function linked to button function call %retroarch_button.pressed.connect(standard_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) %mame_button.pressed.connect(standard_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) %ruffle_button.pressed.connect(standard_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) @@ -44,6 +45,7 @@ func _connect_signals() -> void: %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) %rpcs3_firmware_button.pressed.connect(_do_action.bind(%rpcs3_firmware_button)) %vita3k_firmware_button.pressed.connect(_do_action.bind(%vita3k_firmware_button)) + %retroarch_quick_resume_button.pressed.connect(class_functions.run_function.bind(%retroarch_quick_resume_button)) func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: current_system = app_data.emulators[button.text.to_lower()] @@ -53,9 +55,12 @@ func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidd %vita3k_firmware_button.visible = true "rpcs3_button": %rpcs3_firmware_button.visible = true + "retroarch_button": + %retroarch_quick_resume_button.visible = true _: %vita3k_firmware_button.visible = false %rpcs3_firmware_button.visible = false + %retroarch_quick_resume_button.visible = false hidden_gridcontainer.visible = true if button.toggle_mode == false: for i in range(buttons_gridcontainer.get_child_count()): @@ -86,10 +91,9 @@ func _do_action(button: Button) -> void: class_functions.logger("i", "Launching " + current_system.name + " Help") class_functions.launch_help(current_system.url) else: - button.text = "Help only in Desktop Mode" + button.text = "Help only works in Desktop Mode" await class_functions.wait(3.0) button.text = tmp_txt - ["launch_button", current_system.name]: class_functions.logger("i", "Launching " + current_system.name) var launch = class_functions.execute_command(current_system.launch,[], false) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 1c0e8078..2db4c51c 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -19,6 +19,8 @@ var gc_version: String var sound_effects: bool = true var title: String var quick_resume_status: bool +@onready var retoarch_qrg_button: Button = get_tree().current_scene.get_node("%retroarch_quick_resume_button") +@onready var retoarch_qrs_button: Button = get_tree().current_scene.get_node("%quick_resume_button") func _ready(): var config = data_handler.parse_config_to_json(config_file_path) @@ -211,3 +213,42 @@ func display_json_data() -> void: print("ABXY_button:", property.abxy_button) else: print ("No emulators") + +func run_function(button: Button) -> void: + if button.button_pressed: + enable_global(button) + quick_resume_status = true + class_functions._set_up_globals() + else: + disable_global(button) + quick_resume_status = false + class_functions._set_up_globals() + +func enable_global(button: Button) -> void: + var result: Array + match button.name: + "quick_resume_button", "retroarch_quick_resume_button": + result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "true") + change_global(result) + +func disable_global(button: Button) -> void: + var result: Array + match button.name: + "quick_resume_button", "retroarch_quick_resume_button": + result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "false") + change_global(result) + +func change_global(parameters: Array) -> void: + parameters.push_front("build_preset_config") + class_functions.logger("d", "Running: %s" % var_to_str(parameters)) + var result: Dictionary + result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, false) + class_functions.logger("d", "Exit code: %s" % result["exit_code"]) + +func _set_up_globals() -> void: + if class_functions.quick_resume_status: + retoarch_qrg_button.button_pressed = true + retoarch_qrs_button.button_pressed = true + else: + retoarch_qrg_button.button_pressed = false + retoarch_qrs_button.button_pressed = false diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index eb72b199..66dc0302 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -16,7 +16,7 @@ func _ready(): _get_nodes() _connect_signals() _play_main_animations() - _set_up_globals() + class_functions._set_up_globals() %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) #class_functions.logger() %rd_title.text += class_functions.title @@ -200,7 +200,3 @@ func combine_tkeys(): #More as a test #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_hardcore.text = tr("TK_CHEEVOSHARDCORE") + " " + tr("TK_SOON") #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") - -func _set_up_globals() -> void: - if class_functions.quick_resume_status: - %quick_resume_button.button_pressed = true From ea242c1ecaec5de591682f6fe6d8b564aa8f6c4a Mon Sep 17 00:00:00 2001 From: Rekku Date: Fri, 13 Sep 2024 11:07:59 +0100 Subject: [PATCH 20/74] Tidying Up --- tools/configurator/main.tscn | 480 ++++-------------- tools/configurator/project.godot | 3 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 ++-- tools/configurator/scripts/GlobalsTab.gd | 12 - tools/configurator/scripts/SettingsTab.gd | 1 + .../scripts/{tk_about.gd => TabAbout.gd} | 3 +- tools/configurator/scripts/TabContainer.gd | 1 - tools/configurator/scripts/class_functions.gd | 22 +- tools/configurator/scripts/data_handler.gd | 10 +- 9 files changed, 157 insertions(+), 463 deletions(-) rename tools/configurator/scripts/{tk_about.gd => TabAbout.gd} (97%) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index d12401ce..2f551659 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -9,7 +9,7 @@ [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://scripts/tk_about.gd" id="4_m4rto"] +[ext_resource type="Script" path="res://scripts/TabAbout.gd" id="4_m4rto"] [ext_resource type="Script" path="res://scripts/Rekku.gd" id="4_nqqx3"] [ext_resource type="Texture2D" uid="uid://suusabsjin6e" path="res://assets/icons/pixelitos/128/applications-graphics.png" id="4_q6hd2"] [ext_resource type="Texture2D" uid="uid://dk856hwnwsuab" path="res://assets/icons/pixelitos/128/retroarch.png" id="4_xcuib"] @@ -106,15 +106,15 @@ [ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] [ext_resource type="Script" path="res://scripts/retrodeck.gd" id="94_8nlr1"] -[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="StyleBoxFlat" id="StyleBoxFlat_8lrwm"] bg_color = Color(0.352941, 0.858824, 0.129412, 0.556863) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] +bg_color = Color(0.712505, 0, 0.175592, 1) + [sub_resource type="SpriteFrames" id="SpriteFrames_lhf2y"] animations = [{ "frames": [{ @@ -220,11 +220,12 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 tab_alignment = 1 -current_tab = 0 +current_tab = 3 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 @@ -239,11 +240,21 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] +[node name="globals_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] +layout_mode = 2 + +[node name="systems_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_container"] +layout_mode = 2 +text = "GLOBAL CONFIGURATION" + +[node name="systems_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_container"] +layout_mode = 2 + +[node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 columns = 3 -[node name="borders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="borders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "BORDERS" @@ -252,7 +263,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 tooltip_text = "Change to Nintendo style button mappings." @@ -263,7 +274,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "MODS" @@ -272,7 +283,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(345, 222) layout_mode = 2 @@ -283,7 +294,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "QUICK REWIND" @@ -292,7 +303,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "TATE MODE" @@ -301,7 +312,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "SHADERS" @@ -310,7 +321,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "RESET RETROCECK" @@ -320,7 +331,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="reset_all_emulators" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="reset_all_emulators" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(345, 222) layout_mode = 2 text = "RESET ALL EMULATORS" @@ -329,310 +340,6 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -[node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -visible = false -layout_mode = 2 -columns = 5 - -[node name="wide_screen" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_WSCREEN" -text = "TK_WSCREEN" -icon = ExtResource("4_jldgc") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="shaders" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_SHADERS" -text = "TK_SHADERS" -icon = ExtResource("5_box56") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="mods" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_MODS" -text = "TK_MODS" -icon = ExtResource("6_u80kq") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="tate_mode" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_TATE" -text = "TK_TATE" -icon = ExtResource("7_i14ax") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="borders_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_BORDERS" -text = "TK_BORDERS" -icon = ExtResource("5_uiobi") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="hotkey_sound" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_HOTKEYSOUND" -text = "TK_HOTKEYSOUND" -icon = ExtResource("9_qwq2k") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="button_layout" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_BTNLAYOUT" -text = "TK_BTNLAYOUT" -icon = ExtResource("9_d2327") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="quick_resume" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_QRESUME" -text = "TK_QRESUME" -icon = ExtResource("11_c3qcy") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true -metadata/description = "This is a test description set to this element" - -[node name="rewind" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_REWIND" -text = "TK_REWIND" -icon = ExtResource("12_3jrmi") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true -metadata/description = "This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED. And I did it twice!!!This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED." - -[node name="quit_confirm" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -tooltip_text = "TK_CONFIRMEXIT" -text = "TK_CONFIRMEXIT" -icon = ExtResource("13_8kii4") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="cheats" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_CHEATS" -text = "TK_CHEATS" -icon = ExtResource("14_oe3l4") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="decorations_save" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -visible = false -custom_minimum_size = Vector2(125, 125) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -theme_override_styles/focus = SubResource("StyleBoxFlat_omewi") -text = "SAVE OR SELECT ALL?" -icon = ExtResource("11_p6y0k") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="borders_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -visible = false -layout_mode = 2 -theme_override_constants/h_separation = 30 -columns = 6 - -[node name="CheckBox5" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("5_ja8to") -expand_icon = true - -[node name="CheckBox3" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("6_mvrie") -expand_icon = true - -[node name="CheckBox4" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("7_01lqn") -expand_icon = true - -[node name="CheckBox6" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("7_b8xj2") -expand_icon = true - -[node name="CheckBox" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("8_rvph4") -expand_icon = true - -[node name="CheckBox7" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("9_s3srh") -expand_icon = true - -[node name="CheckBox8" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("10_2jlmn") -expand_icon = true - -[node name="CheckBox9" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("5_4d7s7") -expand_icon = true - -[node name="CheckBox10" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("12_pp08o") -expand_icon = true - -[node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -visible = false -layout_mode = 2 -size_flags_vertical = 3 -theme_override_constants/h_separation = 10 -theme_override_constants/v_separation = 10 -columns = 6 - -[node name="Button3" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "RetroARCH" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "RetroArch" -icon = ExtResource("4_xcuib") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button8" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "Dolphin" -icon = ExtResource("11_61sak") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button7" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "CITRA" -text = "RPCS3" -icon = ExtResource("8_ec4gt") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button5" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "PSPSSPP" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "PSPSSPP" -icon = ExtResource("8_akxf7") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "Duckstation" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "DuckStation" -icon = ExtResource("6_winpq") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button2" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "Melon DS" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "MelonDS" -icon = ExtResource("7_4otos") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button9" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -visible = false -layout_mode = 2 -tooltip_text = "CITRA" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "CITRA" -icon = ExtResource("10_wbaif") -icon_alignment = 1 -vertical_icon_alignment = 0 - [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 @@ -649,137 +356,127 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="sysems_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="systems_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -layout_mode = 2 -text = "SYSTEMS & EMULATORS" - -[node name="systems_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -layout_mode = 2 - -[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] +[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 columns = 4 -[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "RETROARCH" icon = ExtResource("4_xcuib") -[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "MAME" icon = ExtResource("36_dj81i") -[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "RUFFLE" icon = ExtResource("37_7hhbn") -[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "MELONDS" icon = ExtResource("7_4otos") -[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "PCSX2" icon = ExtResource("38_44je8") -[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "DUCKSTATION" icon = ExtResource("6_winpq") -[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "PPSSPP" icon = ExtResource("8_akxf7") -[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "VITA3K" icon = ExtResource("38_vsjf2") -[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "RPCS3" icon = ExtResource("8_ec4gt") -[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "RYUJINX" icon = ExtResource("40_7fdvq") -[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "DOLPHIN" icon = ExtResource("11_61sak") -[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "PRIMEHACK" icon = ExtResource("41_55e56") -[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "CEMU" icon = ExtResource("42_n3n7j") -[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "XEMU" icon = ExtResource("43_ifi6j") -[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] +[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 text = "ES-DE" icon = ExtResource("44_7lpj5") -[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] +[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 -[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true layout_mode = 2 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"] +[node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true layout_mode = 2 action_mode = 0 text = "LAUNCH" icon = ExtResource("45_qxd26") -[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true 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"] +[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer/reset_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -791,7 +488,7 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false layout_mode = 2 @@ -799,7 +496,7 @@ action_mode = 0 text = "INSTALL FIRMWARE" icon = ExtResource("8_ec4gt") -[node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false layout_mode = 2 @@ -807,7 +504,7 @@ action_mode = 0 text = "INSTALL FIRMWARE" icon = ExtResource("38_vsjf2") -[node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false layout_mode = 2 @@ -990,7 +687,6 @@ disabled = true text = "TK_3DSDECRYPT" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -1010,51 +706,19 @@ layout_mode = 2 [node name="system_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 -text = "TK_SYSTEM" +text = "SYSTEM SETTINGS" [node name="system_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 -[node name="update_notification" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true layout_mode = 2 button_pressed = true -text = "TK_UPDATENOTIF" +text = "AUTO UPDATES" icon = ExtResource("55_x32s4") alignment = 1 -[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -disabled = true -button_pressed = true -text = "TK_EASTEREGGS" -icon = ExtResource("56_witym") -alignment = 1 - -[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -alignment = 1 -selected = 0 -item_count = 4 -popup/item_0/text = "TK_MULTIUSR" -popup/item_0/icon = ExtResource("57_7b0kp") -popup/item_0/separator = true -popup/item_1/text = "TK_CUSTOMUSR" -popup/item_1/icon = ExtResource("58_mntxv") -popup/item_1/id = 1 -popup/item_2/text = "TK_OFF" -popup/item_2/icon = ExtResource("58_mntxv") -popup/item_2/id = 2 -popup/item_3/text = "TK_STEAMUSR" -popup/item_3/icon = ExtResource("58_mntxv") -popup/item_3/id = 3 - -[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -button_pressed = true -text = "TK_MUSIC" -icon = ExtResource("58_oismn") -alignment = 1 - [node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true layout_mode = 2 @@ -1063,9 +727,10 @@ text = "SOUND" icon = ExtResource("9_qwq2k") alignment = 1 -[node name="theme_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +[node name="theme_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true layout_mode = 2 +alignment = 1 selected = 0 item_count = 5 popup/item_0/text = "Choose Theme" @@ -1085,6 +750,39 @@ popup/item_4/text = "OpenDyslexic3" popup/item_4/icon = ExtResource("56_ubqc2") popup/item_4/id = 4 +[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +layout_mode = 2 +disabled = true +text = "TK_MUSIC" +icon = ExtResource("58_oismn") +alignment = 1 + +[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +layout_mode = 2 +disabled = true +button_pressed = true +text = "TK_EASTEREGGS" +icon = ExtResource("56_witym") +alignment = 1 + +[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +layout_mode = 2 +alignment = 1 +selected = 0 +item_count = 4 +popup/item_0/text = "TK_MULTIUSR" +popup/item_0/icon = ExtResource("57_7b0kp") +popup/item_0/separator = true +popup/item_1/text = "TK_CUSTOMUSR" +popup/item_1/icon = ExtResource("58_mntxv") +popup/item_1/id = 1 +popup/item_2/text = "TK_OFF" +popup/item_2/icon = ExtResource("58_mntxv") +popup/item_2/id = 2 +popup/item_3/text = "TK_STEAMUSR" +popup/item_3/icon = ExtResource("58_mntxv") +popup/item_3/id = 3 + [node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index e4271740..7c54ede6 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -27,9 +27,8 @@ data_handler="*res://scripts/data_handler.gd" window/size/viewport_width=1280 window/size/viewport_height=800 -window/size/transparent=true +window/size/borderless=true window/stretch/mode="canvas_items" -window/per_pixel_transparency/allowed=true [filesystem] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 97a9baec..a83ddecb 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_qm3uc"] +[sub_resource type="Image" id="Image_hqq1p"] 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_qm3uc") +image = SubResource("Image_hqq1p") -[sub_resource type="Image" id="Image_jn0se"] +[sub_resource type="Image" id="Image_ivgtk"] 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_jn0se") +image = SubResource("Image_ivgtk") [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_tnkem"] +[sub_resource type="Image" id="Image_qp456"] 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_tnkem") +image = SubResource("Image_qp456") [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_eoe08"] +[sub_resource type="Image" id="Image_pwn0t"] 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_eoe08") +image = SubResource("Image_pwn0t") [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_7irfp"] +[sub_resource type="Image" id="Image_ikhsm"] 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_7irfp") +image = SubResource("Image_ikhsm") [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_twfrf"] +[sub_resource type="Image" id="Image_n5g6i"] 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_twfrf") +image = SubResource("Image_n5g6i") [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_jb3eg"] +[sub_resource type="Image" id="Image_u1l5i"] 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_jb3eg") +image = SubResource("Image_u1l5i") -[sub_resource type="Image" id="Image_fwc3x"] +[sub_resource type="Image" id="Image_g0b26"] 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_fwc3x") +image = SubResource("Image_g0b26") -[sub_resource type="Image" id="Image_nml70"] +[sub_resource type="Image" id="Image_4ugco"] 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_nml70") +image = SubResource("Image_4ugco") -[sub_resource type="Image" id="Image_qynky"] +[sub_resource type="Image" id="Image_fvce2"] 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_qynky") +image = SubResource("Image_fvce2") -[sub_resource type="Image" id="Image_m4tt8"] +[sub_resource type="Image" id="Image_cc2ro"] 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_m4tt8") +image = SubResource("Image_cc2ro") [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_jy2il"] +[sub_resource type="Image" id="Image_i23rm"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_jy2il") +image = SubResource("Image_i23rm") [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_v12cl"] +[sub_resource type="Image" id="Image_emnte"] 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_v12cl") +image = SubResource("Image_emnte") [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_ns47u"] +[sub_resource type="Image" id="Image_ebbu5"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_ns47u") +image = SubResource("Image_ebbu5") [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_o4wmd"] +[sub_resource type="Image" id="Image_bl446"] 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_o4wmd") +image = SubResource("Image_bl446") [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_6gro8"] +[sub_resource type="Image" id="Image_w70p8"] 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_6gro8") +image = SubResource("Image_w70p8") -[sub_resource type="Image" id="Image_ygi78"] +[sub_resource type="Image" id="Image_cmfqe"] 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_ygi78") +image = SubResource("Image_cmfqe") -[sub_resource type="Image" id="Image_f444h"] +[sub_resource type="Image" id="Image_tosy3"] 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_f444h") +image = SubResource("Image_tosy3") -[sub_resource type="Image" id="Image_vq4sq"] +[sub_resource type="Image" id="Image_gw7hv"] 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_vq4sq") +image = SubResource("Image_gw7hv") [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_lgtx7"] +[sub_resource type="Image" id="Image_5vh8k"] 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_lgtx7") +image = SubResource("Image_5vh8k") -[sub_resource type="Image" id="Image_poq4i"] +[sub_resource type="Image" id="Image_5axhi"] 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_poq4i") +image = SubResource("Image_5axhi") [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_1kqak"] +[sub_resource type="Image" id="Image_4acxx"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_1kqak") +image = SubResource("Image_4acxx") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/GlobalsTab.gd index a87c0422..c4174796 100644 --- a/tools/configurator/scripts/GlobalsTab.gd +++ b/tools/configurator/scripts/GlobalsTab.gd @@ -1,21 +1,9 @@ extends MarginContainer -var app_data := AppData.new() var button_swap: Array func _ready(): - app_data = data_handler.app_data _connect_signals() - - #for emulator in app_data.emulators: - #var emulator_data: Emulator = app_data.emulators[emulator] - #if emulator_data.properties: - #if emulator_data.properties: - ##print (emulator_data.name) - #for property: EmulatorProperty in emulator_data.properties: - ##print (property.abxy_button) - #button_swap.append(emulator_data.name) - ##print (button_swap) func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) diff --git a/tools/configurator/scripts/SettingsTab.gd b/tools/configurator/scripts/SettingsTab.gd index 916a13a4..14aab5cf 100644 --- a/tools/configurator/scripts/SettingsTab.gd +++ b/tools/configurator/scripts/SettingsTab.gd @@ -6,6 +6,7 @@ func _ready(): func _connect_signals() -> void: %sound_button.pressed.connect(sound_off) + %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button)) func _get_nodes() -> void: pass diff --git a/tools/configurator/scripts/tk_about.gd b/tools/configurator/scripts/TabAbout.gd similarity index 97% rename from tools/configurator/scripts/tk_about.gd rename to tools/configurator/scripts/TabAbout.gd index bad6acea..863eece1 100644 --- a/tools/configurator/scripts/tk_about.gd +++ b/tools/configurator/scripts/TabAbout.gd @@ -38,8 +38,7 @@ func _about_button_pressed(id: String, button: Button) -> void: await class_functions.wait(3.0) button.text = tmp_txt _: - class_functions.logger("d","Loading website for " + id) - print ("Website ID/Link not found") + class_functions.logger("d","Website ID/Link not found " + id) func create_buttons() -> void: for button in bArray: diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index d983fcd7..1ea61188 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -19,7 +19,6 @@ func _ready(): set_tab_icon_max_width(3,icon_width) set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) set_tab_icon_max_width(4,icon_width) - #%TK_GRAPHICS.name="BOB" connect_focus_signals(self) func connect_focus_signals(node): diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 2db4c51c..a8b681bb 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -19,8 +19,10 @@ var gc_version: String var sound_effects: bool = true var title: String var quick_resume_status: bool +var update_check: bool @onready var retoarch_qrg_button: Button = get_tree().current_scene.get_node("%retroarch_quick_resume_button") @onready var retoarch_qrs_button: Button = get_tree().current_scene.get_node("%quick_resume_button") +@onready var options_update_button: Button = get_tree().current_scene.get_node("%update_notification_button") func _ready(): var config = data_handler.parse_config_to_json(config_file_path) @@ -36,7 +38,7 @@ func _ready(): gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version quick_resume_status = config["quick_resume"]["retroarch"] - + update_check = config["options"]["update_check"] func logger(log_type: String, log_text: String) -> void: # Type of log messages: @@ -217,26 +219,30 @@ func display_json_data() -> void: func run_function(button: Button) -> void: if button.button_pressed: enable_global(button) - quick_resume_status = true - class_functions._set_up_globals() else: disable_global(button) - quick_resume_status = false - class_functions._set_up_globals() func enable_global(button: Button) -> void: var result: Array match button.name: "quick_resume_button", "retroarch_quick_resume_button": + quick_resume_status = true + class_functions._set_up_globals() result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "true") change_global(result) + "update_notification_button": + result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "true") func disable_global(button: Button) -> void: var result: Array match button.name: "quick_resume_button", "retroarch_quick_resume_button": + quick_resume_status = false + class_functions._set_up_globals() result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "false") change_global(result) + "update_notification_button": + result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "false") func change_global(parameters: Array) -> void: parameters.push_front("build_preset_config") @@ -246,7 +252,11 @@ func change_global(parameters: Array) -> void: class_functions.logger("d", "Exit code: %s" % result["exit_code"]) func _set_up_globals() -> void: - if class_functions.quick_resume_status: + if update_check: + options_update_button.button_pressed = true + else: + options_update_button.button_pressed = false + if quick_resume_status: retoarch_qrg_button.button_pressed = true retoarch_qrs_button.button_pressed = true else: diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 1e5cd77f..b7a8209b 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -84,9 +84,9 @@ func load_base_data() -> AppData: app_dict.cores = cores return app_dict else: - print("Error parsing JSON") + class_functions.logger("d","Error parsing JSON ") else: - print("Error opening file") + class_functions.logger("d","Error opening file: " + file) get_tree().quit() return null @@ -233,7 +233,7 @@ func parse_config_to_json(file_path: String) -> Dictionary: var current_section = "" var file = FileAccess.open(file_path, FileAccess.READ) if file == null: - print("Failed to open file") + class_functions.logger("e","Failed to open file: " + file_path) return config while not file.eof_reached(): @@ -305,7 +305,7 @@ func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> voi var new_value: String = changes[current_section][key] if new_value != original_value: file.store_line(key + "=" + new_value) - class_functions.logger("d", "Changed %s %s from Value: %s to Value: %s" % [key, current_section, original_value, new_value]) + class_functions.logger("i", "Changed %s %s from Value: %s to Value: %s" % [key, current_section, original_value, new_value]) else: file.store_line(line) else: @@ -324,6 +324,6 @@ func change_cfg_value(file_path: String, key: String, section: String, new_value changes[section][key] = new_value else: changes[section] = {key: new_value} - class_functions.logger("d", "No Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) + class_functions.logger("i", "Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) write_cfg_file(file_path, lines, changes) return parameters From 899549f3b580323a08a0a0d2651af8b3bde3798e Mon Sep 17 00:00:00 2001 From: Rekku Date: Fri, 13 Sep 2024 18:27:07 +0100 Subject: [PATCH 21/74] What a state! --- .../configurator/locales/interface.csv.import | 17 ---- tools/configurator/main.tscn | 6 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 88 +++++++++---------- tools/configurator/scripts/GlobalsTab.gd | 1 + tools/configurator/scripts/ToolsTab.gd | 9 +- tools/configurator/scripts/class_functions.gd | 76 +++++++++------- tools/configurator/scripts/data_handler.gd | 37 +++++++- tools/configurator/scripts/main.gd | 44 ++++++++-- 8 files changed, 166 insertions(+), 112 deletions(-) delete mode 100644 tools/configurator/locales/interface.csv.import diff --git a/tools/configurator/locales/interface.csv.import b/tools/configurator/locales/interface.csv.import deleted file mode 100644 index c24bb904..00000000 --- a/tools/configurator/locales/interface.csv.import +++ /dev/null @@ -1,17 +0,0 @@ -[remap] - -importer="csv_translation" -type="Translation" -uid="uid://cwb782o5jh5lx" - -[deps] - -files=["res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.ja.translation", "res://locales/interface.zh.translation"] - -source_file="res://locales/interface.csv" -dest_files=["res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.ja.translation", "res://locales/interface.zh.translation"] - -[params] - -compress=true -delimiter=0 diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 2f551659..50c3fda5 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -220,12 +220,11 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 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 @@ -264,6 +263,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 [node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(345, 222) layout_mode = 2 tooltip_text = "Change to Nintendo style button mappings." @@ -533,6 +533,7 @@ layout_mode = 2 [node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true layout_mode = 2 +toggle_mode = true text = "CHECK CONNECTION" icon = ExtResource("50_5d2ui") @@ -687,6 +688,7 @@ disabled = true text = "TK_3DSDECRYPT" [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/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index a83ddecb..8da599d4 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_hqq1p"] +[sub_resource type="Image" id="Image_i3f44"] 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_hqq1p") +image = SubResource("Image_i3f44") -[sub_resource type="Image" id="Image_ivgtk"] +[sub_resource type="Image" id="Image_48gu5"] 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_ivgtk") +image = SubResource("Image_48gu5") [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_qp456"] +[sub_resource type="Image" id="Image_vdoto"] 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_qp456") +image = SubResource("Image_vdoto") [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_pwn0t"] +[sub_resource type="Image" id="Image_nux7e"] 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_pwn0t") +image = SubResource("Image_nux7e") [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_ikhsm"] +[sub_resource type="Image" id="Image_1uvxf"] 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_ikhsm") +image = SubResource("Image_1uvxf") [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_n5g6i"] +[sub_resource type="Image" id="Image_5aefc"] 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_n5g6i") +image = SubResource("Image_5aefc") [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_u1l5i"] +[sub_resource type="Image" id="Image_587bn"] 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_u1l5i") +image = SubResource("Image_587bn") -[sub_resource type="Image" id="Image_g0b26"] +[sub_resource type="Image" id="Image_on8j2"] 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_g0b26") +image = SubResource("Image_on8j2") -[sub_resource type="Image" id="Image_4ugco"] +[sub_resource type="Image" id="Image_opjb6"] 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_4ugco") +image = SubResource("Image_opjb6") -[sub_resource type="Image" id="Image_fvce2"] +[sub_resource type="Image" id="Image_rsgl1"] 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_fvce2") +image = SubResource("Image_rsgl1") -[sub_resource type="Image" id="Image_cc2ro"] +[sub_resource type="Image" id="Image_m1f2u"] 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_cc2ro") +image = SubResource("Image_m1f2u") [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_i23rm"] +[sub_resource type="Image" id="Image_jy3dj"] data = { "data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), "format": "RGBA8", @@ -1369,7 +1369,7 @@ data = { } [sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_i23rm") +image = SubResource("Image_jy3dj") [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_emnte"] +[sub_resource type="Image" id="Image_huwvi"] 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_emnte") +image = SubResource("Image_huwvi") [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_ebbu5"] +[sub_resource type="Image" id="Image_dpf26"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2281,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_ebbu5") +image = SubResource("Image_dpf26") [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_bl446"] +[sub_resource type="Image" id="Image_x6v4n"] 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_bl446") +image = SubResource("Image_x6v4n") [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_w70p8"] +[sub_resource type="Image" id="Image_6y20l"] 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_w70p8") +image = SubResource("Image_6y20l") -[sub_resource type="Image" id="Image_cmfqe"] +[sub_resource type="Image" id="Image_8v3o5"] 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_cmfqe") +image = SubResource("Image_8v3o5") -[sub_resource type="Image" id="Image_tosy3"] +[sub_resource type="Image" id="Image_0xm13"] 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_tosy3") +image = SubResource("Image_0xm13") -[sub_resource type="Image" id="Image_gw7hv"] +[sub_resource type="Image" id="Image_17cl6"] 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_gw7hv") +image = SubResource("Image_17cl6") [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_5vh8k"] +[sub_resource type="Image" id="Image_pwvp8"] 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_5vh8k") +image = SubResource("Image_pwvp8") -[sub_resource type="Image" id="Image_5axhi"] +[sub_resource type="Image" id="Image_igjjy"] 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_5axhi") +image = SubResource("Image_igjjy") [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_4acxx"] +[sub_resource type="Image" id="Image_i457w"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2642,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_4acxx") +image = SubResource("Image_i457w") [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/GlobalsTab.gd index c4174796..be6a01d5 100644 --- a/tools/configurator/scripts/GlobalsTab.gd +++ b/tools/configurator/scripts/GlobalsTab.gd @@ -7,3 +7,4 @@ func _ready(): func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) + %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) diff --git a/tools/configurator/scripts/ToolsTab.gd b/tools/configurator/scripts/ToolsTab.gd index a2ab4dc3..f4551d2f 100644 --- a/tools/configurator/scripts/ToolsTab.gd +++ b/tools/configurator/scripts/ToolsTab.gd @@ -37,15 +37,12 @@ func check_internet_connection(): http_request.request("https://retrodeck.net/") func _on_request_completed(_result, response_code, _headers, _body): - var style_box = StyleBoxFlat.new() + #var style_box = StyleBoxFlat.new() if response_code == 200: class_functions.logger("i","Internet Connection Succesful") - style_box.bg_color = Color(0, 1, 0) - %check_conn_button.add_theme_stylebox_override("normal", style_box) + %check_conn_button.button_pressed = true %check_conn_button.text += " - CONNECTED" - else: class_functions.logger("d","Internet Connection Failed") - style_box.bg_color = Color(1, 0, 0) - %check_conn_button.add_theme_stylebox_override("normal", style_box) + %check_conn_button.button_pressed = false %check_conn_button.text += " - NOT CONNECTED: " + str(response_code) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index a8b681bb..997f162f 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -20,9 +20,8 @@ var sound_effects: bool = true var title: String var quick_resume_status: bool var update_check: bool -@onready var retoarch_qrg_button: Button = get_tree().current_scene.get_node("%retroarch_quick_resume_button") -@onready var retoarch_qrs_button: Button = get_tree().current_scene.get_node("%quick_resume_button") -@onready var options_update_button: Button = get_tree().current_scene.get_node("%update_notification_button") +var abxy_state: String +signal update_global_signal func _ready(): var config = data_handler.parse_config_to_json(config_file_path) @@ -39,7 +38,20 @@ func _ready(): title = "\n " + rd_version + "\nConfigurator\n " + gc_version quick_resume_status = config["quick_resume"]["retroarch"] update_check = config["options"]["update_check"] - + var testT:Dictionary = data_handler.get_elements_in_section(config_file_path, "abxy_button_swap") + var true_values: int + var false_values: int + for value in testT.values(): + if value == "true": + true_values += 1 + else: + false_values += 1 + if true_values == testT.size(): + abxy_state = "true" + elif false_values == testT.size(): + abxy_state = "false" + else: + abxy_state = "mixed" 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 @@ -190,28 +202,28 @@ func display_json_data() -> void: var emulator = app_data.emulators[key] # Display the properties of each emulator print("System Name: ", emulator.name) - print("Description: ", emulator.description) + #print("Description: ", emulator.description) #print("System: ", emulator.systen) - print("Help URL: ", emulator.url) - print("Properties:") + #print("Help URL: ", emulator.url) + #print("Properties:") for property: EmulatorProperty in emulator.properties: - print("Cheevos: ", property.cheevos) - print("Borders: ", property.borders) + #print("Cheevos: ", property.cheevos) + #print("Borders: ", property.borders) print("ABXY_button:", property.abxy_button) - print("multi_user_config_dir: ", property.multi_user_config_dir) + #print("multi_user_config_dir: ", property.multi_user_config_dir) for key in app_data.cores.keys(): var core = app_data.cores[key] print("Core Name: ", core.name) - print("Description: ", core.description) - print("Properties:") + #print("Description: ", core.description) + #print("Properties:") for property: CoreProperty in core.properties: - print("Cheevos: ", property.cheevos) - print("Cheevos Hardcore: ", property.cheevos_hardcore) - print("Quick Resume: ", property.quick_resume) - print("Rewind: ", property.rewind) - print("Borders: ", property.borders) - print("Widescreen: ", property.widescreen) + #print("Cheevos: ", property.cheevos) + #print("Cheevos Hardcore: ", property.cheevos_hardcore) + #print("Quick Resume: ", property.quick_resume) + #print("Rewind: ", property.rewind) + #print("Borders: ", property.borders) + #print("Widescreen: ", property.widescreen) print("ABXY_button:", property.abxy_button) else: print ("No emulators") @@ -227,38 +239,34 @@ func enable_global(button: Button) -> void: match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = true - class_functions._set_up_globals() + update_global_signal.emit() result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "true") change_global(result) "update_notification_button": result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "true") - + "button_swap_button": + if abxy_state == "false": + abxy_state = "true" + result = data_handler.change_all_cfg_values(class_functions.config_file_path, "abxy_button_swap", "true") + func disable_global(button: Button) -> void: var result: Array match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = false - class_functions._set_up_globals() + update_global_signal.emit() result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "false") change_global(result) "update_notification_button": result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "false") - + "button_swap_button": + if abxy_state == "true": + abxy_state = "false" + result = data_handler.change_all_cfg_values(class_functions.config_file_path, "abxy_button_swap", "false") + func change_global(parameters: Array) -> void: parameters.push_front("build_preset_config") class_functions.logger("d", "Running: %s" % var_to_str(parameters)) var result: Dictionary result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, false) class_functions.logger("d", "Exit code: %s" % result["exit_code"]) - -func _set_up_globals() -> void: - if update_check: - options_update_button.button_pressed = true - else: - options_update_button.button_pressed = false - if quick_resume_status: - retoarch_qrg_button.button_pressed = true - retoarch_qrs_button.button_pressed = true - else: - retoarch_qrg_button.button_pressed = false - retoarch_qrs_button.button_pressed = false diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index b7a8209b..6ea8d3b4 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -4,7 +4,6 @@ class_name DataHandler var data_file_path = "/app/retrodeck/config/retrodeck/reference_lists/features.json" var app_data: AppData -var button_swap: Array func _ready(): # Load the data when the scene is ready @@ -327,3 +326,39 @@ func change_cfg_value(file_path: String, key: String, section: String, new_value class_functions.logger("i", "Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) write_cfg_file(file_path, lines, changes) return parameters + +func change_all_cfg_values(file_path: String, section: String, new_value: String) -> Array: + var lines: Array = read_cfg_file(file_path) + var parameters: Array =[section, new_value] + var changes: Dictionary = {} + var current_section: String + for line in lines: + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + if current_section == section: + changes[current_section] = {} # Initialize changes for this section + elif "=" in trimmed_line and current_section == section: + var parts: Array = trimmed_line.split("=", false) + if parts.size() >= 2: + var key: String = parts[0].strip_edges() + changes[section][key] = new_value + class_functions.logger("i", "Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) + write_cfg_file(file_path, lines, changes) + return parameters + +func get_elements_in_section(file_path: String, section: String) -> Dictionary: + var lines: Array = read_cfg_file(file_path) + var elements: Dictionary = {} + var current_section: String = "" + for line in lines: + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + elif "=" in trimmed_line and current_section == section: + var parts: Array = trimmed_line.split("=", false) + if parts.size() >= 2: + var key: String = parts[0].strip_edges() + var value: String = parts[1].strip_edges() + elements[key] = value + return elements diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 66dc0302..1cf47278 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -16,17 +16,11 @@ func _ready(): _get_nodes() _connect_signals() _play_main_animations() - class_functions._set_up_globals() + _set_up_globals() %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) - #class_functions.logger() %rd_title.text += class_functions.title class_functions.logger("i","Started Godot configurator") #class_functions.display_json_data() - #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") - #for id in config.paths: - # var path_data = config.paths[id] - # print (id) - # set current startup tab to match IDE tab_container.current_tab = 0 #add_child(class_functions) # Needed for threaded results Not need autoload? @@ -67,7 +61,7 @@ func _get_nodes() -> void: tab_container = get_node("%TabContainer") anim_logo = get_node("%logo_animated") log_option = get_node("%logs_button") - + func _connect_signals() -> void: #signal_theme_changed.connect(_conf_theme) theme_option.item_selected.connect(_conf_theme) @@ -77,6 +71,8 @@ func _connect_signals() -> void: %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) + class_functions.update_global_signal.connect(_set_up_globals) + func _conf_theme(index: int) -> void: match index: @@ -200,3 +196,35 @@ func combine_tkeys(): #More as a test #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_hardcore.text = tr("TK_CHEEVOSHARDCORE") + " " + tr("TK_SOON") #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") + +func _set_up_globals() -> void: + if class_functions.update_check: + %update_notification_button.button_pressed = true + else: + %update_notification_button.button_pressed = false + if class_functions.quick_resume_status: + %quick_resume_button.button_pressed = true + %retroarch_quick_resume_button.button_pressed = true + else: + %quick_resume_button.button_pressed = false + %retroarch_quick_resume_button.button_pressed = false + if class_functions.abxy_state == "true": + %button_swap_button.button_pressed = true + elif class_functions.abxy_state == "false": + %button_swap_button.button_pressed = false + else: + var style_box = StyleBoxFlat.new() + style_box.bg_color = Color(1, 0.54902, 0, 1) + style_box.corner_detail = 8 + style_box.border_width_left = 15 + style_box.border_width_top = 15 + style_box.border_width_right = 15 + style_box.border_width_bottom = 15 + style_box.corner_radius_top_left = 25 + style_box.corner_radius_top_right = 25 + style_box.corner_radius_bottom_right = 25 + style_box.corner_radius_bottom_left = 25 + style_box.border_color = Color(0.102, 0.624, 1, 1) + style_box.border_blend = true + %button_swap_button.add_theme_stylebox_override("normal", style_box) + %button_swap_button.toggle_mode = false From 07988cac34e9c7536794155f547b09b8e9107377 Mon Sep 17 00:00:00 2001 From: laz Date: Sat, 14 Sep 2024 16:08:42 +0200 Subject: [PATCH 22/74] licence fixes --- other_licenses.txt | 9039 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 9037 insertions(+), 2 deletions(-) diff --git a/other_licenses.txt b/other_licenses.txt index 1b8073a9..f00544f7 100644 --- a/other_licenses.txt +++ b/other_licenses.txt @@ -1,11 +1,13 @@ +--- RetroDECK 3rd Party Licences --- + All Licenses of the projects we are using are listed on the wiki: https://retrodeck.readthedocs.io/en/latest/wiki_about/donations-licenses/ If we have made some linkage errors or your license needs to be included in the projects github page please contact the RetroDECK Team on Discord or Matrix. ---- +--- Freedoom --- + -Freedoom https://github.com/freedoom/freedoom?tab=License-1-ov-file#readme Copyright © 2001-2024 Contributors to the Freedoom project. All rights reserved. @@ -22,6 +24,9039 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” For a list of contributors to the Freedoom project, see the file CREDITS. + + +--- Visual Pinball --- + + +https://github.com/vpinball/vpinball?tab=License-1-ov-file#readme + +IMPORTANT NOTE: +--------------- + +As of October 2020, we, the Visual Pinball team, are working on replacing +the inherited 'old MAME'-like license (listed directly below) by +the GPLv3+ License (listed at the very end of this file). + +Each source file/snippet that is already under GPLv3+ will have its +very first line marked with +// license:GPLv3+ +Every file/snippet that doesn't, will stay (for now) under the 'old MAME'-like license. + + +=============================================================================== +=============================================================================== +=============================================================================== + + +Unless otherwise explicitly stated (e.g. external libraries/code), +all code in Visual Pinball is released under the following license +(derived from the MAME license): + +Copyright Randy Davis and the Visual Pinball development team and contributors +All rights reserved. + +Redistribution and use of this code or any derivative works are permitted +provided that the following conditions are met: + +* Redistributions may not be sold, nor may they be used in a commercial +product or activity. + +* Redistributions that are modified from the original source must include the +complete source code, including the source code for all components used by a +binary built from the modified sources. However, as a special exception, the +source code distributed need not include anything that is normally distributed +(in either source or binary form) with the major components (compiler, kernel, +and so on) of the operating system on which the executable runs, unless that +component itself accompanies the executable. + +* Redistributions must reproduce the above copyright notice, this list of +conditions and the following disclaimer in the documentation and/or other +materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +=============================================================================== +=============================================================================== +=============================================================================== + +Thirdparty licenses: + +=============================================================================== + +This software uses the FreeImage open source image library. See http://freeimage.sourceforge.net for details. +FreeImage is used under the (GNU GPL or FIPL), version (license version), see http://freeimage.sourceforge.net/freeimage-license.txt for details. +The contents of this file are subject to the FreeImage Public License Version 1.0 (the "License"); you may not use this file except in compliance with the License. +Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. + +=============================================================================== + +It also uses BASS.DLL for loading and playing sound effects and music. +From the website https://www.un4seen.com/bass.html : +BASS is free for non-commercial use. +If you are a non-commercial entity (eg. an individual) and you are not making any money from your product (through sales, advertising, etc), +then you can use BASS in it for free. Otherwise, one of the following licences will be required (see website for current prices). + +=============================================================================== + +License for OpenVR (https://github.com/ValveSoftware/openvr) used in the GL/VR version of VPX: +Copyright (c) 2015, Valve Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +=============================================================================== + +Simple DirectMedia Layer/SDL (used in the GL/VR version of VPX): +Copyright (C) 1997-2018 Sam Lantinga + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. + +=============================================================================== + + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + http://www.freetype.org + +=============================================================================== + +OpenGL used in the GL/VR version of VPX + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +=============================================================================== + +OpenGL glad headers are Public Domain/WTFPL/CC0 https://github.com/Dav1dde/glad/issues/101 + +=============================================================================== + +OpenGL Stereo Rendering with less DrawCalls based on https://github.com/kondrak/oculusvr_samples used in the GL/VR version of VPX + +Copyright (c) 2016 Krzysztof Kondrak + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +=============================================================================== +=============================================================================== +=============================================================================== + + +The GPLv3+ License: + +Copyright (C) 2000-2024 Visual Pinball development team and contributors + (unless specifically noted differently in a respective source file) + +Visual Pinball is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Visual Pinball is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details: . + +--- The MAME License --- + + +https://docs.mamedev.org/license.html + +The MAME project as a whole is distributed under the terms of the GNU General Public License, version 2 or later (GPL-2.0+), since it contains code made available under multiple GPL-compatible licenses. A great majority of files (over 90% including core files) are under the 3-Clause BSD License and we would encourage new contributors to distribute files under this license. + +Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the “MAME” name, logo, or wordmark. + + Copyright (c) 1997-2024 MAMEDev and contributors + + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Please see the license information for further details. + +--- Xenia --- + +Copyright (c) 2015, Ben Vanik. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the project nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BEN VANIK BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- WINE --- + +https://github.com/wine-mirror/wine/blob/master/LICENSE + +Copyright (c) 1993-2024 the Wine project authors (see the file AUTHORS +for a complete list) + +Wine is free software; you can redistribute it and/or modify it under +the terms of the GNU Lesser General Public License as published by the +Free Software Foundation; either version 2.1 of the License, or (at +your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +A copy of the GNU Lesser General Public License is included in the +Wine distribution in the file COPYING.LIB. If you did not receive this +copy, write to the Free Software Foundation, Inc., 51 Franklin St, +Fifth Floor, Boston, MA 02110-1301, USA. + +--- Proton --- + +https://github.com/ValveSoftware/Proton/blob/proton_9.0/LICENSE.proton +https://github.com/ValveSoftware/Proton/blob/proton_9.0/LICENSE + +Copyright (c) 2018-2022, Valve Corporation +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation and/or +other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- Duckstation --- + +DuckStation PS1 Emulator +Copyright (C) 2019-2024 Connor McLaughlin + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +DuckStation contains code written by, and copyrighted by third parties. +The copyright statements and licenses for the included third-party code is included below. +biscuit - https://github.com/lioncash/biscuit +Copyright 2021 Lioncash/Lioncache + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +cpuinfo - https://github.com/pytorch/cpuinfo +Copyright (c) 2019 Google LLC +Copyright (c) 2017-2018 Facebook Inc. +Copyright (C) 2012-2017 Georgia Institute of Technology +Copyright (C) 2010-2012 Marat Dukhan + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cubeb - https://github.com/mozilla/cubeb +Copyright 2011 Mozilla Foundation + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +D3D12 Memory Allocator - https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator +Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +Discord-RPC - https://github.com/discord/discord-rpc +Copyright 2017 Discord, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +fast_float - https://github.com/fastfloat/fast_float +MIT License + +Copyright (c) 2021 The fast_float authors + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +fmt - https://github.com/fmtlib/fmt +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. +FreeType - https://freetype.org/index.html + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org +HarfBuzz - https://github.com/harfbuzz/harfbuzz +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010-2022 Google, Inc. +Copyright © 2015-2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012,2015 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2011 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod +Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. +Copyright © 1998-2005 David Turner and Werner Lemberg +Copyright © 2016 Igalia S.L. +Copyright © 2022 Matthias Clasen +Copyright © 2018,2021 Khaled Hosny +Copyright © 2018,2019,2020 Adobe, Inc +Copyright © 2013-2015 Alexei Podtelezhnikov + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +glslang - https://github.com/KhronosGroup/glslang +Here, glslang proper means core GLSL parsing, HLSL parsing, and SPIR-V code +generation. Glslang proper requires use of two licenses, one that covers +non-preprocessing and an additional one that covers preprocessing. + +Bison was removed long ago. You can build glslang from the source grammar, +using tools of your choice, without using bison or any bison files. + +Other parts, outside of glslang proper, include: + +- gl_types.h, only needed for OpenGL-like reflection, and can be left out of + a parse and codegen project. See it for its license. + +- update_glslang_sources.py, which is not part of the project proper and does + not need to be used. + +- the SPIR-V "remapper", which is optional, but has the same license as + glslang proper + +- Google tests and SPIR-V tools, and anything in the external subdirectory + are external and optional; see them for their respective licenses. + +-------------------------------------------------------------------------------- + +The core of glslang-proper, minus the preprocessor is licenced as follows: + +// +// Copyright (C) 2015-2018 Google, Inc. +// Copyright (C) +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +-------------------------------------------------------------------------------- + +The preprocessor has the core license stated above, plus an additional licence: + +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ +Shaderc - https://github.com/google/shaderc +SPIRV-Tools - https://github.com/KhronosGroup/SPIRV-Tools + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +SPIRV-Headers - https://github.com/KhronosGroup/SPIRV-Headers +Files: All files except for those called out below. +Copyright (c) 2015-2024 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + --- +Files: include/spirv/spir-v.xml +Copyright (c) 2015-2024 The Khronos Group Inc. +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +--- + +Files: tools/buildHeaders/jsoncpp/* +The JsonCpp library's source code, including accompanying documentation, +tests and demonstration applications, are licensed under the following +conditions... + +The author (Baptiste Lepilleur) explicitly disclaims copyright in all +jurisdictions which recognize such a disclaimer. In such jurisdictions, +this software is released into the Public Domain. + +In jurisdictions which do not recognize Public Domain property (e.g. Germany as of +2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is +released under the terms of the MIT License (see below). + +In jurisdictions which recognize Public Domain property, the user of this +software may choose to accept it either as 1) Public Domain, 2) under the +conditions of the MIT License (see below), or 3) under the terms of dual +Public Domain/MIT License conditions described here, as they choose. + +The MIT License is about as close to Public Domain as a license can get, and is +described in clear, concise terms at: + + http://en.wikipedia.org/wiki/MIT_License + +The full text of the MIT License follows: + +======================================================================== +Copyright (c) 2007-2010 Baptiste Lepilleur + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +======================================================================== + +--- +Dear ImGui - https://github.com/ocornut/imgui +The MIT License (MIT) + +Copyright (c) 2014-2019 Omar Cornut + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +FreeSurround - https://hydrogenaud.io/index.php/topic,52235.0.html +Copyright (C) 2007-2010 Christian Kothe + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. +libchdr - https://github.com/rtissera/libchdr +Copyright Romain Tisserand +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +libjpeg - https://ijg.org/ +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-2024, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. +libpng - http://www.libpng.org/pub/png/libpng.html + * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * Copyright (c) 2018-2024 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. +LLVM - https://github.com/llvm/llvm-project + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +LZMA SDK - https://7-zip.org/sdk.html +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, +either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, +and by any means. +kissfft - https://github.com/mborgerding/kissfft +Copyright (c) 2003-2010 Mark Borgerding . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +PromptFont - +https://shinmera.github.io/promptfont/ +This Font Software is licensed under the SIL Open Font License, +Version 1.1. This license is copied below, and is also available +with a FAQ at + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. +rcheevos - https://github.com/RetroAchievements/rcheevos/ +MIT License + +Copyright (c) 2019 RetroAchievements.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +reshadefx - https://github.com/crosire/reshade +Copyright 2014 Patrick Mours. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +riscv-disassembler - https://github.com/michaeljclark/riscv-disassembler +RISC-V Disassembler Copyright (c) 2016-2017 Michael Clark Copyright (c) 2017-2018 SiFive, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +SDL - https://github.com/libsdl-org/SDL +Simple DirectMedia Layer + Copyright (C) 1997-2024 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +simpleini - https://github.com/brofield/simpleini +The MIT License (MIT) + +Copyright (c) 2006-2013 Brodie Thiesfield + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +RapidJSON - https://rapidjson.org/ +Tencent is pleased to support the open source community by making +RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. +All rights reserved. + +If you have downloaded a copy of the RapidJSON binary from Tencent, please note +that the RapidJSON binary is licensed under the MIT License. If you have +downloaded a copy of the RapidJSON source code from Tencent, please note that +RapidJSON source code is licensed under the MIT License, except for the +third-party components listed below which are subject to different license +terms. Your integration of RapidJSON into your own projects may require +compliance with the MIT License, as well as the other licenses applicable +to the third-party components included within RapidJSON. + +A copy of the MIT License is included in this file. + +Other dependencies and licenses: + +Open Source Software Licensed Under the BSD License: +-------------------------------------------------------------------- + +The msinttypes r29 +Copyright (c) 2006-2013 Alexander Chemeris +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of copyright holder nor the names of its contributors may be + used to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Terms of the MIT License: +-------------------------------------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +Rapid YAML - https://github.com/biojppm/rapidyaml +Copyright (c) 2018, Joao Paulo Magalhaes + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +SoundTouch audio processing library - https://github.com/rspeyer/soundtouch +FFmpeg - https://www.ffmpeg.org/ +Build instructions for distributed FFmpeg can be found at https://github.com/stenzek/duckstation/tree/master/scripts/deps. +FFmpeg sources can be downloaded from https://www.ffmpeg.org/download.html + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authoried party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS +SPIRV-Cross - https://github.com/KhronosGroup/SPIRV-Cross + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +StackWalker.cpp +Copyright (c) 2005-2013, Jochen Kalmbach +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. +Neither the name of Jochen Kalmbach nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +vixl - https://git.linaro.org/arm/vixl.git +LICENCE +======= + +The software in this repository is covered by the following licence. + +// Copyright 2015, VIXL authors +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of ARM Limited nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +xbyak - https://github.com/herumi/xbyak +Copyright (c) 2007 MITSUNARI Shigeo All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the copyright owner nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +xxhash - https://github.com/Cyan4973/xxHash +xxHash Library +Copyright (c) 2012-present, Yann Collet +All rights reserved. + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +zlib - https://github.com/madler/zlib + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu +Zstandard - https://github.com/facebook/zstd +BSD License + +For Zstandard software + +Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Zydis - https://github.com/zyantific/zydis +The MIT License (MIT) + +Copyright (c) 2014-2021 Florian Bernd +Copyright (c) 2014-2021 Joel H ner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +MIPS Encoder - https://raw.githubusercontent.com/grumpycoders/pcsx-redux/main/src/mips/common/util/encoder.hh +MIT License + +Copyright (c) 2021 PCSX-Redux authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +Some shaders provided with the application are sourced from: +https://github.com/Matsilagi/RSRetroArch/ +https://github.com/akgunter/crt-royale-reshade +https://github.com/HelelSingh/CRT-Guest-ReShade +License details are included in the relevant shader source files, under resources\shaders\reshade. + +--- Ares --- + +---------------------------------------------------------------------- +ares + +Copyright (c) 2004-2021 ares team, Near et al + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +Stack-less Just-In-Time compiler + +Copyright Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +libchdr + +Copyright Romain Tisserand +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute +the original LZMA SDK code, either in source code form or as a compiled binary, +for any purpose, commercial or non-commercial, and by any means. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +zlib + + (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: +- xxHash homepage: https://www.xxhash.com +- xxHash source repository: https://github.com/Cyan4973/xxHash + +---------------------------------------------------------------------- + +MoltenVK + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +OpenGL API and Extension Registry +https://github.com/KhronosGroup/OpenGL-Registry + +Copyright 2013-2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +EGL API and Extension Registry +https://github.com/KhronosGroup/EGL-Registry + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +TZXFile + +MIT License + +Copyright (c) 2020 MrReeMachine + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +ymfm + +BSD 3-Clause License + +Copyright (c) 2021, Aaron Giles +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +librashader +Mozilla Public License Version 2.0 +================================== + +### 1. Definitions + +**1.1. “Contributor”** +means each individual or legal entity that creates, contributes to +the creation of, or owns Covered Software. + +**1.2. “Contributor Version”** +means the combination of the Contributions of others (if any) used +by a Contributor and that particular Contributor's Contribution. + +**1.3. “Contribution”** +means Covered Software of a particular Contributor. + +**1.4. “Covered Software”** +means Source Code Form to which the initial Contributor has attached +the notice in Exhibit A, the Executable Form of such Source Code +Form, and Modifications of such Source Code Form, in each case +including portions thereof. + +**1.5. “Incompatible With Secondary Licenses”** +means + +* **(a)** that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or +* **(b)** that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +**1.6. “Executable Form”** +means any form of the work other than Source Code Form. + +**1.7. “Larger Work”** +means a work that combines Covered Software with other material, in +a separate file or files, that is not Covered Software. + +**1.8. “License”** +means this document. + +**1.9. “Licensable”** +means having the right to grant, to the maximum extent possible, +whether at the time of the initial grant or subsequently, any and +all of the rights conveyed by this License. + +**1.10. “Modifications”** +means any of the following: + +* **(a)** any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or +* **(b)** any new file in Source Code Form that contains any Covered + Software. + +**1.11. “Patent Claims” of a Contributor** +means any patent claim(s), including without limitation, method, +process, and apparatus claims, in any patent Licensable by such +Contributor that would be infringed, but for the grant of the +License, by the making, using, selling, offering for sale, having +made, import, or transfer of either its Contributions or its +Contributor Version. + +**1.12. “Secondary License”** +means either the GNU General Public License, Version 2.0, the GNU +Lesser General Public License, Version 2.1, the GNU Affero General +Public License, Version 3.0, or any later versions of those +licenses. + +**1.13. “Source Code Form”** +means the form of the work preferred for making modifications. + +**1.14. “You” (or “Your”)** +means an individual or a legal entity exercising rights under this +License. For legal entities, “You” includes any entity that +controls, is controlled by, or is under common control with You. For +purposes of this definition, “control” means **(a)** the power, direct +or indirect, to cause the direction or management of such entity, +whether by contract or otherwise, or **(b)** ownership of more than +fifty percent (50%) of the outstanding shares or beneficial +ownership of such entity. + + +### 2. License Grants and Conditions + +#### 2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +* **(a)** under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and +* **(b)** under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +#### 2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +#### 2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +* **(a)** for any code that a Contributor has removed from Covered Software; + or +* **(b)** for infringements caused by: **(i)** Your and any other third party's + modifications of Covered Software, or **(ii)** the combination of its + Contributions with other software (except as part of its Contributor + Version); or +* **(c)** under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +#### 2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +#### 2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +#### 2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +#### 2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + + +### 3. Responsibilities + +#### 3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +#### 3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +* **(a)** such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +* **(b)** You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +#### 3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +#### 3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +#### 3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + + +### 4. Inability to Comply Due to Statute or Regulation + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: **(a)** comply with +the terms of this License to the maximum extent possible; and **(b)** +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + + +### 5. Termination + +**5.1.** The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated **(a)** provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and **(b)** on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +**5.2.** If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +**5.3.** In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + + +### 6. Disclaimer of Warranty + +> Covered Software is provided under this License on an “as is” +> basis, without warranty of any kind, either expressed, implied, or +> statutory, including, without limitation, warranties that the +> Covered Software is free of defects, merchantable, fit for a +> particular purpose or non-infringing. The entire risk as to the +> quality and performance of the Covered Software is with You. +> Should any Covered Software prove defective in any respect, You +> (not any Contributor) assume the cost of any necessary servicing, +> repair, or correction. This disclaimer of warranty constitutes an +> essential part of this License. No use of any Covered Software is +> authorized under this License except under this disclaimer. + +### 7. Limitation of Liability + +> Under no circumstances and under no legal theory, whether tort +> (including negligence), contract, or otherwise, shall any +> Contributor, or anyone who distributes Covered Software as +> permitted above, be liable to You for any direct, indirect, +> special, incidental, or consequential damages of any character +> including, without limitation, damages for lost profits, loss of +> goodwill, work stoppage, computer failure or malfunction, or any +> and all other commercial damages or losses, even if such party +> shall have been informed of the possibility of such damages. This +> limitation of liability shall not apply to liability for death or +> personal injury resulting from such party's negligence to the +> extent applicable law prohibits such limitation. Some +> jurisdictions do not allow the exclusion or limitation of +> incidental or consequential damages, so this exclusion and +> limitation may not apply to You. + + +### 8. Litigation + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + + +### 9. Miscellaneous + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + + +### 10. Versions of the License + +#### 10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +#### 10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +#### 10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +#### 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +## Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +## Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + +---------------------------------------------------------------------- + +--- Ryujinx --- + +MIT License + +Copyright (c) Ryujinx Team and Contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--- RPCS3 --- + +GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {description} + Copyright (C) {year} {fullname} + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + {signature of Ty Coon}, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + +--- PCSX2 --- + +GNU GENERAL PUBLIC LICENSE +Version 3, 29 June 2007 +Copyright © 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. +Preamble +The GNU General Public License is a free, copyleft license for software and other kinds of works. +The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. +To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. +For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. +Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. +For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. +Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. +Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. +The precise terms and conditions for copying, distribution and modification follow. +TERMS AND CONDITIONS +0. Definitions. +“This License” refers to version 3 of the GNU General Public License. +“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. +“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations. +To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work. +A “covered work” means either the unmodified Program or a work based on the Program. +To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. +To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. +An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. +1. Source Code. +The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work. +A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. +The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. +The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. +The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. +The Corresponding Source for a work in source code form is that same work. +2. Basic Permissions. +All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. +You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. +Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. +3. Protecting Users' Legal Rights From Anti-Circumvention Law. +No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. +When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. +4. Conveying Verbatim Copies. +You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. +You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. +5. Conveying Modified Source Versions. +You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: +a) The work must carry prominent notices stating that you modified it, and giving a relevant date. +b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”. +c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. +d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. +A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. +6. Conveying Non-Source Forms. +You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: +a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. +b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. +c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. +d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. +e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. +A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. +A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. +“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. +If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). +The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. +Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. +7. Additional Terms. +“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. +When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. +Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: +a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or +b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or +c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or +d) Limiting the use for publicity purposes of names of licensors or authors of the material; or +e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or +f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. +All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. +If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. +Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. +8. Termination. +You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). +However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. +Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. +Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. +9. Acceptance Not Required for Having Copies. +You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. +10. Automatic Licensing of Downstream Recipients. +Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. +An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. +You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. +11. Patents. +A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”. +A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. +Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. +In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. +If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. +If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. +A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. +Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. +12. No Surrender of Others' Freedom. +If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. +13. Use with the GNU Affero General Public License. +Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. +14. Revised Versions of this License. +The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. +Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. +If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. +Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. +15. Disclaimer of Warranty. +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +16. Limitation of Liability. +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +17. Interpretation of Sections 15 and 16. +If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. +END OF TERMS AND CONDITIONS +How to Apply These Terms to Your New Programs +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found. + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +Also add information on how to contact you by electronic and paper mail. +If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”. +You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . +The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . + +PCSX2 - PS2 Emulator for PCs +Copyright © 2002-2024 PCSX2 Dev Team +PCSX2 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. +PCSX2 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. +You should have received a copy of the GNU General Public License along with PCSX2. If not, see http://www.gnu.org/licenses/. +PCSX2 contains code written by, and copyrighted by third parties. The copyright statements and licenses for the included third-party code is included below. +cpuinfo - https://github.com/pytorch/cpuinfo +Copyright (c) 2019 Google LLC +Copyright (c) 2017-2018 Facebook Inc. +Copyright (C) 2012-2017 Georgia Institute of Technology +Copyright (C) 2010-2012 Marat Dukhan + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cubeb - https://github.com/mozilla/cubeb +Copyright 2011 Mozilla Foundation + +Permission to use, copy, modify, and distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +D3D12 Memory Allocator - https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator +Copyright (c) 2019-2022 Advanced Micro Devices, Inc. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +Discord-RPC - https://github.com/discord/discord-rpc +Copyright 2017 Discord, Inc. + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +fast_float - https://github.com/fastfloat/fast_float +MIT License + +Copyright (c) 2021 The fast_float authors + +Permission is hereby granted, free of charge, to any +person obtaining a copy of this software and associated +documentation files (the "Software"), to deal in the +Software without restriction, including without +limitation the rights to use, copy, modify, merge, +publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software +is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice +shall be included in all copies or substantial portions +of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF +ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED +TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT +SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR +IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +fmt - https://github.com/fmtlib/fmt +Copyright (c) 2012 - present, Victor Zverovich + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--- Optional exception to the license --- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into a machine-executable object form of such +source code, you may redistribute such embedded portions in such object form +without including the above copyright and permission notices. +glslang - https://github.com/KhronosGroup/glslang +Here, glslang proper means core GLSL parsing, HLSL parsing, and SPIR-V code +generation. Glslang proper requires use of two licenses, one that covers +non-preprocessing and an additional one that covers preprocessing. + +Bison was removed long ago. You can build glslang from the source grammar, +using tools of your choice, without using bison or any bison files. + +Other parts, outside of glslang proper, include: + +- gl_types.h, only needed for OpenGL-like reflection, and can be left out of + a parse and codegen project. See it for its license. + +- update_glslang_sources.py, which is not part of the project proper and does + not need to be used. + +- the SPIR-V "remapper", which is optional, but has the same license as + glslang proper + +- Google tests and SPIR-V tools, and anything in the external subdirectory + are external and optional; see them for their respective licenses. + +-------------------------------------------------------------------------------- + +The core of glslang-proper, minus the preprocessor is licenced as follows: + +// +// Copyright (C) 2015-2018 Google, Inc. +// Copyright (C) +// +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions +// are met: +// +// Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// +// Neither the name of 3Dlabs Inc. Ltd. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// + +-------------------------------------------------------------------------------- + +The preprocessor has the core license stated above, plus an additional licence: + +/****************************************************************************\ +Copyright (c) 2002, NVIDIA Corporation. + +NVIDIA Corporation("NVIDIA") supplies this software to you in +consideration of your agreement to the following terms, and your use, +installation, modification or redistribution of this NVIDIA software +constitutes acceptance of these terms. If you do not agree with these +terms, please do not use, install, modify or redistribute this NVIDIA +software. + +In consideration of your agreement to abide by the following terms, and +subject to these terms, NVIDIA grants you a personal, non-exclusive +license, under NVIDIA's copyrights in this original NVIDIA software (the +"NVIDIA Software"), to use, reproduce, modify and redistribute the +NVIDIA Software, with or without modifications, in source and/or binary +forms; provided that if you redistribute the NVIDIA Software, you must +retain the copyright notice of NVIDIA, this notice and the following +text and disclaimers in all such redistributions of the NVIDIA Software. +Neither the name, trademarks, service marks nor logos of NVIDIA +Corporation may be used to endorse or promote products derived from the +NVIDIA Software without specific prior written permission from NVIDIA. +Except as expressly stated in this notice, no other rights or licenses +express or implied, are granted by NVIDIA herein, including but not +limited to any patent rights that may be infringed by your derivative +works or by other works in which the NVIDIA Software may be +incorporated. No hardware is licensed hereunder. + +THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, +INCLUDING WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR +ITS USE AND OPERATION EITHER ALONE OR IN COMBINATION WITH OTHER +PRODUCTS. + +IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, +INCIDENTAL, EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, LOST PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY +OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE +NVIDIA SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, +TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF +NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +\****************************************************************************/ +Shaderc - https://github.com/google/shaderc +SPIRV-Tools - https://github.com/KhronosGroup/SPIRV-Tools + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +SPIRV-Headers - https://github.com/KhronosGroup/SPIRV-Headers +Files: All files except for those called out below. +Copyright (c) 2015-2024 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +MODIFICATIONS TO THIS FILE MAY MEAN IT NO LONGER ACCURATELY REFLECTS +KHRONOS STANDARDS. THE UNMODIFIED, NORMATIVE VERSIONS OF KHRONOS +SPECIFICATIONS AND HEADER INFORMATION ARE LOCATED AT + https://www.khronos.org/registry/ + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +--- + +Files: include/spirv/spir-v.xml +Copyright (c) 2015-2024 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. + +--- + +Files: tools/buildHeaders/jsoncpp/* +The JsonCpp library's source code, including accompanying documentation, +tests and demonstration applications, are licensed under the following +conditions... + +The author (Baptiste Lepilleur) explicitly disclaims copyright in all +jurisdictions which recognize such a disclaimer. In such jurisdictions, +this software is released into the Public Domain. + +In jurisdictions which do not recognize Public Domain property (e.g. Germany as of +2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is +released under the terms of the MIT License (see below). + +In jurisdictions which recognize Public Domain property, the user of this +software may choose to accept it either as 1) Public Domain, 2) under the +conditions of the MIT License (see below), or 3) under the terms of dual +Public Domain/MIT License conditions described here, as they choose. + +The MIT License is about as close to Public Domain as a license can get, and is +described in clear, concise terms at: + + http://en.wikipedia.org/wiki/MIT_License + +The full text of the MIT License follows: + +======================================================================== +Copyright (c) 2007-2010 Baptiste Lepilleur + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, copy, +modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS +BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN +ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +======================================================================== + +--- +Dear ImGui - https://github.com/ocornut/imgui +The MIT License (MIT) + +Copyright (c) 2014-2019 Omar Cornut + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +FreeSurround - https://hydrogenaud.io/index.php/topic,52235.0.html +Copyright (C) 2007-2010 Christian Kothe + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. +FreeType - https://freetype.org/index.html + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org +HarfBuzz - https://github.com/harfbuzz/harfbuzz +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010-2022 Google, Inc. +Copyright © 2015-2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012,2015 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2011 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod +Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. +Copyright © 1998-2005 David Turner and Werner Lemberg +Copyright © 2016 Igalia S.L. +Copyright © 2022 Matthias Clasen +Copyright © 2018,2021 Khaled Hosny +Copyright © 2018,2019,2020 Adobe, Inc +Copyright © 2013-2015 Alexei Podtelezhnikov + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. +kissfft - https://github.com/mborgerding/kissfft +Copyright (c) 2003-2010 Mark Borgerding . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors +may be used to endorse or promote products derived from this software without +specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +libchdr - https://github.com/rtissera/libchdr +Copyright Romain Tisserand +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +libjpeg - https://ijg.org/ +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-2024, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. +LLVM - https://github.com/llvm/llvm-project + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +---- LLVM Exceptions to the Apache 2.0 License ---- + +As an exception, if, as a result of your compiling your source code, portions +of this Software are embedded into an Object form of such source code, you +may redistribute such embedded portions in such Object form without complying +with the conditions of Sections 4(a), 4(b) and 4(d) of the License. + +In addition, if you combine or link compiled forms of this Software with +software that is licensed under the GPLv2 ("Combined Software") and if a +court of competent jurisdiction determines that the patent provision (Section +3), the indemnity provision (Section 9) or other Section of the License +conflicts with the conditions of the GPLv2, you may retroactively and +prospectively choose to deem waived or otherwise exclude such Section(s) of +the License, but only in their entirety and only with respect to the Combined +Software. +LZMA SDK - https://7-zip.org/sdk.html +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute the +original LZMA SDK code, either in source code form or as a compiled binary, +for any purpose, commercial or non-commercial, and by any means. +LZ4 - https://github.com/lz4/lz4 + LZ4 - Fast LZ compression algorithm + Copyright (C) 2011-2020, Yann Collet. + + BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + You can contact the author at : + - LZ4 homepage : http://www.lz4.org + - LZ4 source repository : https://github.com/lz4/lz4 +PromptFont - +https://shinmera.github.io/promptfont/ +This Font Software is licensed under the SIL Open Font License, +Version 1.1. This license is copied below, and is also available +with a FAQ at http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. +rcheevos - https://github.com/RetroAchievements/rcheevos/ +MIT License + +Copyright (c) 2019 RetroAchievements.org + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +libpng - https://github.com/glennrp/libpng +Copyright (c) 2018-2023 Cosmin Truta + Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson + Copyright (c) 1996-1997 Andreas Dilger + Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + + PNG Reference Library License version 2 + --------------------------------------- + + * Copyright (c) 1995-2023 The PNG Reference Library Authors. + * Copyright (c) 2018-2023 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + + The software is supplied "as is", without warranty of any kind, + express or implied, including, without limitation, the warranties + of merchantability, fitness for a particular purpose, title, and + non-infringement. In no event shall the Copyright owners, or + anyone distributing the software, be liable for any damages or + other liability, whether in contract, tort or otherwise, arising + from, out of, or in connection with the software, or the use or + other dealings in the software, even if advised of the possibility + of such damage. + + Permission is hereby granted to use, copy, modify, and distribute + this software, or portions hereof, for any purpose, without fee, + subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. +libwebp - https://github.com/webmproject/libwebp +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +libzip - https://libzip.org/ +Copyright (C) 1999-2020 Dieter Baron and Thomas Klausner + +The authors can be contacted at + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + +3. The names of the authors may not be used to endorse or promote + products derived from this software without specific prior + written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS +OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +simpleini - https://github.com/brofield/simpleini +The MIT License (MIT) + +Copyright (c) 2006-2013 Brodie Thiesfield + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +RapidJSON - https://rapidjson.org/ +Tencent is pleased to support the open source community by making +RapidJSON available. + +Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. +All rights reserved. + +If you have downloaded a copy of the RapidJSON binary from Tencent, please note +that the RapidJSON binary is licensed under the MIT License. If you have +downloaded a copy of the RapidJSON source code from Tencent, please note that +RapidJSON source code is licensed under the MIT License, except for the +third-party components listed below which are subject to different license +terms. Your integration of RapidJSON into your own projects may require +compliance with the MIT License, as well as the other licenses applicable +to the third-party components included within RapidJSON. + +A copy of the MIT License is included in this file. + +Other dependencies and licenses: + +Open Source Software Licensed Under the BSD License: +-------------------------------------------------------------------- + +The msinttypes r29 +Copyright (c) 2006-2013 Alexander Chemeris +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +* Neither the name of copyright holder nor the names of its contributors may be + used to endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY +EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Terms of the MIT License: +-------------------------------------------------------------------- + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +Rapid YAML - https://github.com/biojppm/rapidyaml +Copyright (c) 2018, Joao Paulo Magalhaes + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the "Software"), +to deal in the Software without restriction, including without limitation +the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. +SoundTouch audio processing library - https://github.com/rspeyer/soundtouch + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authoried party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS +SPIRV-Cross - https://github.com/KhronosGroup/SPIRV-Cross + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +StackWalker.cpp +Copyright (c) 2005-2013, Jochen Kalmbach +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. +Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. +Neither the name of Jochen Kalmbach nor the names of its contributors may be +used to endorse or promote products derived from this software without +specific prior written permission. +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +stb libraries - https://github.com/nothings/stb +These libraries are in the public domain. You can do anything you want with them. You have no legal obligation to do anything else, although I appreciate attribution. They are also licensed under the MIT open source license, if you have lawyers who are unhappy with public domain. Every source file includes an explicit dual-license for you to choose from. +vixl - https://git.linaro.org/arm/vixl.git +LICENCE +======= + +The software in this repository is covered by the following licence. + +// Copyright 2015, VIXL authors +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// * Neither the name of ARM Limited nor the names of its contributors may be +// used to endorse or promote products derived from this software without +// specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS CONTRIBUTORS "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +xbyak - https://github.com/herumi/xbyak +Copyright (c) 2007 MITSUNARI Shigeo All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the copyright owner nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +xxhash - https://github.com/Cyan4973/xxHash +xxHash Library +Copyright (c) 2012-present, Yann Collet +All rights reserved. + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +zlib - https://github.com/madler/zlib + Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu +Zstandard - https://github.com/facebook/zstd +BSD License + +For Zstandard software + +Copyright (c) 2016-present, Facebook, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name Facebook nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +Zydis - https://github.com/zyantific/zydis +The MIT License (MIT) + +Copyright (c) 2014-2021 Florian Bernd +Copyright (c) 2014-2021 Joel H ner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +FFmpeg - https://github.com/FFmpeg/FFmpeg + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. https://fsf.org/ + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see https://www.gnu.org/licenses/. + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +https://www.gnu.org/licenses/. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +https://www.gnu.org/licenses/why-not-lgpl.html. + +--- MAME --- + +License + +The MAME project as a whole is made available under the terms of the GNU General Public License, version 2 or later (GPL-2.0+), since it contains code made available under multiple GPL-compatible licenses. A great majority of the source files (over 90% including core files) are made available under the terms of the 3-clause BSD License, and we would encourage new contributors to make their contributions available under the terms of this license. + +Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the "MAME" name, logo, or wordmark. + +Copyright (c) 1997-2024 MAMEdev and contributors + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License version 2, as provided in +docs/legal/GPL-2.0. + +This program is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +more details. + +Please see COPYING for more details. + +COPYING: + +MAME is a registered trademark of Gregory Ember. Other trademarks are +property of their respective owners. + +MAME as a whole is made available under the terms of the GNU General +Public License. Individual source files may be made available under +less restrictive licenses, as noted in their respective header +comments. + +Full license texts may be found in docs/legal in source and binary +distributions. + + +MAME +Copyright (c) 1997-2024 MAMEdev and contributors + +This program is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License version 2, as provided +in docs/legal/GPL-2.0. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + + +This software is based in part on the work of the Independent JPEG Group. + + +The contents of the hash directory are dedicated to the public domain +as described in docs/legal/CC0. + +No Copyright + +The person who associated a work with this deed has dedicated the work +to the public domain by waiving all of his or her rights to the work +worldwide under copyright law, including all related and neighboring +rights, to the extent allowed by law. + +You can copy, modify, distribute and perform the work, even for +commercial purposes, all without asking permission. See Other +Information below. + +Other Information + + * In no way are the patent or trademark rights of any person affected + by CC0, nor are the rights that other persons may have in the work + or in how the work is used, such as publicity or privacy rights. + + * Unless expressly stated otherwise, the person who associated a work + with this deed makes no warranties about the work, and disclaims + liability for all uses of the work, to the fullest extent permitted + by applicable law. + + * When using or citing the work, you should not imply endorsement by + the author or the affirmer. + + +Asio C++ Library +Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) + +Permission is hereby granted, free of charge, to any person or +organization obtaining a copy of the software and accompanying +documentation covered by this license (the "Software") to use, +reproduce, display, distribute, execute, and transmit the Software, and +to prepare derivative works of the Software, and to permit third-parties +to whom the Software is furnished to do so, all subject to the +following: + +The copyright notices in the Software and this entire statement, +including the above license grant, this restriction and the following +disclaimer, must be included in all copies of the Software, in whole or +in part, and all derivative works of the Software, unless such copies or +derivative works are solely in the form of machine-executable object +code generated by a source language processor. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND +NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE +DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, +WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + +Berkeley SoftFloat - software implementation of binary floating-point that +conforms to the IEEE Standard for Floating-Point Arithmetic +Copyright 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 The Regents of +the University of California + +FLAC - Free Lossless Audio Codec +Copyright (C) 2000-2009 Josh Coalson +Copyright (C) 2011-2023 Xiph.Org Foundation + +The msinttypes r29 +Copyright (c) 2006-2013 Alexander Chemeris + +Zstandard software +Copyright (c) Meta Platforms, Inc. and affiliates. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +bgfx, bimg and bx +Copyright (c) 2010-2019 Branimir Karadzic + +linenoise.c -- guerrilla line editing library +Copyright (c) 2010, Salvatore Sanfilippo +Copyright (c) 2010, Pieter Noordhuis +Copyright (c) 2011, Steve Bennett + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +Expat +Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and +Clark Cooper +Copyright (c) 2001-2019 Expat maintainers + +Lua - a powerful, fast, lightweight, embeddable scripting language +Copyright (c) 1994-2017 Lua.org, PUC-Rio + +LuaFileSystem - File System Library for Lua +Copyright (c) 2003-2015 Kepler Project + +LuaSQLite 3 - a Lua 5.1 to 5.3 wrapper for the SQLite3 library +Copyright (c) 2002-2016 Tiago Dionizio, Doug Currie + +lua-linenoise +Copyright (c) 2011-2015 Rob Hoelz + +lua_zlib - Lua 5.1 interface to zlib +Copyright (c) 2009 Brian Maher + +OpenGL Mathematics (GLM) +Copyright (c) 2005 -2016 G-Truc Creation + +PortAudio Portable Real-Time Audio Library +Copyright (c) 1999-2006 Ross Bencina and Phil Burk + +PortMidi Portable Real-Time MIDI Library +Copyright (c) 1999-2000 Ross Bencina and Phil Burk +Copyright (c) 2001-2009 Roger B. Dannenberg + +pugixml - a C++ XML processing library +Copyright (c) 2006-2019 Arseny Kapoulkine + +RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API +Copyright (c) 2015 THL A29 Limited, a Tencent company, and Milo Yip. + +Sol - a C++ library binding to Lua +Copyright (c) 2013-2020 Rapptz, ThePhD and contributors + +tap-windows.h +Copyright (C) 2002-2014 OpenVPN Technologies, Inc. + +utf8proc +Copyright (c) 2014-2021 Steven G. Johnson, Jiahao Chen, Tony Kelman, +Jonas Fonseca, and other contributors + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + +LZMA SDK + +LZMA SDK is written and placed in the public domain by Igor Pavlov. + +Some code in LZMA SDK is based on public domain code from another +developers: + 1) PPMd var.H (2001): Dmitry Shkarin + 2) SHA-256: Wei Dai (Crypto++ library) + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute the original LZMA SDK code, either in source code form or as +a compiled binary, for any purpose, commercial or non-commercial, and by +any means. + +LZMA SDK code is compatible with open source licenses, for example, you +can include it to GNU GPL or GNU LGPL code. + + +AsmJit - a lightweight library for machine code generation. +Copyright (c) 2008-2021 The AsmJit Authors + +Nano SVG - Simple stupid SVG parser +Copyright (c) 2013-14 Mikko Mononen memon@inside.org + +Simple DirectMedia Layer +Copyright (C) 1997-2016 Sam Lantinga + +WDL - fft.cpp +Copyright (c) 2006 and later Cockos Incorporated +Copyright (c) 1999 D. J. Bernstein + +zlib data compression library +Copyright (C) 1995-2023 Jean-loup Gailly and Mark Adler + +This software is provided 'as-is', without any express or implied +warranty. In no event will the authors be held liable for any damages +arising from the use of this software. + +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it +freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This notice may not be removed or altered from any source + distribution. + + +SQLite + +2001 September 15 + +The author disclaims copyright to this source code. In place of a legal +notice, here is a blessing: + + May you do good and not evil. + May you find forgiveness for yourself and forgive others. + May you share freely, never taking more than you give. + + + +--- PPSSPP --- + +PSPSDK BSD-compatible copyright notice (Some parts of the PSPSDK were used in this emulator (defines, constants, headers)) + +Copyright (c) 2005 adresd +Copyright (c) 2005 Marcus R. Brown +Copyright (c) 2005 James Forshaw +Copyright (c) 2005 John Kelley +Copyright (c) 2005 Jesper Svennevid +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions +are met: +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. +3. The names of the authors may not be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + +--- VITA3K --- + + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + + +--- Dolphin --- + +Most of Dolphin's original source code is licensed under GPLv2+. Part of the +source code distributed in this repository is derived from other projects and +may have stronger or weaker licensing requirement. Overall, in aggregate, the +entirety of this repository is compatible with the GPLv3 license. + +Per-file licensing information is provided via SPDX tags [1]. The licenses +referenced in these tags can be found in the LICENSES/ directory within this +source repository. + +[1] https://spdx.dev/ + + + +Copyright (c) . All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. + +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. + +MIT License + +Copyright (c) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. From ce7c3db6904fef0748712dff7897df1b9ecef5c4 Mon Sep 17 00:00:00 2001 From: Rekku Date: Sat, 14 Sep 2024 16:31:59 +0100 Subject: [PATCH 23/74] Configs --- config/retrodeck/retrodeck.cfg | 3 + tools/configurator/main.tscn | 18 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 194 ++++++++---------- tools/configurator/scripts/GlobalsTab.gd | 1 + tools/configurator/scripts/SettingsTab.gd | 11 +- tools/configurator/scripts/TabContainer.gd | 4 +- tools/configurator/scripts/class_functions.gd | 32 ++- tools/configurator/scripts/data_handler.gd | 6 - tools/configurator/scripts/main.gd | 67 +++--- 9 files changed, 171 insertions(+), 165 deletions(-) diff --git a/config/retrodeck/retrodeck.cfg b/config/retrodeck/retrodeck.cfg index 88a33896..215241bd 100644 --- a/config/retrodeck/retrodeck.cfg +++ b/config/retrodeck/retrodeck.cfg @@ -16,6 +16,7 @@ borders_folder=/home/deck/retrodeck/borders sdcard=/run/media/mmcblk0p1 [options] + power_user_warning=true desktop_mode_warning=true low_space_warning=true @@ -30,6 +31,8 @@ default_user= developer_options=false kiroi_ponzu=false akai_ponzu=false +sound_effects=true +volume_effects=10 [cheevos] duckstation=false diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 50c3fda5..95a66309 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -220,11 +220,12 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 tab_alignment = 1 -current_tab = 0 +current_tab = 3 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 @@ -688,7 +689,6 @@ disabled = true text = "TK_3DSDECRYPT" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -716,7 +716,6 @@ layout_mode = 2 [node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true layout_mode = 2 -button_pressed = true text = "AUTO UPDATES" icon = ExtResource("55_x32s4") alignment = 1 @@ -724,11 +723,20 @@ alignment = 1 [node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true layout_mode = 2 -button_pressed = true -text = "SOUND" +text = "SOUND EFFECTS" icon = ExtResource("9_qwq2k") alignment = 1 +[node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 75) +layout_mode = 2 +min_value = 1.0 +max_value = 25.0 +value = 10.0 +rounded = true +tick_count = 25 + [node name="theme_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true layout_mode = 2 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 8da599d4..098422ab 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=132 format=4 uid="uid://bq8dsxeo34sl"] +[gd_resource type="Theme" load_steps=129 format=4 uid="uid://bq8dsxeo34sl"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="1_ak8qr"] [ext_resource type="Texture2D" uid="uid://c4vntk8yri4yw" path="res://res/pixel_ui_theme/8x8_ui_elements2x.png" id="2_jrpaj"] @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_i3f44"] +[sub_resource type="Image" id="Image_48lkm"] 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_i3f44") +image = SubResource("Image_48lkm") -[sub_resource type="Image" id="Image_48gu5"] +[sub_resource type="Image" id="Image_e4ujv"] 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_48gu5") +image = SubResource("Image_e4ujv") [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_vdoto"] +[sub_resource type="Image" id="Image_l30db"] 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_vdoto") +image = SubResource("Image_l30db") [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_nux7e"] +[sub_resource type="Image" id="Image_3eikd"] 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_nux7e") +image = SubResource("Image_3eikd") [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_1uvxf"] +[sub_resource type="Image" id="Image_0u0mm"] 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_1uvxf") +image = SubResource("Image_0u0mm") [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_5aefc"] +[sub_resource type="Image" id="Image_se5xk"] 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_5aefc") +image = SubResource("Image_se5xk") [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_587bn"] +[sub_resource type="Image" id="Image_f06n2"] 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_587bn") +image = SubResource("Image_f06n2") -[sub_resource type="Image" id="Image_on8j2"] +[sub_resource type="Image" id="Image_tnix5"] 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_on8j2") +image = SubResource("Image_tnix5") -[sub_resource type="Image" id="Image_opjb6"] +[sub_resource type="Image" id="Image_nl7m1"] 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_opjb6") +image = SubResource("Image_nl7m1") -[sub_resource type="Image" id="Image_rsgl1"] +[sub_resource type="Image" id="Image_5qvq7"] 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_rsgl1") +image = SubResource("Image_5qvq7") -[sub_resource type="Image" id="Image_m1f2u"] +[sub_resource type="Image" id="Image_pt1jp"] 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_m1f2u") +image = SubResource("Image_pt1jp") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1347,69 +1347,6 @@ border_width_top = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="AtlasTexture" id="250"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 64, 16, 16) - -[sub_resource type="AtlasTexture" id="251"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 96, 16, 16) - -[sub_resource type="AtlasTexture" id="252"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 80, 16, 16) - -[sub_resource type="Image" id="Image_jy3dj"] -data = { -"data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), -"format": "RGBA8", -"height": 16, -"mipmaps": false, -"width": 4 -} - -[sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_jy3dj") - -[sub_resource type="StyleBoxTexture" id="4"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(0, 40, 8, 8) - -[sub_resource type="StyleBoxTexture" id="248"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(32, 40, 8, 8) - -[sub_resource type="StyleBoxTexture" id="249"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(16, 40, 8, 8) - [sub_resource type="StyleBoxTexture" id="461"] texture = ExtResource("1_ak8qr") texture_margin_left = 2.0 @@ -1440,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_huwvi"] +[sub_resource type="Image" id="Image_l0uo4"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1450,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_huwvi") +image = SubResource("Image_l0uo4") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2271,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_dpf26"] +[sub_resource type="Image" id="Image_vh5ri"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_dpf26") +image = SubResource("Image_vh5ri") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2305,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_x6v4n"] +[sub_resource type="Image" id="Image_ltj0l"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2315,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_x6v4n") +image = SubResource("Image_ltj0l") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2428,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_6y20l"] +[sub_resource type="Image" id="Image_ihrox"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2438,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_6y20l") +image = SubResource("Image_ihrox") -[sub_resource type="Image" id="Image_8v3o5"] +[sub_resource type="Image" id="Image_fvd3g"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2450,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_8v3o5") +image = SubResource("Image_fvd3g") -[sub_resource type="Image" id="Image_0xm13"] +[sub_resource type="Image" id="Image_vy35e"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2462,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_0xm13") +image = SubResource("Image_vy35e") -[sub_resource type="Image" id="Image_17cl6"] +[sub_resource type="Image" id="Image_36iwl"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2474,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_17cl6") +image = SubResource("Image_36iwl") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2534,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_pwvp8"] +[sub_resource type="Image" id="Image_h34v5"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2544,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_pwvp8") +image = SubResource("Image_h34v5") -[sub_resource type="Image" id="Image_igjjy"] +[sub_resource type="Image" id="Image_4ujov"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2556,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_igjjy") +image = SubResource("Image_4ujov") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2632,7 +2569,19 @@ border_width_left = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="Image" id="Image_i457w"] +[sub_resource type="AtlasTexture" id="250"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="251"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 96, 16, 16) + +[sub_resource type="AtlasTexture" id="252"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 80, 16, 16) + +[sub_resource type="Image" id="Image_dcryu"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2591,33 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_i457w") +image = SubResource("Image_dcryu") + +[sub_resource type="StyleBoxTexture" id="4"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +texture = ExtResource("1_ak8qr") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 2 +region_rect = Rect2(0, 40, 8, 8) + +[sub_resource type="StyleBoxTexture" id="249"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +texture = ExtResource("1_ak8qr") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 2 +region_rect = Rect2(16, 40, 8, 8) [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") @@ -2734,13 +2709,6 @@ HScrollBar/styles/grabber_pressed = SubResource("StyleBoxTexture_bfd3g") HScrollBar/styles/scroll = SubResource("StyleBoxTexture_lsn07") HScrollBar/styles/scroll_focus = SubResource("StyleBoxTexture_8681i") HSeparator/styles/separator = SubResource("576") -HSlider/icons/grabber = SubResource("250") -HSlider/icons/grabber_disabled = SubResource("251") -HSlider/icons/grabber_highlight = SubResource("252") -HSlider/icons/tick = SubResource("29") -HSlider/styles/grabber_area = SubResource("4") -HSlider/styles/grabber_area_highlight = SubResource("248") -HSlider/styles/slider = SubResource("249") ItemList/colors/font_color = Color(0.866667, 0.866667, 0.866667, 1) ItemList/colors/font_color_selected = Color(1, 1, 1, 1) ItemList/colors/guide_color = Color(0.266667, 0.266667, 0.266667, 1) diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/GlobalsTab.gd index be6a01d5..6f26f1b0 100644 --- a/tools/configurator/scripts/GlobalsTab.gd +++ b/tools/configurator/scripts/GlobalsTab.gd @@ -8,3 +8,4 @@ func _ready(): func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) + diff --git a/tools/configurator/scripts/SettingsTab.gd b/tools/configurator/scripts/SettingsTab.gd index 14aab5cf..879d1529 100644 --- a/tools/configurator/scripts/SettingsTab.gd +++ b/tools/configurator/scripts/SettingsTab.gd @@ -1,15 +1,10 @@ extends Control func _ready(): - _get_nodes() _connect_signals() func _connect_signals() -> void: - %sound_button.pressed.connect(sound_off) + %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button)) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button)) - -func _get_nodes() -> void: - pass - -func sound_off() -> void: - class_functions.sound_effects = false + #%volume_effects_slider.changed.connect(class_functions.slider_function.bind(%volume_effects_slider)) + %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 1ea61188..55e0b04e 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -20,7 +20,8 @@ func _ready(): set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) set_tab_icon_max_width(4,icon_width) connect_focus_signals(self) - + %volume_effects_slider.value = class_functions.volume_effects + func connect_focus_signals(node): for child in node.get_children(): if child is Button: @@ -30,6 +31,7 @@ func connect_focus_signals(node): func _on_Button_focus_entered(button: Button): if button and class_functions.sound_effects: + %AudioStreamPlayer2D.volume_db = class_functions.volume_effects %AudioStreamPlayer2D.play() func _input(event): diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 997f162f..c43d62f4 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -16,14 +16,19 @@ var rd_log: String var rd_log_folder: String var rd_version: String var gc_version: String -var sound_effects: bool = true +var sound_effects: bool +var volume_effects: int var title: String var quick_resume_status: bool var update_check: bool var abxy_state: String signal update_global_signal +var custom_theme: Theme = $".".theme func _ready(): + read_values_states() + +func read_values_states() -> void: var config = data_handler.parse_config_to_json(config_file_path) data_handler.config_save_json(config, json_file_path) rd_log_folder = config["paths"]["logs_folder"] @@ -38,7 +43,13 @@ func _ready(): title = "\n " + rd_version + "\nConfigurator\n " + gc_version quick_resume_status = config["quick_resume"]["retroarch"] update_check = config["options"]["update_check"] - var testT:Dictionary = data_handler.get_elements_in_section(config_file_path, "abxy_button_swap") + sound_effects = config["options"]["sound_effects"] + volume_effects = int(config["options"]["volume_effects"]) + + multi_state("abxy_button_swap") + +func multi_state(section: String) -> void: + var testT:Dictionary = data_handler.get_elements_in_section(config_file_path, section) var true_values: int var false_values: int for value in testT.values(): @@ -52,6 +63,7 @@ func _ready(): abxy_state = "false" else: abxy_state = "mixed" + 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 @@ -228,6 +240,10 @@ func display_json_data() -> void: else: print ("No emulators") +func slider_function(value: float, slide: HSlider) -> void: + volume_effects = int(slide.value) + data_handler.change_cfg_value(class_functions.config_file_path, "volume_effects", "options", str(slide.value)) + func run_function(button: Button) -> void: if button.button_pressed: enable_global(button) @@ -244,6 +260,12 @@ func enable_global(button: Button) -> void: change_global(result) "update_notification_button": result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "true") + change_global(result) + "sound_button": + sound_effects = true + update_global_signal.emit() + result = data_handler.change_cfg_value(class_functions.config_file_path, "sound_effects", "options", "true") + class_functions.logger("i", "Enabled: " % (button.name)) "button_swap_button": if abxy_state == "false": abxy_state = "true" @@ -259,6 +281,12 @@ func disable_global(button: Button) -> void: change_global(result) "update_notification_button": result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "false") + change_global(result) + "sound_button": + sound_effects = false + update_global_signal.emit() + result = data_handler.change_cfg_value(class_functions.config_file_path, "sound_effects", "options", "false") + class_functions.logger("i", "Disabled: " % (button.name)) "button_swap_button": if abxy_state == "true": abxy_state = "false" diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 6ea8d3b4..c8fd556d 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -234,25 +234,20 @@ func parse_config_to_json(file_path: String) -> Dictionary: if file == null: class_functions.logger("e","Failed to open file: " + file_path) return config - while not file.eof_reached(): var line = file.get_line().strip_edges() if line.begins_with("[") and line.ends_with("]"): - # Start a new section current_section = line.substr(1, line.length() - 2) config[current_section] = {} elif line != "" and not line.begins_with("#"): - # Add key-value pair to the current section var parts = line.split("=") if parts.size() == 2: var key = parts[0].strip_edges() var value = parts[1].strip_edges() - # Convert value to proper type if value == "true": value = true elif value == "false": value = false - if key == "version": config[key] = value else: @@ -276,7 +271,6 @@ func config_save_json(config: Dictionary, json_file_path: String) -> void: func read_cfg_file(file_path: String) -> Array: var lines: Array = [] - var current_section: String = "" var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.READ) if file: while not file.eof_reached(): diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 1cf47278..7cd903e0 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -3,7 +3,7 @@ extends Control @onready var bios_type:int var theme_option: OptionButton #signal signal_theme_changed -var custom_theme: Theme = $".".theme +var custom_theme: Theme# = $".".theme var log_option: OptionButton var tab_container: TabContainer var anim_logo: AnimatedSprite2D @@ -30,8 +30,8 @@ func _ready(): n.mouse_entered.connect(_on_control_mouse_entered.bind(n)) #grab focus on mouse hover if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled n.self_modulate.a = 0.5 #make it half transparent - combine_tkeys() - + #combine_tkeys() + func _input(event): if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): _exit() @@ -73,23 +73,6 @@ func _connect_signals() -> void: %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) class_functions.update_global_signal.connect(_set_up_globals) - -func _conf_theme(index: int) -> void: - match index: - 1: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") - 2: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/retro_theme.tres") - 3: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/modern_theme.tres") - 4: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/accesible_theme.tres") - $".".theme = custom_theme - func _load_log(index: int) -> void: var log_content:String match index: @@ -104,7 +87,7 @@ func _load_log(index: int) -> void: 3: class_functions.logger("i","Loading RetroArch log") log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") - load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) + load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) func _play_main_animations() -> void: anim_logo.play() @@ -179,16 +162,16 @@ func _on_exit_button_pressed(): _exit() _exit() -func _on_locale_selected(index): - match index: - 0: - TranslationServer.set_locale("en") - _: - TranslationServer.set_locale("en") - combine_tkeys() +#func _on_locale_selected(index): + #match index: + #0: + #TranslationServer.set_locale("en") + #_: + #TranslationServer.set_locale("en") + #combine_tkeys() -func combine_tkeys(): #More as a test - pass +#func combine_tkeys(): #More as a test + #pass #%cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor #$Background/MarginContainer/TabContainer/TK_SYSTEM/ScrollContainer/VBoxContainer/HBoxContainer/GridContainer/cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") #%tate_mode.text = tr("TK_TATE") + " " + tr("TK_SOON") @@ -208,6 +191,12 @@ func _set_up_globals() -> void: else: %quick_resume_button.button_pressed = false %retroarch_quick_resume_button.button_pressed = false + if class_functions.sound_effects: + %sound_button.button_pressed = true + %volume_effects_slider.visible = true + else: + %sound_button.button_pressed = false + %volume_effects_slider.visible = false if class_functions.abxy_state == "true": %button_swap_button.button_pressed = true elif class_functions.abxy_state == "false": @@ -228,3 +217,21 @@ func _set_up_globals() -> void: style_box.border_blend = true %button_swap_button.add_theme_stylebox_override("normal", style_box) %button_swap_button.toggle_mode = false + +func _conf_theme(index: int) -> void: + match index: + 1: + class_functions.logger("i","Set theme to index " + str(index)) + #custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") + + 2: + class_functions.logger("i","Set theme to index " + str(index)) + custom_theme = preload("res://assets/themes/retro_theme.tres") + 3: + class_functions.logger("i","Set theme to index " + str(index)) + custom_theme = preload("res://assets/themes/modern_theme.tres") + 4: + class_functions.logger("i","Set theme to index " + str(index)) + custom_theme = preload("res://assets/themes/accesible_theme.tres") + $".".theme = custom_theme + #data_handler.change_cfg_value(class_functions.config_file_path, "theme", "options", str(index)) From 1ac01cff07cb768f2305e2c2c153b2f79d7d0594 Mon Sep 17 00:00:00 2001 From: laz Date: Sat, 14 Sep 2024 18:17:45 +0200 Subject: [PATCH 24/74] licence fixes --- other_licenses.txt | 3504 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 3502 insertions(+), 2 deletions(-) diff --git a/other_licenses.txt b/other_licenses.txt index f00544f7..d441dc0f 100644 --- a/other_licenses.txt +++ b/other_licenses.txt @@ -1,6 +1,6 @@ --- RetroDECK 3rd Party Licences --- -All Licenses of the projects we are using are listed on the wiki: +All Licenses of the projects we are using are listed on the wiki as well for ease of reading: https://retrodeck.readthedocs.io/en/latest/wiki_about/donations-licenses/ If we have made some linkage errors or your license needs to be included in the projects github page please contact the RetroDECK Team on Discord or Matrix. @@ -8780,7 +8780,9 @@ library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. ---- Dolphin --- +--- Dolphin / Primehack --- + +NOTE: Dolphin Primehack are the same. Most of Dolphin's original source code is licensed under GPLv2+. Part of the source code distributed in this repository is derived from other projects and @@ -9060,3 +9062,3501 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +--- MelonDS --- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +--- CEMU --- + +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + + +--- Xenia --- + +Copyright (c) 2015, Ben Vanik. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the project nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BEN VANIK BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- XEMU --- + +The QEMU distribution includes both the QEMU emulator and +various firmware files. These are separate programs that are +distributed together for our users' convenience, and they have +separate licenses https://github.com/xemu-project/xemu/tree/master/licenses. + +The following points clarify the license of the QEMU emulator: + +1) The QEMU emulator as a whole is released under the GNU General +Public License, version 2. + +2) Parts of the QEMU emulator have specific licenses which are compatible +with the GNU General Public License, version 2. Hence each source file +contains its own licensing information. Source files with no licensing +information are released under the GNU General Public License, version +2 or (at your option) any later version. + +As of July 2013, contributions under version 2 of the GNU General Public +License (and no later version) are only accepted for the following files +or directories: bsd-user/, linux-user/, hw/vfio/, hw/xen/xen_pt*. + +3) The Tiny Code Generator (TCG) is mostly under the BSD or MIT licenses; + but some parts may be GPLv2 or other licenses. Again, see the + specific licensing information in each source file. + +4) QEMU is a trademark of Fabrice Bellard. + +Fabrice Bellard and the QEMU team + + +--- OpenBOR --- + +Copyright (c) 2003, Roel van Mastbergen & Senile Team +Copyright (c) 2004, OpenBOR Team +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +Neither the name of the Senile Team, OpenBOR Team nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +--- ES-DE --- + +Copyright (c) 2024 Northwestern Software AB +Copyright (c) 2020-2024 Leon Styhre +Copyright (c) 2014 Alec Lofquist + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +Other Licences: +https://gitlab.com/es-de/emulationstation-de/-/tree/master/licenses + +--- RetroArch --- + +https://docs.libretro.com/development/licenses/ + +Opera Non-commercial +Cannonball Non-commercial +Dinothawr Non-commercial +FB Alpha Non-commercial +FB Alpha 2012 Non-commercial +FB Alpha 2012 CPS-1 Non-commercial +FB Alpha 2012 CPS-2 Non-commercial +FB Alpha 2012 CPS-3 Non-commercial +FB Alpha 2012 Neo Geo Non-commercial +fMSX Non-commercial +Genesis Plus GX Non-commercial +MAME 2000 MAME (Non-commercial) +MAME 2003 MAME (Non-commercial) +MAME 2003 Midway MAME (Non-commercial) +MAME 2003-Plus MAME (Non-commercial) +MAME 2009 MAME (Non-commercial) +MAME 2010 MAME (Non-commercial) +MAME 2014 MAME (Non-commercial) +MESS 2014 MAME (Non-commercial) +PicoDrive MAME (Non-commercial) +Snes9x Non-commercial +Snes9x 2002 Non-commercial +Snes9x 2005 Non-commercial +Snes9x 2005 Plus Non-commercial +Snes9x 2010 Non-commercial +UME 2014 MAME (Non-commercial) +Libretro License +Lakka Non-commercial +Core License +Dinothawr Non-commercial +FB Alpha Non-commercial +FB Alpha 2012 Non-commercial +FB Alpha 2012 CPS-1 Non-commercial +FB Alpha 2012 CPS-2 Non-commercial +FB Alpha 2012 CPS-3 Non-commercial +FB Alpha 2012 Neo Geo Non-commercial +fMSX Non-commercial +Genesis Plus GX Non-commercial +MAME 2000 MAME (Non-commercial) +MAME 2003 MAME (Non-commercial) +MAME 2003 Midway MAME (Non-commercial) +MAME 2003-Plus MAME (Non-commercial) +MAME 2009 MAME (Non-commercial) +MAME 2010 MAME (Non-commercial) +MAME 2014 MAME (Non-commercial) +MESS 2014 MAME (Non-commercial) +PicoDrive MAME (Non-commercial) +Snes9x Non-commercial +Snes9x 2002 Non-commercial +Snes9x 2005 Non-commercial +Snes9x 2005 Plus Non-commercial +Snes9x 2010 Non-commercial +UME 2014 MAME (Non-commercial) +Libretro¶ +LibRetro API MIT +RetroArch GPLv3 +libretro/docs MIT +libretro/retroarch-assets Attribution 4.0 International (CC BY 4.0) +Cores¶ +3D Engine GPLv3 +2048 Public Domain +Anarch CC0 +Ardens MIT +Atari800 GPLv2 +Beetle bsnes GPLv2 +Beetle Cygne GPLv2 +Beetle GBA GPLv2 +Beetle Lynx zlib, GPLv2 +Beetle NeoPop GPLv2 +Beetle PC-FX GPLv2 +Beetle PCE FAST GPLv2 +Beetle PSX GPLv2 +Beetle PSX HW GPLv2 +Beetle Saturn GPLv2 +Beetle SGX GPLv2 +Beetle VB GPLv2 +blueMSX GPLv2 +bnes GPLv3 +bsnes-mercury Accuracy GPLv3 +bsnes-mercury Balanced GPLv3 +bsnes-mercury Performance GPLv3 +bsnes Accuracy GPLv3 +bsnes Balanced GPLv3 +bsnes C++98 (v085) GPLv3 +bsnes Performance GPLv3 +Caprice32 GPLv2 +ChaiLove MIT +Citra GPLv2 +Citra Canary/Experimental GPLv2 +Craft MIT +CrocoDS MIT +DeSmuME 2015 GPLv2 +DeSmuME GPLv2 +Dolphin GPLv2 +DOSBox GPLv2 +DOSBox Pure GPLv2 +Dummy Core MIT +Dungeon Crawl Stone Soup GPLv2+ +EasyRPG GPLv3 +EightyOne GPLv3 +Elektronika - BK-0010/BK-0011 BSD +EmuSCV GPLv2 +Emux CHIP-8 GPLv2 +Emux GB GPLv2 +Emux NES GPLv2 +Emux SMS GPLv2 +ep128emu GPLv2 +FCEUmm GPLv2 +FFmpeg LGPLv2, GPLv2 +Flycast GPLv2 +FreeIntv GPLv3 +FreeJ2ME GPLv3 +Frodo GPLv2 +Fuse GPLv3 +Gambatte GPLv2 +Game Music Emu GPLv3 +Gearboy GPLv3 +Gearcoleco GPLv3 +Gearsystem GPLv3 +Geolith BSD-3-Clause, MIT +gpSP GPLv2 +GW zlib +Handy zlib +Hatari GPLv2 +higan Accuracy GPLv3 +Imageviewer MIT +Kronos GPLv2 +LowRES NX zlib +Lutro MIT +M2000 GPLv3 +MAME BSD-3-Clause & GNU GPLv2 +MAME 2016 BSD-3-Clause & GNU GPLv2 +melonDS GPLv3 +Mesen GPLv3 +Mesen-S GPLv3 +Meteor GPLv3 +mGBA MPLv2.0 +MicroW8 Unlicense +mpv GPLv3 +Mr.Boom MIT +Mupen64Plus GPLv3 +Mupen64Plus GLES3 GPLv3 +Neko Project II +Neko Project II Kai MIT +Nestopia UE GPLv2 +Numero GPLv2 +nSide Balanced GPLv3 +NXEngine GPLv3 +O2EM Artistic License +OpenLara BSD-2-Clause +Opera Non-commercial +P-UAE GPLv2 +ParaLLEl N64 GPLv3 +PCem GPLv2 +PCSX ReARMed GPLv2 +PCSX ReARMed [Interpreter] GPLv2 +PocketCDG MIT +PokeMini GPLv3 +PPSSPP GPLv2 +PrBoom GPLv2 +ProSystem GPLv2 +PX68k kero_src.txt +QuickNES GPLv2 +Redream (libretro fork) GPLv3 +REminiscence GPLv3 +RemoteJoy GPLv2 +Remote RetroPad MIT +RVVM GPLv3, MPLv2.0 +SameBoy MIT +SameDuck MIT +SAME_CDI GPLv2 +ScummVM GPLv2 +Stella GPLv2 +TempGBA GPLv2 +TGB Dual GPLv2 +The Powder Toy GPLv3 +Theodore GPLv3 +TyrQuake GPLv2 +Uzem GPLv3 +VaporSpec MIT +VBA-M GPLv2 +VBA Next GPLv2 +vecx GPLv3 +VeMUlator GPLv3 +VICE C64 GPLv2 +VICE C128 GPLv2 +VICE PLUS4 GPLv2 +VICE VIC20 GPLv2 +Video Processor BSD-2-Clause +Vircon32 BSD-3-Clause +Virtual Jaguar GPLv3 +VirtualXT zlib-acknowledgement +XRick GPLv3 +YabaSanshiro GPLv2 +Yabause GPLv2 + +--- GZDOOM --- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +--- SCUMMVM --- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +--- Solarus --- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +--- IKEMANGO --- + +MIT License + +Copyright (c) 2016 Suehiro +Copyright (c) 2018 K4thos +Copyright (c) 2018 ShinLucho +Copyright (c) 2018 NeatUnsou +Copyright (c) 2019 Windblade +Copyright (c) 2019 Dan +Copyright (c) 2019 Kidcy +Copyright (c) 2020 Wintermourn +Copyright (c) 2020 Shiyo Kakuge +Copyright (c) 2021 Kamekaze +Copyright (c) 2021 two4teezee +Copyright (c) 2021 Super +Copyright (c) 2022 Eiton +Copyright (c) 2022 Sam Hocevar +Copyright (c) 2022 GaryCXJk +Copyright (c) 2022 Lazin3ss +Copyright (c) 2022 potsmugen +Copyright (c) 2023 BwdYeti +Copyright (c) 2023 fantasma +Copyright (c) 2023 Wftk + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +The MIT License applies to the Ikemen GO engine and the scripts in this repo. + +---------------------------------------------------------------------------- + +以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」) +の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。 +これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および +または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。 + +上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。 + +ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。 +ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、 +それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、 +ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、 +その他の義務について何らの責任も負わないものとします。 + +---------------------------------------------------------------------------- + +Work contributed to Ikemen GO by various artists is licensed under a Creative Commons Attribution 3.0 Unported License. +http://creativecommons.org/licenses/by/3.0/deed.en_US +The license applies to following assets: +- The "default-3x5" font by Gacel. +- The icon/logo of the engine by Cylia Margatroid. + +---------------------------------------------------------------------------- + +On release builds the engine is packed with more assets that could have different licences. +If you are using a release build check the "ScreenpackLicence.txt" file for more info. + + +--- ART AND ASSESTS --- + + +--- Kenney.nl --- + +RetroDECK Team owns a seperate donation license. + +Licenses: CC0 & CC1. + + +--- Pixel UI Theme for Godot --- + +RetroDECK Team owns a license. + + +--- Pixel Sans 13 --- + +Licenses: Creative Commons + + +--- Mini Banner --- + +Pixel Art is made by the group: Weestuarty, DerSchlachter (LaunchBox), Dan Patrick. + +Permission by representive Weestuarty to use in RetroDECK. + +--- Dungeon Crawl Stone Soup --- + +CC0 + +--- Steam Deck & Steam Deck Logo --- + +The Steam Deck logo and Steam Deck device is a registered trademark of Valve Corporation. This project is in no way officially affiliated with Valve. + +--- Other Trademarks in Documentation and Wiki --- + +All trademarks, logos, controller images and brand names are the property of their respective owners. All company, product and service names used in this project are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement. From dff219c770d1ef01c5b89b2c61c900dc6d2077f4 Mon Sep 17 00:00:00 2001 From: laz Date: Sat, 14 Sep 2024 18:21:41 +0200 Subject: [PATCH 25/74] licence fixes --- other_licenses.txt | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/other_licenses.txt b/other_licenses.txt index d441dc0f..32f8353a 100644 --- a/other_licenses.txt +++ b/other_licenses.txt @@ -12543,6 +12543,34 @@ RetroDECK Team owns a license. Licenses: Creative Commons +--- Pixelitos --- + +(We also got a personal blessing from ItzSelenux to use it) + +MIT License + +Copyright (c) 2022 ItzSelenux + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + + --- Mini Banner --- Pixel Art is made by the group: Weestuarty, DerSchlachter (LaunchBox), Dan Patrick. From d7f51433316907c4c24f37e5f1640decb8b3922a Mon Sep 17 00:00:00 2001 From: Rekku Date: Sat, 14 Sep 2024 18:51:06 +0100 Subject: [PATCH 26/74] Font preferences --- config/retrodeck/retrodeck.cfg | 1 + .../assets/themes/accesible_theme.tres | 16 ---- .../assets/themes/modern_theme.tres | 16 ---- .../assets/themes/retro_theme.tres | 16 ---- .../components/bios_check/bios_check.gd | 2 - tools/configurator/components/popup.gd | 2 - .../configurator/components/popup_dialogue.gd | 2 - tools/configurator/main.tscn | 14 +++- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/class_functions.gd | 4 +- tools/configurator/scripts/main.gd | 28 +++---- 11 files changed, 67 insertions(+), 118 deletions(-) delete mode 100644 tools/configurator/assets/themes/accesible_theme.tres delete mode 100644 tools/configurator/assets/themes/modern_theme.tres delete mode 100644 tools/configurator/assets/themes/retro_theme.tres diff --git a/config/retrodeck/retrodeck.cfg b/config/retrodeck/retrodeck.cfg index 215241bd..d96f7d31 100644 --- a/config/retrodeck/retrodeck.cfg +++ b/config/retrodeck/retrodeck.cfg @@ -33,6 +33,7 @@ kiroi_ponzu=false akai_ponzu=false sound_effects=true volume_effects=10 +font=1 [cheevos] duckstation=false diff --git a/tools/configurator/assets/themes/accesible_theme.tres b/tools/configurator/assets/themes/accesible_theme.tres deleted file mode 100644 index b0cacff0..00000000 --- a/tools/configurator/assets/themes/accesible_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://co27jgr76wvcl"] - -[ext_resource type="FontFile" uid="uid://c8lbo5ljgtaaa" path="res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf" id="1_d8f12"] -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_d8f12") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/modern_theme.tres b/tools/configurator/assets/themes/modern_theme.tres deleted file mode 100644 index e0294d5c..00000000 --- a/tools/configurator/assets/themes/modern_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://dcyix4kssqal2"] - -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="FontFile" uid="uid://1x3s2oon2g64" path="res://assets/fonts/akrobat/Akrobat-Regular.otf" id="1_qs1qb"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_qs1qb") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/retro_theme.tres b/tools/configurator/assets/themes/retro_theme.tres deleted file mode 100644 index a2b0b898..00000000 --- a/tools/configurator/assets/themes/retro_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://3ljv5xgd4c1u"] - -[ext_resource type="FontFile" uid="uid://q405aelgnmvo" path="res://assets/fonts/munro/munro.ttf" id="1_kirwi"] -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_kirwi") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index a6c14f17..343e7845 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -5,10 +5,8 @@ var console: bool = false var BIOS_COLUMNS_BASIC := ["BIOS File Name", "System", "Found", "Hash Match", "Description"] var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash Match", "Description", "Subdirectory", "Hash"] @onready var bios_type:int = get_tree().current_scene.bios_type -@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): - $".".theme = custom_theme var table := $Table if bios_type == 1: #Basic BIOS button pressed table.columns = BIOS_COLUMNS_BASIC.size() diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 4d75e012..37590c33 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -1,7 +1,6 @@ extends Control var content = null -@onready var custom_theme: Theme = get_tree().current_scene.custom_theme #@onready var button_off = get_node(current_scene.%l1_button)# .current_scene.l1_button @onready var lbhide: TextureButton = get_tree().current_scene.get_node("%l1_button") @onready var rbhide: TextureButton = get_tree().current_scene.get_node("%r1_button") @@ -10,7 +9,6 @@ var content = null func _ready(): lbhide.visible=false rbhide.visible=false - $".".theme = custom_theme # TODO this alowes copy and paste from RTB in logs? if (content != null and bios_type > 0): $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer.add_child(content) diff --git a/tools/configurator/components/popup_dialogue.gd b/tools/configurator/components/popup_dialogue.gd index 3b9250d5..0827806d 100644 --- a/tools/configurator/components/popup_dialogue.gd +++ b/tools/configurator/components/popup_dialogue.gd @@ -1,11 +1,9 @@ extends Control -@onready var custom_theme: Theme = get_tree().current_scene.custom_theme var command: String var parameters: Array func _ready(): - $".".theme = custom_theme var args = OS.get_cmdline_args() for arg in range(args.size()): if args[arg] == "--title" and arg + 1 < args.size(): diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 95a66309..c1b74bf2 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=113 format=3 uid="uid://61f6m4r1mpan"] [ext_resource type="Texture2D" uid="uid://bv6vh33cnfaw4" path="res://icon.svg" id="1_axfei"] -[ext_resource type="Theme" uid="uid://hhc60cllcg47" path="res://assets/themes/default_theme.tres" id="1_if8nh"] +[ext_resource type="Theme" path="res://assets/themes/default_theme.tres" id="1_if8nh"] [ext_resource type="Script" path="res://scripts/main.gd" id="1_obpq7"] [ext_resource type="Script" path="res://scripts/TabContainer.gd" id="3_id6l4"] [ext_resource type="AudioStream" uid="uid://dig4pco500pyt" path="res://res/configurator.mp3" id="3_xivj6"] @@ -19,7 +19,7 @@ [ext_resource type="Script" path="res://helper_text.gd" id="5_cprkf"] [ext_resource type="Texture2D" uid="uid://dxdhjp18rgmr4" path="res://res/flags/united_kingdom_32.png" id="5_exkn2"] [ext_resource type="Texture2D" uid="uid://du8go5dyabmsl" path="res://assets/icons/banner/gb.png" id="5_ja8to"] -[ext_resource type="StyleBox" uid="uid://ba3l3ja1jbqpx" path="res://assets/themes/emulators.tres" id="5_rjtkn"] +[ext_resource type="StyleBox" 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"] @@ -715,17 +715,21 @@ layout_mode = 2 [node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(100, 100) layout_mode = 2 text = "AUTO UPDATES" icon = ExtResource("55_x32s4") alignment = 1 +expand_icon = true [node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(100, 100) layout_mode = 2 text = "SOUND EFFECTS" icon = ExtResource("9_qwq2k") alignment = 1 +expand_icon = true [node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true @@ -737,13 +741,15 @@ value = 10.0 rounded = true tick_count = 25 -[node name="theme_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="font_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(100, 100) layout_mode = 2 alignment = 1 +expand_icon = true selected = 0 item_count = 5 -popup/item_0/text = "Choose Theme" +popup/item_0/text = "CHOOSE FONT" popup/item_0/icon = ExtResource("54_dah1j") popup/item_0/disabled = true popup/item_0/separator = true diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 098422ab..0be0e6e4 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_48lkm"] +[sub_resource type="Image" id="Image_ghs4o"] 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_48lkm") +image = SubResource("Image_ghs4o") -[sub_resource type="Image" id="Image_e4ujv"] +[sub_resource type="Image" id="Image_y74es"] 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_e4ujv") +image = SubResource("Image_y74es") [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_l30db"] +[sub_resource type="Image" id="Image_g8gfn"] 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_l30db") +image = SubResource("Image_g8gfn") [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_3eikd"] +[sub_resource type="Image" id="Image_jyodr"] 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_3eikd") +image = SubResource("Image_jyodr") [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_0u0mm"] +[sub_resource type="Image" id="Image_yvtxh"] 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_0u0mm") +image = SubResource("Image_yvtxh") [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_se5xk"] +[sub_resource type="Image" id="Image_p0l76"] 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_se5xk") +image = SubResource("Image_p0l76") [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_f06n2"] +[sub_resource type="Image" id="Image_wksdu"] 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_f06n2") +image = SubResource("Image_wksdu") -[sub_resource type="Image" id="Image_tnix5"] +[sub_resource type="Image" id="Image_3hcs8"] 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_tnix5") +image = SubResource("Image_3hcs8") -[sub_resource type="Image" id="Image_nl7m1"] +[sub_resource type="Image" id="Image_qx1ba"] 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_nl7m1") +image = SubResource("Image_qx1ba") -[sub_resource type="Image" id="Image_5qvq7"] +[sub_resource type="Image" id="Image_aa0hh"] 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_5qvq7") +image = SubResource("Image_aa0hh") -[sub_resource type="Image" id="Image_pt1jp"] +[sub_resource type="Image" id="Image_iywhr"] 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_pt1jp") +image = SubResource("Image_iywhr") [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_l0uo4"] +[sub_resource type="Image" id="Image_57443"] 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_l0uo4") +image = SubResource("Image_57443") [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_vh5ri"] +[sub_resource type="Image" id="Image_3yj20"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_vh5ri") +image = SubResource("Image_3yj20") [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_ltj0l"] +[sub_resource type="Image" id="Image_ywbvo"] 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_ltj0l") +image = SubResource("Image_ywbvo") [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_ihrox"] +[sub_resource type="Image" id="Image_fpjkx"] 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_ihrox") +image = SubResource("Image_fpjkx") -[sub_resource type="Image" id="Image_fvd3g"] +[sub_resource type="Image" id="Image_ijkap"] 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_fvd3g") +image = SubResource("Image_ijkap") -[sub_resource type="Image" id="Image_vy35e"] +[sub_resource type="Image" id="Image_nuk3q"] 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_vy35e") +image = SubResource("Image_nuk3q") -[sub_resource type="Image" id="Image_36iwl"] +[sub_resource type="Image" id="Image_udnjc"] 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_36iwl") +image = SubResource("Image_udnjc") [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_h34v5"] +[sub_resource type="Image" id="Image_sqruc"] 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_h34v5") +image = SubResource("Image_sqruc") -[sub_resource type="Image" id="Image_4ujov"] +[sub_resource type="Image" id="Image_7bbc6"] 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_4ujov") +image = SubResource("Image_7bbc6") [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_dcryu"] +[sub_resource type="Image" id="Image_ybomn"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_dcryu") +image = SubResource("Image_ybomn") [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 c43d62f4..fb80679a 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -22,8 +22,8 @@ var title: String var quick_resume_status: bool var update_check: bool var abxy_state: String +var font_select: int signal update_global_signal -var custom_theme: Theme = $".".theme func _ready(): read_values_states() @@ -45,7 +45,7 @@ func read_values_states() -> void: update_check = config["options"]["update_check"] sound_effects = config["options"]["sound_effects"] volume_effects = int(config["options"]["volume_effects"]) - + font_select = int(config["options"]["font"]) multi_state("abxy_button_swap") func multi_state(section: String) -> void: diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 7cd903e0..cf725aba 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -1,9 +1,7 @@ extends Control @onready var bios_type:int -var theme_option: OptionButton -#signal signal_theme_changed -var custom_theme: Theme# = $".".theme +var custom_theme: Theme var log_option: OptionButton var tab_container: TabContainer var anim_logo: AnimatedSprite2D @@ -31,6 +29,7 @@ func _ready(): if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled n.self_modulate.a = 0.5 #make it half transparent #combine_tkeys() + change_font(class_functions.font_select) func _input(event): if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): @@ -57,14 +56,13 @@ func _exit(): get_tree().quit() func _get_nodes() -> void: - theme_option = get_node("%theme_optionbutton") tab_container = get_node("%TabContainer") anim_logo = get_node("%logo_animated") log_option = get_node("%logs_button") func _connect_signals() -> void: #signal_theme_changed.connect(_conf_theme) - theme_option.item_selected.connect(_conf_theme) + %font_optionbutton.item_selected.connect(change_font) log_option.item_selected.connect(_load_log) %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) @@ -218,20 +216,18 @@ func _set_up_globals() -> void: %button_swap_button.add_theme_stylebox_override("normal", style_box) %button_swap_button.toggle_mode = false -func _conf_theme(index: int) -> void: +func change_font(index: int) -> void: + var font_file: FontFile match index: 1: - class_functions.logger("i","Set theme to index " + str(index)) - #custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") - + font_file = load("res://res/pixel_ui_theme/pixel-sans.otf") 2: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/retro_theme.tres") + font_file = load("res://assets/fonts/munro/munro.ttf") 3: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/modern_theme.tres") + font_file = load("res://assets/fonts/akrobat/Akrobat-Regular.otf") 4: - class_functions.logger("i","Set theme to index " + str(index)) - custom_theme = preload("res://assets/themes/accesible_theme.tres") + font_file = load("res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf") + custom_theme = load("res://assets/themes/default_theme.tres") + custom_theme.set_font("font", "Control", font_file) $".".theme = custom_theme - #data_handler.change_cfg_value(class_functions.config_file_path, "theme", "options", str(index)) + data_handler.change_cfg_value(class_functions.config_file_path, "font", "options", str(index)) From 6044f86160e8b1f4f5dc3c6016fdb063eff2a879 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 15 Sep 2024 19:09:01 +0900 Subject: [PATCH 27/74] DEVELOPER_TOOLBOX: added okonomiyaki script [skip ci] --- developer_toolbox/cook_okonomiyaki.sh | 32 +++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 developer_toolbox/cook_okonomiyaki.sh diff --git a/developer_toolbox/cook_okonomiyaki.sh b/developer_toolbox/cook_okonomiyaki.sh new file mode 100755 index 00000000..0f2288bb --- /dev/null +++ b/developer_toolbox/cook_okonomiyaki.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +# List of branches to pull and merge +branches=( + "cooker" + "feat/shadps4" + "feat/PortMaster" + "feat/steam-rom-manager" +) + +# Get the current branch name +current_branch=$(git branch --show-current) + +# Check if the current branch contains 'feat/' and 'okonomiyaki' +if [[ $current_branch == feat/* && $current_branch == *okonomiyaki* ]]; then + echo "Current branch is $current_branch, proceeding with fetch, pull, and merge." + + # Iterate through the list of branches + for branch in "${branches[@]}"; do + echo "Fetching $branch..." + git fetch origin $branch + + echo "Pulling $branch..." + git pull origin $branch + + echo "Merging $branch into $current_branch..." + git merge origin/$branch + done +else + echo "Current branch is not an okonomiyaki branch, quitting." + exit 1 +fi From 821662bc4564dcb61c0126a12a7a91e9e02dc4eb Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 15 Sep 2024 19:11:30 +0900 Subject: [PATCH 28/74] DEVELOPER_TOOLBOX: improved okonomiyaki script [skip ci] --- developer_toolbox/cook_okonomiyaki.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/developer_toolbox/cook_okonomiyaki.sh b/developer_toolbox/cook_okonomiyaki.sh index 0f2288bb..8b2717bd 100755 --- a/developer_toolbox/cook_okonomiyaki.sh +++ b/developer_toolbox/cook_okonomiyaki.sh @@ -24,7 +24,11 @@ if [[ $current_branch == feat/* && $current_branch == *okonomiyaki* ]]; then git pull origin $branch echo "Merging $branch into $current_branch..." - git merge origin/$branch + if ! git merge origin/$branch; then + echo "Merge conflict detected while merging $branch!" + echo "Please resolve the conflict, then run 'git merge --continue' to finish the merge." + exit 1 # Exit the script due to conflict + fi done else echo "Current branch is not an okonomiyaki branch, quitting." From 90803ec13465c728bbe7ed2e7f9ac8c9c2ac47bd Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sun, 15 Sep 2024 20:18:33 +0900 Subject: [PATCH 29/74] RELEASE_SELECTOR: fixed PR not poresent + enhanced release labeling --- functions/other_functions.sh | 43 +++++++++++++++++++++++++++++++----- 1 file changed, 38 insertions(+), 5 deletions(-) diff --git a/functions/other_functions.sh b/functions/other_functions.sh index f8d6a012..b10bb705 100644 --- a/functions/other_functions.sh +++ b/functions/other_functions.sh @@ -775,6 +775,15 @@ ponzu_remove() { } release_selector() { + # Show a progress bar + ( + while true; do + echo "# Fetching all available releases from GitHub repositories... Please wait. This may take some time." ; sleep 1 + done + ) | zenity --progress --title="Fetching Releases" --text="Fetching releases..." --pulsate --no-cancel --auto-close --width=500 --height=150 & + + progress_pid=$! # save process PID to kill it later + log d "Fetching releases from GitHub API for repository $cooker_repository_name" # Fetch the main release from the RetroDECK repository @@ -783,6 +792,7 @@ release_selector() { if [[ -z "$main_release" ]]; then log e "Failed to fetch the main release" + kill $progress_pid # kill the progress bar configurator_generic_dialog "Error" "Unable to fetch the main release. Please check your network connection or try again later." return 1 fi @@ -796,11 +806,12 @@ release_selector() { # Add the main release as the first entry in the release array local release_array=("Main Release" "$main_tag_name" "$main_human_readable_date") - # Fetch all releases from the Cooker repository - local releases=$(curl -s https://api.github.com/repos/$git_organization_name/$cooker_repository_name/releases) + # Fetch all releases (including draft and pre-release) from the Cooker repository + local releases=$(curl -s https://api.github.com/repos/$git_organization_name/$cooker_repository_name/releases?per_page=100) if [[ -z "$releases" ]]; then log e "Failed to fetch releases or no releases available" + kill $progress_pid # kill the progress bar configurator_generic_dialog "Error" "Unable to fetch releases. Please check your network connection or try again later." return 1 fi @@ -809,15 +820,37 @@ release_selector() { while IFS= read -r release; do tag_name=$(echo "$release" | jq -r '.tag_name') published_at=$(echo "$release" | jq -r '.published_at') + draft=$(echo "$release" | jq -r '.draft') + prerelease=$(echo "$release" | jq -r '.prerelease') - # Convert published_at to human-readable format - human_readable_date=$(date -d "$published_at" +"%d %B %Y %H:%M") + # Classifying releases + if echo "$tag_name" | grep -q "PR"; then + status="Pull Request" + elif [[ "$draft" == "true" ]]; then + status="Draft" + elif [[ "$prerelease" == "true" ]]; then + status="Pre-release" + elif [[ "$cooker_repository_name" == *"Cooker"* ]]; then + status="Cooker" + else + status="Main" + fi + + # Convert published_at to human-readable format, if available + if [[ "$published_at" != "null" ]]; then + human_readable_date=$(date -d "$published_at" +"%d %B %Y %H:%M") + else + human_readable_date="Not published" + fi # Ensure fields are properly aligned for Zenity - release_array+=("Cooker Channel" "$tag_name" "$human_readable_date") + release_array+=("$status" "$tag_name" "$human_readable_date") done < <(echo "$releases" | jq -c '.[]' | sort -t: -k3,3r) + # kill the progress bar before opening the release list window + kill $progress_pid + if [[ ${#release_array[@]} -eq 0 ]]; then configurator_generic_dialog "RetroDECK Updater" "No available releases found, exiting." log d "No available releases found" From d861255c441fb151f547ef2439985346198499ba Mon Sep 17 00:00:00 2001 From: Rekku Date: Sun, 15 Sep 2024 19:18:48 +0100 Subject: [PATCH 30/74] Generic mulitples --- tools/configurator/main.tscn | 155 +++++++++++++++--- tools/configurator/project.godot | 1 - .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++----- tools/configurator/scripts/TabAbout.gd | 114 ++++--------- .../scripts/{GlobalsTab.gd => TabGlobals.gd} | 2 +- .../{SettingsTab.gd => TabSettings.gd} | 0 .../scripts/{SystemTab.gd => TabSystem.gd} | 0 tools/configurator/scripts/class_functions.gd | 84 +++++----- .../configurator/scripts/controller_guide.gd | 2 +- tools/configurator/scripts/data_handler.gd | 18 +- tools/configurator/scripts/main.gd | 63 +++---- 11 files changed, 285 insertions(+), 238 deletions(-) rename tools/configurator/scripts/{GlobalsTab.gd => TabGlobals.gd} (76%) rename tools/configurator/scripts/{SettingsTab.gd => TabSettings.gd} (100%) rename tools/configurator/scripts/{SystemTab.gd => TabSystem.gd} (100%) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index c1b74bf2..229586ab 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,11 +1,11 @@ [gd_scene load_steps=113 format=3 uid="uid://61f6m4r1mpan"] [ext_resource type="Texture2D" uid="uid://bv6vh33cnfaw4" path="res://icon.svg" id="1_axfei"] -[ext_resource type="Theme" path="res://assets/themes/default_theme.tres" id="1_if8nh"] +[ext_resource type="Theme" uid="uid://hhc60cllcg47" path="res://assets/themes/default_theme.tres" id="1_if8nh"] [ext_resource type="Script" path="res://scripts/main.gd" id="1_obpq7"] [ext_resource type="Script" path="res://scripts/TabContainer.gd" id="3_id6l4"] [ext_resource type="AudioStream" uid="uid://dig4pco500pyt" path="res://res/configurator.mp3" id="3_xivj6"] -[ext_resource type="Script" path="res://scripts/GlobalsTab.gd" id="4_2jqfc"] +[ext_resource type="Script" path="res://scripts/TabGlobals.gd" id="4_2jqfc"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="4_2tuu4"] [ext_resource type="Texture2D" uid="uid://qu88ngewoj4w" path="res://assets/icons/pixelitos/128/applications-games.png" id="4_caaxx"] [ext_resource type="Texture2D" uid="uid://bdj8vt3vhucq4" path="res://assets/icons/pixelitos/128/cs-display.png" id="4_jldgc"] @@ -19,7 +19,7 @@ [ext_resource type="Script" path="res://helper_text.gd" id="5_cprkf"] [ext_resource type="Texture2D" uid="uid://dxdhjp18rgmr4" path="res://res/flags/united_kingdom_32.png" id="5_exkn2"] [ext_resource type="Texture2D" uid="uid://du8go5dyabmsl" path="res://assets/icons/banner/gb.png" id="5_ja8to"] -[ext_resource type="StyleBox" path="res://assets/themes/emulators.tres" id="5_rjtkn"] +[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"] @@ -63,7 +63,7 @@ [ext_resource type="Texture2D" uid="uid://cc7ohmfxafe78" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png" id="33_1ghye"] [ext_resource type="Texture2D" uid="uid://cs8lh31kh7jv1" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0048.png" id="34_fum2b"] [ext_resource type="Texture2D" uid="uid://chd6d8tx081hm" path="res://assets/icons/pixelitos/128/org.mamedev.MAME.png" id="36_dj81i"] -[ext_resource type="Script" path="res://scripts/SystemTab.gd" id="36_wv31h"] +[ext_resource type="Script" path="res://scripts/TabSystem.gd" id="36_wv31h"] [ext_resource type="Texture2D" uid="uid://10pyy05xqpr4" path="res://assets/icons/pixelitos/128/ruffle.png" id="37_7hhbn"] [ext_resource type="Texture2D" uid="uid://fhxlwf7in0ke" path="res://assets/icons/pixelitos/128/net.pcsx2.PCSX2.png" id="38_44je8"] [ext_resource type="Texture2D" uid="uid://dpi351mmxu7x6" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png" id="38_prt7u"] @@ -82,7 +82,7 @@ [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] [ext_resource type="Script" path="res://scripts/ToolsTab.gd" id="50_wqa5h"] [ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] -[ext_resource type="Script" path="res://scripts/SettingsTab.gd" id="54_bxhvn"] +[ext_resource type="Script" path="res://scripts/TabSettings.gd" id="54_bxhvn"] [ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] [ext_resource type="Texture2D" uid="uid://c5ik1giuv1ar5" path="res://assets/icons/pixelitos/128/system-lock-screen.png" id="54_f245y"] [ext_resource type="Texture2D" uid="uid://d4ee8j2kh1tmy" path="res://assets/icons/pixelitos/128/cs-themes.png" id="55_wv2p5"] @@ -220,12 +220,11 @@ size_flags_horizontal = 3 unique_name_in_owner = true layout_mode = 2 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 @@ -252,20 +251,23 @@ layout_mode = 2 [node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 +theme_override_constants/h_separation = 25 +theme_override_constants/v_separation = 25 columns = 3 [node name="borders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "BORDERS" icon = ExtResource("4_jldgc") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true [node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 tooltip_text = "Change to Nintendo style button mappings." text = "BUTTON SWAP @@ -274,19 +276,21 @@ icon = ExtResource("4_caaxx") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true [node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "MODS" icon = ExtResource("5_vehlp") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true [node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 tooltip_text = "RetroArch Cores/Systems only" text = "QUICK RESUME" @@ -294,36 +298,51 @@ icon = ExtResource("12_3jrmi") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true [node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "QUICK REWIND" icon = ExtResource("11_c3qcy") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true [node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "TATE MODE" icon = ExtResource("10_jm3oh") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true [node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "SHADERS" icon = ExtResource("4_q6hd2") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true + +[node name="widescreen_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(375, 125) +layout_mode = 2 +text = "WIDESCREEN" +icon = ExtResource("4_jldgc") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true [node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "RESET RETROCECK" icon = ExtResource("11_g1uhn") @@ -333,13 +352,14 @@ vertical_icon_alignment = 0 expand_icon = true [node name="reset_all_emulators" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(345, 222) +custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "RESET ALL EMULATORS" icon = ExtResource("45_qxd26") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 +expand_icon = true [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false @@ -360,122 +380,179 @@ size_flags_vertical = 3 [node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 +theme_override_constants/h_separation = 25 +theme_override_constants/v_separation = 25 columns = 4 [node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "RETROARCH" icon = ExtResource("4_xcuib") +expand_icon = true [node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "MAME" icon = ExtResource("36_dj81i") +expand_icon = true [node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "RUFFLE" icon = ExtResource("37_7hhbn") +expand_icon = true [node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "MELONDS" icon = ExtResource("7_4otos") +expand_icon = true [node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "PCSX2" icon = ExtResource("38_44je8") +expand_icon = true [node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "DUCKSTATION" icon = ExtResource("6_winpq") +expand_icon = true [node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "PPSSPP" icon = ExtResource("8_akxf7") +expand_icon = true [node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "VITA3K" icon = ExtResource("38_vsjf2") +expand_icon = true [node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "RPCS3" icon = ExtResource("8_ec4gt") +expand_icon = true [node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "RYUJINX" icon = ExtResource("40_7fdvq") +expand_icon = true [node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "DOLPHIN" icon = ExtResource("11_61sak") +expand_icon = true [node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "PRIMEHACK" icon = ExtResource("41_55e56") +expand_icon = true [node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "CEMU" icon = ExtResource("42_n3n7j") +expand_icon = true [node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "XEMU" icon = ExtResource("43_ifi6j") +expand_icon = true [node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(256, 125) layout_mode = 2 +theme_override_constants/icon_max_width = 128 text = "ES-DE" icon = ExtResource("44_7lpj5") +expand_icon = true [node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 +theme_override_constants/h_separation = 25 +theme_override_constants/v_separation = 25 [node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 size_flags_horizontal = 3 text = "HELP" icon = ExtResource("46_feagl") +expand_icon = true [node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 action_mode = 0 text = "LAUNCH" icon = ExtResource("45_qxd26") +expand_icon = true [node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 text = "RESET" icon = ExtResource("12_3jrmi") +expand_icon = true [node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer/reset_button"] unique_name_in_owner = true @@ -492,27 +569,36 @@ show_percentage = false [node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 action_mode = 0 text = "INSTALL FIRMWARE" icon = ExtResource("8_ec4gt") +expand_icon = true [node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 action_mode = 0 text = "INSTALL FIRMWARE" icon = ExtResource("38_vsjf2") +expand_icon = true [node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 action_mode = 0 text = "QUICK RESUME" icon = ExtResource("4_xcuib") alignment = 1 +expand_icon = true [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false @@ -530,18 +616,23 @@ theme_override_constants/separation = 64 [node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 +theme_override_constants/separation = 25 [node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 toggle_mode = true text = "CHECK CONNECTION" icon = ExtResource("50_5d2ui") +expand_icon = true [node name="logs_button" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 alignment = 1 +expand_icon = true selected = 0 item_count = 4 popup/item_0/text = "LOGS" @@ -559,20 +650,26 @@ popup/item_3/icon = ExtResource("4_xcuib") popup/item_3/id = 3 [node name="bios_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "BIOS STANDARD" icon = ExtResource("50_tl5ty") +expand_icon = true [node name="bios_button_expert" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "BIOS EXPERT" icon = ExtResource("50_tl5ty") +expand_icon = true [node name="backup_user_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "BACKUP USER DATA" icon = ExtResource("54_f245y") +expand_icon = true [node name="progress_bar_backup" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/backup_user_button"] unique_name_in_owner = true @@ -610,6 +707,7 @@ text = "TK_STEAMCONTEMP" layout_mode = 2 size_flags_horizontal = 10 size_flags_vertical = 4 +disabled = true text = "TK_INSTALL" [node name="button_layout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] @@ -662,6 +760,7 @@ text = "TK_GRIDINSTALL" [node name="fav_steam" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] layout_mode = 2 +disabled = true text = "TK_FAVSTEAM" [node name="scan_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] @@ -681,14 +780,11 @@ text = "TK_SCUMMVMSCAN" [node name="multifile_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 +disabled = true 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 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -715,7 +811,7 @@ layout_mode = 2 [node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true -custom_minimum_size = Vector2(100, 100) +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "AUTO UPDATES" icon = ExtResource("55_x32s4") @@ -724,7 +820,7 @@ expand_icon = true [node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true -custom_minimum_size = Vector2(100, 100) +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "SOUND EFFECTS" icon = ExtResource("9_qwq2k") @@ -743,7 +839,7 @@ tick_count = 25 [node name="font_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true -custom_minimum_size = Vector2(100, 100) +custom_minimum_size = Vector2(0, 100) layout_mode = 2 alignment = 1 expand_icon = true @@ -772,6 +868,7 @@ disabled = true text = "TK_MUSIC" icon = ExtResource("58_oismn") alignment = 1 +expand_icon = true [node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 @@ -780,10 +877,14 @@ button_pressed = true text = "TK_EASTEREGGS" icon = ExtResource("56_witym") alignment = 1 +expand_icon = true [node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +disabled = true alignment = 1 +expand_icon = true selected = 0 item_count = 4 popup/item_0/text = "TK_MULTIUSR" @@ -803,7 +904,9 @@ popup/item_3/id = 3 layout_mode = 2 [node name="cheevos" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +disabled = true text = "TK_CHEEVOS" [node name="cheevos_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] @@ -866,6 +969,7 @@ 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 +disabled = true text = "TK_LOGIN" [node name="netplay_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] @@ -931,6 +1035,7 @@ layout_mode = 2 layout_mode = 2 size_flags_horizontal = 3 disabled = true +toggle_mode = false text = "TK_SAVESSYNC" [node name="ftp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] @@ -989,7 +1094,7 @@ unique_name_in_owner = true layout_mode = 2 theme_override_constants/h_separation = 20 theme_override_constants/v_separation = 20 -columns = 5 +columns = 4 [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 7c54ede6..0e614c27 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -27,7 +27,6 @@ data_handler="*res://scripts/data_handler.gd" window/size/viewport_width=1280 window/size/viewport_height=800 -window/size/borderless=true window/stretch/mode="canvas_items" [filesystem] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 0be0e6e4..1687a867 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_ghs4o"] +[sub_resource type="Image" id="Image_nu6pr"] 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_ghs4o") +image = SubResource("Image_nu6pr") -[sub_resource type="Image" id="Image_y74es"] +[sub_resource type="Image" id="Image_g63b3"] 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_y74es") +image = SubResource("Image_g63b3") [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_g8gfn"] +[sub_resource type="Image" id="Image_asfoq"] 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_g8gfn") +image = SubResource("Image_asfoq") [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_jyodr"] +[sub_resource type="Image" id="Image_ki6gy"] 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_jyodr") +image = SubResource("Image_ki6gy") [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_yvtxh"] +[sub_resource type="Image" id="Image_jvn7o"] 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_yvtxh") +image = SubResource("Image_jvn7o") [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_p0l76"] +[sub_resource type="Image" id="Image_jy5tk"] 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_p0l76") +image = SubResource("Image_jy5tk") [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_wksdu"] +[sub_resource type="Image" id="Image_jc3ub"] 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_wksdu") +image = SubResource("Image_jc3ub") -[sub_resource type="Image" id="Image_3hcs8"] +[sub_resource type="Image" id="Image_un5by"] 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_3hcs8") +image = SubResource("Image_un5by") -[sub_resource type="Image" id="Image_qx1ba"] +[sub_resource type="Image" id="Image_dcqu5"] 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_qx1ba") +image = SubResource("Image_dcqu5") -[sub_resource type="Image" id="Image_aa0hh"] +[sub_resource type="Image" id="Image_65nnb"] 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_aa0hh") +image = SubResource("Image_65nnb") -[sub_resource type="Image" id="Image_iywhr"] +[sub_resource type="Image" id="Image_gyvu3"] 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_iywhr") +image = SubResource("Image_gyvu3") [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_57443"] +[sub_resource type="Image" id="Image_el5uk"] 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_57443") +image = SubResource("Image_el5uk") [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_3yj20"] +[sub_resource type="Image" id="Image_dpyi6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_3yj20") +image = SubResource("Image_dpyi6") [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_ywbvo"] +[sub_resource type="Image" id="Image_hu6ex"] 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_ywbvo") +image = SubResource("Image_hu6ex") [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_fpjkx"] +[sub_resource type="Image" id="Image_t3urt"] 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_fpjkx") +image = SubResource("Image_t3urt") -[sub_resource type="Image" id="Image_ijkap"] +[sub_resource type="Image" id="Image_oinpy"] 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_ijkap") +image = SubResource("Image_oinpy") -[sub_resource type="Image" id="Image_nuk3q"] +[sub_resource type="Image" id="Image_84q7w"] 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_nuk3q") +image = SubResource("Image_84q7w") -[sub_resource type="Image" id="Image_udnjc"] +[sub_resource type="Image" id="Image_ugbyv"] 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_udnjc") +image = SubResource("Image_ugbyv") [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_sqruc"] +[sub_resource type="Image" id="Image_8rm82"] 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_sqruc") +image = SubResource("Image_8rm82") -[sub_resource type="Image" id="Image_7bbc6"] +[sub_resource type="Image" id="Image_mpaam"] 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_7bbc6") +image = SubResource("Image_mpaam") [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_ybomn"] +[sub_resource type="Image" id="Image_flyey"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_ybomn") +image = SubResource("Image_flyey") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabAbout.gd b/tools/configurator/scripts/TabAbout.gd index 863eece1..98f752bf 100644 --- a/tools/configurator/scripts/TabAbout.gd +++ b/tools/configurator/scripts/TabAbout.gd @@ -1,15 +1,15 @@ extends MarginContainer -var rd_web_button := Button.new() -var rd_changelog_button := Button.new() -var rd_wiki_button := Button.new() -var rd_credits_button := Button.new() -var rd_donate_button := Button.new() -var rd_contactus_button := Button.new() -var rd_licenses_button := Button.new() +var rd_web_button:= Button.new() +var rd_changelog_button:= Button.new() +var rd_wiki_button:= Button.new() +var rd_credits_button:= Button.new() +var rd_donate_button:= Button.new() +var rd_contactus_button:= Button.new() +var rd_licenses_button:= Button.new() var app_data:= AppData.new() -var bArray :Array = [rd_web_button,rd_changelog_button,rd_wiki_button, -rd_credits_button,rd_donate_button,rd_contactus_button,rd_licenses_button] +var button_array: Array = [rd_web_button, rd_changelog_button, rd_wiki_button, rd_credits_button, rd_donate_button, rd_contactus_button, rd_licenses_button] +var web_id: Array = ["rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses"] func _ready(): #tk_about = class_functions.import_csv_data("res://tk_about.txt") @@ -18,80 +18,32 @@ func _ready(): create_buttons() func _connect_signals() -> void: - rd_web_button.pressed.connect(_about_button_pressed.bind("rd_web", rd_web_button)) - rd_changelog_button.pressed.connect(_about_button_pressed.bind("rd_changelog", rd_changelog_button)) - rd_wiki_button.pressed.connect(_about_button_pressed.bind("rd_wiki",rd_wiki_button)) - rd_credits_button.pressed.connect(_about_button_pressed.bind("rd_credits", rd_credits_button)) - rd_donate_button.pressed.connect(_about_button_pressed.bind("rd_donate", rd_donate_button)) - rd_contactus_button.pressed.connect(_about_button_pressed.bind("rd_contactus", rd_contactus_button)) - rd_licenses_button.pressed.connect(_about_button_pressed.bind("rd_licenses", rd_licenses_button)) - + for i in button_array.size(): + button_array[i].pressed.connect(_about_button_pressed.bind(web_id[i], button_array[i])) + func _about_button_pressed(id: String, button: Button) -> void: var tmp_txt = button.text - match id: - "rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses": - if class_functions.desktop_mode != "gamescope": - class_functions.logger("i","Loading website for " + id) - class_functions.launch_help(button.editor_description) - else: - button.text = "Help only in Desktop Mode" - await class_functions.wait(3.0) - button.text = tmp_txt - _: - class_functions.logger("d","Website ID/Link not found " + id) + if class_functions.desktop_mode != "gamescope": + class_functions.logger("i","Loading website for " + id) + class_functions.launch_help(button.editor_description) + else: + button.text = "Help only in Desktop Mode" + await class_functions.wait(3.0) + button.text = tmp_txt func create_buttons() -> void: - for button in bArray: + for i in button_array.size(): + var button = button_array[i] %GridContainer.add_child(button) - for id in app_data.about_links: - var web_data: Link = app_data.about_links[id] - match id: - "rd_web": - rd_web_button.text = web_data.name - rd_web_button.tooltip_text = web_data.description - rd_web_button.icon = ResourceLoader.load(web_data.icon) - rd_web_button.editor_description = web_data.url - rd_web_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_web_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_changelog": - rd_changelog_button.text = web_data.name - rd_changelog_button.tooltip_text = web_data.description - rd_changelog_button.icon = ResourceLoader.load(web_data.icon) - rd_changelog_button.editor_description = web_data.url - rd_changelog_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_changelog_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_wiki": - rd_wiki_button.text = web_data.name - rd_wiki_button.tooltip_text = web_data.description - rd_wiki_button.icon = ResourceLoader.load(web_data.icon) - rd_wiki_button.editor_description = web_data.url - rd_wiki_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_wiki_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_credits": - rd_credits_button.text = web_data.name - rd_credits_button.tooltip_text = web_data.description - rd_credits_button.icon = ResourceLoader.load(web_data.icon) - rd_credits_button.editor_description = web_data.url - rd_credits_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_credits_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_donate": - rd_donate_button.text = web_data.name - rd_donate_button.tooltip_text = web_data.description - rd_donate_button.icon = ResourceLoader.load(web_data.icon) - rd_donate_button.editor_description = web_data.url - rd_donate_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_donate_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_contactus": - rd_contactus_button.text = web_data.name - rd_contactus_button.tooltip_text = web_data.description - rd_contactus_button.icon = ResourceLoader.load(web_data.icon) - rd_contactus_button.editor_description = web_data.url - rd_contactus_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_contactus_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_licenses": - rd_licenses_button.text = web_data.name - rd_licenses_button.tooltip_text = web_data.description - rd_licenses_button.icon = ResourceLoader.load(web_data.icon) - rd_licenses_button.editor_description = web_data.url - rd_licenses_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_licenses_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP + var id = web_id[i] + if id in app_data.about_links: + var web_data: Link = app_data.about_links[id] + _setup_button(button, web_data) + +func _setup_button(button: Button, web_data: Link) -> void: + button.text = web_data.name + button.tooltip_text = web_data.description + button.icon = ResourceLoader.load(web_data.icon) + button.editor_description = web_data.url + button.icon_alignment = HORIZONTAL_ALIGNMENT_LEFT + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER diff --git a/tools/configurator/scripts/GlobalsTab.gd b/tools/configurator/scripts/TabGlobals.gd similarity index 76% rename from tools/configurator/scripts/GlobalsTab.gd rename to tools/configurator/scripts/TabGlobals.gd index 6f26f1b0..1806ced7 100644 --- a/tools/configurator/scripts/GlobalsTab.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -8,4 +8,4 @@ func _ready(): func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) - + %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button)) diff --git a/tools/configurator/scripts/SettingsTab.gd b/tools/configurator/scripts/TabSettings.gd similarity index 100% rename from tools/configurator/scripts/SettingsTab.gd rename to tools/configurator/scripts/TabSettings.gd diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/TabSystem.gd similarity index 100% rename from tools/configurator/scripts/SystemTab.gd rename to tools/configurator/scripts/TabSystem.gd diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index fb80679a..0c7cce05 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -3,9 +3,9 @@ class_name ClassFunctions extends Control var log_result: Dictionary var log_parameters: Array -var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" -var config_file_path = "/var/config/retrodeck/retrodeck.cfg" -var json_file_path = "/var/config/retrodeck/retrodeck.json" +const wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" +const config_file_path = "/var/config/retrodeck/retrodeck.cfg" +const json_file_path = "/var/config/retrodeck/retrodeck.json" var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") var rdhome: String var roms_folder: String @@ -43,27 +43,27 @@ func read_values_states() -> void: title = "\n " + rd_version + "\nConfigurator\n " + gc_version quick_resume_status = config["quick_resume"]["retroarch"] update_check = config["options"]["update_check"] + multi_state("abxy_button_swap") sound_effects = config["options"]["sound_effects"] volume_effects = int(config["options"]["volume_effects"]) font_select = int(config["options"]["font"]) - multi_state("abxy_button_swap") func multi_state(section: String) -> void: - var testT:Dictionary = data_handler.get_elements_in_section(config_file_path, section) - var true_values: int - var false_values: int - for value in testT.values(): + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, section) + var true_count: int = 0 + var false_count: int = 0 + for value in config_section.values(): if value == "true": - true_values += 1 + true_count += 1 else: - false_values += 1 - if true_values == testT.size(): + false_count += 1 + if true_count == config_section.size(): abxy_state = "true" - elif false_values == testT.size(): + elif false_count == config_section.size(): abxy_state = "false" else: abxy_state = "mixed" - + 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 @@ -101,9 +101,7 @@ func run_command_in_thread(command: String, paramaters: Array, _console: bool) - thread.start(execute_command.bind(command,paramaters,false)) while thread.is_alive(): await get_tree().process_frame - var result = thread.wait_to_finish() - thread = null - return result + return thread.wait_to_finish() func run_thread_command(command: String, parameters: Array, console: bool) -> Dictionary: log_result = await run_command_in_thread(command, parameters, console) @@ -156,11 +154,11 @@ func import_text_file(file_path: String) -> String: var content: String = "" var file = FileAccess.open(file_path, FileAccess.READ) if file == null: - class_functions.logger("e","Failed to open file %s" % file_path) + logger("e","Failed to open file %s" % file_path) return content while not file.eof_reached(): content += file.get_line() + "\n" - file.close + #file.close return content func map_locale_id(current_locale: String) -> int: @@ -183,9 +181,7 @@ func map_locale_id(current_locale: String) -> int: return int_locale func environment_data() -> void: - var env_result = class_functions.execute_command("printenv",[], true) - #print (env_result["output"]) - #print (OS.get_environment("XDG_CURRENT_DESKTOP")) + var env_result = execute_command("printenv",[], true) var file = FileAccess.open(OS.get_environment("HOME") + "/sdenv.txt",FileAccess.WRITE) if file != null: file.store_string(env_result["output"]) @@ -242,7 +238,7 @@ func display_json_data() -> void: func slider_function(value: float, slide: HSlider) -> void: volume_effects = int(slide.value) - data_handler.change_cfg_value(class_functions.config_file_path, "volume_effects", "options", str(slide.value)) + data_handler.change_cfg_value(config_file_path, "volume_effects", "options", str(slide.value)) func run_function(button: Button) -> void: if button.button_pressed: @@ -252,49 +248,53 @@ func run_function(button: Button) -> void: func enable_global(button: Button) -> void: var result: Array + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, "abxy_button_swap") match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = true update_global_signal.emit() - result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "true") - change_global(result) + result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "true") + change_global(result, "build_preset_config") "update_notification_button": - result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "true") - change_global(result) + result = data_handler.change_cfg_value(config_file_path, "update_check", "options", "true") + change_global(result, "build_preset_config") "sound_button": sound_effects = true update_global_signal.emit() - result = data_handler.change_cfg_value(class_functions.config_file_path, "sound_effects", "options", "true") - class_functions.logger("i", "Enabled: " % (button.name)) + result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "true") + logger("i", "Enabled: " % (button.name)) "button_swap_button": if abxy_state == "false": abxy_state = "true" - result = data_handler.change_all_cfg_values(class_functions.config_file_path, "abxy_button_swap", "true") + result = data_handler.change_all_cfg_values(config_file_path, config_section, "abxy_button_swap", "true") + change_global(result, "build_preset_config") func disable_global(button: Button) -> void: var result: Array + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, "abxy_button_swap") match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = false update_global_signal.emit() - result = data_handler.change_cfg_value(class_functions.config_file_path, "retroarch", "quick_resume", "false") - change_global(result) + result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "false") + change_global(result, "build_preset_config") "update_notification_button": - result = data_handler.change_cfg_value(class_functions.config_file_path, "update_check", "options", "false") - change_global(result) + result = data_handler.change_cfg_value(config_file_path, "update_check", "options", "false") + change_global(result, "build_preset_config") "sound_button": sound_effects = false update_global_signal.emit() - result = data_handler.change_cfg_value(class_functions.config_file_path, "sound_effects", "options", "false") - class_functions.logger("i", "Disabled: " % (button.name)) + result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "false") + logger("i", "Disabled: " % (button.name)) "button_swap_button": if abxy_state == "true": abxy_state = "false" - result = data_handler.change_all_cfg_values(class_functions.config_file_path, "abxy_button_swap", "false") + result = data_handler.change_all_cfg_values(config_file_path, config_section, "abxy_button_swap", "false") + change_global(result, "build_preset_config") -func change_global(parameters: Array) -> void: - parameters.push_front("build_preset_config") - class_functions.logger("d", "Running: %s" % var_to_str(parameters)) - var result: Dictionary - result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, false) - class_functions.logger("d", "Exit code: %s" % result["exit_code"]) +func change_global(parameters: Array, preset: String) -> void: + for system in parameters[0].keys(): + var command_parameter: Array = [preset, system, parameters[1]] + logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) + var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Exit code: %s" % result["exit_code"]) diff --git a/tools/configurator/scripts/controller_guide.gd b/tools/configurator/scripts/controller_guide.gd index dda49c18..753efc99 100644 --- a/tools/configurator/scripts/controller_guide.gd +++ b/tools/configurator/scripts/controller_guide.gd @@ -1,6 +1,6 @@ extends PanelContainer -func _process(delta): +func _process(_delta): # TODO hack. Use state machine? if %action_gridcontainer.visible == true: if Input.is_action_pressed("back_button"): diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index c8fd556d..923c473b 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -309,21 +309,21 @@ func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> voi file.store_line(line) file.close() -func change_cfg_value(file_path: String, key: String, section: String, new_value: String) -> Array: +func change_cfg_value(file_path: String, system: String, section: String, new_value: String) -> Array: var lines: Array = read_cfg_file(file_path) - var parameters: Array =[key, section] + var parameters: Array =[system, section] var changes: Dictionary = {} if section in changes: - changes[section][key] = new_value + changes[section][system] = new_value else: - changes[section] = {key: new_value} - class_functions.logger("i", "Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) + changes[section] = {system: new_value} + class_functions.logger("i", "Change: System: %s Section %s New Value: %s" % [system, section, new_value]) write_cfg_file(file_path, lines, changes) return parameters -func change_all_cfg_values(file_path: String, section: String, new_value: String) -> Array: +func change_all_cfg_values(file_path: String, systems: Dictionary, section: String, new_value: String) -> Array: var lines: Array = read_cfg_file(file_path) - var parameters: Array =[section, new_value] + var parameters: Array =[systems, section] var changes: Dictionary = {} var current_section: String for line in lines: @@ -331,13 +331,13 @@ func change_all_cfg_values(file_path: String, section: String, new_value: String if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): current_section = trimmed_line.trim_prefix("[").trim_suffix("]") if current_section == section: - changes[current_section] = {} # Initialize changes for this section + changes[current_section] = {} elif "=" in trimmed_line and current_section == section: var parts: Array = trimmed_line.split("=", false) if parts.size() >= 2: var key: String = parts[0].strip_edges() changes[section][key] = new_value - class_functions.logger("i", "Change: Key: %s Section %s New Value: %s" % [key, section, new_value]) + class_functions.logger("i", "Change: Systems: %s Section %s New Value: %s" % [systems, section, new_value]) write_cfg_file(file_path, lines, changes) return parameters diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index cf725aba..7aeafd6a 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -179,42 +179,33 @@ func _on_exit_button_pressed(): #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") func _set_up_globals() -> void: - if class_functions.update_check: - %update_notification_button.button_pressed = true - else: - %update_notification_button.button_pressed = false - if class_functions.quick_resume_status: - %quick_resume_button.button_pressed = true - %retroarch_quick_resume_button.button_pressed = true - else: - %quick_resume_button.button_pressed = false - %retroarch_quick_resume_button.button_pressed = false - if class_functions.sound_effects: - %sound_button.button_pressed = true - %volume_effects_slider.visible = true - else: - %sound_button.button_pressed = false - %volume_effects_slider.visible = false - if class_functions.abxy_state == "true": - %button_swap_button.button_pressed = true - elif class_functions.abxy_state == "false": - %button_swap_button.button_pressed = false - else: - var style_box = StyleBoxFlat.new() - style_box.bg_color = Color(1, 0.54902, 0, 1) - style_box.corner_detail = 8 - style_box.border_width_left = 15 - style_box.border_width_top = 15 - style_box.border_width_right = 15 - style_box.border_width_bottom = 15 - style_box.corner_radius_top_left = 25 - style_box.corner_radius_top_right = 25 - style_box.corner_radius_bottom_right = 25 - style_box.corner_radius_bottom_left = 25 - style_box.border_color = Color(0.102, 0.624, 1, 1) - style_box.border_blend = true - %button_swap_button.add_theme_stylebox_override("normal", style_box) - %button_swap_button.toggle_mode = false + %update_notification_button.button_pressed = class_functions.update_check + var quick_resume = class_functions.quick_resume_status + %quick_resume_button.button_pressed = quick_resume + %retroarch_quick_resume_button.button_pressed = quick_resume + var sound_effects = class_functions.sound_effects + %sound_button.button_pressed = sound_effects + %volume_effects_slider.visible = sound_effects + match class_functions.abxy_state: + "true": + %button_swap_button.button_pressed = true + "false": + %button_swap_button.button_pressed = false + _: + var style_box = StyleBoxFlat.new() + style_box.bg_color = Color(1, 0.54902, 0, 1) # Orange color + style_box.border_color = Color(0.102, 0.624, 1, 1) # Blue border + style_box.border_blend = true + style_box.corner_radius_top_left = 25 + style_box.corner_radius_top_right = 25 + style_box.corner_radius_bottom_right = 25 + style_box.corner_radius_bottom_left = 25 + style_box.border_width_left = 15 + style_box.border_width_top = 15 + style_box.border_width_right = 15 + style_box.border_width_bottom = 15 + %button_swap_button.add_theme_stylebox_override("normal", style_box) + %button_swap_button.toggle_mode = false func change_font(index: int) -> void: var font_file: FontFile From 6c0232616936c62b4829d72d6b6f3f839913f742 Mon Sep 17 00:00:00 2001 From: Rekku Date: Mon, 16 Sep 2024 16:38:41 +0100 Subject: [PATCH 31/74] Reset Orange! --- tools/configurator/main.tscn | 14 +++- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabGlobals.gd | 41 ++++++++- tools/configurator/scripts/TabSystem.gd | 4 +- tools/configurator/scripts/ToolsTab.gd | 23 ++--- tools/configurator/scripts/class_functions.gd | 22 +++-- tools/configurator/scripts/data_handler.gd | 22 ++--- tools/configurator/scripts/main.gd | 22 ++--- 8 files changed, 145 insertions(+), 87 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 229586ab..28dd6ab5 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -273,11 +273,22 @@ tooltip_text = "Change to Nintendo style button mappings." text = "BUTTON SWAP " icon = ExtResource("4_caaxx") -alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +[node name="button_swap_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/button_swap_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 @@ -531,6 +542,7 @@ unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 size_flags_horizontal = 3 +action_mode = 0 text = "HELP" icon = ExtResource("46_feagl") expand_icon = true diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 1687a867..ca67cbe6 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_nu6pr"] +[sub_resource type="Image" id="Image_db448"] 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_nu6pr") +image = SubResource("Image_db448") -[sub_resource type="Image" id="Image_g63b3"] +[sub_resource type="Image" id="Image_setnt"] 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_g63b3") +image = SubResource("Image_setnt") [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_asfoq"] +[sub_resource type="Image" id="Image_le0sq"] 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_asfoq") +image = SubResource("Image_le0sq") [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_ki6gy"] +[sub_resource type="Image" id="Image_lygdv"] 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_ki6gy") +image = SubResource("Image_lygdv") [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_jvn7o"] +[sub_resource type="Image" id="Image_ywast"] 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_jvn7o") +image = SubResource("Image_ywast") [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_jy5tk"] +[sub_resource type="Image" id="Image_77hx1"] 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_jy5tk") +image = SubResource("Image_77hx1") [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_jc3ub"] +[sub_resource type="Image" id="Image_o0b3u"] 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_jc3ub") +image = SubResource("Image_o0b3u") -[sub_resource type="Image" id="Image_un5by"] +[sub_resource type="Image" id="Image_8w26g"] 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_un5by") +image = SubResource("Image_8w26g") -[sub_resource type="Image" id="Image_dcqu5"] +[sub_resource type="Image" id="Image_2ew1k"] 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_dcqu5") +image = SubResource("Image_2ew1k") -[sub_resource type="Image" id="Image_65nnb"] +[sub_resource type="Image" id="Image_lkcvx"] 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_65nnb") +image = SubResource("Image_lkcvx") -[sub_resource type="Image" id="Image_gyvu3"] +[sub_resource type="Image" id="Image_x3ih1"] 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_gyvu3") +image = SubResource("Image_x3ih1") [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_el5uk"] +[sub_resource type="Image" id="Image_ww388"] 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_el5uk") +image = SubResource("Image_ww388") [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_dpyi6"] +[sub_resource type="Image" id="Image_0dsrr"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_dpyi6") +image = SubResource("Image_0dsrr") [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_hu6ex"] +[sub_resource type="Image" id="Image_onsg8"] 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_hu6ex") +image = SubResource("Image_onsg8") [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_t3urt"] +[sub_resource type="Image" id="Image_aut4x"] 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_t3urt") +image = SubResource("Image_aut4x") -[sub_resource type="Image" id="Image_oinpy"] +[sub_resource type="Image" id="Image_6p6oc"] 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_oinpy") +image = SubResource("Image_6p6oc") -[sub_resource type="Image" id="Image_84q7w"] +[sub_resource type="Image" id="Image_sxq50"] 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_84q7w") +image = SubResource("Image_sxq50") -[sub_resource type="Image" id="Image_ugbyv"] +[sub_resource type="Image" id="Image_0s3ck"] 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_ugbyv") +image = SubResource("Image_0s3ck") [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_8rm82"] +[sub_resource type="Image" id="Image_c8ck1"] 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_8rm82") +image = SubResource("Image_c8ck1") -[sub_resource type="Image" id="Image_mpaam"] +[sub_resource type="Image" id="Image_cla1x"] 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_mpaam") +image = SubResource("Image_cla1x") [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_flyey"] +[sub_resource type="Image" id="Image_bhb3f"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_flyey") +image = SubResource("Image_bhb3f") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 1806ced7..55f839b6 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -1,11 +1,48 @@ extends MarginContainer -var button_swap: Array +var press_time: float = 0.0 +var is_swap_pressed: bool = false +var PRESS_DURATION: float = 3.0 func _ready(): _connect_signals() +func _process(delta: float) -> void: + if is_swap_pressed and class_functions.abxy_state == "mixed": + press_time += delta + %button_swap_progress.value = press_time / PRESS_DURATION * 100.0 + if press_time >= PRESS_DURATION: + _do_complete() + press_time = 0.0 + is_swap_pressed = false + %button_swap_progress.value = 0.0 + func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) - %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button)) + %button_swap_button.button_down.connect(_do_action.bind(%button_swap_button)) + %button_swap_button.button_up.connect(_on_Button_released.bind(%button_swap_progress)) + %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) + +func _on_Button_released(progress: ProgressBar) -> void: + is_swap_pressed = false + %button_swap_progress.visible = false + press_time = 0.0 + progress.value = 0.0 + +func _do_action(button: Button) -> void: + match button.name: + "button_swap_button": + is_swap_pressed = true + %button_swap_progress.visible = true + +func _do_complete() ->void: + if is_swap_pressed: + class_functions.abxy_state = "false" + %button_swap_button.toggle_mode = true + %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) + #class_functions.logger("i", "Resetting " + current_system.name) + #var parameters = ["prepare_component","reset",current_system.name] + #reset_result = await class_functions.run_thread_command(class_functions.wrapper_command,parameters, false) + #class_functions.logger("d", "Exit Code: " + str(reset_result["exit_code"])) + #await class_functions.wait(3.0) diff --git a/tools/configurator/scripts/TabSystem.gd b/tools/configurator/scripts/TabSystem.gd index 52dc826d..1b4d7a8a 100644 --- a/tools/configurator/scripts/TabSystem.gd +++ b/tools/configurator/scripts/TabSystem.gd @@ -84,7 +84,7 @@ func _on_Button_released(progress: ProgressBar) -> void: progress.value = 0.0 func _do_action(button: Button) -> void: - var tmp_txt = button.text + var original_txt = button.text match [button.name, current_system.name]: ["help_button", current_system.name]: if class_functions.desktop_mode != "gamescope": @@ -93,7 +93,7 @@ func _do_action(button: Button) -> void: else: button.text = "Help only works in Desktop Mode" await class_functions.wait(3.0) - button.text = tmp_txt + button.text = original_txt ["launch_button", current_system.name]: class_functions.logger("i", "Launching " + current_system.name) var launch = class_functions.execute_command(current_system.launch,[], false) diff --git a/tools/configurator/scripts/ToolsTab.gd b/tools/configurator/scripts/ToolsTab.gd index f4551d2f..3dd8a88a 100644 --- a/tools/configurator/scripts/ToolsTab.gd +++ b/tools/configurator/scripts/ToolsTab.gd @@ -5,29 +5,33 @@ extends Control func _ready(): add_child(http_request) http_request.request_completed.connect(_on_request_completed) - #check_internet_connection() _connect_signals() %backup_user_button.text += " - " + class_functions.rdhome + "/backup" func _connect_signals() -> void: %check_conn_button.pressed.connect(check_internet_connection) - %backup_user_button.pressed.connect(run_function.bind(%backup_user_button)) + %backup_user_button.pressed.connect(run_function.bind(%backup_user_button, "Start User Backup")) -func run_function(button: Button) -> void: - var tmp_txt = button.text - class_functions.logger("d","Start User Backup") +func run_function(button: Button, message: String) -> void: + class_functions.logger("d",message) + match button.name: + "backup_user_button": + _run_backup(button) + +func _run_backup(button: Button) -> void: + var original_txt = button.text %progress_bar_backup.visible = true - %backup_user_button.text = "Backup Running" + button.text = "Backup Running" var parameters = ["backup_retrodeck_userdata"] var run_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, true) if run_result["exit_code"] == 0: - %backup_user_button.text = "Backup Complete - " + class_functions.rdhome + "/backup" + button.text = "Backup Complete - " + class_functions.rdhome + "/backup" class_functions.logger("d","User Backup Completed") await class_functions.wait(3.0) - %backup_user_button.text = tmp_txt + button.text = original_txt %progress_bar_backup.visible = false else: - %backup_user_button.text = "Backup Failed" + button.text = "Backup Failed" class_functions.logger("e","User Backup Failed. " + run_result["exit_code"]) %progress_bar_backup.visible = false @@ -37,7 +41,6 @@ func check_internet_connection(): http_request.request("https://retrodeck.net/") func _on_request_completed(_result, response_code, _headers, _body): - #var style_box = StyleBoxFlat.new() if response_code == 200: class_functions.logger("i","Internet Connection Succesful") %check_conn_button.button_pressed = true diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 0c7cce05..958494bd 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -252,7 +252,6 @@ func enable_global(button: Button) -> void: match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = true - update_global_signal.emit() result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "true") change_global(result, "build_preset_config") "update_notification_button": @@ -260,7 +259,6 @@ func enable_global(button: Button) -> void: change_global(result, "build_preset_config") "sound_button": sound_effects = true - update_global_signal.emit() result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "true") logger("i", "Enabled: " % (button.name)) "button_swap_button": @@ -275,7 +273,6 @@ func disable_global(button: Button) -> void: match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = false - update_global_signal.emit() result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "false") change_global(result, "build_preset_config") "update_notification_button": @@ -283,7 +280,6 @@ func disable_global(button: Button) -> void: change_global(result, "build_preset_config") "sound_button": sound_effects = false - update_global_signal.emit() result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "false") logger("i", "Disabled: " % (button.name)) "button_swap_button": @@ -293,8 +289,16 @@ func disable_global(button: Button) -> void: change_global(result, "build_preset_config") func change_global(parameters: Array, preset: String) -> void: - for system in parameters[0].keys(): - var command_parameter: Array = [preset, system, parameters[1]] - logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) - var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) - logger("d", "Exit code: %s" % result["exit_code"]) + match parameters[1]: + "abxy_button_swap": + for system in parameters[0].keys(): + var command_parameter: Array = [preset, system, parameters[1]] + logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) + var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Exit code: %s" % result["exit_code"]) + _: + var command_parameter: Array = [preset, parameters] + logger("d", "Change Global: %s System: %s" % command_parameter) + var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Exit code: %s" % result["exit_code"]) + update_global_signal.emit() diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 923c473b..6ee06acb 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -158,7 +158,6 @@ func save_base_data(app_dict: AppData): file = FileAccess.open(data_file_path, FileAccess.WRITE) file.store_string(json_text) file.close() - print("Data appended successfully") # Function to modify an existing link func modify_link(key: String, new_name: String, new_url: String, new_description: String): @@ -284,21 +283,23 @@ func read_cfg_file(file_path: String) -> Array: func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> void: var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.WRITE) var current_section: String = "" - for line in lines: + var line_count: int = lines.size() + for i in line_count: + var line: String = lines[i] var trimmed_line: String = line.strip_edges() if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): - current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + current_section = trimmed_line.trim_prefix("[").trim_suffix("]")# trimmed_line.trim_prefix("["].trim_suffix("]") file.store_line(line) elif "=" in trimmed_line and current_section in changes: var parts: Array = trimmed_line.split("=", false) - if parts.size() >= 2: + if parts.size() == 2: var key: String = parts[0].strip_edges() var original_value: String = parts[1].strip_edges() if key in changes[current_section]: var new_value: String = changes[current_section][key] if new_value != original_value: - file.store_line(key + "=" + new_value) - class_functions.logger("i", "Changed %s %s from Value: %s to Value: %s" % [key, current_section, original_value, new_value]) + file.store_line("%s=%s" % [key, new_value]) + class_functions.logger("i", "Changed %s in section [%s] from %s to %s" % [key, current_section, original_value, new_value]) else: file.store_line(line) else: @@ -307,17 +308,16 @@ func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> voi file.store_line(line) else: file.store_line(line) + if i == line_count - 2: + break file.close() func change_cfg_value(file_path: String, system: String, section: String, new_value: String) -> Array: var lines: Array = read_cfg_file(file_path) var parameters: Array =[system, section] var changes: Dictionary = {} - if section in changes: - changes[section][system] = new_value - else: - changes[section] = {system: new_value} - class_functions.logger("i", "Change: System: %s Section %s New Value: %s" % [system, section, new_value]) + changes[section] = {system: new_value} + class_functions.logger("i", "Change: System: %s Section %s New Value: %s" % [system, section, new_value]) write_cfg_file(file_path, lines, changes) return parameters diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 7aeafd6a..f4f897ab 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -9,6 +9,7 @@ var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts- var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") +var style_box_original: StyleBox = preload("res://assets/themes/default_theme.tres::StyleBoxFlat_0ahfc") func _ready(): _get_nodes() @@ -180,21 +181,23 @@ func _on_exit_button_pressed(): func _set_up_globals() -> void: %update_notification_button.button_pressed = class_functions.update_check - var quick_resume = class_functions.quick_resume_status - %quick_resume_button.button_pressed = quick_resume - %retroarch_quick_resume_button.button_pressed = quick_resume - var sound_effects = class_functions.sound_effects - %sound_button.button_pressed = sound_effects - %volume_effects_slider.visible = sound_effects + %quick_resume_button.button_pressed = class_functions.quick_resume_status + %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status + %sound_button.button_pressed = class_functions.sound_effects + %volume_effects_slider.visible = class_functions.sound_effects match class_functions.abxy_state: "true": %button_swap_button.button_pressed = true + %button_swap_button.add_theme_stylebox_override("normal", style_box_original) "false": %button_swap_button.button_pressed = false - _: + %button_swap_button.add_theme_stylebox_override("normal", style_box_original) + "mixed": + %button_swap_button.button_pressed = false + %button_swap_button.toggle_mode = false var style_box = StyleBoxFlat.new() - style_box.bg_color = Color(1, 0.54902, 0, 1) # Orange color - style_box.border_color = Color(0.102, 0.624, 1, 1) # Blue border + style_box.bg_color = Color(1, 0.54902, 0, 1) + style_box.border_color = Color(0.102, 0.624, 1, 1) style_box.border_blend = true style_box.corner_radius_top_left = 25 style_box.corner_radius_top_right = 25 @@ -205,7 +208,6 @@ func _set_up_globals() -> void: style_box.border_width_right = 15 style_box.border_width_bottom = 15 %button_swap_button.add_theme_stylebox_override("normal", style_box) - %button_swap_button.toggle_mode = false func change_font(index: int) -> void: var font_file: FontFile From a5fd012c3b2b127490ffb735693247e768db1d4a Mon Sep 17 00:00:00 2001 From: Rekku Date: Mon, 16 Sep 2024 19:07:58 +0100 Subject: [PATCH 32/74] Rage against the machine! --- tools/configurator/main.tscn | 26 +++++- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabGlobals.gd | 55 ++++++------ tools/configurator/scripts/class_functions.gd | 43 ++++++---- tools/configurator/scripts/main.gd | 29 ++++++- 5 files changed, 153 insertions(+), 84 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 28dd6ab5..807f2cae 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=113 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=114 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"] @@ -15,6 +15,7 @@ [ext_resource type="Texture2D" uid="uid://dk856hwnwsuab" path="res://assets/icons/pixelitos/128/retroarch.png" id="4_xcuib"] [ext_resource type="Texture2D" uid="uid://cvr1eijddf6nv" path="res://assets/icons/banner/gamegear.png" id="5_4d7s7"] [ext_resource type="Texture2D" uid="uid://d2lm4mfx1gt86" path="res://assets/graphics/retrodeck_base_shake0.png" id="5_7rjbt"] +[ext_resource type="Texture2D" uid="uid://bns3nmvku2qhe" path="res://assets/icons/pixelitos/128/system-shutdown.png" id="5_ahd1x"] [ext_resource type="Texture2D" uid="uid://dv42c6hpi6tde" path="res://assets/icons/pixelitos/128/cs-tiling.png" id="5_box56"] [ext_resource type="Script" path="res://helper_text.gd" id="5_cprkf"] [ext_resource type="Texture2D" uid="uid://dxdhjp18rgmr4" path="res://res/flags/united_kingdom_32.png" id="5_exkn2"] @@ -255,6 +256,29 @@ theme_override_constants/h_separation = 25 theme_override_constants/v_separation = 25 columns = 3 +[node name="ask_to_exit_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(375, 125) +layout_mode = 2 +text = "ASK TO EXIT" +icon = ExtResource("5_ahd1x") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true + +[node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="borders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index ca67cbe6..6431f0c7 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_db448"] +[sub_resource type="Image" id="Image_pe205"] 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_db448") +image = SubResource("Image_pe205") -[sub_resource type="Image" id="Image_setnt"] +[sub_resource type="Image" id="Image_rjdjq"] 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_setnt") +image = SubResource("Image_rjdjq") [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_le0sq"] +[sub_resource type="Image" id="Image_0lg0c"] 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_le0sq") +image = SubResource("Image_0lg0c") [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_lygdv"] +[sub_resource type="Image" id="Image_ivbog"] 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_lygdv") +image = SubResource("Image_ivbog") [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_ywast"] +[sub_resource type="Image" id="Image_efcfw"] 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_ywast") +image = SubResource("Image_efcfw") [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_77hx1"] +[sub_resource type="Image" id="Image_j4lt4"] 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_77hx1") +image = SubResource("Image_j4lt4") [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_o0b3u"] +[sub_resource type="Image" id="Image_oal7o"] 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_o0b3u") +image = SubResource("Image_oal7o") -[sub_resource type="Image" id="Image_8w26g"] +[sub_resource type="Image" id="Image_0ivjq"] 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_8w26g") +image = SubResource("Image_0ivjq") -[sub_resource type="Image" id="Image_2ew1k"] +[sub_resource type="Image" id="Image_jx21i"] 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_2ew1k") +image = SubResource("Image_jx21i") -[sub_resource type="Image" id="Image_lkcvx"] +[sub_resource type="Image" id="Image_egpts"] 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_lkcvx") +image = SubResource("Image_egpts") -[sub_resource type="Image" id="Image_x3ih1"] +[sub_resource type="Image" id="Image_x5ggu"] 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_x3ih1") +image = SubResource("Image_x5ggu") [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_ww388"] +[sub_resource type="Image" id="Image_3xyb6"] 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_ww388") +image = SubResource("Image_3xyb6") [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_0dsrr"] +[sub_resource type="Image" id="Image_p06jl"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_0dsrr") +image = SubResource("Image_p06jl") [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_onsg8"] +[sub_resource type="Image" id="Image_fnsjq"] 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_onsg8") +image = SubResource("Image_fnsjq") [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_aut4x"] +[sub_resource type="Image" id="Image_uv5vy"] 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_aut4x") +image = SubResource("Image_uv5vy") -[sub_resource type="Image" id="Image_6p6oc"] +[sub_resource type="Image" id="Image_vsi0u"] 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_6p6oc") +image = SubResource("Image_vsi0u") -[sub_resource type="Image" id="Image_sxq50"] +[sub_resource type="Image" id="Image_0igml"] 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_sxq50") +image = SubResource("Image_0igml") -[sub_resource type="Image" id="Image_0s3ck"] +[sub_resource type="Image" id="Image_37m1g"] 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_0s3ck") +image = SubResource("Image_37m1g") [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_c8ck1"] +[sub_resource type="Image" id="Image_gh7rh"] 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_c8ck1") +image = SubResource("Image_gh7rh") -[sub_resource type="Image" id="Image_cla1x"] +[sub_resource type="Image" id="Image_31oir"] 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_cla1x") +image = SubResource("Image_31oir") [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_bhb3f"] +[sub_resource type="Image" id="Image_o3lxu"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_bhb3f") +image = SubResource("Image_o3lxu") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 55f839b6..0a9352ab 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -1,48 +1,53 @@ extends MarginContainer var press_time: float = 0.0 -var is_swap_pressed: bool = false +var is_state_pressed: bool = false var PRESS_DURATION: float = 3.0 func _ready(): _connect_signals() func _process(delta: float) -> void: - if is_swap_pressed and class_functions.abxy_state == "mixed": + update_progress(delta, %button_swap_progress, %button_swap_button, class_functions.abxy_state) + update_progress(delta, %ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state) + +func update_progress(delta: float, progress: ProgressBar, button: Button, state: String) -> void: + if is_state_pressed and state == "mixed": press_time += delta - %button_swap_progress.value = press_time / PRESS_DURATION * 100.0 + progress.value = press_time / PRESS_DURATION * 100.0 if press_time >= PRESS_DURATION: - _do_complete() + _do_complete(button) press_time = 0.0 - is_swap_pressed = false - %button_swap_progress.value = 0.0 + is_state_pressed = false + progress.value = 0.0 func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button)) - %button_swap_button.button_down.connect(_do_action.bind(%button_swap_button)) - %button_swap_button.button_up.connect(_on_Button_released.bind(%button_swap_progress)) + %button_swap_button.button_down.connect(_do_action.bind(%button_swap_button, %button_swap_progress)) + %button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) + %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_button, %ask_to_exit_progress)) + %ask_to_exit_button.button_up.connect(_on_button_released.bind(%ask_to_exit_progress)) + %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button)) -func _on_Button_released(progress: ProgressBar) -> void: - is_swap_pressed = false - %button_swap_progress.visible = false +func _on_button_released(progress: ProgressBar) -> void: + is_state_pressed = false + progress.visible = false press_time = 0.0 progress.value = 0.0 -func _do_action(button: Button) -> void: +func _do_action(button: Button, progress: ProgressBar) -> void: match button.name: - "button_swap_button": - is_swap_pressed = true - %button_swap_progress.visible = true + "button_swap_button", "ask_to_exit_button": + is_state_pressed = true + progress.visible = true -func _do_complete() ->void: - if is_swap_pressed: - class_functions.abxy_state = "false" - %button_swap_button.toggle_mode = true - %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) - #class_functions.logger("i", "Resetting " + current_system.name) - #var parameters = ["prepare_component","reset",current_system.name] - #reset_result = await class_functions.run_thread_command(class_functions.wrapper_command,parameters, false) - #class_functions.logger("d", "Exit Code: " + str(reset_result["exit_code"])) - #await class_functions.wait(3.0) +func _do_complete(button: Button) ->void: + if is_state_pressed: + match button.name: + "button_swap_button": + class_functions.abxy_state = "false" + "ask_to_exit_button": + class_functions.ask_to_exit_state = "false" + button.toggle_mode = true diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 958494bd..2c6964ed 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -22,6 +22,7 @@ var title: String var quick_resume_status: bool var update_check: bool var abxy_state: String +var ask_to_exit_state: String var font_select: int signal update_global_signal @@ -43,12 +44,13 @@ func read_values_states() -> void: title = "\n " + rd_version + "\nConfigurator\n " + gc_version quick_resume_status = config["quick_resume"]["retroarch"] update_check = config["options"]["update_check"] - multi_state("abxy_button_swap") + abxy_state = multi_state("abxy_button_swap", abxy_state) + ask_to_exit_state = multi_state("ask_to_exit", ask_to_exit_state) sound_effects = config["options"]["sound_effects"] volume_effects = int(config["options"]["volume_effects"]) font_select = int(config["options"]["font"]) -func multi_state(section: String) -> void: +func multi_state(section: String, state: String) -> String: var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, section) var true_count: int = 0 var false_count: int = 0 @@ -58,11 +60,12 @@ func multi_state(section: String) -> void: else: false_count += 1 if true_count == config_section.size(): - abxy_state = "true" + state = "true" elif false_count == config_section.size(): - abxy_state = "false" + state = "false" else: - abxy_state = "mixed" + state = "mixed" + return state func logger(log_type: String, log_text: String) -> void: # Type of log messages: @@ -253,10 +256,10 @@ func enable_global(button: Button) -> void: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = true result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "true") - change_global(result, "build_preset_config") + change_global(result, "build_preset_config", button, str(quick_resume_status)) "update_notification_button": result = data_handler.change_cfg_value(config_file_path, "update_check", "options", "true") - change_global(result, "build_preset_config") + change_global(result, "build_preset_config", button, str(result)) "sound_button": sound_effects = true result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "true") @@ -265,7 +268,12 @@ func enable_global(button: Button) -> void: if abxy_state == "false": abxy_state = "true" result = data_handler.change_all_cfg_values(config_file_path, config_section, "abxy_button_swap", "true") - change_global(result, "build_preset_config") + change_global(result, "build_preset_config", button, abxy_state) + "ask_to_exit_button": + if ask_to_exit_state == "false": + ask_to_exit_state = "true" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "ask_to_exit", "true") + change_global(result, "build_preset_config", button, ask_to_exit_state) func disable_global(button: Button) -> void: var result: Array @@ -274,10 +282,10 @@ func disable_global(button: Button) -> void: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = false result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "false") - change_global(result, "build_preset_config") + change_global(result, "build_preset_config", button, str(quick_resume_status)) "update_notification_button": result = data_handler.change_cfg_value(config_file_path, "update_check", "options", "false") - change_global(result, "build_preset_config") + change_global(result, "build_preset_config", button, str(result)) "sound_button": sound_effects = false result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "false") @@ -286,11 +294,16 @@ func disable_global(button: Button) -> void: if abxy_state == "true": abxy_state = "false" result = data_handler.change_all_cfg_values(config_file_path, config_section, "abxy_button_swap", "false") - change_global(result, "build_preset_config") + change_global(result, "build_preset_config", button, abxy_state) + "ask_to_exit_button": + if ask_to_exit_state == "true": + ask_to_exit_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "ask_to_exit", "false") + change_global(result, "build_preset_config", button, ask_to_exit_state) -func change_global(parameters: Array, preset: String) -> void: +func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: match parameters[1]: - "abxy_button_swap": + "abxy_button_swap", "ask_to_exit_state": for system in parameters[0].keys(): var command_parameter: Array = [preset, system, parameters[1]] logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) @@ -301,4 +314,6 @@ func change_global(parameters: Array, preset: String) -> void: logger("d", "Change Global: %s System: %s" % command_parameter) var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) logger("d", "Exit code: %s" % result["exit_code"]) - update_global_signal.emit() + parameters.append(button) + parameters.append(state) + update_global_signal.emit(parameters) diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index f4f897ab..0b95e769 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -15,7 +15,7 @@ func _ready(): _get_nodes() _connect_signals() _play_main_animations() - _set_up_globals() + _set_up_globals([]) %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) %rd_title.text += class_functions.title class_functions.logger("i","Started Godot configurator") @@ -179,12 +179,14 @@ func _on_exit_button_pressed(): #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") -func _set_up_globals() -> void: +func _set_up_globals(state: Array) -> void: + print (state) %update_notification_button.button_pressed = class_functions.update_check %quick_resume_button.button_pressed = class_functions.quick_resume_status %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status %sound_button.button_pressed = class_functions.sound_effects %volume_effects_slider.visible = class_functions.sound_effects + match class_functions.abxy_state: "true": %button_swap_button.button_pressed = true @@ -208,6 +210,29 @@ func _set_up_globals() -> void: style_box.border_width_right = 15 style_box.border_width_bottom = 15 %button_swap_button.add_theme_stylebox_override("normal", style_box) + match class_functions.ask_to_exit_state: + "true": + %ask_to_exit_button.button_pressed = true + %ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) + "false": + %ask_to_exit_button.button_pressed = false + %ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) + "mixed": + %ask_to_exit_button.button_pressed = false + %ask_to_exit_button.toggle_mode = false + var style_box = StyleBoxFlat.new() + style_box.bg_color = Color(1, 0.54902, 0, 1) + style_box.border_color = Color(0.102, 0.624, 1, 1) + style_box.border_blend = true + style_box.corner_radius_top_left = 25 + style_box.corner_radius_top_right = 25 + style_box.corner_radius_bottom_right = 25 + style_box.corner_radius_bottom_left = 25 + style_box.border_width_left = 15 + style_box.border_width_top = 15 + style_box.border_width_right = 15 + style_box.border_width_bottom = 15 + %ask_to_exit_button.add_theme_stylebox_override("normal", style_box) func change_font(index: int) -> void: var font_file: FontFile From 17725da9188587473ad6cd3a8c6099998d11e431 Mon Sep 17 00:00:00 2001 From: etjanster Date: Tue, 17 Sep 2024 07:51:20 +0200 Subject: [PATCH 33/74] other licence fixes --- other_licenses.txt | 3415 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 3413 insertions(+), 2 deletions(-) diff --git a/other_licenses.txt b/other_licenses.txt index 32f8353a..a008b1e4 100644 --- a/other_licenses.txt +++ b/other_licenses.txt @@ -5,6 +5,10 @@ https://retrodeck.readthedocs.io/en/latest/wiki_about/donations-licenses/ If we have made some linkage errors or your license needs to be included in the projects github page please contact the RetroDECK Team on Discord or Matrix. +RetroDECK generally only modifies the default configurations to the systems to fit into our folder structure (saves, bios etc..), work with Steam Input and sometime tweaks the settings with the help of the RetroDECK community to find the "best settings" for the hardware and the community likes to use. + +Note that not all of the software listed here have been added to RetroDECK proper yet, we hope to get to them in the future. + --- Freedoom --- @@ -25,8 +29,838 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” For a list of contributors to the Freedoom project, see the file CREDITS. +--- ares --- ---- Visual Pinball --- +Copyright (c) 2004-2021 ares team, Near et al + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +Stack-less Just-In-Time compiler + +Copyright Zoltan Herczeg (hzmester@freemail.hu). All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) AND CONTRIBUTORS +``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER(S) OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +libchdr + +Copyright Romain Tisserand +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +LZMA SDK is placed in the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or distribute +the original LZMA SDK code, either in source code form or as a compiled binary, +for any purpose, commercial or non-commercial, and by any means. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +zlib + + (C) 1995-2017 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- + +xxHash - Extremely Fast Hash algorithm +Header File +Copyright (C) 2012-2021 Yann Collet + +BSD 2-Clause License (https://www.opensource.org/licenses/bsd-license.php) + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +* Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +You can contact the author at: +- xxHash homepage: https://www.xxhash.com +- xxHash source repository: https://github.com/Cyan4973/xxHash + +---------------------------------------------------------------------- + +MoltenVK + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +OpenGL API and Extension Registry +https://github.com/KhronosGroup/OpenGL-Registry + +Copyright 2013-2020 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +EGL API and Extension Registry +https://github.com/KhronosGroup/EGL-Registry + +Copyright (c) 2008-2018 The Khronos Group Inc. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and/or associated documentation files (the +"Materials"), to deal in the Materials without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Materials, and to +permit persons to whom the Materials are furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Materials. + +THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +TZXFile + +MIT License + +Copyright (c) 2020 MrReeMachine + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +ymfm + +BSD 3-Clause License + +Copyright (c) 2021, Aaron Giles +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +---------------------------------------------------------------------- + +---------------------------------------------------------------------- +librashader +Mozilla Public License Version 2.0 +================================== + +### 1. Definitions + +**1.1. “Contributor”** +means each individual or legal entity that creates, contributes to +the creation of, or owns Covered Software. + +**1.2. “Contributor Version”** +means the combination of the Contributions of others (if any) used +by a Contributor and that particular Contributor's Contribution. + +**1.3. “Contribution”** +means Covered Software of a particular Contributor. + +**1.4. “Covered Software”** +means Source Code Form to which the initial Contributor has attached +the notice in Exhibit A, the Executable Form of such Source Code +Form, and Modifications of such Source Code Form, in each case +including portions thereof. + +**1.5. “Incompatible With Secondary Licenses”** +means + +* **(a)** that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or +* **(b)** that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +**1.6. “Executable Form”** +means any form of the work other than Source Code Form. + +**1.7. “Larger Work”** +means a work that combines Covered Software with other material, in +a separate file or files, that is not Covered Software. + +**1.8. “License”** +means this document. + +**1.9. “Licensable”** +means having the right to grant, to the maximum extent possible, +whether at the time of the initial grant or subsequently, any and +all of the rights conveyed by this License. + +**1.10. “Modifications”** +means any of the following: + +* **(a)** any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or +* **(b)** any new file in Source Code Form that contains any Covered + Software. + +**1.11. “Patent Claims” of a Contributor** +means any patent claim(s), including without limitation, method, +process, and apparatus claims, in any patent Licensable by such +Contributor that would be infringed, but for the grant of the +License, by the making, using, selling, offering for sale, having +made, import, or transfer of either its Contributions or its +Contributor Version. + +**1.12. “Secondary License”** +means either the GNU General Public License, Version 2.0, the GNU +Lesser General Public License, Version 2.1, the GNU Affero General +Public License, Version 3.0, or any later versions of those +licenses. + +**1.13. “Source Code Form”** +means the form of the work preferred for making modifications. + +**1.14. “You” (or “Your”)** +means an individual or a legal entity exercising rights under this +License. For legal entities, “You” includes any entity that +controls, is controlled by, or is under common control with You. For +purposes of this definition, “control” means **(a)** the power, direct +or indirect, to cause the direction or management of such entity, +whether by contract or otherwise, or **(b)** ownership of more than +fifty percent (50%) of the outstanding shares or beneficial +ownership of such entity. + + +### 2. License Grants and Conditions + +#### 2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +* **(a)** under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and +* **(b)** under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +#### 2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +#### 2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +* **(a)** for any code that a Contributor has removed from Covered Software; + or +* **(b)** for infringements caused by: **(i)** Your and any other third party's + modifications of Covered Software, or **(ii)** the combination of its + Contributions with other software (except as part of its Contributor + Version); or +* **(c)** under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +#### 2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +#### 2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +#### 2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +#### 2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + + +### 3. Responsibilities + +#### 3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +#### 3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +* **(a)** such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +* **(b)** You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +#### 3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +#### 3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +#### 3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + + +### 4. Inability to Comply Due to Statute or Regulation + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: **(a)** comply with +the terms of this License to the maximum extent possible; and **(b)** +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + + +### 5. Termination + +**5.1.** The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated **(a)** provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and **(b)** on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +**5.2.** If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +**5.3.** In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + + +### 6. Disclaimer of Warranty + +> Covered Software is provided under this License on an “as is” +> basis, without warranty of any kind, either expressed, implied, or +> statutory, including, without limitation, warranties that the +> Covered Software is free of defects, merchantable, fit for a +> particular purpose or non-infringing. The entire risk as to the +> quality and performance of the Covered Software is with You. +> Should any Covered Software prove defective in any respect, You +> (not any Contributor) assume the cost of any necessary servicing, +> repair, or correction. This disclaimer of warranty constitutes an +> essential part of this License. No use of any Covered Software is +> authorized under this License except under this disclaimer. + +### 7. Limitation of Liability + +> Under no circumstances and under no legal theory, whether tort +> (including negligence), contract, or otherwise, shall any +> Contributor, or anyone who distributes Covered Software as +> permitted above, be liable to You for any direct, indirect, +> special, incidental, or consequential damages of any character +> including, without limitation, damages for lost profits, loss of +> goodwill, work stoppage, computer failure or malfunction, or any +> and all other commercial damages or losses, even if such party +> shall have been informed of the possibility of such damages. This +> limitation of liability shall not apply to liability for death or +> personal injury resulting from such party's negligence to the +> extent applicable law prohibits such limitation. Some +> jurisdictions do not allow the exclusion or limitation of +> incidental or consequential damages, so this exclusion and +> limitation may not apply to You. + + +### 8. Litigation + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + + +### 9. Miscellaneous + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + + +### 10. Versions of the License + +#### 10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +#### 10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +#### 10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +#### 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +## Exhibit A - Source Code Form License Notice + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +## Exhibit B - “Incompatible With Secondary Licenses” Notice + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. + + + +--- Visual Pinball X --- https://github.com/vpinball/vpinball?tab=License-1-ov-file#readme @@ -12522,6 +13356,2584 @@ The license applies to following assets: On release builds the engine is packed with more assets that could have different licences. If you are using a release build check the "ScreenpackLicence.txt" file for more info. +--- SAM Coupé emulator --- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + +--- XRoar, a Dragon and Tandy 8-bit computer emulator --- + +Redistribution + +License: GNU GPL version 3 or later . +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +--- SDLTRS --- + +BSD 2-Clause License + +Copyright (C) 2006-2011, Mark Grebe +Copyright (C) 2018-2024, Jens Guenther +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +--- oricutron --- + +GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. +Preamble + +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: + +a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. +b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. +c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. + +3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: + +a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, +b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, +c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) +The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. + +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +--- Supermodel --- + + The source code is freely available under the terms of the GNU General Public License 3. + +--- EKA2L1 --- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + +--- RAZE --- + +ZDoom, GZDoom Copyright (c) 1998-2022 ZDoom + GZDoom teams, and contributors + +Doom Source (c) 1997 id Software, Raven Software, and contributors + +EDuke32 and VoidSW Source (c) 2005-2020 EDuke32 teams, and contributors + +NBlood source (c) 2019-2020 Nuke.YKT + +PCExhumed source (c) 2019-2020 sirlemonhead, Nuke.YKT + +BuildGDX (c) 2020 + +Duke Nukem 3D Source (c) 1996-2003 3D Realms + +Shadow Warrior Source (c) 1997-2005 3D Realms + +"Build Engine & Tools" Copyright (c) 1993-1997 Ken Silverman Ken Silverman's official web site: http://www.advsys.net/ken See the included license file "BUILDLIC.TXT" for license info. + +Please see license files for individual contributor licenses + +Special thanks to Coraline of the 3DGE team for allowing us to use her README.md as a template for this one. +Non-Build code is licensed under the GPL v2 +https://www.gnu.org/licenses/old-licenses/gpl-2.0.html + + +BUILD SOURCE CODE LICENSE TERMS: 06/20/2000 + +[1] I give you permission to make modifications to my Build source and + distribute it, BUT: + +[2] Any derivative works based on my Build source may be distributed ONLY + through the INTERNET. + +[3] Distribution of any derivative works MUST be done completely FREE of + charge - no commercial exploitation whatsoever. + +[4] Anything you distribute which uses a part of my Build Engine source + code MUST include: + + [A] The following message somewhere in the archive: + + // "Build Engine & Tools" Copyright (c) 1993-1997 Ken Silverman + // Ken Silverman's official web site: "http://www.advsys.net/ken" + // See the included license file "BUILDLIC.TXT" for license info. + + [B] This text file "BUILDLIC.TXT" along with it. + + [C] Any source files that you modify must include this message as well: + + // This file has been modified from Ken Silverman's original release + +[5] The use of the Build Engine for commercial purposes will require an + appropriate license arrangement with me. Contact information is + on my web site. + +[6] I take no responsibility for damage to your system. + +[7] Technical support: Before contacting me with questions, please read + and do ALL of the following! + + [A] Look through ALL of my text files. There are 7 of them (including this + one). I like to think that I wrote them for a reason. You will find + many of your answers in the history section of BUILD.TXT and + BUILD2.TXT (they're located inside SRC.ZIP). + + [B] If that doesn't satisfy you, then try going to: + + "http://www.advsys.net/ken/buildsrc" + + where I will maintain a Build Source Code FAQ (or perhaps I might + just provide a link to a good FAQ). + + [C] I am willing to respond to questions, but ONLY if they come at a rate + that I can handle. + + PLEASE TRY TO AVOID ASKING DUPLICATE QUESTIONS! + + As my line of defense, I will post my current policy about + answering Build source questions (right below the E-mail address + on my web site.) You can check there to see if I'm getting + overloaded with questions or not. + + If I'm too busy, it might say something like this: + + I'm too busy to answer Build source questions right now. + Sorry, but don't expect a reply from me any time soon. + + If I'm open for Build source questions, please state your question + clearly and don't include any unsolicited attachments unless + they're really small (like less than 50k). Assume that I have + a 28.8k modem. Also, don't leave out important details just + to make your question appear shorter - making me guess what + you're asking doesn't save me time! + +-Ken S. (official web site: http://www.advsys.net/ken) + +--- linapple --- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + +--- gsplus --- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + +--- shadPS4 --- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + +--- Lime3DS --- + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. + + +The icons used in this project have the following licenses: + +Icon Name | License | Origin/Author +--- | --- | --- +checked.png | CC BY-ND 3.0 | https://icons8.com +connected.png | CC BY-ND 3.0 | https://icons8.com +connected_notification.png | CC BY-ND 3.0 | https://icons8.com +disconnected.png | CC BY-ND 3.0 | https://icons8.com +failed.png | CC BY-ND 3.0 | https://icons8.com +lock.png | CC BY-ND 3.0 | https://icons8.com +plus_folder.png | CC BY-ND 3.0 | https://icons8.com +bad_folder.png | CC BY-ND 3.0 | https://icons8.com +chip.png | CC BY-ND 3.0 | https://icons8.com +folder.png | CC BY-ND 3.0 | https://icons8.com +plus.png (Default, Dark) | CC0 1.0 | Designed by BreadFish64 from the Citra team +plus.png (Colorful, Colorful Dark) | CC BY-ND 3.0 | https://icons8.com +sd_card.png | CC BY-ND 3.0 | https://icons8.com +star.png | CC BY-ND 3.0 | https://icons8.com + --- ART AND ASSESTS --- @@ -12570,7 +15982,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --- Mini Banner --- Pixel Art is made by the group: Weestuarty, DerSchlachter (LaunchBox), Dan Patrick. From 5660b9a3a597025f4c7d0a48f01e8043216b2eb7 Mon Sep 17 00:00:00 2001 From: etjanster Date: Tue, 17 Sep 2024 07:58:14 +0200 Subject: [PATCH 34/74] other licences fixes --- other_licenses.txt | 702 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 702 insertions(+) diff --git a/other_licenses.txt b/other_licenses.txt index a008b1e4..bc78d407 100644 --- a/other_licenses.txt +++ b/other_licenses.txt @@ -15935,6 +15935,708 @@ sd_card.png | CC BY-ND 3.0 | https://icons8.com star.png | CC BY-ND 3.0 | https://icons8.com +--- PortMaster --- + +MIT License + +Copyright (c) 2021 christianhaitian + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- steam-rom-manager --- + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. + + --- ART AND ASSESTS --- From 1166878e5db6bfc7ae7bd298553b788ca1f2128a Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 17 Sep 2024 17:37:23 +0900 Subject: [PATCH 35/74] ES-DE: Testing the new update 3.1.0 --- net.retrodeck.retrodeck.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index becf1bb6..e03066d5 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -553,9 +553,12 @@ modules: - cp -r files/* "${FLATPAK_DEST}" - chmod +x "${FLATPAK_DEST}/bin/"* sources: + # Testing the new feat/update-3.1.0 - type: archive - url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz - sha256: RETRODECKESDELATEST + url: https://github.com/RetroDECK/ES-DE/releases/download/feat%2Fupdate-3.1.0-170924.19/RetroDECK-ES-DE-Artifact.tar.gz + sha256: 21b937034be0381dab81b00ec0a9a95210b0610c1a3b66c5ab3b3b0aceae8654 + #url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz + #sha256: RETRODECKESDELATEST - name: retrodeck-theme buildsystem: simple From beaa0a025ec9adb219a18b5bd1cddf39fe42b551 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Tue, 17 Sep 2024 17:47:51 +0900 Subject: [PATCH 36/74] ES-DE: fixed sha --- net.retrodeck.retrodeck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index e03066d5..68738487 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -556,7 +556,7 @@ modules: # Testing the new feat/update-3.1.0 - type: archive url: https://github.com/RetroDECK/ES-DE/releases/download/feat%2Fupdate-3.1.0-170924.19/RetroDECK-ES-DE-Artifact.tar.gz - sha256: 21b937034be0381dab81b00ec0a9a95210b0610c1a3b66c5ab3b3b0aceae8654 + sha256: 047198f98d4c57fefb19bda059ec059ea2fb9691519952b86b744d21b57a00ff #url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz #sha256: RETRODECKESDELATEST From 879ccef219e44943f2f8b119264efa483a19d643 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 17 Sep 2024 12:19:48 +0100 Subject: [PATCH 37/74] What a state! --- tools/configurator/locales/interface.csv | 81 ------------------ tools/configurator/main.tscn | 19 ++++- tools/configurator/project.godot | 5 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabGlobals.gd | 17 ++-- tools/configurator/scripts/TabSettings.gd | 4 +- tools/configurator/scripts/TabSystem.gd | 3 +- tools/configurator/scripts/class_functions.gd | 53 ++++++++---- tools/configurator/scripts/main.gd | 62 +++++++------- 9 files changed, 142 insertions(+), 186 deletions(-) delete mode 100644 tools/configurator/locales/interface.csv diff --git a/tools/configurator/locales/interface.csv b/tools/configurator/locales/interface.csv deleted file mode 100644 index 165749e5..00000000 --- a/tools/configurator/locales/interface.csv +++ /dev/null @@ -1,81 +0,0 @@ -keys,en,it,de,sv,ua,ja,zh -TK_SYSTEM,"System","Sistema","System","System","Cистема","システム","系统" -TK_GAME_SETTINGS,"Game Settings","Impostazioni di Gioco","Spieleinstellungen","Spelinställningar","Ігрові Налаштування","ゲーム設定","游戏设定" -TK_QRESUME,"Quick Resume","Quick Resume","Schnellfortsetzung","Snabb Återupptagning","Швидкий Запуск","クイックリジューム","快速恢复" -TK_ADVANCED,"Advanced","Avanzate","Erweitert","Avancerat","Розширені","アドバンスド","高级/进阶" -TK_REWIND,"Rewind","Riavvolgimento","Zurückspulen","Tillbakaspolning","Перемотка","巻き戻し","倒带" -TK_CONFIRMEXIT,"Quit Confirmation","Conferma per Uscire","Beenden Bestätigen","Avlutningsbekräftelse","Підтвердження Виходу","確認終了","退出确认" -TK_CHEATS,"Cheats","Trucchi","Cheats","Fusk","Чіти","チート","作弊" -TK_SOON,"(coming soon)","(in arrivo)","(bald verfügbar)","(kommer snart)","(незабаром)","(近日公開)","(即将到来)" -TK_GRAPHICS,"Graphics","Grafica","Grafik","Grafik","Графіка","グラフィック","画质" -TK_CONTROLS,"Controls","Controlli","Steuerung","Kontroller","Управління","コントロール","控制" -TK_TOOLS,"Tools","Strumenti","Werkzeuge","Verktyg","Інструменти","ツール","工具" -TK_NETWORK,"Network","Rete","Netzwerk","Nätverk","Мережа","ネットワーク","kai qi" -TK_TROUBLESHOOT,"Troubleshoot","Risoluzione Problemi","Fehlerbehebung","Felsökning","Несправності","トラブルシューティング","排错" -TK_TROUBLESHOOTLBL,"Troubleshoot","Risoluzione Problemi","Fehlerbehebung","Felsökning","Усунення Несправностей","トラブルシューティング","排错" -TK_CONFIGURATOR,"Configurator","Configurator","Configurator","Configurator","Конфігуратор","確認","设置" -TK_ABOUT,"About","Informazioni","Über","Om","Про Нас","アバウト","关于" -TK_DECORATIONS,"Decorations","Decorazioni","Dekorationen","Dekorationer","Декорації","装飾","装饰" -TK_BORDERS,"Borders","Bordi","Ränder","Ramar","Фони","ボーダー","边框" -TK_WSCREEN,"Widescreen","Widescreen","Breitbild","Bredbild","Широкий Екран","ワイドスクリーン","宽屏" -TK_SHADERS,"Shaders","Shader","Shaders","Shaders","Шейдери","シェーダ","着色器" -TK_EXTRA,"Extra","Extra","Extra","Extra","Додатково","エクストラ","额外" -TK_MODS,"Mods","Mod","Mods","Moddar","Модифікації","改造","游戏模组" -TK_TATE,"TATE Mode","TATE Mode","TATE-Mode","TATE Läge","Режим TATE","垂直スクリーンモード","垂屏模式" -TK_STEAMCONTEMP,"Steam: Controller Templates","Template dei Controller di Steam","Steam: Controller-Vorlagen","Steam: Kontroller Mallar","Steam: Шаблони Контролерів","Steam:コントローラーテンプレート","Steam:控制器模板" -TK_INSTALL,"Install","Installa","Installieren","Installera","Встановити","インストール","安装" -TK_BTNLAYOUT,"Button Layout","Layout Pulsanti","Tastenbelegung","Knapp Layout","Розташування Кнопок","ボタンのレイアウト","按键布局" -TK_BTNCLASSIC,"Classic","Classico","Klassik","Klassisk","Класичний","クラッシク","经典" -TK_BTNNINTENDO,"Nintendo","Nintendo","Nintendo","Nintendo","Nintendo","ニンテンドー","任天堂" -TK_HOTKEYSOUND,"Hotkey Activation Sound","Suono su Attivazione Hotkey","Hotkey Aktivierungssound","Hotkey Aktiveringsljud","Звук Гарячих Клавіш","ホットキー起動音","热键激活音效" -TK_SCAN,"Scan","Scansiona","Scan","Skanna","Сканувати","スキャン","扫描" -TK_PS3SCAN,"PlayStation 3 Games","Giochi PlayStation 3","PlayStation 3 Spiele","PlayStation 3 Spel","Ігри для PlayStation 3","プレステ3ゲーム","PlayStation3游戏" -TK_SCUMMVMSCAN,"ScummVM Games","Giochi ScummVM","ScummVM Spiele","ScummVM Spel","Ігри ScummVM","ScummVMゲーム","ScummVM游戏" -TK_MULTIFILE,"Multi-File Structure","Struttura Multi-File","Mehrfachdateistruktur","Flerfilsstruktur","Багатофайлова Структура","マルチファイル構造","多文件结构" -TK_3DSDECRYPT,"3DS Game Decrypter","Decrittatore Giochi 3DS","3DS Spielentcrypter","3DS Spelavkrypterare","Дешифратор Ігор 3DS","3DS ゲームデクリプタ","3DS游戏解密" -TK_BIOS,"BIOS","BIOS","BIOS","BIOS","BIOS","BIOS","BIOS" -TK_GENTOOLS,"General Tools","Strumenti Generali","Allgemeine Werkzeuge","Allmänt","Загальні Інструменти","一般的なツール","一般工具" -TK_EMUOPEN,"Open Emulator...","Apri Emulatore...","Öffne Emulator...","Öppna Emulator...","Відкрити Емулятор...","エミュレータを開く...","打开模拟器..." -TK_GRIDINSTALL,"Install RetroDECK Steam Grids","Installa le Steam Grids di RetroDECK","RetroDECK Steam Grids Installieren","Installera RetroDECK Steam Grids","Встановити RetroDECK Steam Grids","RetroDECK Steam Gridsをインストール","安装RetroDECK Steam Grids" -TK_PS3FWINSTALL,"Install PS3 Firmware","Installa il Firmware PS3","Installiere PS3 Firmware","Installera PS3 Firmware","Встановити Прошивку PS3","PS3ファームウェアをインストール","安装PS3固件" -TK_FAVSTEAM,"Show Favorites as Steam Games","Mostra Giochi Preferiti su Steam","Favoriten als Steam-Spiele anzeigen","Visa Favoriter som Spel i Steam","Показати Улюблені як Ігри в Steam","お気に入りを Steam ゲームとして表示","显示收藏夹为Steam游戏" -TK_FILETOOLS,"File Maniuplation","Manipolazione File","Datei Werkzeuge","Filhantering","Маніпуляції з Файлами","ファイル操作","文件操作" -TK_USBTOOL,"USB Transfer Tool","Strumento di Trasferimento USB","USB Transfer Tool","USB Överföringsverktyg","Інструмент для Передачі Даних USB","USB転送ツール","USB传输工具" -TK_BACKUPBTN,"Backup User Data","Backup Dati Utente","Benutzerdaten Sichern","Backup av Användardata","Резервне Копіювання Даних Користувача","ユーザデータバックアップ","备份用户数据" -TK_COMPRESSGAMES,"Compress Games","Comprimi Giochi","Spiele Komprimieren","Komprimera Spel","Стиснути Ігри","ゲームを圧縮","压缩游戏" -TK_MOVEFILES,"Move User Files","Sposta File Utente","Benutzerdateien Verschieben","Flytta Användarfiler","Перемістити Файли Користувача","ユーザーファイルを移動","移动用户文件" -TK_CHEEVOS,"Retro Achievements","Retro Achievements","Retro Achievements","Retro Achievements","Retro Achievements","レトロ実績","Retro成就" -TK_CHEEVOSUNAME,"Username:","Nome Utente:","Benutzername:","Användarnamn:","Ім'я користувача:","ユーザー名:","用户名:" -TK_CHEEVOSPWD,"Password:","Password:","Passwort:","Lösenord:","Пароль:","パスワード:","密码:" -TK_CHEEVOSHARDCORE,"Hardcore Mode","Modalità Hardcore","Hardcore Modus","Hardcore Läge","Хардкорний Режим","ハードコアモード","硬核模式" -TK_CHEEVOSTROPHYBTN,"Show Throphies","Mostra Trofei","Trophäen Anzeigen","Visa Troféer","Показати Трофеї","トロフィーを表示","显示奖杯" -TK_LOGIN,"Login","Login","Login","Logga In","Увійти","ログイン","登录" -TK_NETPLAY,"Netplay","Netplay","Netplay","Netplay","Netplay","ネットプレイ","网战" -TK_NETPLAYID,"Netplay ID:","ID Netplay:","Netplay ID:","Netplay ID:","Netplay ID:","ネットプレイID:","网战ID:" -TK_NETPLAYADDRESS,"Address:","Indirizzo:","Adresse:","Address:","Адреса:","アドレス:","地址:" -TK_NETPLAYCONNECT,"Connect","Connetti","Verbinden","Anslut","Підключитися","接続","连接" -TK_DATAMNG,"Data Management","Gestione Dati","Datenverwaltung","Datahantering","Управління Даними","データ管理","数据管理" -TK_SAVESSYNC,"Synchronize Saves","Sincronizzazione Salvataggi","Spielstände Synchronisieren","Synkronisera Sparfiler","Синхронізувати Збереження","保存データを同期","同步存档" -TK_FTPBTN,"Start sFTP Server","Avvia Server sFTP","Starte sFTP Server","Starta sFTP Server","Запустити Сервер sFTP","sFTPサーバーを起動","开启sFTP服务器" -TK_CHECKCONN,"Check Connection","Controllo Connessione","Verbindung Überprüfen","Kontrollera Anslutning","Перевірити Підключення","接続を確認","检查连接" -TK_LOGSBTN,"Show Logs","Mostra Log","Logs Anzeigen","Visa Loggar","Показати Логи","ログを表示","显示日志" -TK_RESET,"Reset","Reset","Reset","Återställ","Скинути","リセット","重置" -TK_RESETSINGLE,"Single Emulator...","Emulatore Singolo...","Einzelner Emulator...","En Emulator...","Один Емулятор...","単一エミュレータ...","单独模拟器..." -TK_RESETALL,"All Emulators","Tutti gli Emulatori","Alle Emulatoren","Alla Emulatorer","Всі Емулятори","全エミュレータ","所有模拟器" -TK_RESETFULL,"Full RetroDECK Reset","Reset RetroDECK Completo","Vollständiges Zurücksetzen von RetroDECK","Återställ Hela RetroDECK","Повне Скидання RetroDECK","RetroDECKを完全リセット","完全重置RetroDECK" -TK_UPDATENOTIF,"Update Notification","Notifica gli Aggiornamenti","Update-Benachrichtigung","Uppdaterings-notifikation","Сповіщення про Оновлення","アップデート通知","更新通知" -TK_EASTEREGGS,"Show Easter Eggs","Mostra Easter Eggs","Easter Eggs anzeigen","Visa Easter Eggs","Показувати Пасхальні Яйця","イースターエッグを表示","显示彩蛋" -TK_MULTIUSR,"Multi-User Mode","Modalità Multi-Utente","Multi-User Mode","Flerspelarläge","Багатокористувацький Режим","マルチユーザーモード","多用户模式" -TK_OFF,"Off","Off","Aus","Av","Вимк","オフ","关闭" -TK_STEAMUSR,"Steam Users","Utenti Steam","Steam Benutzer","Steam Användare","Користувачі Steam","Steamユーザー","Steam用户" -TK_CUSTOMUSR,"Custom Users","Utenti Personalizzati","Benutzerdefinierte Benutzer","Anpassade Användare","Кастомні Користувачі","カスタムユーザー","自定义用户" -TK_MUSIC,"Menu Music","Musica del Menu","Menu Hintergrundmusik","Meny Musik","Музика Меню","メニュー音楽","菜单音乐" -TK_ABOUTHEADER,"About RetroDECK","A Proposito di RetroDECK","Über RetroDECK","Om RetroDECK","Про RetroDECK","RetroDECKについて","关于RetroDECK" -TK_WEBSITE,"Website","Sito Web","Website","Hemsida","Веб-сайт","公式サイト","网站" -TK_CHANGELOG,"Version History","Storico Versioni","Versions History","Versionshistorik","Історія Версій","バージョン履歴","版本历史" -TK_WIKI,"Wiki","Wiki","Wiki","Wiki","Wiki","Wiki","维基" -TK_CREDITS,"Credits","Crediti","Credits","Tillskrivningar","Автори","クレジット","鸣谢" -TK_DONATE,"Donate","Donazione","Spenden","Donera","Пожертвувати","寄付","捐赠" -TK_CONTACTUS,"Reach Us","Contattaci","Kontakiere Uns","Kontakta Oss","Зв'язатися з Нами","連絡","联系我们" -TK_LICENSES,"Licenses","Licenze","Lizenzen","Licenser","Ліцензії","ライセンス","许可" -TK_ON,"On","On","An","På","Увімк","オン","开启" \ No newline at end of file diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 807f2cae..cdcbfb82 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -279,7 +279,8 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="borders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +[node name="border_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "BORDERS" @@ -289,6 +290,20 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +[node name="border_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/border_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 400.0 +offset_right = 400.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) @@ -348,6 +363,8 @@ expand_icon = true [node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 +tooltip_text = "This feature is planned for a future release." +disabled = true text = "TATE MODE" icon = ExtResource("10_jm3oh") alignment = 1 diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 0e614c27..7c22162b 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -113,10 +113,7 @@ quit2={ [internationalization] -locale/translation_remaps={ -"res://res/pixel_ui_theme/8x8_ui_elements.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements_sv.png:sv"), -"res://res/pixel_ui_theme/8x8_ui_elements2x.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements2x_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements2x_sv.png:sv") -} +locale/translation_remaps={} [rendering] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 6431f0c7..5916a4dc 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_pe205"] +[sub_resource type="Image" id="Image_gclt6"] 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_pe205") +image = SubResource("Image_gclt6") -[sub_resource type="Image" id="Image_rjdjq"] +[sub_resource type="Image" id="Image_m1rah"] 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_rjdjq") +image = SubResource("Image_m1rah") [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_0lg0c"] +[sub_resource type="Image" id="Image_d4qf2"] 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_0lg0c") +image = SubResource("Image_d4qf2") [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_ivbog"] +[sub_resource type="Image" id="Image_62urv"] 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_ivbog") +image = SubResource("Image_62urv") [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_efcfw"] +[sub_resource type="Image" id="Image_iypmk"] 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_efcfw") +image = SubResource("Image_iypmk") [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_j4lt4"] +[sub_resource type="Image" id="Image_xl6xx"] 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_j4lt4") +image = SubResource("Image_xl6xx") [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_oal7o"] +[sub_resource type="Image" id="Image_1bc35"] 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_oal7o") +image = SubResource("Image_1bc35") -[sub_resource type="Image" id="Image_0ivjq"] +[sub_resource type="Image" id="Image_du034"] 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_0ivjq") +image = SubResource("Image_du034") -[sub_resource type="Image" id="Image_jx21i"] +[sub_resource type="Image" id="Image_ial42"] 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_jx21i") +image = SubResource("Image_ial42") -[sub_resource type="Image" id="Image_egpts"] +[sub_resource type="Image" id="Image_nwy57"] 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_egpts") +image = SubResource("Image_nwy57") -[sub_resource type="Image" id="Image_x5ggu"] +[sub_resource type="Image" id="Image_mpl4x"] 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_x5ggu") +image = SubResource("Image_mpl4x") [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_3xyb6"] +[sub_resource type="Image" id="Image_em7bv"] 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_3xyb6") +image = SubResource("Image_em7bv") [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_p06jl"] +[sub_resource type="Image" id="Image_gwxbt"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_p06jl") +image = SubResource("Image_gwxbt") [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_fnsjq"] +[sub_resource type="Image" id="Image_813rd"] 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_fnsjq") +image = SubResource("Image_813rd") [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_uv5vy"] +[sub_resource type="Image" id="Image_125hh"] 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_uv5vy") +image = SubResource("Image_125hh") -[sub_resource type="Image" id="Image_vsi0u"] +[sub_resource type="Image" id="Image_yjjqe"] 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_vsi0u") +image = SubResource("Image_yjjqe") -[sub_resource type="Image" id="Image_0igml"] +[sub_resource type="Image" id="Image_rtsq8"] 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_0igml") +image = SubResource("Image_rtsq8") -[sub_resource type="Image" id="Image_37m1g"] +[sub_resource type="Image" id="Image_7ctvg"] 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_37m1g") +image = SubResource("Image_7ctvg") [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_gh7rh"] +[sub_resource type="Image" id="Image_lvt2b"] 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_gh7rh") +image = SubResource("Image_lvt2b") -[sub_resource type="Image" id="Image_31oir"] +[sub_resource type="Image" id="Image_x5w5l"] 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_31oir") +image = SubResource("Image_x5w5l") [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_o3lxu"] +[sub_resource type="Image" id="Image_vyax8"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_o3lxu") +image = SubResource("Image_vyax8") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 0a9352ab..b7c8e801 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -10,6 +10,7 @@ func _ready(): func _process(delta: float) -> void: update_progress(delta, %button_swap_progress, %button_swap_button, class_functions.abxy_state) update_progress(delta, %ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state) + update_progress(delta, %border_progress, %border_button, class_functions.border_state) func update_progress(delta: float, progress: ProgressBar, button: Button, state: String) -> void: if is_state_pressed and state == "mixed": @@ -22,14 +23,17 @@ func update_progress(delta: float, progress: ProgressBar, button: Button, state: progress.value = 0.0 func _connect_signals(): - %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button)) - %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button)) + %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) + %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) %button_swap_button.button_down.connect(_do_action.bind(%button_swap_button, %button_swap_progress)) %button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress)) - %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button)) + %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_button, %ask_to_exit_progress)) %ask_to_exit_button.button_up.connect(_on_button_released.bind(%ask_to_exit_progress)) - %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button)) + %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit")) + %border_button.button_down.connect(_do_action.bind(%border_button, %border_progress)) + %border_button.button_up.connect(_on_button_released.bind(%border_progress)) + %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) func _on_button_released(progress: ProgressBar) -> void: is_state_pressed = false @@ -39,15 +43,18 @@ func _on_button_released(progress: ProgressBar) -> void: func _do_action(button: Button, progress: ProgressBar) -> void: match button.name: - "button_swap_button", "ask_to_exit_button": + "button_swap_button", "ask_to_exit_button", "border_button": is_state_pressed = true progress.visible = true func _do_complete(button: Button) ->void: + #TODO use object for state if is_state_pressed: match button.name: "button_swap_button": class_functions.abxy_state = "false" "ask_to_exit_button": class_functions.ask_to_exit_state = "false" + "border_button": + class_functions.border_state = "false" button.toggle_mode = true diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 879d1529..b7651292 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -4,7 +4,7 @@ func _ready(): _connect_signals() func _connect_signals() -> void: - %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button)) - %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button)) + %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) + %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) #%volume_effects_slider.changed.connect(class_functions.slider_function.bind(%volume_effects_slider)) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) diff --git a/tools/configurator/scripts/TabSystem.gd b/tools/configurator/scripts/TabSystem.gd index 1b4d7a8a..5004abd4 100644 --- a/tools/configurator/scripts/TabSystem.gd +++ b/tools/configurator/scripts/TabSystem.gd @@ -23,6 +23,7 @@ func _process(delta: float) -> void: func _connect_signals() -> void: #TODO make for loops for each function linked to button function call + # Change to follow hoe TabGlobals Works %retroarch_button.pressed.connect(standard_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) %mame_button.pressed.connect(standard_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) %ruffle_button.pressed.connect(standard_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) @@ -45,7 +46,7 @@ func _connect_signals() -> void: %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) %rpcs3_firmware_button.pressed.connect(_do_action.bind(%rpcs3_firmware_button)) %vita3k_firmware_button.pressed.connect(_do_action.bind(%vita3k_firmware_button)) - %retroarch_quick_resume_button.pressed.connect(class_functions.run_function.bind(%retroarch_quick_resume_button)) + %retroarch_quick_resume_button.pressed.connect(class_functions.run_function.bind(%retroarch_quick_resume_button, "abxy_button_swap")) func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: current_system = app_data.emulators[button.text.to_lower()] diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 2c6964ed..cdee8c64 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -23,6 +23,7 @@ var quick_resume_status: bool var update_check: bool var abxy_state: String var ask_to_exit_state: String +var border_state: String var font_select: int signal update_global_signal @@ -46,6 +47,7 @@ func read_values_states() -> void: update_check = config["options"]["update_check"] abxy_state = multi_state("abxy_button_swap", abxy_state) ask_to_exit_state = multi_state("ask_to_exit", ask_to_exit_state) + border_state = multi_state("borders", border_state) sound_effects = config["options"]["sound_effects"] volume_effects = int(config["options"]["volume_effects"]) font_select = int(config["options"]["font"]) @@ -243,45 +245,60 @@ func slider_function(value: float, slide: HSlider) -> void: volume_effects = int(slide.value) data_handler.change_cfg_value(config_file_path, "volume_effects", "options", str(slide.value)) -func run_function(button: Button) -> void: +func run_function(button: Button, preset: String) -> void: if button.button_pressed: - enable_global(button) + enable_global(button, preset, true) else: - disable_global(button) + #TODO use enables put pass state? + enable_global(button, preset, false) + #disable_global(button, preset) -func enable_global(button: Button) -> void: +func enable_global(button: Button, preset: String, state: bool) -> void: var result: Array - var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, "abxy_button_swap") + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) + print (config_section) match button.name: "quick_resume_button", "retroarch_quick_resume_button": - quick_resume_status = true - result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "true") + print (quick_resume_status) + quick_resume_status = state + result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state)) change_global(result, "build_preset_config", button, str(quick_resume_status)) "update_notification_button": - result = data_handler.change_cfg_value(config_file_path, "update_check", "options", "true") + update_check = state + result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) change_global(result, "build_preset_config", button, str(result)) "sound_button": - sound_effects = true - result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "true") + sound_effects = state + result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) logger("i", "Enabled: " % (button.name)) "button_swap_button": - if abxy_state == "false": - abxy_state = "true" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "abxy_button_swap", "true") + #if abxy_state == "false": + #abxy_state = "true" + #else: + #abxy_state = "" + if abxy_state != "mixed": + abxy_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, abxy_state) "ask_to_exit_button": if ask_to_exit_state == "false": ask_to_exit_state = "true" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "ask_to_exit", "true") + if ask_to_exit_state != "mixed": + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, ask_to_exit_state) + "borders_button": + if ask_to_exit_state == "false": + ask_to_exit_state = "true" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "ask_to_exit", str(state)) change_global(result, "build_preset_config", button, ask_to_exit_state) -func disable_global(button: Button) -> void: +func disable_global(button: Button, preset: String) -> void: var result: Array - var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, "abxy_button_swap") + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = false - result = data_handler.change_cfg_value(config_file_path, "retroarch", "quick_resume", "false") + result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, "false") change_global(result, "build_preset_config", button, str(quick_resume_status)) "update_notification_button": result = data_handler.change_cfg_value(config_file_path, "update_check", "options", "false") @@ -303,7 +320,7 @@ func disable_global(button: Button) -> void: func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: match parameters[1]: - "abxy_button_swap", "ask_to_exit_state": + "abxy_button_swap", "ask_to_exit", "borders": for system in parameters[0].keys(): var command_parameter: Array = [preset, system, parameters[1]] logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 0b95e769..0fc65026 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -180,13 +180,13 @@ func _on_exit_button_pressed(): #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") func _set_up_globals(state: Array) -> void: - print (state) + #TODO on initial run pass array date? + print (class_functions.abxy_state) %update_notification_button.button_pressed = class_functions.update_check %quick_resume_button.button_pressed = class_functions.quick_resume_status %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status %sound_button.button_pressed = class_functions.sound_effects %volume_effects_slider.visible = class_functions.sound_effects - match class_functions.abxy_state: "true": %button_swap_button.button_pressed = true @@ -195,21 +195,7 @@ func _set_up_globals(state: Array) -> void: %button_swap_button.button_pressed = false %button_swap_button.add_theme_stylebox_override("normal", style_box_original) "mixed": - %button_swap_button.button_pressed = false - %button_swap_button.toggle_mode = false - var style_box = StyleBoxFlat.new() - style_box.bg_color = Color(1, 0.54902, 0, 1) - style_box.border_color = Color(0.102, 0.624, 1, 1) - style_box.border_blend = true - style_box.corner_radius_top_left = 25 - style_box.corner_radius_top_right = 25 - style_box.corner_radius_bottom_right = 25 - style_box.corner_radius_bottom_left = 25 - style_box.border_width_left = 15 - style_box.border_width_top = 15 - style_box.border_width_right = 15 - style_box.border_width_bottom = 15 - %button_swap_button.add_theme_stylebox_override("normal", style_box) + mixed_status(%button_swap_button) match class_functions.ask_to_exit_state: "true": %ask_to_exit_button.button_pressed = true @@ -218,21 +204,33 @@ func _set_up_globals(state: Array) -> void: %ask_to_exit_button.button_pressed = false %ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) "mixed": - %ask_to_exit_button.button_pressed = false - %ask_to_exit_button.toggle_mode = false - var style_box = StyleBoxFlat.new() - style_box.bg_color = Color(1, 0.54902, 0, 1) - style_box.border_color = Color(0.102, 0.624, 1, 1) - style_box.border_blend = true - style_box.corner_radius_top_left = 25 - style_box.corner_radius_top_right = 25 - style_box.corner_radius_bottom_right = 25 - style_box.corner_radius_bottom_left = 25 - style_box.border_width_left = 15 - style_box.border_width_top = 15 - style_box.border_width_right = 15 - style_box.border_width_bottom = 15 - %ask_to_exit_button.add_theme_stylebox_override("normal", style_box) + mixed_status(%ask_to_exit_button) + match class_functions.border_state: + "true": + %border_button.button_pressed = true + %border_button.add_theme_stylebox_override("normal", style_box_original) + "false": + %border_button.button_pressed = false + %border_button.add_theme_stylebox_override("normal", style_box_original) + "mixed": + mixed_status(%border_button) + +func mixed_status (button: Button) -> void: + button.button_pressed = false + button.toggle_mode = false + var style_box = StyleBoxFlat.new() + style_box.bg_color = Color(1, 0.54902, 0, 1) + style_box.border_color = Color(0.102, 0.624, 1, 1) + style_box.border_blend = true + style_box.corner_radius_top_left = 25 + style_box.corner_radius_top_right = 25 + style_box.corner_radius_bottom_right = 25 + style_box.corner_radius_bottom_left = 25 + style_box.border_width_left = 15 + style_box.border_width_top = 15 + style_box.border_width_right = 15 + style_box.border_width_bottom = 15 + button.add_theme_stylebox_override("normal", style_box) func change_font(index: int) -> void: var font_file: FontFile From 0c53064d1ff377e3516c3ad1e4973bd072c4169d Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 17 Sep 2024 14:29:38 +0100 Subject: [PATCH 38/74] State <> null --- tools/configurator/main.tscn | 2 - tools/configurator/scripts/class_functions.gd | 59 +++++-------------- tools/configurator/scripts/main.gd | 2 +- 3 files changed, 16 insertions(+), 47 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index cdcbfb82..402b8fd1 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -297,8 +297,6 @@ layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_left = 400.0 -offset_right = 400.0 grow_horizontal = 2 grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index cdee8c64..ea14cb5f 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -247,19 +247,18 @@ func slider_function(value: float, slide: HSlider) -> void: func run_function(button: Button, preset: String) -> void: if button.button_pressed: - enable_global(button, preset, true) + print (button.name) + update_global(button, preset, true) else: - #TODO use enables put pass state? - enable_global(button, preset, false) - #disable_global(button, preset) + print ("ELSE:" + button.name) + update_global(button, preset, false) -func enable_global(button: Button, preset: String, state: bool) -> void: +func update_global(button: Button, preset: String, state: bool) -> void: + #TODO pass state as an object in future version var result: Array var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) - print (config_section) match button.name: "quick_resume_button", "retroarch_quick_resume_button": - print (quick_resume_status) quick_resume_status = state result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state)) change_global(result, "build_preset_config", button, str(quick_resume_status)) @@ -272,53 +271,25 @@ func enable_global(button: Button, preset: String, state: bool) -> void: result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) logger("i", "Enabled: " % (button.name)) "button_swap_button": - #if abxy_state == "false": - #abxy_state = "true" - #else: - #abxy_state = "" if abxy_state != "mixed": abxy_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, abxy_state) "ask_to_exit_button": - if ask_to_exit_state == "false": - ask_to_exit_state = "true" if ask_to_exit_state != "mixed": + ask_to_exit_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, ask_to_exit_state) - "borders_button": - if ask_to_exit_state == "false": - ask_to_exit_state = "true" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "ask_to_exit", str(state)) - change_global(result, "build_preset_config", button, ask_to_exit_state) - -func disable_global(button: Button, preset: String) -> void: - var result: Array - var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) - match button.name: - "quick_resume_button", "retroarch_quick_resume_button": - quick_resume_status = false - result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, "false") - change_global(result, "build_preset_config", button, str(quick_resume_status)) - "update_notification_button": - result = data_handler.change_cfg_value(config_file_path, "update_check", "options", "false") - change_global(result, "build_preset_config", button, str(result)) - "sound_button": - sound_effects = false - result = data_handler.change_cfg_value(config_file_path, "sound_effects", "options", "false") - logger("i", "Disabled: " % (button.name)) - "button_swap_button": - if abxy_state == "true": - abxy_state = "false" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "abxy_button_swap", "false") - change_global(result, "build_preset_config", button, abxy_state) - "ask_to_exit_button": - if ask_to_exit_state == "true": - ask_to_exit_state = "false" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "ask_to_exit", "false") - change_global(result, "build_preset_config", button, ask_to_exit_state) + "border_button": + print (border_state) + if border_state != "mixed": + border_state = str(state) + print (border_state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, border_state) func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: + #print (parameters) match parameters[1]: "abxy_button_swap", "ask_to_exit", "borders": for system in parameters[0].keys(): diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 0fc65026..ec94af14 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -181,7 +181,7 @@ func _on_exit_button_pressed(): func _set_up_globals(state: Array) -> void: #TODO on initial run pass array date? - print (class_functions.abxy_state) + print (state) %update_notification_button.button_pressed = class_functions.update_check %quick_resume_button.button_pressed = class_functions.quick_resume_status %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status From 826425f4f7e4806d733e7b431adb7961a7504b31 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 17 Sep 2024 17:30:36 +0100 Subject: [PATCH 39/74] State != null --- tools/configurator/main.tscn | 27 +++++++ tools/configurator/scripts/TabGlobals.gd | 21 ++++-- tools/configurator/scripts/class_functions.gd | 19 +++-- tools/configurator/scripts/main.gd | 73 ++++++++++++------- 4 files changed, 101 insertions(+), 39 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 402b8fd1..7e60d7cc 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -329,6 +329,7 @@ show_percentage = false [node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 +disabled = true text = "MODS" icon = ExtResource("5_vehlp") alignment = 1 @@ -349,6 +350,7 @@ vertical_icon_alignment = 0 expand_icon = true [node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "QUICK REWIND" @@ -358,6 +360,18 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +[node name="quick_rewind_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/quick_rewind_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 @@ -373,6 +387,7 @@ expand_icon = true [node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 +disabled = true text = "SHADERS" icon = ExtResource("4_q6hd2") alignment = 1 @@ -391,6 +406,18 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +[node name="widescreen_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/widescreen_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index b7c8e801..0b7cacfd 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -11,7 +11,9 @@ func _process(delta: float) -> void: update_progress(delta, %button_swap_progress, %button_swap_button, class_functions.abxy_state) update_progress(delta, %ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state) update_progress(delta, %border_progress, %border_button, class_functions.border_state) - + update_progress(delta, %widescreen_progress, %widescreen_button, class_functions.widescreen_state) + update_progress(delta, %quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state) + func update_progress(delta: float, progress: ProgressBar, button: Button, state: String) -> void: if is_state_pressed and state == "mixed": press_time += delta @@ -24,7 +26,6 @@ func update_progress(delta: float, progress: ProgressBar, button: Button, state: func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) - %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) %button_swap_button.button_down.connect(_do_action.bind(%button_swap_button, %button_swap_progress)) %button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) @@ -34,7 +35,13 @@ func _connect_signals(): %border_button.button_down.connect(_do_action.bind(%border_button, %border_progress)) %border_button.button_up.connect(_on_button_released.bind(%border_progress)) %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) - + %widescreen_button.button_down.connect(_do_action.bind(%widescreen_button, %widescreen_progress)) + %widescreen_button.button_up.connect(_on_button_released.bind(%widescreen_progress)) + %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) + %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_button, %quick_rewind_progress)) + %quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress)) + %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) + func _on_button_released(progress: ProgressBar) -> void: is_state_pressed = false progress.visible = false @@ -42,8 +49,8 @@ func _on_button_released(progress: ProgressBar) -> void: progress.value = 0.0 func _do_action(button: Button, progress: ProgressBar) -> void: - match button.name: - "button_swap_button", "ask_to_exit_button", "border_button": + match class_functions.button_list: + class_functions.button_list: is_state_pressed = true progress.visible = true @@ -57,4 +64,8 @@ func _do_complete(button: Button) ->void: class_functions.ask_to_exit_state = "false" "border_button": class_functions.border_state = "false" + "widescreen_button": + class_functions.widescreen_state = "false" + "quick_rewind_button": + class_functions.widescreen_state = "false" button.toggle_mode = true diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index ea14cb5f..e76b4a1b 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -24,7 +24,11 @@ var update_check: bool var abxy_state: String var ask_to_exit_state: String var border_state: String +var widescreen_state: String +var quick_rewind_state: String var font_select: int +enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind} +var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button"] signal update_global_signal func _ready(): @@ -48,6 +52,8 @@ func read_values_states() -> void: abxy_state = multi_state("abxy_button_swap", abxy_state) ask_to_exit_state = multi_state("ask_to_exit", ask_to_exit_state) border_state = multi_state("borders", border_state) + widescreen_state = multi_state("widescreen", widescreen_state) + quick_rewind_state = multi_state("rewind", quick_rewind_state) sound_effects = config["options"]["sound_effects"] volume_effects = int(config["options"]["volume_effects"]) font_select = int(config["options"]["font"]) @@ -247,10 +253,8 @@ func slider_function(value: float, slide: HSlider) -> void: func run_function(button: Button, preset: String) -> void: if button.button_pressed: - print (button.name) update_global(button, preset, true) else: - print ("ELSE:" + button.name) update_global(button, preset, false) func update_global(button: Button, preset: String, state: bool) -> void: @@ -281,17 +285,20 @@ func update_global(button: Button, preset: String, state: bool) -> void: result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, ask_to_exit_state) "border_button": - print (border_state) if border_state != "mixed": border_state = str(state) - print (border_state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, border_state) + "widescreen_button": + if widescreen_state != "mixed": + widescreen_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, widescreen_state) func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: - #print (parameters) + print (parameters) match parameters[1]: - "abxy_button_swap", "ask_to_exit", "borders": + preset_list: for system in parameters[0].keys(): var command_parameter: Array = [preset, system, parameters[1]] logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index ec94af14..d5a86ef1 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -187,34 +187,51 @@ func _set_up_globals(state: Array) -> void: %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status %sound_button.button_pressed = class_functions.sound_effects %volume_effects_slider.visible = class_functions.sound_effects - match class_functions.abxy_state: - "true": - %button_swap_button.button_pressed = true - %button_swap_button.add_theme_stylebox_override("normal", style_box_original) - "false": - %button_swap_button.button_pressed = false - %button_swap_button.add_theme_stylebox_override("normal", style_box_original) - "mixed": - mixed_status(%button_swap_button) - match class_functions.ask_to_exit_state: - "true": - %ask_to_exit_button.button_pressed = true - %ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) - "false": - %ask_to_exit_button.button_pressed = false - %ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) - "mixed": - mixed_status(%ask_to_exit_button) - match class_functions.border_state: - "true": - %border_button.button_pressed = true - %border_button.add_theme_stylebox_override("normal", style_box_original) - "false": - %border_button.button_pressed = false - %border_button.add_theme_stylebox_override("normal", style_box_original) - "mixed": - mixed_status(%border_button) - + mixed_mode(%button_swap_button, class_functions.abxy_state) + mixed_mode(%ask_to_exit_button, class_functions.ask_to_exit_state) + mixed_mode(%border_button, class_functions.border_state) + mixed_mode(%widescreen_button, class_functions.widescreen_state) + #match class_functions.ask_to_exit_state: + #"true": + #%ask_to_exit_button.button_pressed = true + #%ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) + #"false": + #%ask_to_exit_button.button_pressed = false + #%ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) + #"mixed": + #mixed_status(%ask_to_exit_button) + #match class_functions.border_state: + #"true": + #%border_button.button_pressed = true + #%border_button.add_theme_stylebox_override("normal", style_box_original) + #"false": + #%border_button.button_pressed = false + #%border_button.add_theme_stylebox_override("normal", style_box_original) + #"mixed": + #mixed_status(%border_button) + #match class_functions.widescreen_state: + #"true": + #%widescreen_button.button_pressed = true + #%widescreen_button.add_theme_stylebox_override("normal", style_box_original) + #"false": + #%widescreen_button.button_pressed = false + #%widescreen_button.add_theme_stylebox_override("normal", style_box_original) + #"mixed": + #mixed_status(%widescreen_button) + +func mixed_mode (button: Button, state: String) -> void: + + match [class_functions.button_list]: + [class_functions.button_list]: + if state == "true": + button.button_pressed = true + button.add_theme_stylebox_override("normal", style_box_original) + elif state == "false": + button.button_pressed = false + button.add_theme_stylebox_override("normal", style_box_original) + elif state == "mixed": + mixed_status(button) + func mixed_status (button: Button) -> void: button.button_pressed = false button.toggle_mode = false From 27d150d466e3e3739f829ce95e49dc359ee77512 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 17 Sep 2024 19:27:51 +0100 Subject: [PATCH 40/74] New State? --- tools/configurator/main.tscn | 3 + .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabGlobals.gd | 26 +++--- tools/configurator/scripts/class_functions.gd | 7 +- tools/configurator/scripts/main.gd | 29 +------ 5 files changed, 66 insertions(+), 83 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 7e60d7cc..47cdf485 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -310,6 +310,7 @@ tooltip_text = "Change to Nintendo style button mappings." text = "BUTTON SWAP " icon = ExtResource("4_caaxx") +alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true @@ -329,6 +330,7 @@ show_percentage = false [node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 +tooltip_text = "This feature is planned for a future release." disabled = true text = "MODS" icon = ExtResource("5_vehlp") @@ -387,6 +389,7 @@ expand_icon = true [node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 +tooltip_text = "This feature is planned for a future release." disabled = true text = "SHADERS" icon = ExtResource("4_q6hd2") diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 5916a4dc..8e3a35ad 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_gclt6"] +[sub_resource type="Image" id="Image_obxia"] 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_gclt6") +image = SubResource("Image_obxia") -[sub_resource type="Image" id="Image_m1rah"] +[sub_resource type="Image" id="Image_f4kwr"] 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_m1rah") +image = SubResource("Image_f4kwr") [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_d4qf2"] +[sub_resource type="Image" id="Image_w6p5y"] 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_d4qf2") +image = SubResource("Image_w6p5y") [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_62urv"] +[sub_resource type="Image" id="Image_2i3tl"] 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_62urv") +image = SubResource("Image_2i3tl") [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_iypmk"] +[sub_resource type="Image" id="Image_utqxx"] 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_iypmk") +image = SubResource("Image_utqxx") [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_xl6xx"] +[sub_resource type="Image" id="Image_mcxvo"] 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_xl6xx") +image = SubResource("Image_mcxvo") [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_1bc35"] +[sub_resource type="Image" id="Image_6as4f"] 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_1bc35") +image = SubResource("Image_6as4f") -[sub_resource type="Image" id="Image_du034"] +[sub_resource type="Image" id="Image_05os5"] 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_du034") +image = SubResource("Image_05os5") -[sub_resource type="Image" id="Image_ial42"] +[sub_resource type="Image" id="Image_kfjea"] 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_ial42") +image = SubResource("Image_kfjea") -[sub_resource type="Image" id="Image_nwy57"] +[sub_resource type="Image" id="Image_c75x6"] 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_nwy57") +image = SubResource("Image_c75x6") -[sub_resource type="Image" id="Image_mpl4x"] +[sub_resource type="Image" id="Image_dk878"] 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_mpl4x") +image = SubResource("Image_dk878") [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_em7bv"] +[sub_resource type="Image" id="Image_4xoha"] 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_em7bv") +image = SubResource("Image_4xoha") [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_gwxbt"] +[sub_resource type="Image" id="Image_uqqv1"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_gwxbt") +image = SubResource("Image_uqqv1") [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_813rd"] +[sub_resource type="Image" id="Image_gquct"] 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_813rd") +image = SubResource("Image_gquct") [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_125hh"] +[sub_resource type="Image" id="Image_aqxei"] 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_125hh") +image = SubResource("Image_aqxei") -[sub_resource type="Image" id="Image_yjjqe"] +[sub_resource type="Image" id="Image_mlwar"] 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_yjjqe") +image = SubResource("Image_mlwar") -[sub_resource type="Image" id="Image_rtsq8"] +[sub_resource type="Image" id="Image_uyjgy"] 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_rtsq8") +image = SubResource("Image_uyjgy") -[sub_resource type="Image" id="Image_7ctvg"] +[sub_resource type="Image" id="Image_iy8m6"] 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_7ctvg") +image = SubResource("Image_iy8m6") [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_lvt2b"] +[sub_resource type="Image" id="Image_4hoey"] 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_lvt2b") +image = SubResource("Image_4hoey") -[sub_resource type="Image" id="Image_x5w5l"] +[sub_resource type="Image" id="Image_l6teb"] 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_x5w5l") +image = SubResource("Image_l6teb") [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_vyax8"] +[sub_resource type="Image" id="Image_l8l0i"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_vyax8") +image = SubResource("Image_l8l0i") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 0b7cacfd..fc9d610a 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -8,47 +8,49 @@ func _ready(): _connect_signals() func _process(delta: float) -> void: - update_progress(delta, %button_swap_progress, %button_swap_button, class_functions.abxy_state) update_progress(delta, %ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state) update_progress(delta, %border_progress, %border_button, class_functions.border_state) update_progress(delta, %widescreen_progress, %widescreen_button, class_functions.widescreen_state) update_progress(delta, %quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state) func update_progress(delta: float, progress: ProgressBar, button: Button, state: String) -> void: - if is_state_pressed and state == "mixed": - press_time += delta - progress.value = press_time / PRESS_DURATION * 100.0 if press_time >= PRESS_DURATION: - _do_complete(button) + #_do_complete(button) + print ("Progress Bar: %s Button: %s" % [progress.name, button.name]) press_time = 0.0 is_state_pressed = false progress.value = 0.0 + elif is_state_pressed and state == "mixed": + press_time += delta + progress.value = press_time / PRESS_DURATION * 100.0 func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) - %button_swap_button.button_down.connect(_do_action.bind(%button_swap_button, %button_swap_progress)) + %button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress)) %button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) - %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_button, %ask_to_exit_progress)) + %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress)) %ask_to_exit_button.button_up.connect(_on_button_released.bind(%ask_to_exit_progress)) %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit")) - %border_button.button_down.connect(_do_action.bind(%border_button, %border_progress)) + %border_button.button_down.connect(_do_action.bind(%border_progress)) %border_button.button_up.connect(_on_button_released.bind(%border_progress)) %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) - %widescreen_button.button_down.connect(_do_action.bind(%widescreen_button, %widescreen_progress)) + %widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress)) %widescreen_button.button_up.connect(_on_button_released.bind(%widescreen_progress)) %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) - %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_button, %quick_rewind_progress)) + %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress)) %quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) func _on_button_released(progress: ProgressBar) -> void: + print ("Release " + progress.name) is_state_pressed = false progress.visible = false press_time = 0.0 progress.value = 0.0 -func _do_action(button: Button, progress: ProgressBar) -> void: +func _do_action(progress: ProgressBar) -> void: + print ("Action " + progress.name) match class_functions.button_list: class_functions.button_list: is_state_pressed = true @@ -67,5 +69,5 @@ func _do_complete(button: Button) ->void: "widescreen_button": class_functions.widescreen_state = "false" "quick_rewind_button": - class_functions.widescreen_state = "false" + class_functions.quick_rewind_state = "false" button.toggle_mode = true diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index e76b4a1b..7f901808 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -294,7 +294,12 @@ func update_global(button: Button, preset: String, state: bool) -> void: widescreen_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, widescreen_state) - + "quick_rewind_button": + if quick_rewind_state != "mixed": + quick_rewind_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, quick_rewind_state) + func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: print (parameters) match parameters[1]: diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index d5a86ef1..366b76fc 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -191,36 +191,9 @@ func _set_up_globals(state: Array) -> void: mixed_mode(%ask_to_exit_button, class_functions.ask_to_exit_state) mixed_mode(%border_button, class_functions.border_state) mixed_mode(%widescreen_button, class_functions.widescreen_state) - #match class_functions.ask_to_exit_state: - #"true": - #%ask_to_exit_button.button_pressed = true - #%ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) - #"false": - #%ask_to_exit_button.button_pressed = false - #%ask_to_exit_button.add_theme_stylebox_override("normal", style_box_original) - #"mixed": - #mixed_status(%ask_to_exit_button) - #match class_functions.border_state: - #"true": - #%border_button.button_pressed = true - #%border_button.add_theme_stylebox_override("normal", style_box_original) - #"false": - #%border_button.button_pressed = false - #%border_button.add_theme_stylebox_override("normal", style_box_original) - #"mixed": - #mixed_status(%border_button) - #match class_functions.widescreen_state: - #"true": - #%widescreen_button.button_pressed = true - #%widescreen_button.add_theme_stylebox_override("normal", style_box_original) - #"false": - #%widescreen_button.button_pressed = false - #%widescreen_button.add_theme_stylebox_override("normal", style_box_original) - #"mixed": - #mixed_status(%widescreen_button) + mixed_mode(%quick_rewind_button, class_functions.quick_rewind_state) func mixed_mode (button: Button, state: String) -> void: - match [class_functions.button_list]: [class_functions.button_list]: if state == "true": From 96965a704a5e2796a9da423437c1d7fe42addb9b Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 17 Sep 2024 21:05:57 +0100 Subject: [PATCH 41/74] Bored state --- tools/configurator/scripts/TabGlobals.gd | 60 +++++++++++-------- tools/configurator/scripts/class_functions.gd | 2 + 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index fc9d610a..5207e08f 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -3,62 +3,72 @@ extends MarginContainer var press_time: float = 0.0 var is_state_pressed: bool = false var PRESS_DURATION: float = 3.0 +var current_button: Button = null +var current_progress: ProgressBar = null +var current_state: String = "" func _ready(): _connect_signals() func _process(delta: float) -> void: - update_progress(delta, %ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state) - update_progress(delta, %border_progress, %border_button, class_functions.border_state) - update_progress(delta, %widescreen_progress, %widescreen_button, class_functions.widescreen_state) - update_progress(delta, %quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state) + if current_button != null: + update_progress(delta, current_progress) -func update_progress(delta: float, progress: ProgressBar, button: Button, state: String) -> void: +func update_progress(delta: float, progress: ProgressBar) -> void: if press_time >= PRESS_DURATION: - #_do_complete(button) - print ("Progress Bar: %s Button: %s" % [progress.name, button.name]) - press_time = 0.0 - is_state_pressed = false - progress.value = 0.0 - elif is_state_pressed and state == "mixed": + _do_complete(current_button) + print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name]) + elif is_state_pressed and current_state == "mixed": press_time += delta progress.value = press_time / PRESS_DURATION * 100.0 func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) - %button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress)) + %button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress, %button_swap_button)) %button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) - %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress)) + %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress, %ask_to_exit_button)) %ask_to_exit_button.button_up.connect(_on_button_released.bind(%ask_to_exit_progress)) %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit")) - %border_button.button_down.connect(_do_action.bind(%border_progress)) + %border_button.button_down.connect(_do_action.bind(%border_progress, %border_button)) %border_button.button_up.connect(_on_button_released.bind(%border_progress)) %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) - %widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress)) + %widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress, %widescreen_button)) %widescreen_button.button_up.connect(_on_button_released.bind(%widescreen_progress)) %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) - %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress)) + %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress, %quick_rewind_button)) %quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) func _on_button_released(progress: ProgressBar) -> void: - print ("Release " + progress.name) is_state_pressed = false progress.visible = false press_time = 0.0 progress.value = 0.0 + current_button = null + current_progress = null + current_state == null -func _do_action(progress: ProgressBar) -> void: - print ("Action " + progress.name) - match class_functions.button_list: - class_functions.button_list: - is_state_pressed = true - progress.visible = true - +func _do_action(progress: ProgressBar, button: Button) -> void: + match progress.name: + "button_swap_progress": + current_state = class_functions.abxy_state + "ask_to_exit_progress": + current_state = class_functions.ask_to_exit_state + "quick_rewind_progress": + current_state = class_functions.quick_rewind_state + "widescreen_progress": + current_state = class_functions.widescreen_state + "border_progress": + current_state = class_functions.border_state + current_button = button + current_progress = progress + current_progress.visible = true + is_state_pressed = true + func _do_complete(button: Button) ->void: #TODO use object for state - if is_state_pressed: + if is_state_pressed and button == current_button: match button.name: "button_swap_button": class_functions.abxy_state = "false" diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 7f901808..e080652f 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -289,6 +289,8 @@ func update_global(button: Button, preset: String, state: bool) -> void: border_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, border_state) + #if widescreen_state == "true" or widescreen_state == "mixed": + #print ("What's up") "widescreen_button": if widescreen_state != "mixed": widescreen_state = str(state) From 749990b1b3782ac3c7643c009132a7d8ce45e6ec Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 17 Sep 2024 21:29:01 +0100 Subject: [PATCH 42/74] Wine state --- tools/configurator/scripts/TabGlobals.gd | 28 +++++++------------ tools/configurator/scripts/class_functions.gd | 10 +++++-- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 5207e08f..e267f7b6 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -17,26 +17,26 @@ func _process(delta: float) -> void: func update_progress(delta: float, progress: ProgressBar) -> void: if press_time >= PRESS_DURATION: _do_complete(current_button) - print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name]) + #print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name]) elif is_state_pressed and current_state == "mixed": press_time += delta progress.value = press_time / PRESS_DURATION * 100.0 func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) - %button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress, %button_swap_button)) + %button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress, %button_swap_button, class_functions.abxy_state)) %button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) - %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress, %ask_to_exit_button)) + %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state)) %ask_to_exit_button.button_up.connect(_on_button_released.bind(%ask_to_exit_progress)) %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit")) - %border_button.button_down.connect(_do_action.bind(%border_progress, %border_button)) + %border_button.button_down.connect(_do_action.bind(%border_progress, %border_button, class_functions.border_state)) %border_button.button_up.connect(_on_button_released.bind(%border_progress)) %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) - %widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress, %widescreen_button)) + %widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress, %widescreen_button, class_functions.widescreen_state)) %widescreen_button.button_up.connect(_on_button_released.bind(%widescreen_progress)) %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) - %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress, %quick_rewind_button)) + %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) %quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) @@ -49,18 +49,10 @@ func _on_button_released(progress: ProgressBar) -> void: current_progress = null current_state == null -func _do_action(progress: ProgressBar, button: Button) -> void: - match progress.name: - "button_swap_progress": - current_state = class_functions.abxy_state - "ask_to_exit_progress": - current_state = class_functions.ask_to_exit_state - "quick_rewind_progress": - current_state = class_functions.quick_rewind_state - "widescreen_progress": - current_state = class_functions.widescreen_state - "border_progress": - current_state = class_functions.border_state +func _do_action(progress: ProgressBar, button: Button, state: String) -> void: + match [class_functions.button_list]: + [class_functions.button_list]: + current_state = state current_button = button current_progress = progress current_progress.visible = true diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index e080652f..15fa6b76 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -289,13 +289,19 @@ func update_global(button: Button, preset: String, state: bool) -> void: border_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, border_state) - #if widescreen_state == "true" or widescreen_state == "mixed": - #print ("What's up") + if widescreen_state == "true" or widescreen_state == "mixed": + widescreen_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, widescreen_state) "widescreen_button": if widescreen_state != "mixed": widescreen_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, widescreen_state) + if border_state == "true" or border_state == "mixed": + border_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, border_state) "quick_rewind_button": if quick_rewind_state != "mixed": quick_rewind_state = str(state) From 794c576771f19607ff189681cf4a68215e179df9 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 18 Sep 2024 09:25:38 +0900 Subject: [PATCH 43/74] feat/port master (#914) * PORTMASTER: adding POC of manifest and reset function * PORTMASTER: init * PORTMASTER: adding a wrapper to manage the script to being out of the bin folder later * MANIFEST: empty lines cleanup [skip ci] * PORTMASTER: fixing PortMaster wrapper name * WORKFLOW: tentative solution for PRs - try#6 [skip ci] * WORKFLOW: tentative solution for PRs - try#7 [skip ci] * PORTMASTER: fixing PortMaster wrapper path * PORTMASTER: fixing PortMaster wrapper install * PORTMASTER: updated to latest retrodeck build * Code format * PORT_MASTER: fixed paths and commands + added harbourmaster --- .../retrodeck/reference_lists/features.json | 9 +++++++ functions/post_update.sh | 3 +++ functions/prepare_component.sh | 15 +++++++++++ net.retrodeck.retrodeck.yml | 27 +++++++++++++++++++ 4 files changed, 54 insertions(+) diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 977383b3..6da76574 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -620,6 +620,9 @@ "pokemini": { "name": "Nintendo Pokémon Mini" }, + "portmaster": { + "name": "PortMaster" + }, "ports": { "name": "Ports" }, @@ -1124,6 +1127,12 @@ "name": "ES-DE", "url": "https://retrodeck.readthedocs.io/en/latest/wiki_es_de/esde-guide/.", "launch": "es-de" + }, + "portmaster": { + "description": "PortMaster", + "name": "PortMaster", + "system": "portmaster", + "launch": "PortMaster" } } } diff --git a/functions/post_update.sh b/functions/post_update.sh index d7176aec..97669f78 100644 --- a/functions/post_update.sh +++ b/functions/post_update.sh @@ -433,6 +433,9 @@ post_update() { # Placeholder for version 0.9.0b set_setting_value "$raconf" "libretro_info_path" "/var/config/retroarch/cores" "retroarch" + # TODO: Configurator dialog: Hey, we need to reset ES-DE! (because again ES-DE folders, new theme and such) + prepare_component "reset" "es-de" + prepare_component "reset" "portmaster" prepare_component "reset" "ruffle" update_rd_conf diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index ac3e47b9..03765a58 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -857,6 +857,21 @@ prepare_component() { sed -i 's#RETRODECKSAVESDIR#'$saves_folder'#g' "/var/config/gzdoom/gzdoom.ini" # This is an unfortunate one-off because set_setting_value does not currently support JSON fi + if [[ "$component" =~ ^(portmaster|all)$ ]]; then + component_found="true" + # TODO: MultiUser + log i "----------------------" + log i "Prepearing PortMaster" + log i "----------------------" + + rm -rf "/var/data/PortMaster" + unzip "/app/retrodeck/PortMaster.zip" -d "/var/data/" + cp -f "/var/data/PortMaster/retrodeck/PortMaster.txt" "/var/data/PortMaster/PortMaster.sh" + chmod +x "/var/data/PortMaster/PortMaster.sh" + rm -f "$roms_folder/portmaster/PortMaster.sh" + install -Dm755 "/var/data/PortMaster/PortMaster.sh" "$roms_folder/portmaster/PortMaster.sh" + fi + if [[ "$component" =~ ^(ruffle|all)$ ]]; then component_found="true" log i "----------------------" diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 68738487..f44d97aa 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -542,6 +542,33 @@ modules: url: https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz sha256: RETRODECKMAMELATEST + # PortMaster + + - name: PortMaster + buildsystem: simple + build-commands: + - mkdir -p "${FLATPAK_DEST}/retrodeck/PortMaster/" + - install -Dm755 "PortMaster" "${FLATPAK_DEST}/bin/PortMaster" + - install -Dm755 "harbourmaster" "${FLATPAK_DEST}/bin/harbourmaster" + - cp PortMaster.zip "${FLATPAK_DEST}/retrodeck/PortMaster.zip" + sources: + - type: file + url: https://github.com/PortsMaster/PortMaster-GUI/releases/download/2024.09.13-1455/retrodeck.portmaster.zip + sha256: 4fe3ce3ffdc1d66fe235c8a1a6062a86aa06ee615dba1fe5fc6e9bdd75e9d39c + dest-filename: PortMaster.zip + - type: script + commands: + - | + #!/bin/bash + "/var/data/PortMaster/PortMaster.sh" "$@" + dest-filename: PortMaster + - type: script + commands: + - | + #!/bin/bash + "/var/data/PortMaster/harbourmaster" "$@" + dest-filename: harbourmaster + # ES-DE - name: ES-DE From 59cdee5e8701f9cfb8dd5c7f6bb9e5945985ccde Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 18 Sep 2024 09:27:10 +0900 Subject: [PATCH 44/74] ES-DE: restored latest build after merges --- net.retrodeck.retrodeck.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index f44d97aa..0a79370a 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -582,10 +582,8 @@ modules: sources: # Testing the new feat/update-3.1.0 - type: archive - url: https://github.com/RetroDECK/ES-DE/releases/download/feat%2Fupdate-3.1.0-170924.19/RetroDECK-ES-DE-Artifact.tar.gz - sha256: 047198f98d4c57fefb19bda059ec059ea2fb9691519952b86b744d21b57a00ff - #url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz - #sha256: RETRODECKESDELATEST + url: https://github.com/RetroDECK/ES-DE/releases/latest/download/RetroDECK-ES-DE-Artifact.tar.gz + sha256: RETRODECKESDELATEST - name: retrodeck-theme buildsystem: simple From 5e160325ab69db8dd234248898d2d1e4d0b1bb86 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Wed, 18 Sep 2024 15:35:56 +0900 Subject: [PATCH 45/74] RUN_GAME: escaping ' --- functions/run_game.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/functions/run_game.sh b/functions/run_game.sh index 8f084a05..27315fea 100755 --- a/functions/run_game.sh +++ b/functions/run_game.sh @@ -168,6 +168,7 @@ find_system_commands() { substitute_placeholders() { local cmd="$1" log d "Substitute placeholder: working on $cmd" + game=$(echo "$game" | sed "s/'/'\\\\''/g") # escaping internal ' local rom_path="$game" local rom_dir=$(dirname "$rom_path") @@ -193,6 +194,8 @@ substitute_placeholders() { cmd="${cmd//"%FILENAME%"/"'$file_name'"}" cmd="${cmd//"%ROMRAW%"/"'$rom_raw'"}" cmd="${cmd//"%ROMPATH%"/"'$rom_dir'"}" + cmd="${cmd//"%ENABLESHORTCUTS%"/""}" + cmd="${cmd//"%EMULATOR_OS-SHELL%"/"/bin/sh"}" # Ensure paths are quoted correctly cmd="${cmd//"%ROM%"/"'$rom_path'"}" From feef50a93efe714789cb1beddde21e3151793460 Mon Sep 17 00:00:00 2001 From: Rekku Date: Wed, 18 Sep 2024 20:07:14 +0100 Subject: [PATCH 46/74] Reset RD --- tools/configurator/main.tscn | 16 +++- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabGlobals.gd | 2 + tools/configurator/scripts/class_functions.gd | 33 +++++++- tools/configurator/scripts/main.gd | 4 +- 5 files changed, 91 insertions(+), 48 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 47cdf485..ea03aaf0 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -421,16 +421,28 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="reset_retrodeck_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "RESET RETROCECK" icon = ExtResource("11_g1uhn") -alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +[node name="reeset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_retrodeck_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="reset_all_emulators" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 8e3a35ad..86b1c520 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_obxia"] +[sub_resource type="Image" id="Image_14c0m"] 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_obxia") +image = SubResource("Image_14c0m") -[sub_resource type="Image" id="Image_f4kwr"] +[sub_resource type="Image" id="Image_uksne"] 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_f4kwr") +image = SubResource("Image_uksne") [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_w6p5y"] +[sub_resource type="Image" id="Image_tm0n0"] 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_w6p5y") +image = SubResource("Image_tm0n0") [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_2i3tl"] +[sub_resource type="Image" id="Image_7rhhs"] 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_2i3tl") +image = SubResource("Image_7rhhs") [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_utqxx"] +[sub_resource type="Image" id="Image_nweji"] 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_utqxx") +image = SubResource("Image_nweji") [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_mcxvo"] +[sub_resource type="Image" id="Image_hksx1"] 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_mcxvo") +image = SubResource("Image_hksx1") [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_6as4f"] +[sub_resource type="Image" id="Image_57bna"] 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_6as4f") +image = SubResource("Image_57bna") -[sub_resource type="Image" id="Image_05os5"] +[sub_resource type="Image" id="Image_s5fvv"] 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_05os5") +image = SubResource("Image_s5fvv") -[sub_resource type="Image" id="Image_kfjea"] +[sub_resource type="Image" id="Image_l3upp"] 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_kfjea") +image = SubResource("Image_l3upp") -[sub_resource type="Image" id="Image_c75x6"] +[sub_resource type="Image" id="Image_6o51v"] 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_c75x6") +image = SubResource("Image_6o51v") -[sub_resource type="Image" id="Image_dk878"] +[sub_resource type="Image" id="Image_qtclg"] 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_dk878") +image = SubResource("Image_qtclg") [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_4xoha"] +[sub_resource type="Image" id="Image_3kvd4"] 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_4xoha") +image = SubResource("Image_3kvd4") [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_uqqv1"] +[sub_resource type="Image" id="Image_hkoay"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_uqqv1") +image = SubResource("Image_hkoay") [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_gquct"] +[sub_resource type="Image" id="Image_vy1yk"] 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_gquct") +image = SubResource("Image_vy1yk") [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_aqxei"] +[sub_resource type="Image" id="Image_g0i04"] 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_aqxei") +image = SubResource("Image_g0i04") -[sub_resource type="Image" id="Image_mlwar"] +[sub_resource type="Image" id="Image_hi75k"] 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_mlwar") +image = SubResource("Image_hi75k") -[sub_resource type="Image" id="Image_uyjgy"] +[sub_resource type="Image" id="Image_b0lt7"] 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_uyjgy") +image = SubResource("Image_b0lt7") -[sub_resource type="Image" id="Image_iy8m6"] +[sub_resource type="Image" id="Image_7axq2"] 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_iy8m6") +image = SubResource("Image_7axq2") [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_4hoey"] +[sub_resource type="Image" id="Image_b7ouh"] 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_4hoey") +image = SubResource("Image_b7ouh") -[sub_resource type="Image" id="Image_l6teb"] +[sub_resource type="Image" id="Image_bea82"] 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_l6teb") +image = SubResource("Image_bea82") [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_l8l0i"] +[sub_resource type="Image" id="Image_apllp"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_l8l0i") +image = SubResource("Image_apllp") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index e267f7b6..4b9064d1 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -39,6 +39,8 @@ func _connect_signals(): %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) %quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) + %reset_retrodeck_button.pressed.connect(class_functions.run_function.bind(%reset_retrodeck_button, "reset")) + func _on_button_released(progress: ProgressBar) -> void: is_state_pressed = false diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 15fa6b76..3dfdd4b6 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -3,10 +3,13 @@ class_name ClassFunctions extends Control var log_result: Dictionary var log_parameters: Array +const globals_sh_file_path: String = "/app/libexec/global.sh" const wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" const config_file_path = "/var/config/retrodeck/retrodeck.cfg" const json_file_path = "/var/config/retrodeck/retrodeck.json" var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") +var rd_conf: String +var lockfile: String var rdhome: String var roms_folder: String var saves_folder: String @@ -45,6 +48,8 @@ func read_values_states() -> void: states_folder = config["paths"]["states_folder"] bios_folder = config["paths"]["bios_folder"] rd_version = config["version"] + rd_conf = extract_goblals(globals_sh_file_path, "rd_conf") + lockfile = extract_goblals(globals_sh_file_path, "lockfile") gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version quick_resume_status = config["quick_resume"]["retroarch"] @@ -262,6 +267,12 @@ func update_global(button: Button, preset: String, state: bool) -> void: var result: Array var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) match button.name: + "reset_retrodeck_button": + var dir = DirAccess.open(rd_conf.get_base_dir()) + if dir is DirAccess: + dir.rename(rd_conf,rd_conf.get_base_dir() + "/retrodeck.bak") + dir.remove(lockfile) + "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = state result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state)) @@ -290,8 +301,9 @@ func update_global(button: Button, preset: String, state: bool) -> void: result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, border_state) if widescreen_state == "true" or widescreen_state == "mixed": + config_section = data_handler.get_elements_in_section(config_file_path, "widescreen") widescreen_state = "false" - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + result = data_handler.change_all_cfg_values(config_file_path, config_section, "widescreen", widescreen_state) change_global(result, "build_preset_config", button, widescreen_state) "widescreen_button": if widescreen_state != "mixed": @@ -299,8 +311,9 @@ func update_global(button: Button, preset: String, state: bool) -> void: result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, widescreen_state) if border_state == "true" or border_state == "mixed": + config_section = data_handler.get_elements_in_section(config_file_path, "borders") border_state = "false" - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + result = data_handler.change_all_cfg_values(config_file_path, config_section, "borders", border_state) change_global(result, "build_preset_config", button, border_state) "quick_rewind_button": if quick_rewind_state != "mixed": @@ -325,3 +338,19 @@ func change_global(parameters: Array, preset: String, button: Button, state: Str parameters.append(button) parameters.append(state) update_global_signal.emit(parameters) + +func extract_goblals(file_path: String, extract: String) -> String: + var file = FileAccess.open(file_path, FileAccess.ModeFlags.READ) + if file: + var regex := RegEx.new() + var pattern := extract + '="([^"]+)"' + regex.compile(pattern) + while not file.eof_reached(): + var line := file.get_line().strip_edges() + var result := regex.search(line) + if result: + return result.get_string(1) + file.close() + else: + logger("e", "Could not open file: %s" % file_path) + return "" diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 366b76fc..4cc5bdf2 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -181,7 +181,7 @@ func _on_exit_button_pressed(): func _set_up_globals(state: Array) -> void: #TODO on initial run pass array date? - print (state) + #print (state) %update_notification_button.button_pressed = class_functions.update_check %quick_resume_button.button_pressed = class_functions.quick_resume_status %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status @@ -209,7 +209,7 @@ func mixed_status (button: Button) -> void: button.button_pressed = false button.toggle_mode = false var style_box = StyleBoxFlat.new() - style_box.bg_color = Color(1, 0.54902, 0, 1) + style_box.bg_color = Color(0.941, 0.502, 0, 1) style_box.border_color = Color(0.102, 0.624, 1, 1) style_box.border_blend = true style_box.corner_radius_top_left = 25 From 21d07a95802ff1f052fdcbf59be5e312f67914f0 Mon Sep 17 00:00:00 2001 From: Rekku Date: Thu, 19 Sep 2024 13:43:49 +0100 Subject: [PATCH 47/74] Gloabls TAB --- tools/configurator/main.tscn | 18 +++- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabGlobals.gd | 22 ++++- tools/configurator/scripts/class_functions.gd | 32 +++---- tools/configurator/scripts/main.gd | 3 +- 5 files changed, 96 insertions(+), 63 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index ea03aaf0..fc7aefd6 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -431,7 +431,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true -[node name="reeset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_retrodeck_button"] +[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_retrodeck_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -443,16 +443,28 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="reset_all_emulators" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 text = "RESET ALL EMULATORS" icon = ExtResource("45_qxd26") -alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_all_emulators_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 86b1c520..7f18d098 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_14c0m"] +[sub_resource type="Image" id="Image_pq7ft"] 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_14c0m") +image = SubResource("Image_pq7ft") -[sub_resource type="Image" id="Image_uksne"] +[sub_resource type="Image" id="Image_ewfke"] 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_uksne") +image = SubResource("Image_ewfke") [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_tm0n0"] +[sub_resource type="Image" id="Image_ud458"] 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_tm0n0") +image = SubResource("Image_ud458") [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_7rhhs"] +[sub_resource type="Image" id="Image_rxepv"] 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_7rhhs") +image = SubResource("Image_rxepv") [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_nweji"] +[sub_resource type="Image" id="Image_jstse"] 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_nweji") +image = SubResource("Image_jstse") [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_hksx1"] +[sub_resource type="Image" id="Image_obw3u"] 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_hksx1") +image = SubResource("Image_obw3u") [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_57bna"] +[sub_resource type="Image" id="Image_2g6e5"] 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_57bna") +image = SubResource("Image_2g6e5") -[sub_resource type="Image" id="Image_s5fvv"] +[sub_resource type="Image" id="Image_qx1yy"] 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_s5fvv") +image = SubResource("Image_qx1yy") -[sub_resource type="Image" id="Image_l3upp"] +[sub_resource type="Image" id="Image_gtipq"] 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_l3upp") +image = SubResource("Image_gtipq") -[sub_resource type="Image" id="Image_6o51v"] +[sub_resource type="Image" id="Image_giatf"] 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_6o51v") +image = SubResource("Image_giatf") -[sub_resource type="Image" id="Image_qtclg"] +[sub_resource type="Image" id="Image_jbyut"] 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_qtclg") +image = SubResource("Image_jbyut") [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_3kvd4"] +[sub_resource type="Image" id="Image_ajyuo"] 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_3kvd4") +image = SubResource("Image_ajyuo") [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_hkoay"] +[sub_resource type="Image" id="Image_10v3a"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_hkoay") +image = SubResource("Image_10v3a") [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_vy1yk"] +[sub_resource type="Image" id="Image_s56ut"] 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_vy1yk") +image = SubResource("Image_s56ut") [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_g0i04"] +[sub_resource type="Image" id="Image_dqvkd"] 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_g0i04") +image = SubResource("Image_dqvkd") -[sub_resource type="Image" id="Image_hi75k"] +[sub_resource type="Image" id="Image_2482v"] 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_hi75k") +image = SubResource("Image_2482v") -[sub_resource type="Image" id="Image_b0lt7"] +[sub_resource type="Image" id="Image_dbhcs"] 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_b0lt7") +image = SubResource("Image_dbhcs") -[sub_resource type="Image" id="Image_7axq2"] +[sub_resource type="Image" id="Image_iowa8"] 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_7axq2") +image = SubResource("Image_iowa8") [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_b7ouh"] +[sub_resource type="Image" id="Image_t8sdk"] 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_b7ouh") +image = SubResource("Image_t8sdk") -[sub_resource type="Image" id="Image_bea82"] +[sub_resource type="Image" id="Image_urm2a"] 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_bea82") +image = SubResource("Image_urm2a") [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_apllp"] +[sub_resource type="Image" id="Image_f8834"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_apllp") +image = SubResource("Image_f8834") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 4b9064d1..32f4b453 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -17,6 +17,7 @@ func _process(delta: float) -> void: func update_progress(delta: float, progress: ProgressBar) -> void: if press_time >= PRESS_DURATION: _do_complete(current_button) + is_state_pressed = false #print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name]) elif is_state_pressed and current_state == "mixed": press_time += delta @@ -39,9 +40,11 @@ func _connect_signals(): %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) %quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) - %reset_retrodeck_button.pressed.connect(class_functions.run_function.bind(%reset_retrodeck_button, "reset")) + %reset_retrodeck_button.button_down.connect(_do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) + %reset_retrodeck_button.button_up.connect(_on_button_released.bind(%reset_retrodeck_progress)) + %reset_all_emulators_button.button_down.connect(_do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) + %reset_all_emulators_button.button_up.connect(_on_button_released.bind(%reset_all_emulators_progress)) - func _on_button_released(progress: ProgressBar) -> void: is_state_pressed = false progress.visible = false @@ -74,4 +77,19 @@ func _do_complete(button: Button) ->void: class_functions.widescreen_state = "false" "quick_rewind_button": class_functions.quick_rewind_state = "false" + "reset_retrodeck_button": + print ("TESTS") + var dir = DirAccess.open(class_functions.rd_conf.get_base_dir()) + if dir is DirAccess: + dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") + dir.remove(class_functions.lockfile) + class_functions.change_global(["reset", "retrodeck"], "prepapre_component", button, "") + "reset_all_emulators_button": + print ("TESTS") + var tmp_txt = button.text + button.text = "RESETTING-NOW" + class_functions.change_global(["reset", "all"], "prepapre_component", button, "") + button.text = "RESET COMPLETED" + await class_functions.wait(3.0) + button.text = tmp_txt button.toggle_mode = true diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 3dfdd4b6..b31abdc3 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -7,6 +7,7 @@ const globals_sh_file_path: String = "/app/libexec/global.sh" const wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" const config_file_path = "/var/config/retrodeck/retrodeck.cfg" const json_file_path = "/var/config/retrodeck/retrodeck.json" +const esde_file_path = "/var/config/ES-DE/settings/es_settings.xml" var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") var rd_conf: String var lockfile: String @@ -30,8 +31,9 @@ var border_state: String var widescreen_state: String var quick_rewind_state: String var font_select: int +var locale: String enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind} -var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button"] +var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button"] signal update_global_signal func _ready(): @@ -48,8 +50,9 @@ func read_values_states() -> void: states_folder = config["paths"]["states_folder"] bios_folder = config["paths"]["bios_folder"] rd_version = config["version"] - rd_conf = extract_goblals(globals_sh_file_path, "rd_conf") - lockfile = extract_goblals(globals_sh_file_path, "lockfile") + rd_conf = extract_text(globals_sh_file_path, "rd_conf") + lockfile = extract_text(globals_sh_file_path, "lockfile") + locale = extract_text(esde_file_path, "esde") gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version quick_resume_status = config["quick_resume"]["retroarch"] @@ -267,12 +270,6 @@ func update_global(button: Button, preset: String, state: bool) -> void: var result: Array var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) match button.name: - "reset_retrodeck_button": - var dir = DirAccess.open(rd_conf.get_base_dir()) - if dir is DirAccess: - dir.rename(rd_conf,rd_conf.get_base_dir() + "/retrodeck.bak") - dir.remove(lockfile) - "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = state result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state)) @@ -322,7 +319,7 @@ func update_global(button: Button, preset: String, state: bool) -> void: change_global(result, "build_preset_config", button, quick_rewind_state) func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: - print (parameters) + #print (parameters) match parameters[1]: preset_list: for system in parameters[0].keys(): @@ -332,6 +329,7 @@ func change_global(parameters: Array, preset: String, button: Button, state: Str logger("d", "Exit code: %s" % result["exit_code"]) _: var command_parameter: Array = [preset, parameters] + print (preset, parameters) logger("d", "Change Global: %s System: %s" % command_parameter) var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) logger("d", "Exit code: %s" % result["exit_code"]) @@ -339,15 +337,19 @@ func change_global(parameters: Array, preset: String, button: Button, state: Str parameters.append(state) update_global_signal.emit(parameters) -func extract_goblals(file_path: String, extract: String) -> String: +func extract_text(file_path: String, extract: String) -> String: var file = FileAccess.open(file_path, FileAccess.ModeFlags.READ) + var pattern: String if file: - var regex := RegEx.new() - var pattern := extract + '="([^"]+)"' + var regex = RegEx.new() + if extract != "esde": + pattern = extract + '="([^"]+)"' + else: + pattern = '' regex.compile(pattern) while not file.eof_reached(): - var line := file.get_line().strip_edges() - var result := regex.search(line) + var line: String = file.get_line().strip_edges() + var result: RegExMatch = regex.search(line) if result: return result.get_string(1) file.close() diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 4cc5bdf2..fc73b896 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -16,7 +16,8 @@ func _ready(): _connect_signals() _play_main_animations() _set_up_globals([]) - %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) + if class_functions.locale == "automatic": + %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) %rd_title.text += class_functions.title class_functions.logger("i","Started Godot configurator") #class_functions.display_json_data() From 5e2359b6bf0bcf2b1f9facd21951a22f9ae1fe95 Mon Sep 17 00:00:00 2001 From: Rekku Date: Thu, 19 Sep 2024 14:40:29 +0100 Subject: [PATCH 48/74] Pre merge --- tools/configurator/main.tscn | 2 +- tools/configurator/scripts/TabGlobals.gd | 7 +++---- tools/configurator/scripts/class_functions.gd | 1 - 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index fc7aefd6..1cffa336 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -425,7 +425,7 @@ show_percentage = false unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 -text = "RESET RETROCECK" +text = "RESET RETRODECK" icon = ExtResource("11_g1uhn") icon_alignment = 1 vertical_icon_alignment = 0 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 32f4b453..151a1ef4 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -78,17 +78,16 @@ func _do_complete(button: Button) ->void: "quick_rewind_button": class_functions.quick_rewind_state = "false" "reset_retrodeck_button": - print ("TESTS") var dir = DirAccess.open(class_functions.rd_conf.get_base_dir()) if dir is DirAccess: dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") dir.remove(class_functions.lockfile) - class_functions.change_global(["reset", "retrodeck"], "prepapre_component", button, "") + class_functions.change_global(["reset", "retrodeck"], "prepare_component", button, "") "reset_all_emulators_button": - print ("TESTS") var tmp_txt = button.text button.text = "RESETTING-NOW" - class_functions.change_global(["reset", "all"], "prepapre_component", button, "") + class_functions.change_global(["reset", "all"], "prepare_component", button, "") + await class_functions.wait(2.0) button.text = "RESET COMPLETED" await class_functions.wait(3.0) button.text = tmp_txt diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index b31abdc3..89776523 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -329,7 +329,6 @@ func change_global(parameters: Array, preset: String, button: Button, state: Str logger("d", "Exit code: %s" % result["exit_code"]) _: var command_parameter: Array = [preset, parameters] - print (preset, parameters) logger("d", "Change Global: %s System: %s" % command_parameter) var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) logger("d", "Exit code: %s" % result["exit_code"]) From e20378560d01a63464811c492cb190a87748c9bc Mon Sep 17 00:00:00 2001 From: Rekku Date: Thu, 19 Sep 2024 19:19:07 +0100 Subject: [PATCH 49/74] Change to layout --- tools/configurator/main.tscn | 90 ++++++++++++++----- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 ++++++++--------- tools/configurator/scripts/TabContainer.gd | 34 ++++--- tools/configurator/scripts/class_functions.gd | 1 + tools/configurator/scripts/main.gd | 16 ++-- 5 files changed, 146 insertions(+), 79 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 1cffa336..163cf292 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=114 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=117 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"] @@ -104,8 +104,19 @@ [ext_resource type="Script" path="res://scripts/controller_guide.gd" id="68_ahvw4"] [ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] [ext_resource type="Texture2D" uid="uid://dllymmym0335n" path="res://assets/icons/pixelitos/16/system-shutdown.png" id="87_1yqbe"] +[ext_resource type="Texture2D" uid="uid://26piw1lylfai" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0650.png" id="90_xkj8e"] [ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] [ext_resource type="Script" path="res://scripts/retrodeck.gd" id="94_8nlr1"] +[ext_resource type="Texture2D" uid="uid://bfmu7t0xf5kdf" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0651.png" id="99_km4fg"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_co0k7"] +bg_color = Color(0.580392, 0.419608, 0.921569, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.101961, 0.623529, 1, 1) +border_blend = true [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1161k"] bg_color = Color(0.101961, 0.623529, 1, 0.376471) @@ -220,6 +231,7 @@ size_flags_horizontal = 3 [node name="TabContainer" type="TabContainer" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true layout_mode = 2 +theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 current_tab = 0 script = ExtResource("3_id6l4") @@ -949,7 +961,7 @@ layout_mode = 2 alignment = 1 expand_icon = true selected = 0 -item_count = 5 +item_count = 4 popup/item_0/text = "CHOOSE FONT" popup/item_0/icon = ExtResource("54_dah1j") popup/item_0/disabled = true @@ -957,15 +969,12 @@ popup/item_0/separator = true popup/item_1/text = "Default" popup/item_1/icon = ExtResource("55_wv2p5") popup/item_1/id = 1 -popup/item_2/text = "Retro" -popup/item_2/icon = ExtResource("56_ubqc2") +popup/item_2/text = "Modern" +popup/item_2/icon = ExtResource("55_wv2p5") popup/item_2/id = 2 -popup/item_3/text = "Modern" -popup/item_3/icon = ExtResource("55_wv2p5") -popup/item_3/id = 3 -popup/item_4/text = "OpenDyslexic3" -popup/item_4/icon = ExtResource("56_ubqc2") -popup/item_4/id = 4 +popup/item_3/text = "OpenDyslexic3" +popup/item_3/icon = ExtResource("56_ubqc2") +popup/item_3/id = 2 [node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 @@ -1205,7 +1214,6 @@ columns = 4 unique_name_in_owner = true visible = false layout_mode = 2 -focus_neighbor_right = NodePath("../GLOBALS") metadata/_tab_index = 5 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP"] @@ -1640,41 +1648,50 @@ color = Color(0.858824, 0.890196, 1, 1) [node name="controller_guide" type="PanelContainer" parent="."] layout_mode = 1 -anchors_preset = 7 -anchor_left = 0.5 +anchors_preset = 2 anchor_top = 1.0 -anchor_right = 0.5 anchor_bottom = 1.0 -offset_left = -136.0 offset_top = -72.0 -offset_right = 87.0 -grow_horizontal = 2 +offset_right = 326.0 grow_vertical = 0 script = ExtResource("68_ahvw4") [node name="HBoxContainer" type="HBoxContainer" parent="controller_guide"] layout_mode = 2 -theme_override_constants/separation = 25 +theme_override_constants/separation = 10 [node name="a_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(60, 60) +custom_minimum_size = Vector2(38, 38) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("30_glnve") texture_pressed = ExtResource("31_j5ri1") stretch_mode = 0 [node name="b_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(60, 60) +custom_minimum_size = Vector2(38, 38) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("33_1ghye") texture_pressed = ExtResource("34_fum2b") stretch_mode = 0 +[node name="Label" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270222, 0.270222, 0.270222, 1) +text = "ACTION" + +[node name="Label2" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "BACK" + [node name="locale_option" type="OptionButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true layout_mode = 2 +size_flags_vertical = 4 selected = 0 item_count = 7 popup/item_0/icon = ExtResource("5_exkn2") @@ -1691,12 +1708,39 @@ popup/item_5/id = 5 popup/item_6/icon = ExtResource("11_ri2fv") popup/item_6/id = 6 -[node name="exit_button" type="TextureButton" parent="controller_guide/HBoxContainer"] -custom_minimum_size = Vector2(45, 45) +[node name="Label3" type="Label" parent="controller_guide/HBoxContainer"] layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "LANGUAGE" + +[node name="exit_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +custom_minimum_size = Vector2(35, 35) +layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("87_1yqbe") stretch_mode = 0 +[node name="Label4" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "QUIT" + +[node name="a_button2" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("90_xkj8e") +stretch_mode = 0 + +[node name="a_button3" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("99_km4fg") +stretch_mode = 0 + [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] unique_name_in_owner = true stream = ExtResource("71_ghxvk") @@ -1704,6 +1748,7 @@ volume_db = -5.0 [node name="l1_button" type="TextureButton" parent="."] unique_name_in_owner = true +visible = false layout_mode = 2 offset_left = 14.0 offset_top = 2.0 @@ -1715,6 +1760,7 @@ stretch_mode = 0 [node name="r1_button" type="TextureButton" parent="."] unique_name_in_owner = true +visible = false layout_mode = 0 offset_left = 1134.0 offset_top = 1.0 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 7f18d098..534681f3 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_pq7ft"] +[sub_resource type="Image" id="Image_o3far"] 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_pq7ft") +image = SubResource("Image_o3far") -[sub_resource type="Image" id="Image_ewfke"] +[sub_resource type="Image" id="Image_5b28s"] 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_ewfke") +image = SubResource("Image_5b28s") [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_ud458"] +[sub_resource type="Image" id="Image_lcbhn"] 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_ud458") +image = SubResource("Image_lcbhn") [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_rxepv"] +[sub_resource type="Image" id="Image_sljx1"] 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_rxepv") +image = SubResource("Image_sljx1") [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_jstse"] +[sub_resource type="Image" id="Image_5rljs"] 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_jstse") +image = SubResource("Image_5rljs") [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_obw3u"] +[sub_resource type="Image" id="Image_u5cdv"] 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_obw3u") +image = SubResource("Image_u5cdv") [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_2g6e5"] +[sub_resource type="Image" id="Image_mhdrh"] 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_2g6e5") +image = SubResource("Image_mhdrh") -[sub_resource type="Image" id="Image_qx1yy"] +[sub_resource type="Image" id="Image_kqnlm"] 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_qx1yy") +image = SubResource("Image_kqnlm") -[sub_resource type="Image" id="Image_gtipq"] +[sub_resource type="Image" id="Image_p4jmx"] 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_gtipq") +image = SubResource("Image_p4jmx") -[sub_resource type="Image" id="Image_giatf"] +[sub_resource type="Image" id="Image_fkh7j"] 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_giatf") +image = SubResource("Image_fkh7j") -[sub_resource type="Image" id="Image_jbyut"] +[sub_resource type="Image" id="Image_60r3i"] 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_jbyut") +image = SubResource("Image_60r3i") [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_ajyuo"] +[sub_resource type="Image" id="Image_67461"] 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_ajyuo") +image = SubResource("Image_67461") [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_10v3a"] +[sub_resource type="Image" id="Image_6cmv7"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_10v3a") +image = SubResource("Image_6cmv7") [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_s56ut"] +[sub_resource type="Image" id="Image_q26w8"] 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_s56ut") +image = SubResource("Image_q26w8") [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_dqvkd"] +[sub_resource type="Image" id="Image_djq57"] 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_dqvkd") +image = SubResource("Image_djq57") -[sub_resource type="Image" id="Image_2482v"] +[sub_resource type="Image" id="Image_0iukv"] 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_2482v") +image = SubResource("Image_0iukv") -[sub_resource type="Image" id="Image_dbhcs"] +[sub_resource type="Image" id="Image_5uka6"] 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_dbhcs") +image = SubResource("Image_5uka6") -[sub_resource type="Image" id="Image_iowa8"] +[sub_resource type="Image" id="Image_078km"] 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_iowa8") +image = SubResource("Image_078km") [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_t8sdk"] +[sub_resource type="Image" id="Image_gi4u3"] 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_t8sdk") +image = SubResource("Image_gi4u3") -[sub_resource type="Image" id="Image_urm2a"] +[sub_resource type="Image" id="Image_xsct2"] 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_urm2a") +image = SubResource("Image_xsct2") [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_f8834"] +[sub_resource type="Image" id="Image_ekpgb"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_f8834") +image = SubResource("Image_ekpgb") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 55e0b04e..aa98e63d 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -9,16 +9,30 @@ func _ready(): %TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) %TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) %TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) - set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) - set_tab_icon_max_width(0,icon_width) - set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) - set_tab_icon_max_width(1,icon_width) - set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) - set_tab_icon_max_width(2,icon_width) - set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) - set_tab_icon_max_width(3,icon_width) - set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) - set_tab_icon_max_width(4,icon_width) + if class_functions.font_select !=3: + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + elif class_functions.font_select == 2: + %TabContainer.add_theme_font_size_override("font_size", 15) + else: + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + + set_tab_title(0, " GLOBALS ") + set_tab_title(1, " SYSTEM ") + set_tab_title(2, " TOOLS ") + set_tab_title(3, " SETTINGS ") + set_tab_title(4, " ABOUT ") + set_tab_hidden(5, true) + + #set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) + #set_tab_icon_max_width(0,icon_width) + #set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) + #set_tab_icon_max_width(1,icon_width) + #set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) + #set_tab_icon_max_width(2,icon_width) + #set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) + #set_tab_icon_max_width(3,icon_width) + #set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) + #set_tab_icon_max_width(4,icon_width) connect_focus_signals(self) %volume_effects_slider.value = class_functions.volume_effects diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 89776523..3de636f9 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -31,6 +31,7 @@ var border_state: String var widescreen_state: String var quick_rewind_state: String var font_select: int +var font_tab_size: int = 35 var locale: String enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind} var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button"] diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index fc73b896..70b31036 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -10,6 +10,7 @@ var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts- var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") var style_box_original: StyleBox = preload("res://assets/themes/default_theme.tres::StyleBoxFlat_0ahfc") +var font_size: int = 20 func _ready(): _get_nodes() @@ -227,14 +228,19 @@ func change_font(index: int) -> void: var font_file: FontFile match index: 1: - font_file = load("res://res/pixel_ui_theme/pixel-sans.otf") - 2: font_file = load("res://assets/fonts/munro/munro.ttf") - 3: + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + font_size = 30 + 2: font_file = load("res://assets/fonts/akrobat/Akrobat-Regular.otf") - 4: - font_file = load("res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf") + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + font_size = 25 + 3: + font_file = load("res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf") + %TabContainer.add_theme_font_size_override("font_size", 15) + font_size = 16 custom_theme = load("res://assets/themes/default_theme.tres") custom_theme.set_font("font", "Control", font_file) + custom_theme.default_font_size = font_size $".".theme = custom_theme data_handler.change_cfg_value(class_functions.config_file_path, "font", "options", str(index)) From 5a4de33c1fca38c61fd2dc3f1077a7317ebb33e3 Mon Sep 17 00:00:00 2001 From: Rekku Date: Fri, 20 Sep 2024 13:32:28 +0100 Subject: [PATCH 50/74] L and R chang. Fix faulty json --- tools/configurator/main.tscn | 81 +++++++++++------- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabContainer.gd | 4 +- tools/configurator/scripts/data_handler.gd | 2 +- 4 files changed, 98 insertions(+), 73 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 163cf292..b407410d 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=117 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=118 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"] @@ -196,6 +196,10 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gie3e"] +bg_color = Color(0.0509804, 0.0509804, 0.0509804, 1) +border_color = Color(0.298039, 0.298039, 0.298039, 1) + [node name="Control" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -230,14 +234,16 @@ size_flags_horizontal = 3 [node name="TabContainer" type="TabContainer" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(1265, 715) layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 0 +current_tab = 5 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 @@ -1212,7 +1218,6 @@ columns = 4 [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 metadata/_tab_index = 5 @@ -1647,13 +1652,11 @@ position = Vector2(134, 151) color = Color(0.858824, 0.890196, 1, 1) [node name="controller_guide" type="PanelContainer" parent="."] -layout_mode = 1 -anchors_preset = 2 -anchor_top = 1.0 -anchor_bottom = 1.0 -offset_top = -72.0 -offset_right = 326.0 -grow_vertical = 0 +layout_mode = 0 +offset_left = 6.0 +offset_top = 731.0 +offset_right = 655.0 +offset_bottom = 793.0 script = ExtResource("68_ahvw4") [node name="HBoxContainer" type="HBoxContainer" parent="controller_guide"] @@ -1669,6 +1672,11 @@ texture_normal = ExtResource("30_glnve") texture_pressed = ExtResource("31_j5ri1") stretch_mode = 0 +[node name="Label" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270222, 0.270222, 0.270222, 1) +text = "ACTION" + [node name="b_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(38, 38) @@ -1678,11 +1686,6 @@ texture_normal = ExtResource("33_1ghye") texture_pressed = ExtResource("34_fum2b") stretch_mode = 0 -[node name="Label" type="Label" parent="controller_guide/HBoxContainer"] -layout_mode = 2 -theme_override_colors/font_color = Color(0.270222, 0.270222, 0.270222, 1) -text = "ACTION" - [node name="Label2" type="Label" parent="controller_guide/HBoxContainer"] layout_mode = 2 theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) @@ -1746,26 +1749,48 @@ unique_name_in_owner = true stream = ExtResource("71_ghxvk") volume_db = -5.0 -[node name="l1_button" type="TextureButton" parent="."] +[node name="l1_box" type="Panel" parent="."] +layout_mode = 0 +offset_left = 24.0 +offset_top = 10.0 +offset_right = 74.0 +offset_bottom = 70.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") + +[node name="l1_button" type="TextureButton" parent="l1_box"] unique_name_in_owner = true -visible = false layout_mode = 2 -offset_left = 14.0 -offset_top = 2.0 -offset_right = 105.0 -offset_bottom = 54.0 +offset_left = 1.0 +offset_right = 50.0 +offset_bottom = 60.0 +grow_horizontal = 2 +grow_vertical = 2 texture_normal = ExtResource("38_prt7u") texture_pressed = ExtResource("39_m4qgd") stretch_mode = 0 -[node name="r1_button" type="TextureButton" parent="."] -unique_name_in_owner = true -visible = false +[node name="r1_box" type="Panel" parent="."] layout_mode = 0 -offset_left = 1134.0 -offset_top = 1.0 -offset_right = 1225.0 -offset_bottom = 53.0 +offset_left = 1202.0 +offset_top = 10.0 +offset_right = 1252.0 +offset_bottom = 70.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") + +[node name="r1_button" type="TextureButton" parent="r1_box"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -22.5 +offset_top = -22.5 +offset_right = 22.5 +offset_bottom = 22.5 +grow_horizontal = 2 +grow_vertical = 2 texture_normal = ExtResource("39_5ft88") texture_pressed = ExtResource("40_pnuor") stretch_mode = 0 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 534681f3..2fbc2d50 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_o3far"] +[sub_resource type="Image" id="Image_6ar61"] 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_o3far") +image = SubResource("Image_6ar61") -[sub_resource type="Image" id="Image_5b28s"] +[sub_resource type="Image" id="Image_xi3ox"] 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_5b28s") +image = SubResource("Image_xi3ox") [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_lcbhn"] +[sub_resource type="Image" id="Image_iwtgw"] 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_lcbhn") +image = SubResource("Image_iwtgw") [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_sljx1"] +[sub_resource type="Image" id="Image_7641h"] 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_sljx1") +image = SubResource("Image_7641h") [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_5rljs"] +[sub_resource type="Image" id="Image_7ln3r"] 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_5rljs") +image = SubResource("Image_7ln3r") [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_u5cdv"] +[sub_resource type="Image" id="Image_cpl0j"] 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_u5cdv") +image = SubResource("Image_cpl0j") [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_mhdrh"] +[sub_resource type="Image" id="Image_7mbqc"] 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_mhdrh") +image = SubResource("Image_7mbqc") -[sub_resource type="Image" id="Image_kqnlm"] +[sub_resource type="Image" id="Image_6o0la"] 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_kqnlm") +image = SubResource("Image_6o0la") -[sub_resource type="Image" id="Image_p4jmx"] +[sub_resource type="Image" id="Image_3gcfr"] 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_p4jmx") +image = SubResource("Image_3gcfr") -[sub_resource type="Image" id="Image_fkh7j"] +[sub_resource type="Image" id="Image_qvbkr"] 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_fkh7j") +image = SubResource("Image_qvbkr") -[sub_resource type="Image" id="Image_60r3i"] +[sub_resource type="Image" id="Image_84oix"] 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_60r3i") +image = SubResource("Image_84oix") [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_67461"] +[sub_resource type="Image" id="Image_7k3c3"] 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_67461") +image = SubResource("Image_7k3c3") [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_6cmv7"] +[sub_resource type="Image" id="Image_cxdqo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_6cmv7") +image = SubResource("Image_cxdqo") [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_q26w8"] +[sub_resource type="Image" id="Image_lt6lw"] 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_q26w8") +image = SubResource("Image_lt6lw") [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_djq57"] +[sub_resource type="Image" id="Image_vly6k"] 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_djq57") +image = SubResource("Image_vly6k") -[sub_resource type="Image" id="Image_0iukv"] +[sub_resource type="Image" id="Image_k5wpt"] 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_0iukv") +image = SubResource("Image_k5wpt") -[sub_resource type="Image" id="Image_5uka6"] +[sub_resource type="Image" id="Image_m7rr0"] 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_5uka6") +image = SubResource("Image_m7rr0") -[sub_resource type="Image" id="Image_078km"] +[sub_resource type="Image" id="Image_sf0cf"] 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_078km") +image = SubResource("Image_sf0cf") [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_gi4u3"] +[sub_resource type="Image" id="Image_tujrc"] 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_gi4u3") +image = SubResource("Image_tujrc") -[sub_resource type="Image" id="Image_xsct2"] +[sub_resource type="Image" id="Image_kchaq"] 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_xsct2") +image = SubResource("Image_kchaq") [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_ekpgb"] +[sub_resource type="Image" id="Image_ckd6g"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_ekpgb") +image = SubResource("Image_ckd6g") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index aa98e63d..88563658 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -1,7 +1,7 @@ extends TabContainer var icon_width: int = 32 -@onready var tcount: int = get_tab_count()-1 +@onready var tcount: int = get_tab_count()-2 func _ready(): focusFirstFocusableChild() #grab focus on first element to enable controller focusing @@ -22,7 +22,7 @@ func _ready(): set_tab_title(3, " SETTINGS ") set_tab_title(4, " ABOUT ") set_tab_hidden(5, true) - + #set_tab_title(6, "") #set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) #set_tab_icon_max_width(0,icon_width) #set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 6ee06acb..bcd17b92 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -34,7 +34,7 @@ func load_base_data() -> AppData: var emulator = Emulator.new() emulator.name = emulator_data["name"] emulator.description = emulator_data["description"] - emulator.url = emulator_data["url"] + #emulator.url = emulator_data["url"] #emulator.system = emulator_data["system"] emulator.launch = emulator_data["launch"] if emulator_data.has("properties"): From c1423d62b76143b7f3a69fcf5e4c89a411aebafc Mon Sep 17 00:00:00 2001 From: XargonWan Date: Sat, 21 Sep 2024 00:12:15 +0900 Subject: [PATCH 51/74] PORTMASTER: moving it to rolling release --- automation_tools/automation_task_list.cfg | 1 + net.retrodeck.retrodeck.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/automation_tools/automation_task_list.cfg b/automation_tools/automation_task_list.cfg index 979b5998..94013b2d 100644 --- a/automation_tools/automation_task_list.cfg +++ b/automation_tools/automation_task_list.cfg @@ -24,3 +24,4 @@ hash^RETRODECKMELONDSLATEST^https://github.com/RetroDECK/net.kuribo64.melonDS/re hash^RETRODECKSOLARUSLATEST^https://github.com/RetroDECK/org.solarus_games.solarus.Launcher/releases/latest/download/RetroDECK-solarus-Artifact.tar.gz hash^RETRODECKGZDOOMLATEST^https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz hash^RETRODECKMAMELATEST^https://github.com/RetroDECK/MAME/releases/latest/download/RetroDECK-MAME-Artifact.tar.gz +hash^PORTMASTERLATESTSHA^https://github.com/PortsMaster/PortMaster-GUI/releases/latest/download/retrodeck.portmaster.zip \ No newline at end of file diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 0a79370a..4bef5bd5 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -553,8 +553,8 @@ modules: - cp PortMaster.zip "${FLATPAK_DEST}/retrodeck/PortMaster.zip" sources: - type: file - url: https://github.com/PortsMaster/PortMaster-GUI/releases/download/2024.09.13-1455/retrodeck.portmaster.zip - sha256: 4fe3ce3ffdc1d66fe235c8a1a6062a86aa06ee615dba1fe5fc6e9bdd75e9d39c + url: https://github.com/PortsMaster/PortMaster-GUI/releases/latest/download/retrodeck.portmaster.zip + sha256: PORTMASTERLATESTSHA dest-filename: PortMaster.zip - type: script commands: From 1d5158026402400af01aed3e517b0817550aa3f3 Mon Sep 17 00:00:00 2001 From: Rekku Date: Fri, 20 Sep 2024 19:43:28 +0100 Subject: [PATCH 52/74] META Rekku --- .../components/bios_check/bios_check.gd | 2 + tools/configurator/components/popup.gd | 2 + .../configurator/components/popup_dialogue.gd | 2 + tools/configurator/main.tscn | 182 +++++++++++++----- tools/configurator/project.godot | 7 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 ++++---- tools/configurator/scripts/Rekku.gd | 14 +- tools/configurator/scripts/TabContainer.gd | 45 +++-- tools/configurator/scripts/TabGlobals.gd | 5 + tools/configurator/scripts/class_functions.gd | 4 + .../configurator/{ => scripts}/helper_text.gd | 1 - tools/configurator/scripts/main.gd | 2 + 12 files changed, 236 insertions(+), 114 deletions(-) rename tools/configurator/{ => scripts}/helper_text.gd (83%) diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index 343e7845..a6c14f17 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -5,8 +5,10 @@ var console: bool = false var BIOS_COLUMNS_BASIC := ["BIOS File Name", "System", "Found", "Hash Match", "Description"] var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash Match", "Description", "Subdirectory", "Hash"] @onready var bios_type:int = get_tree().current_scene.bios_type +@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): + $".".theme = custom_theme var table := $Table if bios_type == 1: #Basic BIOS button pressed table.columns = BIOS_COLUMNS_BASIC.size() diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 37590c33..b7e2f4ca 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -5,8 +5,10 @@ var content = null @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 +@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): + $".".theme = custom_theme lbhide.visible=false rbhide.visible=false # TODO this alowes copy and paste from RTB in logs? diff --git a/tools/configurator/components/popup_dialogue.gd b/tools/configurator/components/popup_dialogue.gd index 0827806d..afdb8320 100644 --- a/tools/configurator/components/popup_dialogue.gd +++ b/tools/configurator/components/popup_dialogue.gd @@ -2,8 +2,10 @@ extends Control var command: String var parameters: Array +@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): + $".".theme = custom_theme var args = OS.get_cmdline_args() for arg in range(args.size()): if args[arg] == "--title" and arg + 1 < args.size(): diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index b407410d..61527d42 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=118 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=124 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"] @@ -17,7 +17,7 @@ [ext_resource type="Texture2D" uid="uid://d2lm4mfx1gt86" path="res://assets/graphics/retrodeck_base_shake0.png" id="5_7rjbt"] [ext_resource type="Texture2D" uid="uid://bns3nmvku2qhe" path="res://assets/icons/pixelitos/128/system-shutdown.png" id="5_ahd1x"] [ext_resource type="Texture2D" uid="uid://dv42c6hpi6tde" path="res://assets/icons/pixelitos/128/cs-tiling.png" id="5_box56"] -[ext_resource type="Script" path="res://helper_text.gd" id="5_cprkf"] +[ext_resource type="Script" path="res://scripts/helper_text.gd" id="5_cprkf"] [ext_resource type="Texture2D" uid="uid://dxdhjp18rgmr4" path="res://res/flags/united_kingdom_32.png" id="5_exkn2"] [ext_resource type="Texture2D" uid="uid://du8go5dyabmsl" path="res://assets/icons/banner/gb.png" id="5_ja8to"] [ext_resource type="StyleBox" uid="uid://ba3l3ja1jbqpx" path="res://assets/themes/emulators.tres" id="5_rjtkn"] @@ -105,8 +105,12 @@ [ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] [ext_resource type="Texture2D" uid="uid://dllymmym0335n" path="res://assets/icons/pixelitos/16/system-shutdown.png" id="87_1yqbe"] [ext_resource type="Texture2D" uid="uid://26piw1lylfai" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0650.png" id="90_xkj8e"] +[ext_resource type="Texture2D" uid="uid://cj5p6oa4tbh3l" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0044.png" id="92_xpwgw"] [ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] +[ext_resource type="Texture2D" uid="uid://ewsr5bqe7gcr" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0049.png" id="93_rdk5c"] [ext_resource type="Script" path="res://scripts/retrodeck.gd" id="94_8nlr1"] +[ext_resource type="Texture2D" uid="uid://bjw5uccsiprpo" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0045.png" id="94_ybo5b"] +[ext_resource type="Texture2D" uid="uid://da6e8m0kx265j" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0050.png" id="95_act8q"] [ext_resource type="Texture2D" uid="uid://bfmu7t0xf5kdf" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0651.png" id="99_km4fg"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_co0k7"] @@ -196,6 +200,21 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cidk6"] + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4gcyr"] +bg_color = Color(0.455, 0.455, 0.455, 0.444) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.580392, 0.419608, 0.921569, 1) +border_blend = true +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gie3e"] bg_color = Color(0.0509804, 0.0509804, 0.0509804, 1) border_color = Color(0.298039, 0.298039, 0.298039, 1) @@ -223,33 +242,29 @@ grow_vertical = 2 [node name="SplitContainer" type="SplitContainer" parent="Background"] unique_name_in_owner = true layout_mode = 0 -offset_left = 1.0 -offset_top = 5.0 -offset_right = 1253.0 -offset_bottom = 724.0 +offset_top = 1.0 +offset_right = 1287.0 +offset_bottom = 725.0 +split_offset = 1280 [node name="MarginContainer" type="MarginContainer" parent="Background/SplitContainer"] layout_mode = 2 -size_flags_horizontal = 3 [node name="TabContainer" type="TabContainer" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(1265, 715) layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 5 +current_tab = 0 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS"] -custom_minimum_size = Vector2(1200, 600) layout_mode = 2 follow_focus = true @@ -284,6 +299,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +metadata/description = "This function will prompt you to exit on quiting an emulator." [node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] unique_name_in_owner = true @@ -324,7 +340,6 @@ show_percentage = false unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 -tooltip_text = "Change to Nintendo style button mappings." text = "BUTTON SWAP " icon = ExtResource("4_caaxx") @@ -348,7 +363,6 @@ show_percentage = false [node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 -tooltip_text = "This feature is planned for a future release." disabled = true text = "MODS" icon = ExtResource("5_vehlp") @@ -356,12 +370,12 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +metadata/description = "This feature is planned for a future release." [node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 -tooltip_text = "RetroArch Cores/Systems only" text = "QUICK RESUME" icon = ExtResource("12_3jrmi") alignment = 1 @@ -373,7 +387,7 @@ expand_icon = true unique_name_in_owner = true custom_minimum_size = Vector2(375, 125) layout_mode = 2 -text = "QUICK REWIND" +text = "REWIND" icon = ExtResource("11_c3qcy") alignment = 1 icon_alignment = 1 @@ -395,7 +409,6 @@ show_percentage = false [node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 -tooltip_text = "This feature is planned for a future release." disabled = true text = "TATE MODE" icon = ExtResource("10_jm3oh") @@ -403,11 +416,11 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +metadata/description = "This feature is planned for a future release." [node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] custom_minimum_size = Vector2(375, 125) layout_mode = 2 -tooltip_text = "This feature is planned for a future release." disabled = true text = "SHADERS" icon = ExtResource("4_q6hd2") @@ -415,6 +428,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +metadata/description = "This feature is planned for a future release." [node name="widescreen_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true @@ -490,7 +504,6 @@ script = ExtResource("36_wv31h") metadata/_tab_index = 1 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM"] -custom_minimum_size = Vector2(1200, 600) layout_mode = 2 follow_focus = true @@ -919,7 +932,6 @@ 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"] @@ -1218,6 +1230,7 @@ columns = 4 [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 metadata/_tab_index = 5 @@ -1564,6 +1577,19 @@ sprite_frames = SubResource("SpriteFrames_lhf2y") frame = 4 frame_progress = 1.0 +[node name="Panel" type="Panel" parent="Background/SplitContainer"] +visible = false +custom_minimum_size = Vector2(900, 0) +layout_mode = 2 + +[node name="Label" type="Label" parent="Background/SplitContainer/Panel"] +layout_mode = 2 +offset_left = 12.0 +offset_top = 346.0 +offset_right = 569.0 +offset_bottom = 378.0 +text = "SPLIT ME? kofdsofdosk oadk opdkdfpso koskfgd b" + [node name="side_logo" type="Control" parent="Background/SplitContainer"] layout_mode = 2 @@ -1586,6 +1612,7 @@ mouse_default_cursor_shape = 8 script = ExtResource("4_nqqx3") [node name="speach_bubble" type="Panel" parent="Background/SplitContainer/side_logo/rekku"] +unique_name_in_owner = true layout_mode = 0 offset_left = 371.0 offset_top = -1120.0 @@ -1646,6 +1673,34 @@ expand_mode = 1 stream = ExtResource("3_xivj6") volume_db = -11.243 +[node name="meta_panel" type="Panel" parent="Background"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +offset_left = 967.0 +offset_top = 594.0 +offset_right = 1266.0 +offset_bottom = 788.0 + +[node name="MarginContainer" type="MarginContainer" parent="Background/meta_panel"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="pop_rtl" type="RichTextLabel" parent="Background/meta_panel/MarginContainer"] +unique_name_in_owner = true +layout_mode = 2 +theme_override_font_sizes/normal_font_size = 20 +theme_override_styles/fill = SubResource("StyleBoxFlat_cidk6") +theme_override_styles/normal = SubResource("StyleBoxFlat_4gcyr") +text = "TEST MESSAGE" +fit_content = true +scroll_following = true +shortcut_keys_enabled = false + [node name="CanvasModulate" type="CanvasModulate" parent="."] visible = false position = Vector2(134, 151) @@ -1675,7 +1730,7 @@ stretch_mode = 0 [node name="Label" type="Label" parent="controller_guide/HBoxContainer"] layout_mode = 2 theme_override_colors/font_color = Color(0.270222, 0.270222, 0.270222, 1) -text = "ACTION" +text = "CONFIRM" [node name="b_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true @@ -1691,6 +1746,34 @@ layout_mode = 2 theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) text = "BACK" +[node name="x_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("92_xpwgw") +texture_pressed = ExtResource("93_rdk5c") +stretch_mode = 0 + +[node name="Label5" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "INFO" + +[node name="y_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("94_ybo5b") +texture_pressed = ExtResource("95_act8q") +stretch_mode = 0 + +[node name="Label6" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "REKKU" + [node name="locale_option" type="OptionButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true layout_mode = 2 @@ -1716,18 +1799,6 @@ layout_mode = 2 theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) text = "LANGUAGE" -[node name="exit_button" type="TextureButton" parent="controller_guide/HBoxContainer"] -custom_minimum_size = Vector2(35, 35) -layout_mode = 2 -size_flags_vertical = 4 -texture_normal = ExtResource("87_1yqbe") -stretch_mode = 0 - -[node name="Label4" type="Label" parent="controller_guide/HBoxContainer"] -layout_mode = 2 -theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) -text = "QUIT" - [node name="a_button2" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(38, 38) @@ -1744,6 +1815,23 @@ size_flags_vertical = 4 texture_normal = ExtResource("99_km4fg") stretch_mode = 0 +[node name="Label4" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "QUIT" + +[node name="exit_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +custom_minimum_size = Vector2(35, 35) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("87_1yqbe") +stretch_mode = 0 + +[node name="Label7" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "QUIT" + [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] unique_name_in_owner = true stream = ExtResource("71_ghxvk") @@ -1751,18 +1839,24 @@ volume_db = -5.0 [node name="l1_box" type="Panel" parent="."] layout_mode = 0 -offset_left = 24.0 -offset_top = 10.0 -offset_right = 74.0 -offset_bottom = 70.0 +offset_left = 15.0 +offset_top = 6.0 +offset_right = 75.0 +offset_bottom = 66.0 theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") [node name="l1_button" type="TextureButton" parent="l1_box"] unique_name_in_owner = true -layout_mode = 2 -offset_left = 1.0 -offset_right = 50.0 -offset_bottom = 60.0 +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -22.5 +offset_top = -22.5 +offset_right = 22.5 +offset_bottom = 22.5 grow_horizontal = 2 grow_vertical = 2 texture_normal = ExtResource("38_prt7u") @@ -1771,10 +1865,10 @@ stretch_mode = 0 [node name="r1_box" type="Panel" parent="."] layout_mode = 0 -offset_left = 1202.0 -offset_top = 10.0 -offset_right = 1252.0 -offset_bottom = 70.0 +offset_left = 1199.0 +offset_top = 6.0 +offset_right = 1259.0 +offset_bottom = 66.0 theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") [node name="r1_button" type="TextureButton" parent="r1_box"] diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 7c22162b..5f8ee59a 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -64,6 +64,11 @@ rekku_hide={ , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":true,"meta_pressed":false,"pressed":false,"keycode":72,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +info={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null) +] +} quit={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"pressure":0.0,"pressed":false,"script":null) @@ -75,7 +80,6 @@ next_tab={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":69,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":5,"pressure":0.0,"pressed":true,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194328,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } previous_tab={ @@ -83,7 +87,6 @@ previous_tab={ "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":81,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } back_button={ diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 2fbc2d50..81096460 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_6ar61"] +[sub_resource type="Image" id="Image_yu6lp"] 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_6ar61") +image = SubResource("Image_yu6lp") -[sub_resource type="Image" id="Image_xi3ox"] +[sub_resource type="Image" id="Image_nvea1"] 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_xi3ox") +image = SubResource("Image_nvea1") [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_iwtgw"] +[sub_resource type="Image" id="Image_oxp50"] 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_iwtgw") +image = SubResource("Image_oxp50") [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_7641h"] +[sub_resource type="Image" id="Image_dlms8"] 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_7641h") +image = SubResource("Image_dlms8") [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_7ln3r"] +[sub_resource type="Image" id="Image_8elo0"] 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_7ln3r") +image = SubResource("Image_8elo0") [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_cpl0j"] +[sub_resource type="Image" id="Image_hb3ks"] 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_cpl0j") +image = SubResource("Image_hb3ks") [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_7mbqc"] +[sub_resource type="Image" id="Image_6rdiw"] 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_7mbqc") +image = SubResource("Image_6rdiw") -[sub_resource type="Image" id="Image_6o0la"] +[sub_resource type="Image" id="Image_ms3ak"] 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_6o0la") +image = SubResource("Image_ms3ak") -[sub_resource type="Image" id="Image_3gcfr"] +[sub_resource type="Image" id="Image_ckw1v"] 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_3gcfr") +image = SubResource("Image_ckw1v") -[sub_resource type="Image" id="Image_qvbkr"] +[sub_resource type="Image" id="Image_y1upa"] 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_qvbkr") +image = SubResource("Image_y1upa") -[sub_resource type="Image" id="Image_84oix"] +[sub_resource type="Image" id="Image_4argl"] 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_84oix") +image = SubResource("Image_4argl") [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_7k3c3"] +[sub_resource type="Image" id="Image_grutn"] 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_7k3c3") +image = SubResource("Image_grutn") [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_cxdqo"] +[sub_resource type="Image" id="Image_w6egf"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_cxdqo") +image = SubResource("Image_w6egf") [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_lt6lw"] +[sub_resource type="Image" id="Image_80eh7"] 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_lt6lw") +image = SubResource("Image_80eh7") [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_vly6k"] +[sub_resource type="Image" id="Image_nkfvr"] 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_vly6k") +image = SubResource("Image_nkfvr") -[sub_resource type="Image" id="Image_k5wpt"] +[sub_resource type="Image" id="Image_dt8r3"] 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_k5wpt") +image = SubResource("Image_dt8r3") -[sub_resource type="Image" id="Image_m7rr0"] +[sub_resource type="Image" id="Image_4ouaw"] 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_m7rr0") +image = SubResource("Image_4ouaw") -[sub_resource type="Image" id="Image_sf0cf"] +[sub_resource type="Image" id="Image_l2btq"] 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_sf0cf") +image = SubResource("Image_l2btq") [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_tujrc"] +[sub_resource type="Image" id="Image_xthwl"] 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_tujrc") +image = SubResource("Image_xthwl") -[sub_resource type="Image" id="Image_kchaq"] +[sub_resource type="Image" id="Image_0bmgu"] 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_kchaq") +image = SubResource("Image_0bmgu") [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_ckd6g"] +[sub_resource type="Image" id="Image_ld0x6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_ckd6g") +image = SubResource("Image_ld0x6") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd index d915a511..4dda5a07 100644 --- a/tools/configurator/scripts/Rekku.gd +++ b/tools/configurator/scripts/Rekku.gd @@ -1,15 +1,15 @@ extends Control -var rekku_state = false func _input(event): if event.is_action_released("rekku_hide"): #self.visible = !self.visible - if rekku_state == false: + if class_functions.rekku_state == false: self.visible = true - rekku_state = true - %SplitContainer.split_offset=-300 - elif event.is_action_released("rekku_hide") and rekku_state == true: - rekku_state = false + class_functions.rekku_state = true + %SplitContainer.split_offset=925 + %meta_panel.visible = false + elif event.is_action_released("rekku_hide") and class_functions.rekku_state == true: + class_functions.rekku_state = false self.visible = false - %SplitContainer.split_offset=0 + %SplitContainer.split_offset=1280 diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 88563658..ab67da36 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -11,42 +11,51 @@ func _ready(): %TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) if class_functions.font_select !=3: %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) - elif class_functions.font_select == 2: + elif class_functions.font_select == 3: %TabContainer.add_theme_font_size_override("font_size", 15) else: %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) - set_tab_title(0, " GLOBALS ") - set_tab_title(1, " SYSTEM ") - set_tab_title(2, " TOOLS ") - set_tab_title(3, " SETTINGS ") - set_tab_title(4, " ABOUT ") + set_tab_title(0, " GLOBALS ") + set_tab_title(1, " SYSTEM ") + set_tab_title(2, " TOOLS ") + set_tab_title(3, " SETTINGS ") + set_tab_title(4, " ABOUT ") set_tab_hidden(5, true) - #set_tab_title(6, "") - #set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) - #set_tab_icon_max_width(0,icon_width) - #set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) - #set_tab_icon_max_width(1,icon_width) - #set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) - #set_tab_icon_max_width(2,icon_width) - #set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) - #set_tab_icon_max_width(3,icon_width) - #set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) - #set_tab_icon_max_width(4,icon_width) + set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) + set_tab_icon_max_width(0,icon_width) + set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) + set_tab_icon_max_width(1,icon_width) + set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) + set_tab_icon_max_width(2,icon_width) + set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) + set_tab_icon_max_width(3,icon_width) + set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) + set_tab_icon_max_width(4,icon_width) connect_focus_signals(self) %volume_effects_slider.value = class_functions.volume_effects -func connect_focus_signals(node): +func connect_focus_signals(node): for child in node.get_children(): if child is Button: child.focus_entered.connect(_on_Button_focus_entered.bind(child)) + child.focus_exited.connect(_on_Button_focus_exited.bind()) elif child is Control: connect_focus_signals(child) +func _on_Button_focus_exited(): + %meta_panel.visible = false + func _on_Button_focus_entered(button: Button): if button and class_functions.sound_effects: %AudioStreamPlayer2D.volume_db = class_functions.volume_effects %AudioStreamPlayer2D.play() + if button and class_functions.rekku_state == false and button.has_meta("description"): + %meta_panel.visible = true + %pop_rtl.text = button.get_meta("description") + else: + %meta_panel.visible = true + %pop_rtl.text = "Hey, there's no description" func _input(event): if (event.is_action_pressed("next_tab")): diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 151a1ef4..9270dd56 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -83,6 +83,11 @@ func _do_complete(button: Button) ->void: dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") dir.remove(class_functions.lockfile) class_functions.change_global(["reset", "retrodeck"], "prepare_component", button, "") + button.text = "RESETTING-NOW" + await class_functions.wait(2.0) + button.text = "CONFIGURATOR WILL NOW CLOSE" + await class_functions.wait(1.0) + get_tree().quit() "reset_all_emulators_button": var tmp_txt = button.text button.text = "RESETTING-NOW" diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 3de636f9..c707ffe5 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -32,10 +32,14 @@ var widescreen_state: String var quick_rewind_state: String var font_select: int var font_tab_size: int = 35 +var font_size: int = 20 var locale: String enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind} var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button"] signal update_global_signal +var rekku_state: bool = false +var custom_theme: Theme + func _ready(): read_values_states() diff --git a/tools/configurator/helper_text.gd b/tools/configurator/scripts/helper_text.gd similarity index 83% rename from tools/configurator/helper_text.gd rename to tools/configurator/scripts/helper_text.gd index 1026e672..d94060ef 100644 --- a/tools/configurator/helper_text.gd +++ b/tools/configurator/scripts/helper_text.gd @@ -11,4 +11,3 @@ func _on_focus_changed(selected_element:Control) -> void: helper_text_node.text = selected_element.get_meta("description") else: helper_text_node.text = "Hey, there's no description" - #helper_text_node.text = "That stupid Monkey almost deleted me.\n\n\nPlease save me!!!!!!!!" diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 70b31036..beb1b2b7 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -17,6 +17,8 @@ func _ready(): _connect_signals() _play_main_animations() _set_up_globals([]) + custom_theme = get_tree().current_scene.custom_theme + $".".theme = custom_theme if class_functions.locale == "automatic": %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) %rd_title.text += class_functions.title From 170230e67a0eb390a5cb0de32c921d9e46d609a4 Mon Sep 17 00:00:00 2001 From: Rekku Date: Sun, 22 Sep 2024 14:44:18 +0100 Subject: [PATCH 53/74] Dialogue or Dialog? --- tools/configurator/main.tscn | 6 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabSettings.gd | 32 ++++++- 3 files changed, 76 insertions(+), 46 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 61527d42..c69273e2 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -255,11 +255,12 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 0 +current_tab = 3 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 @@ -920,7 +921,6 @@ disabled = true text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -1036,9 +1036,9 @@ popup/item_3/id = 3 layout_mode = 2 [node name="cheevos" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 -disabled = true text = "TK_CHEEVOS" [node name="cheevos_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 81096460..ad261c0a 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_yu6lp"] +[sub_resource type="Image" id="Image_uybar"] 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_yu6lp") +image = SubResource("Image_uybar") -[sub_resource type="Image" id="Image_nvea1"] +[sub_resource type="Image" id="Image_2phje"] 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_nvea1") +image = SubResource("Image_2phje") [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_oxp50"] +[sub_resource type="Image" id="Image_ixa4c"] 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_oxp50") +image = SubResource("Image_ixa4c") [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_dlms8"] +[sub_resource type="Image" id="Image_8bews"] 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_dlms8") +image = SubResource("Image_8bews") [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_8elo0"] +[sub_resource type="Image" id="Image_nxxjw"] 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_8elo0") +image = SubResource("Image_nxxjw") [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_hb3ks"] +[sub_resource type="Image" id="Image_uqvkf"] 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_hb3ks") +image = SubResource("Image_uqvkf") [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_6rdiw"] +[sub_resource type="Image" id="Image_2r0t6"] 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_6rdiw") +image = SubResource("Image_2r0t6") -[sub_resource type="Image" id="Image_ms3ak"] +[sub_resource type="Image" id="Image_nqoc1"] 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_ms3ak") +image = SubResource("Image_nqoc1") -[sub_resource type="Image" id="Image_ckw1v"] +[sub_resource type="Image" id="Image_puocm"] 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_ckw1v") +image = SubResource("Image_puocm") -[sub_resource type="Image" id="Image_y1upa"] +[sub_resource type="Image" id="Image_pmcpn"] 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_y1upa") +image = SubResource("Image_pmcpn") -[sub_resource type="Image" id="Image_4argl"] +[sub_resource type="Image" id="Image_pviev"] 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_4argl") +image = SubResource("Image_pviev") [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_grutn"] +[sub_resource type="Image" id="Image_cqbqt"] 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_grutn") +image = SubResource("Image_cqbqt") [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_w6egf"] +[sub_resource type="Image" id="Image_54yvc"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_w6egf") +image = SubResource("Image_54yvc") [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_80eh7"] +[sub_resource type="Image" id="Image_rsc7i"] 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_80eh7") +image = SubResource("Image_rsc7i") [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_nkfvr"] +[sub_resource type="Image" id="Image_2as8a"] 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_nkfvr") +image = SubResource("Image_2as8a") -[sub_resource type="Image" id="Image_dt8r3"] +[sub_resource type="Image" id="Image_vhtx3"] 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_dt8r3") +image = SubResource("Image_vhtx3") -[sub_resource type="Image" id="Image_4ouaw"] +[sub_resource type="Image" id="Image_l0jie"] 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_4ouaw") +image = SubResource("Image_l0jie") -[sub_resource type="Image" id="Image_l2btq"] +[sub_resource type="Image" id="Image_we4bh"] 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_l2btq") +image = SubResource("Image_we4bh") [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_xthwl"] +[sub_resource type="Image" id="Image_b04rj"] 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_xthwl") +image = SubResource("Image_b04rj") -[sub_resource type="Image" id="Image_0bmgu"] +[sub_resource type="Image" id="Image_t7ai0"] 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_0bmgu") +image = SubResource("Image_t7ai0") [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_ld0x6"] +[sub_resource type="Image" id="Image_2lra7"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_ld0x6") +image = SubResource("Image_2lra7") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index b7651292..b1c84bad 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -1,10 +1,40 @@ -extends Control +extends Node + +@onready var n_username := "monkeyx" +@onready var n_key := "DYwRSBCFjNNXYgZWEcTnBG2epYO8KQhO" +var ra_url = "https://retroachievements.org/dorequest.php?r=login&u=monkeyx&p=9LJX7**mie*9e4" +var cheevos_token: String func _ready(): + var http_request = HTTPRequest.new() + add_child(http_request) _connect_signals() + http_request.request_completed.connect(self._on_request_completed) + http_request.request(ra_url) func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) #%volume_effects_slider.changed.connect(class_functions.slider_function.bind(%volume_effects_slider)) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) + %cheevos.pressed.connect(cheevos.bind(%cheevos)) + +func _on_request_completed(_result, response_code, _headers, body): + var response_text = JSON.parse_string(body.get_string_from_utf8()) + print("Response Code: ", response_code) + print("Response Body: ", response_text) + print("Response Token: ", response_text.Token) + #print (_result,_headers) + cheevos_token = response_text.Token + if response_code == 200: + print("Request successful!") + else: + print("Request failed with code: ", response_code) + +func cheevos(button: Button): + set_process_input(false) + $"../..".visible=false + await class_functions.run_thread_command(class_functions.wrapper_command,["change_preset_dialog", "cheevos"], false) + set_process_input(true) + $"../..".visible=true + print ("FIN?") From 01a219b33ec265b3f16c0408690534358e7bc1e2 Mon Sep 17 00:00:00 2001 From: Rekku Date: Sun, 22 Sep 2024 16:47:23 +0100 Subject: [PATCH 54/74] Signals --- tools/configurator/main.tscn | 102 ++++++------------ .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++-------- tools/configurator/scripts/TabContainer.gd | 6 +- tools/configurator/scripts/TabSettings.gd | 6 +- tools/configurator/scripts/class_functions.gd | 3 +- tools/configurator/scripts/main.gd | 2 +- 6 files changed, 82 insertions(+), 121 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index c69273e2..08dd6534 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=124 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=123 format=3 uid="uid://61f6m4r1mpan"] [ext_resource type="Texture2D" uid="uid://bv6vh33cnfaw4" path="res://icon.svg" id="1_axfei"] [ext_resource type="Theme" uid="uid://hhc60cllcg47" path="res://assets/themes/default_theme.tres" id="1_if8nh"] @@ -200,10 +200,8 @@ animations = [{ "speed": 5.0 }] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_cidk6"] - [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4gcyr"] -bg_color = Color(0.455, 0.455, 0.455, 0.444) +bg_color = Color(0.455, 0.455, 0.455, 1) border_width_left = 10 border_width_top = 10 border_width_right = 10 @@ -1011,6 +1009,28 @@ icon = ExtResource("56_witym") alignment = 1 expand_icon = true +[node name="locale_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +selected = 0 +fit_to_longest_item = false +item_count = 7 +popup/item_0/text = "DEFAULT LANGUAGE" +popup/item_0/icon = ExtResource("5_exkn2") +popup/item_1/icon = ExtResource("6_fiylw") +popup/item_1/id = 1 +popup/item_2/icon = ExtResource("7_qgxid") +popup/item_2/id = 2 +popup/item_3/icon = ExtResource("8_lptln") +popup/item_3/id = 3 +popup/item_4/icon = ExtResource("9_dp7oa") +popup/item_4/id = 4 +popup/item_5/icon = ExtResource("10_e8mt0") +popup/item_5/id = 5 +popup/item_6/icon = ExtResource("11_ri2fv") +popup/item_6/id = 6 + [node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -1212,14 +1232,11 @@ texture = ExtResource("1_axfei") expand_mode = 1 stretch_mode = 4 -[node name="about_header" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] -clip_contents = false +[node name="about_header" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] custom_minimum_size = Vector2(0, 40) layout_mode = 2 size_flags_vertical = 3 -theme_override_font_sizes/normal_font_size = 23 text = "ABOUT RETRODECK" -scroll_active = false [node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true @@ -1577,19 +1594,6 @@ sprite_frames = SubResource("SpriteFrames_lhf2y") frame = 4 frame_progress = 1.0 -[node name="Panel" type="Panel" parent="Background/SplitContainer"] -visible = false -custom_minimum_size = Vector2(900, 0) -layout_mode = 2 - -[node name="Label" type="Label" parent="Background/SplitContainer/Panel"] -layout_mode = 2 -offset_left = 12.0 -offset_top = 346.0 -offset_right = 569.0 -offset_bottom = 378.0 -text = "SPLIT ME? kofdsofdosk oadk opdkdfpso koskfgd b" - [node name="side_logo" type="Control" parent="Background/SplitContainer"] layout_mode = 2 @@ -1673,33 +1677,16 @@ expand_mode = 1 stream = ExtResource("3_xivj6") volume_db = -11.243 -[node name="meta_panel" type="Panel" parent="Background"] +[node name="pop_rtl" type="Label" parent="Background"] unique_name_in_owner = true -visible = false +z_index = 2 layout_mode = 2 -offset_left = 967.0 -offset_top = 594.0 -offset_right = 1266.0 -offset_bottom = 788.0 - -[node name="MarginContainer" type="MarginContainer" parent="Background/meta_panel"] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="pop_rtl" type="RichTextLabel" parent="Background/meta_panel/MarginContainer"] -unique_name_in_owner = true -layout_mode = 2 -theme_override_font_sizes/normal_font_size = 20 -theme_override_styles/fill = SubResource("StyleBoxFlat_cidk6") +offset_left = 6.0 +offset_top = 703.0 +offset_right = 1271.0 +offset_bottom = 797.0 theme_override_styles/normal = SubResource("StyleBoxFlat_4gcyr") text = "TEST MESSAGE" -fit_content = true -scroll_following = true -shortcut_keys_enabled = false [node name="CanvasModulate" type="CanvasModulate" parent="."] visible = false @@ -1774,31 +1761,6 @@ layout_mode = 2 theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) text = "REKKU" -[node name="locale_option" type="OptionButton" parent="controller_guide/HBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_vertical = 4 -selected = 0 -item_count = 7 -popup/item_0/icon = ExtResource("5_exkn2") -popup/item_1/icon = ExtResource("6_fiylw") -popup/item_1/id = 1 -popup/item_2/icon = ExtResource("7_qgxid") -popup/item_2/id = 2 -popup/item_3/icon = ExtResource("8_lptln") -popup/item_3/id = 3 -popup/item_4/icon = ExtResource("9_dp7oa") -popup/item_4/id = 4 -popup/item_5/icon = ExtResource("10_e8mt0") -popup/item_5/id = 5 -popup/item_6/icon = ExtResource("11_ri2fv") -popup/item_6/id = 6 - -[node name="Label3" type="Label" parent="controller_guide/HBoxContainer"] -layout_mode = 2 -theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) -text = "LANGUAGE" - [node name="a_button2" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(38, 38) @@ -1898,5 +1860,5 @@ script = ExtResource("94_8nlr1") [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button" to="." method="_on_bios_button_pressed"] [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] -[connection signal="item_selected" from="controller_guide/HBoxContainer/locale_option" to="." method="_on_locale_selected"] +[connection signal="item_selected" from="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/locale_option" to="." method="_on_locale_selected"] [connection signal="pressed" from="controller_guide/HBoxContainer/exit_button" to="." method="_on_exit_button_pressed"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index ad261c0a..a78bc653 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_uybar"] +[sub_resource type="Image" id="Image_hkg4b"] 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_uybar") +image = SubResource("Image_hkg4b") -[sub_resource type="Image" id="Image_2phje"] +[sub_resource type="Image" id="Image_a2mwi"] 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_2phje") +image = SubResource("Image_a2mwi") [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_ixa4c"] +[sub_resource type="Image" id="Image_3c30l"] 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_ixa4c") +image = SubResource("Image_3c30l") [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_8bews"] +[sub_resource type="Image" id="Image_7q8e8"] 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_8bews") +image = SubResource("Image_7q8e8") [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_nxxjw"] +[sub_resource type="Image" id="Image_qcr3d"] 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_nxxjw") +image = SubResource("Image_qcr3d") [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_uqvkf"] +[sub_resource type="Image" id="Image_nwe58"] 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_uqvkf") +image = SubResource("Image_nwe58") [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_2r0t6"] +[sub_resource type="Image" id="Image_tmybh"] 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_2r0t6") +image = SubResource("Image_tmybh") -[sub_resource type="Image" id="Image_nqoc1"] +[sub_resource type="Image" id="Image_mdv0q"] 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_nqoc1") +image = SubResource("Image_mdv0q") -[sub_resource type="Image" id="Image_puocm"] +[sub_resource type="Image" id="Image_6ppjr"] 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_puocm") +image = SubResource("Image_6ppjr") -[sub_resource type="Image" id="Image_pmcpn"] +[sub_resource type="Image" id="Image_1bj3s"] 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_pmcpn") +image = SubResource("Image_1bj3s") -[sub_resource type="Image" id="Image_pviev"] +[sub_resource type="Image" id="Image_2l2ga"] 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_pviev") +image = SubResource("Image_2l2ga") [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_cqbqt"] +[sub_resource type="Image" id="Image_sd5dd"] 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_cqbqt") +image = SubResource("Image_sd5dd") [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_54yvc"] +[sub_resource type="Image" id="Image_pypw0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_54yvc") +image = SubResource("Image_pypw0") [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_rsc7i"] +[sub_resource type="Image" id="Image_ug6qm"] 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_rsc7i") +image = SubResource("Image_ug6qm") [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_2as8a"] +[sub_resource type="Image" id="Image_p2mnn"] 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_2as8a") +image = SubResource("Image_p2mnn") -[sub_resource type="Image" id="Image_vhtx3"] +[sub_resource type="Image" id="Image_t212p"] 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_vhtx3") +image = SubResource("Image_t212p") -[sub_resource type="Image" id="Image_l0jie"] +[sub_resource type="Image" id="Image_sir1p"] 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_l0jie") +image = SubResource("Image_sir1p") -[sub_resource type="Image" id="Image_we4bh"] +[sub_resource type="Image" id="Image_l18sa"] 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_we4bh") +image = SubResource("Image_l18sa") [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_b04rj"] +[sub_resource type="Image" id="Image_00bil"] 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_b04rj") +image = SubResource("Image_00bil") -[sub_resource type="Image" id="Image_t7ai0"] +[sub_resource type="Image" id="Image_slgxi"] 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_t7ai0") +image = SubResource("Image_slgxi") [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_2lra7"] +[sub_resource type="Image" id="Image_ml3ro"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_2lra7") +image = SubResource("Image_ml3ro") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index ab67da36..45e548a8 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -44,17 +44,17 @@ func connect_focus_signals(node): connect_focus_signals(child) func _on_Button_focus_exited(): - %meta_panel.visible = false + %pop_rtl.visible = false func _on_Button_focus_entered(button: Button): if button and class_functions.sound_effects: %AudioStreamPlayer2D.volume_db = class_functions.volume_effects %AudioStreamPlayer2D.play() if button and class_functions.rekku_state == false and button.has_meta("description"): - %meta_panel.visible = true + %pop_rtl.visible = true %pop_rtl.text = button.get_meta("description") else: - %meta_panel.visible = true + %pop_rtl.visible = true %pop_rtl.text = "Hey, there's no description" func _input(event): diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index b1c84bad..36e71145 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -1,7 +1,5 @@ -extends Node +extends Control -@onready var n_username := "monkeyx" -@onready var n_key := "DYwRSBCFjNNXYgZWEcTnBG2epYO8KQhO" var ra_url = "https://retroachievements.org/dorequest.php?r=login&u=monkeyx&p=9LJX7**mie*9e4" var cheevos_token: String @@ -15,9 +13,9 @@ func _ready(): func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) - #%volume_effects_slider.changed.connect(class_functions.slider_function.bind(%volume_effects_slider)) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) %cheevos.pressed.connect(cheevos.bind(%cheevos)) + func _on_request_completed(_result, response_code, _headers, body): var response_text = JSON.parse_string(body.get_string_from_utf8()) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index c707ffe5..abff4f4a 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -286,7 +286,8 @@ func update_global(button: Button, preset: String, state: bool) -> void: "sound_button": sound_effects = state result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) - logger("i", "Enabled: " % (button.name)) + logger("i", "Enabled: %s" % (button.name)) + update_global_signal.emit([button.name]) "button_swap_button": if abxy_state != "mixed": abxy_state = str(state) diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index beb1b2b7..acb97229 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -185,7 +185,7 @@ func _on_exit_button_pressed(): func _set_up_globals(state: Array) -> void: #TODO on initial run pass array date? - #print (state) + print (state) %update_notification_button.button_pressed = class_functions.update_check %quick_resume_button.button_pressed = class_functions.quick_resume_status %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status From 4ba2d35060ef4efd57e7d806902c474c07145089 Mon Sep 17 00:00:00 2001 From: Rekku Date: Sun, 22 Sep 2024 17:15:09 +0100 Subject: [PATCH 55/74] More Meta --- tools/configurator/main.tscn | 12 ++++++------ tools/configurator/scripts/TabAbout.gd | 8 +++++--- tools/configurator/scripts/main.gd | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 08dd6534..e986084b 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,7 +253,7 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 3 +current_tab = 4 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -381,6 +381,7 @@ alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 expand_icon = true +metadata/description = "Testing 1,2,3 .." [node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true @@ -919,6 +920,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 @@ -1013,6 +1015,7 @@ expand_icon = true unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +alignment = 1 selected = 0 fit_to_longest_item = false item_count = 7 @@ -1197,7 +1200,6 @@ 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 @@ -1209,15 +1211,12 @@ layout_mode = 2 layout_mode = 2 alignment = 1 -[node name="rd_title" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] +[node name="rd_title" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true -clip_contents = false custom_minimum_size = Vector2(300, 150) layout_mode = 2 text = "RetroDECK" -scroll_active = false autowrap_mode = 2 -tab_size = 2 [node name="logo" type="TextureRect" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container/rd_title"] custom_minimum_size = Vector2(128, 128) @@ -1679,6 +1678,7 @@ volume_db = -11.243 [node name="pop_rtl" type="Label" parent="Background"] unique_name_in_owner = true +visible = false z_index = 2 layout_mode = 2 offset_left = 6.0 diff --git a/tools/configurator/scripts/TabAbout.gd b/tools/configurator/scripts/TabAbout.gd index 98f752bf..7e036425 100644 --- a/tools/configurator/scripts/TabAbout.gd +++ b/tools/configurator/scripts/TabAbout.gd @@ -25,7 +25,7 @@ func _about_button_pressed(id: String, button: Button) -> void: var tmp_txt = button.text if class_functions.desktop_mode != "gamescope": class_functions.logger("i","Loading website for " + id) - class_functions.launch_help(button.editor_description) + class_functions.launch_help(button.get_meta("url")) else: button.text = "Help only in Desktop Mode" await class_functions.wait(3.0) @@ -42,8 +42,10 @@ func create_buttons() -> void: func _setup_button(button: Button, web_data: Link) -> void: button.text = web_data.name - button.tooltip_text = web_data.description + #button.tooltip_text = web_data.description button.icon = ResourceLoader.load(web_data.icon) - button.editor_description = web_data.url + #button.editor_description = web_data.url + button.set_meta("url", web_data.url) + button.set_meta("description", web_data.description) button.icon_alignment = HORIZONTAL_ALIGNMENT_LEFT button.vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index acb97229..beb1b2b7 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -185,7 +185,7 @@ func _on_exit_button_pressed(): func _set_up_globals(state: Array) -> void: #TODO on initial run pass array date? - print (state) + #print (state) %update_notification_button.button_pressed = class_functions.update_check %quick_resume_button.button_pressed = class_functions.quick_resume_status %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status From be95a1bf935fae24a2ab447f99022a39ae7a896a Mon Sep 17 00:00:00 2001 From: Rekku Date: Sun, 22 Sep 2024 20:48:01 +0100 Subject: [PATCH 56/74] Fonts in all areas! --- .../logs_view/logs_popup_content.tscn | 21 ---- tools/configurator/components/popup.gd | 6 +- tools/configurator/components/popup.tscn | 7 +- tools/configurator/main.tscn | 102 +++++++---------- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++------- tools/configurator/scripts/Rekku.gd | 2 +- tools/configurator/scripts/TabGlobals.gd | 103 ++++-------------- tools/configurator/scripts/TabSettings.gd | 6 +- tools/configurator/scripts/class_functions.gd | 78 ++++++++++++- tools/configurator/scripts/main.gd | 11 +- 10 files changed, 197 insertions(+), 223 deletions(-) delete mode 100644 tools/configurator/components/logs_view/logs_popup_content.tscn diff --git a/tools/configurator/components/logs_view/logs_popup_content.tscn b/tools/configurator/components/logs_view/logs_popup_content.tscn deleted file mode 100644 index f2bcd71a..00000000 --- a/tools/configurator/components/logs_view/logs_popup_content.tscn +++ /dev/null @@ -1,21 +0,0 @@ -[gd_scene format=3 uid="uid://b0ts52bsu7cpb"] - -[node name="PopupContent" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="RichTextLabel" type="RichTextLabel" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -focus_mode = 2 -scroll_following = true -context_menu_enabled = true -selection_enabled = true diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index b7e2f4ca..4fc178b7 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -2,8 +2,8 @@ extends Control 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 lbhide: Panel = get_tree().current_scene.get_node("%l1_box") +@onready var rbhide: Panel = get_tree().current_scene.get_node("%r1_box") @onready var bios_type:int = get_tree().current_scene.bios_type @onready var custom_theme: Theme = get_tree().current_scene.custom_theme @@ -27,6 +27,6 @@ func set_content(new_content): func set_title(new_title): $Panel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/Label.text = new_title func set_display_text(new_display_text): - $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer/RichTextLabel.text=new_display_text + $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer/LineEdit.text=new_display_text func _on_back_pressed(): queue_free() diff --git a/tools/configurator/components/popup.tscn b/tools/configurator/components/popup.tscn index be8915da..e1c06685 100644 --- a/tools/configurator/components/popup.tscn +++ b/tools/configurator/components/popup.tscn @@ -63,10 +63,7 @@ theme_override_constants/margin_top = 6 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 6 -[node name="RichTextLabel" type="RichTextLabel" parent="Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer"] +[node name="LineEdit" type="TextEdit" parent="Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer"] layout_mode = 2 -focus_mode = 2 -scroll_following = true -context_menu_enabled = true +editable = false shortcut_keys_enabled = false -selection_enabled = true diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index e986084b..a3e02188 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,7 +253,7 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 4 +current_tab = 3 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -920,7 +920,6 @@ disabled = true text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -932,7 +931,6 @@ follow_focus = true [node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 -theme_override_constants/separation = 64 [node name="system_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 @@ -1034,43 +1032,32 @@ popup/item_5/id = 5 popup/item_6/icon = ExtResource("11_ri2fv") popup/item_6/id = 6 -[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 100) -layout_mode = 2 -disabled = true -alignment = 1 -expand_icon = true -selected = 0 -item_count = 4 -popup/item_0/text = "TK_MULTIUSR" -popup/item_0/icon = ExtResource("57_7b0kp") -popup/item_0/separator = true -popup/item_1/text = "TK_CUSTOMUSR" -popup/item_1/icon = ExtResource("58_mntxv") -popup/item_1/id = 1 -popup/item_2/text = "TK_OFF" -popup/item_2/icon = ExtResource("58_mntxv") -popup/item_2/id = 2 -popup/item_3/text = "TK_STEAMUSR" -popup/item_3/icon = ExtResource("58_mntxv") -popup/item_3/id = 3 - [node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="cheevos" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +[node name="cheevos_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_CHEEVOS" -[node name="cheevos_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] -layout_mode = 2 +[node name="cheevos_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false [node name="cheevos_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +unique_name_in_owner = true +visible = false layout_mode = 2 theme_override_constants/h_separation = 64 -columns = 2 [node name="cheevos_username_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 @@ -1099,38 +1086,14 @@ placeholder_text = "password" secret = true secret_character = "*" -[node name="cheevos_advanced_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 - -[node name="cheevos_advanced_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -disabled = true -text = "TK_ADVANCED" - -[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -disabled = true text = "TK_CHEEVOSHARDCORE" -[node name="cheevos_loginout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -size_flags_horizontal = 8 -theme_override_constants/separation = 10 - -[node name="cheevos_trophies_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_loginout_container"] -layout_mode = 2 -disabled = true -text = "TK_CHEEVOSTROPHYBTN" - -[node name="cheevos_loginout_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_loginout_container"] -layout_mode = 2 -disabled = true -text = "TK_LOGIN" - [node name="netplay_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="netplay" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] +[node name="netplay" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] layout_mode = 2 text = "TK_NETPLAY" @@ -1176,16 +1139,30 @@ size_flags_vertical = 5 layout_mode = 2 text = "TK_NETPLAYCONNECT" +[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +disabled = true +alignment = 1 +expand_icon = true +selected = 0 +item_count = 4 +popup/item_0/text = "TK_MULTIUSR" +popup/item_0/icon = ExtResource("57_7b0kp") +popup/item_0/separator = true +popup/item_1/text = "TK_CUSTOMUSR" +popup/item_1/icon = ExtResource("58_mntxv") +popup/item_1/id = 1 +popup/item_2/text = "TK_OFF" +popup/item_2/icon = ExtResource("58_mntxv") +popup/item_2/id = 2 +popup/item_3/text = "TK_STEAMUSR" +popup/item_3/icon = ExtResource("58_mntxv") +popup/item_3/id = 3 + [node name="data_mng_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="data_mng_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 -text = "TK_DATAMNG" - -[node name="data_mng_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 - [node name="saves_sync" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] layout_mode = 2 size_flags_horizontal = 3 @@ -1200,6 +1177,7 @@ disabled = true text = "TK_FTPBTN" [node name="ABOUT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("4_m4rto") metadata/_tab_index = 4 @@ -1800,6 +1778,7 @@ stream = ExtResource("71_ghxvk") volume_db = -5.0 [node name="l1_box" type="Panel" parent="."] +unique_name_in_owner = true layout_mode = 0 offset_left = 15.0 offset_top = 6.0 @@ -1826,6 +1805,7 @@ texture_pressed = ExtResource("39_m4qgd") stretch_mode = 0 [node name="r1_box" type="Panel" parent="."] +unique_name_in_owner = true layout_mode = 0 offset_left = 1199.0 offset_top = 6.0 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index a78bc653..ff37252d 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_hkg4b"] +[sub_resource type="Image" id="Image_cx80n"] 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_hkg4b") +image = SubResource("Image_cx80n") -[sub_resource type="Image" id="Image_a2mwi"] +[sub_resource type="Image" id="Image_o7ypa"] 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_a2mwi") +image = SubResource("Image_o7ypa") [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_3c30l"] +[sub_resource type="Image" id="Image_1mjn7"] 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_3c30l") +image = SubResource("Image_1mjn7") [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_7q8e8"] +[sub_resource type="Image" id="Image_nx1w6"] 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_7q8e8") +image = SubResource("Image_nx1w6") [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_qcr3d"] +[sub_resource type="Image" id="Image_645t5"] 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_qcr3d") +image = SubResource("Image_645t5") [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_nwe58"] +[sub_resource type="Image" id="Image_6cwok"] 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_nwe58") +image = SubResource("Image_6cwok") [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_tmybh"] +[sub_resource type="Image" id="Image_yq8x5"] 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_tmybh") +image = SubResource("Image_yq8x5") -[sub_resource type="Image" id="Image_mdv0q"] +[sub_resource type="Image" id="Image_osx3u"] 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_mdv0q") +image = SubResource("Image_osx3u") -[sub_resource type="Image" id="Image_6ppjr"] +[sub_resource type="Image" id="Image_e358d"] 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_6ppjr") +image = SubResource("Image_e358d") -[sub_resource type="Image" id="Image_1bj3s"] +[sub_resource type="Image" id="Image_sc2ny"] 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_1bj3s") +image = SubResource("Image_sc2ny") -[sub_resource type="Image" id="Image_2l2ga"] +[sub_resource type="Image" id="Image_f4p5c"] 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_2l2ga") +image = SubResource("Image_f4p5c") [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_sd5dd"] +[sub_resource type="Image" id="Image_4no34"] 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_sd5dd") +image = SubResource("Image_4no34") [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_pypw0"] +[sub_resource type="Image" id="Image_81fer"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_pypw0") +image = SubResource("Image_81fer") [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_ug6qm"] +[sub_resource type="Image" id="Image_o4hso"] 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_ug6qm") +image = SubResource("Image_o4hso") [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_p2mnn"] +[sub_resource type="Image" id="Image_1giar"] 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_p2mnn") +image = SubResource("Image_1giar") -[sub_resource type="Image" id="Image_t212p"] +[sub_resource type="Image" id="Image_shov6"] 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_t212p") +image = SubResource("Image_shov6") -[sub_resource type="Image" id="Image_sir1p"] +[sub_resource type="Image" id="Image_txvms"] 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_sir1p") +image = SubResource("Image_txvms") -[sub_resource type="Image" id="Image_l18sa"] +[sub_resource type="Image" id="Image_nqxn3"] 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_l18sa") +image = SubResource("Image_nqxn3") [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_00bil"] +[sub_resource type="Image" id="Image_7ahc2"] 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_00bil") +image = SubResource("Image_7ahc2") -[sub_resource type="Image" id="Image_slgxi"] +[sub_resource type="Image" id="Image_n6ur5"] 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_slgxi") +image = SubResource("Image_n6ur5") [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_ml3ro"] +[sub_resource type="Image" id="Image_iyjpi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_ml3ro") +image = SubResource("Image_iyjpi") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd index 4dda5a07..2a0c0e04 100644 --- a/tools/configurator/scripts/Rekku.gd +++ b/tools/configurator/scripts/Rekku.gd @@ -8,7 +8,7 @@ func _input(event): self.visible = true class_functions.rekku_state = true %SplitContainer.split_offset=925 - %meta_panel.visible = false + %pop_rtl.visible = false elif event.is_action_released("rekku_hide") and class_functions.rekku_state == true: class_functions.rekku_state = false self.visible = false diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 9270dd56..29f8dc47 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -1,99 +1,40 @@ extends MarginContainer -var press_time: float = 0.0 -var is_state_pressed: bool = false -var PRESS_DURATION: float = 3.0 -var current_button: Button = null -var current_progress: ProgressBar = null -var current_state: String = "" func _ready(): _connect_signals() func _process(delta: float) -> void: - if current_button != null: - update_progress(delta, current_progress) + if class_functions.current_button != null: + update_progress(delta, class_functions.current_progress) func update_progress(delta: float, progress: ProgressBar) -> void: - if press_time >= PRESS_DURATION: - _do_complete(current_button) - is_state_pressed = false + if class_functions.press_time >= class_functions.PRESS_DURATION: + class_functions._do_complete(class_functions.current_button) + class_functions.is_state_pressed = false #print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name]) - elif is_state_pressed and current_state == "mixed": - press_time += delta - progress.value = press_time / PRESS_DURATION * 100.0 + elif class_functions.is_state_pressed and class_functions.current_state == "mixed": + class_functions.press_time += delta + progress.value = class_functions.press_time / class_functions.PRESS_DURATION * 100.0 func _connect_signals(): %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) - %button_swap_button.button_down.connect(_do_action.bind(%button_swap_progress, %button_swap_button, class_functions.abxy_state)) - %button_swap_button.button_up.connect(_on_button_released.bind(%button_swap_progress)) + %button_swap_button.button_down.connect(class_functions._do_action.bind(%button_swap_progress, %button_swap_button, class_functions.abxy_state)) + %button_swap_button.button_up.connect(class_functions._on_button_released.bind(%button_swap_progress)) %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) - %ask_to_exit_button.button_down.connect(_do_action.bind(%ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state)) - %ask_to_exit_button.button_up.connect(_on_button_released.bind(%ask_to_exit_progress)) + %ask_to_exit_button.button_down.connect(class_functions._do_action.bind(%ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state)) + %ask_to_exit_button.button_up.connect(class_functions._on_button_released.bind(%ask_to_exit_progress)) %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit")) - %border_button.button_down.connect(_do_action.bind(%border_progress, %border_button, class_functions.border_state)) - %border_button.button_up.connect(_on_button_released.bind(%border_progress)) + %border_button.button_down.connect(class_functions._do_action.bind(%border_progress, %border_button, class_functions.border_state)) + %border_button.button_up.connect(class_functions._on_button_released.bind(%border_progress)) %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) - %widescreen_button.button_down.connect(_do_action.bind(%widescreen_progress, %widescreen_button, class_functions.widescreen_state)) - %widescreen_button.button_up.connect(_on_button_released.bind(%widescreen_progress)) + %widescreen_button.button_down.connect(class_functions._do_action.bind(%widescreen_progress, %widescreen_button, class_functions.widescreen_state)) + %widescreen_button.button_up.connect(class_functions._on_button_released.bind(%widescreen_progress)) %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) - %quick_rewind_button.button_down.connect(_do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) - %quick_rewind_button.button_up.connect(_on_button_released.bind(%quick_rewind_progress)) + %quick_rewind_button.button_down.connect(class_functions._do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) + %quick_rewind_button.button_up.connect(class_functions._on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) - %reset_retrodeck_button.button_down.connect(_do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) - %reset_retrodeck_button.button_up.connect(_on_button_released.bind(%reset_retrodeck_progress)) - %reset_all_emulators_button.button_down.connect(_do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) - %reset_all_emulators_button.button_up.connect(_on_button_released.bind(%reset_all_emulators_progress)) - -func _on_button_released(progress: ProgressBar) -> void: - is_state_pressed = false - progress.visible = false - press_time = 0.0 - progress.value = 0.0 - current_button = null - current_progress = null - current_state == null - -func _do_action(progress: ProgressBar, button: Button, state: String) -> void: - match [class_functions.button_list]: - [class_functions.button_list]: - current_state = state - current_button = button - current_progress = progress - current_progress.visible = true - is_state_pressed = true - -func _do_complete(button: Button) ->void: - #TODO use object for state - if is_state_pressed and button == current_button: - match button.name: - "button_swap_button": - class_functions.abxy_state = "false" - "ask_to_exit_button": - class_functions.ask_to_exit_state = "false" - "border_button": - class_functions.border_state = "false" - "widescreen_button": - class_functions.widescreen_state = "false" - "quick_rewind_button": - class_functions.quick_rewind_state = "false" - "reset_retrodeck_button": - var dir = DirAccess.open(class_functions.rd_conf.get_base_dir()) - if dir is DirAccess: - dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") - dir.remove(class_functions.lockfile) - class_functions.change_global(["reset", "retrodeck"], "prepare_component", button, "") - button.text = "RESETTING-NOW" - await class_functions.wait(2.0) - button.text = "CONFIGURATOR WILL NOW CLOSE" - await class_functions.wait(1.0) - get_tree().quit() - "reset_all_emulators_button": - var tmp_txt = button.text - button.text = "RESETTING-NOW" - class_functions.change_global(["reset", "all"], "prepare_component", button, "") - await class_functions.wait(2.0) - button.text = "RESET COMPLETED" - await class_functions.wait(3.0) - button.text = tmp_txt - button.toggle_mode = true + %reset_retrodeck_button.button_down.connect(class_functions._do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) + %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) + %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) + %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 36e71145..1b0bc0f4 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -14,8 +14,10 @@ func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) - %cheevos.pressed.connect(cheevos.bind(%cheevos)) - + #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) + %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) + %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) func _on_request_completed(_result, response_code, _headers, body): var response_text = JSON.parse_string(body.get_string_from_utf8()) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index abff4f4a..4beefe5f 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -30,16 +30,22 @@ var ask_to_exit_state: String var border_state: String var widescreen_state: String var quick_rewind_state: String +var cheevos_state: String +var cheevos_hardcore_state: String var font_select: int var font_tab_size: int = 35 var font_size: int = 20 var locale: String -enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind} -var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button"] +enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind, cheevos, cheevos_hardcore} +var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button"] signal update_global_signal var rekku_state: bool = false -var custom_theme: Theme - +var press_time: float = 0.0 +var is_state_pressed: bool = false +var PRESS_DURATION: float = 3.0 +var current_button: Button = null +var current_progress: ProgressBar = null +var current_state: String = "" func _ready(): read_values_states() @@ -70,6 +76,8 @@ func read_values_states() -> void: sound_effects = config["options"]["sound_effects"] volume_effects = int(config["options"]["volume_effects"]) font_select = int(config["options"]["font"]) + cheevos_state = multi_state("cheevos", cheevos_state) + cheevos_hardcore_state = multi_state("cheevos_hardcore", cheevos_hardcore_state) func multi_state(section: String, state: String) -> String: var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, section) @@ -323,6 +331,11 @@ func update_global(button: Button, preset: String, state: bool) -> void: quick_rewind_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, quick_rewind_state) + "cheevos_button": + if cheevos_state != "mixed": + cheevos_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, quick_rewind_state) func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: #print (parameters) @@ -361,3 +374,60 @@ func extract_text(file_path: String, extract: String) -> String: else: logger("e", "Could not open file: %s" % file_path) return "" + +func _on_button_released(progress: ProgressBar) -> void: + is_state_pressed = false + progress.visible = false + press_time = 0.0 + progress.value = 0.0 + current_button = null + current_progress = null + current_state == null + +func _do_action(progress: ProgressBar, button: Button, state: String) -> void: + match [class_functions.button_list]: + [class_functions.button_list]: + current_state = state + current_button = button + current_progress = progress + current_progress.visible = true + is_state_pressed = true + +func _do_complete(button: Button) ->void: + #TODO use object for state + if is_state_pressed and button == current_button: + match button.name: + "button_swap_button": + class_functions.abxy_state = "false" + "ask_to_exit_button": + class_functions.ask_to_exit_state = "false" + "border_button": + class_functions.border_state = "false" + "widescreen_button": + class_functions.widescreen_state = "false" + "quick_rewind_button": + class_functions.quick_rewind_state = "false" + "cheevos_button": + class_functions.cheevos_state = "false" + "cheevos_hardcore_button": + class_functions.cheevos_hardcore_state = "false" + "reset_retrodeck_button": + var dir = DirAccess.open(class_functions.rd_conf.get_base_dir()) + if dir is DirAccess: + dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") + dir.remove(class_functions.lockfile) + class_functions.change_global(["reset", "retrodeck"], "prepare_component", button, "") + button.text = "RESETTING-NOW" + await class_functions.wait(2.0) + button.text = "CONFIGURATOR WILL NOW CLOSE" + await class_functions.wait(1.0) + get_tree().quit() + "reset_all_emulators_button": + var tmp_txt = button.text + button.text = "RESETTING-NOW" + class_functions.change_global(["reset", "all"], "prepare_component", button, "") + await class_functions.wait(2.0) + button.text = "RESET COMPLETED" + await class_functions.wait(3.0) + button.text = tmp_txt + button.toggle_mode = true diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index beb1b2b7..e1521e63 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -82,15 +82,15 @@ func _load_log(index: int) -> void: 1: class_functions.logger("i","Loading RetroDeck log") log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") - load_popup("RetroDeck Log", "res://components/logs_view/logs_popup_content.tscn", log_content) + load_popup("RetroDeck Log", "res://components/popup.tscn", log_content) 2: class_functions.logger("i","Loading ES-DE log") log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") - load_popup("ES-DE Log", "res://components/logs_view/logs_popup_content.tscn",log_content) + load_popup("ES-DE Log", "res://components/popup.tscn",log_content) 3: class_functions.logger("i","Loading RetroArch log") log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") - load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) + load_popup("Retroarch Log", "res://components/popup.tscn",log_content) func _play_main_animations() -> void: anim_logo.play() @@ -196,6 +196,11 @@ func _set_up_globals(state: Array) -> void: mixed_mode(%border_button, class_functions.border_state) mixed_mode(%widescreen_button, class_functions.widescreen_state) mixed_mode(%quick_rewind_button, class_functions.quick_rewind_state) + mixed_mode(%cheevos_button, class_functions.cheevos_state) + if class_functions.cheevos_state == "true": + %cheevos_login_container.visible = true + else: + %cheevos_login_container.visible = false func mixed_mode (button: Button, state: String) -> void: match [class_functions.button_list]: From ce93560723f5bea1ec20c95171a81f40e3c4ecf3 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Mon, 23 Sep 2024 21:39:42 +0900 Subject: [PATCH 57/74] ES-DE: triggering build for tentive fixing version label From c33641d9de17bfd6a8aeae08085e26f8f0cf826c Mon Sep 17 00:00:00 2001 From: Rekku Date: Mon, 23 Sep 2024 21:57:11 +0100 Subject: [PATCH 58/74] More button fungit add .! --- tools/configurator/main.tscn | 203 +++++++++++------- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 ++++---- tools/configurator/scripts/TabAbout.gd | 9 +- tools/configurator/scripts/TabContainer.gd | 1 + .../scripts/{ToolsTab.gd => TabTools.gd} | 0 5 files changed, 175 insertions(+), 122 deletions(-) rename tools/configurator/scripts/{ToolsTab.gd => TabTools.gd} (100%) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index a3e02188..ff20fe43 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -81,7 +81,7 @@ [ext_resource type="Texture2D" uid="uid://3sw7gtoiuab3" path="res://assets/icons/pixelitos/128/help-browser.png" id="46_feagl"] [ext_resource type="Texture2D" uid="uid://b0awa8venu1h8" path="res://assets/icons/pixelitos/128/cs-network.png" id="50_5d2ui"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] -[ext_resource type="Script" path="res://scripts/ToolsTab.gd" id="50_wqa5h"] +[ext_resource type="Script" path="res://scripts/TabTools.gd" id="50_wqa5h"] [ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] [ext_resource type="Script" path="res://scripts/TabSettings.gd" id="54_bxhvn"] [ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] @@ -253,7 +253,7 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 3 +current_tab = 1 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -284,20 +284,21 @@ layout_mode = 2 [node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 -theme_override_constants/h_separation = 25 -theme_override_constants/v_separation = 25 -columns = 3 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 4 [node name="ask_to_exit_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "ASK TO EXIT" icon = ExtResource("5_ahd1x") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This function will prompt you to exit on quiting an emulator." [node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] @@ -314,14 +315,15 @@ show_percentage = false [node name="border_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BORDERS" icon = ExtResource("4_jldgc") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="border_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/border_button"] unique_name_in_owner = true @@ -337,15 +339,16 @@ show_percentage = false [node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BUTTON SWAP " icon = ExtResource("4_caaxx") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="button_swap_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/button_swap_button"] unique_name_in_owner = true @@ -360,39 +363,42 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 disabled = true text = "MODS" icon = ExtResource("5_vehlp") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This feature is planned for a future release." [node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "QUICK RESUME" icon = ExtResource("12_3jrmi") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "Testing 1,2,3 .." [node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "REWIND" icon = ExtResource("11_c3qcy") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="quick_rewind_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/quick_rewind_button"] unique_name_in_owner = true @@ -407,39 +413,42 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 disabled = true text = "TATE MODE" icon = ExtResource("10_jm3oh") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This feature is planned for a future release." [node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 disabled = true text = "SHADERS" icon = ExtResource("4_q6hd2") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true metadata/description = "This feature is planned for a future release." [node name="widescreen_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "WIDESCREEN" icon = ExtResource("4_jldgc") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -expand_icon = true [node name="widescreen_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/widescreen_button"] unique_name_in_owner = true @@ -455,9 +464,12 @@ show_percentage = false [node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 -text = "RESET RETRODECK" +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET +RETRODECK" icon = ExtResource("11_g1uhn") icon_alignment = 1 vertical_icon_alignment = 0 @@ -477,9 +489,12 @@ show_percentage = false [node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(375, 125) layout_mode = 2 -text = "RESET ALL EMULATORS" +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET ALL +EMULATORS" icon = ExtResource("45_qxd26") icon_alignment = 1 vertical_icon_alignment = 0 @@ -498,7 +513,6 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("36_wv31h") metadata/_tab_index = 1 @@ -515,144 +529,174 @@ size_flags_vertical = 3 [node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 -theme_override_constants/h_separation = 25 -theme_override_constants/v_separation = 25 -columns = 4 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 5 [node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RETROARCH" icon = ExtResource("4_xcuib") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "MAME" icon = ExtResource("36_dj81i") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RUFFLE" icon = ExtResource("37_7hhbn") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "MELONDS" icon = ExtResource("7_4otos") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "PCSX2" icon = ExtResource("38_44je8") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "DUCKSTATION" icon = ExtResource("6_winpq") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "PPSSPP" icon = ExtResource("8_akxf7") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "VITA3K" icon = ExtResource("38_vsjf2") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RPCS3" icon = ExtResource("8_ec4gt") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RYUJINX" icon = ExtResource("40_7fdvq") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "DOLPHIN" icon = ExtResource("11_61sak") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "PRIMEHACK" icon = ExtResource("41_55e56") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "CEMU" icon = ExtResource("42_n3n7j") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "XEMU" icon = ExtResource("43_ifi6j") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(256, 125) layout_mode = 2 -theme_override_constants/icon_max_width = 128 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "ES-DE" icon = ExtResource("44_7lpj5") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 [node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true @@ -752,7 +796,7 @@ theme_override_constants/separation = 64 [node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 -theme_override_constants/separation = 25 +theme_override_constants/separation = 15 [node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true @@ -920,6 +964,7 @@ disabled = true text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -1218,8 +1263,8 @@ text = "ABOUT RETRODECK" [node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true layout_mode = 2 -theme_override_constants/h_separation = 20 -theme_override_constants/v_separation = 20 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 columns = 4 [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index ff37252d..d3bb1661 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_cx80n"] +[sub_resource type="Image" id="Image_juppf"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_cx80n") +image = SubResource("Image_juppf") -[sub_resource type="Image" id="Image_o7ypa"] +[sub_resource type="Image" id="Image_y6jpb"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_o7ypa") +image = SubResource("Image_y6jpb") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_1mjn7"] +[sub_resource type="Image" id="Image_ox6ec"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_1mjn7") +image = SubResource("Image_ox6ec") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_nx1w6"] +[sub_resource type="Image" id="Image_tu5uw"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_nx1w6") +image = SubResource("Image_tu5uw") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_645t5"] +[sub_resource type="Image" id="Image_ai62r"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_645t5") +image = SubResource("Image_ai62r") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_6cwok"] +[sub_resource type="Image" id="Image_533ak"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_6cwok") +image = SubResource("Image_533ak") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_yq8x5"] +[sub_resource type="Image" id="Image_2goip"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_yq8x5") +image = SubResource("Image_2goip") -[sub_resource type="Image" id="Image_osx3u"] +[sub_resource type="Image" id="Image_khwm8"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_osx3u") +image = SubResource("Image_khwm8") -[sub_resource type="Image" id="Image_e358d"] +[sub_resource type="Image" id="Image_4u1di"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_e358d") +image = SubResource("Image_4u1di") -[sub_resource type="Image" id="Image_sc2ny"] +[sub_resource type="Image" id="Image_n0unl"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_sc2ny") +image = SubResource("Image_n0unl") -[sub_resource type="Image" id="Image_f4p5c"] +[sub_resource type="Image" id="Image_iwmpw"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_f4p5c") +image = SubResource("Image_iwmpw") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_4no34"] +[sub_resource type="Image" id="Image_mox4h"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_4no34") +image = SubResource("Image_mox4h") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_81fer"] +[sub_resource type="Image" id="Image_cmokc"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_81fer") +image = SubResource("Image_cmokc") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_o4hso"] +[sub_resource type="Image" id="Image_grrt1"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_o4hso") +image = SubResource("Image_grrt1") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_1giar"] +[sub_resource type="Image" id="Image_x7lb8"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_1giar") +image = SubResource("Image_x7lb8") -[sub_resource type="Image" id="Image_shov6"] +[sub_resource type="Image" id="Image_xytok"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_shov6") +image = SubResource("Image_xytok") -[sub_resource type="Image" id="Image_txvms"] +[sub_resource type="Image" id="Image_v36r2"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_txvms") +image = SubResource("Image_v36r2") -[sub_resource type="Image" id="Image_nqxn3"] +[sub_resource type="Image" id="Image_wovt8"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_nqxn3") +image = SubResource("Image_wovt8") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_7ahc2"] +[sub_resource type="Image" id="Image_6gtxh"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_7ahc2") +image = SubResource("Image_6gtxh") -[sub_resource type="Image" id="Image_n6ur5"] +[sub_resource type="Image" id="Image_vj0ge"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_n6ur5") +image = SubResource("Image_vj0ge") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_iyjpi"] +[sub_resource type="Image" id="Image_uhd1i"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_iyjpi") +image = SubResource("Image_uhd1i") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabAbout.gd b/tools/configurator/scripts/TabAbout.gd index 7e036425..9caf11f6 100644 --- a/tools/configurator/scripts/TabAbout.gd +++ b/tools/configurator/scripts/TabAbout.gd @@ -41,11 +41,18 @@ func create_buttons() -> void: _setup_button(button, web_data) func _setup_button(button: Button, web_data: Link) -> void: + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + button.size_flags_vertical = Control.SIZE_EXPAND_FILL button.text = web_data.name + var vect2 = Vector2(200,100) + button.custom_minimum_size = vect2 #button.tooltip_text = web_data.description button.icon = ResourceLoader.load(web_data.icon) - #button.editor_description = web_data.url button.set_meta("url", web_data.url) button.set_meta("description", web_data.description) button.icon_alignment = HORIZONTAL_ALIGNMENT_LEFT button.vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER + button.add_theme_constant_override("icon_max_width", 64) + button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + button.alignment = HORIZONTAL_ALIGNMENT_CENTER + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 45e548a8..3b150c15 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -44,6 +44,7 @@ func connect_focus_signals(node): connect_focus_signals(child) func _on_Button_focus_exited(): + print ("exit") %pop_rtl.visible = false func _on_Button_focus_entered(button: Button): diff --git a/tools/configurator/scripts/ToolsTab.gd b/tools/configurator/scripts/TabTools.gd similarity index 100% rename from tools/configurator/scripts/ToolsTab.gd rename to tools/configurator/scripts/TabTools.gd From dc7174e3d79258828045fa3484cd726a2a2028b2 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 10:04:20 +0100 Subject: [PATCH 59/74] Rekku says what about me! --- tools/configurator/main.tscn | 33 +++---- .../res/pixel_ui_theme/RetroDECKTheme.tres | 89 +++++++++---------- tools/configurator/scripts/Rekku.gd | 11 +++ tools/configurator/scripts/TabContainer.gd | 24 +++-- tools/configurator/scripts/helper_text.gd | 10 +-- 5 files changed, 80 insertions(+), 87 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index ff20fe43..e61cdab9 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,12 +253,11 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 1 +current_tab = 0 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 @@ -272,16 +271,6 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="globals_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="systems_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_container"] -layout_mode = 2 -text = "GLOBAL CONFIGURATION" - -[node name="systems_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_container"] -layout_mode = 2 - [node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_constants/h_separation = 15 @@ -299,7 +288,8 @@ icon = ExtResource("5_ahd1x") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -metadata/description = "This function will prompt you to exit on quiting an emulator." +metadata/description = "Enables or disables ask to exit prompts in all supported emulators and cores. Note: If you disable this, the emulators will directly exit." +metadata/rekku = "If this box is orange blame monkeyx he loves Blaclpool FC. Or long press to reset and turm them all on again. You can also edit individual options for systems in the System TAB. " [node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] unique_name_in_owner = true @@ -513,6 +503,7 @@ theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("36_wv31h") metadata/_tab_index = 1 @@ -543,6 +534,7 @@ text = "RETROARCH" icon = ExtResource("4_xcuib") icon_alignment = 1 vertical_icon_alignment = 0 +metadata/rekku = "This is my favourite emulator!" [node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true @@ -1639,6 +1631,7 @@ script = ExtResource("4_nqqx3") [node name="speach_bubble" type="Panel" parent="Background/SplitContainer/side_logo/rekku"] unique_name_in_owner = true +visible = false layout_mode = 0 offset_left = 371.0 offset_top = -1120.0 @@ -1646,7 +1639,8 @@ offset_right = 644.0 offset_bottom = -786.0 theme_override_styles/panel = SubResource("StyleBoxTexture_rf0rc") -[node name="helper_text" type="RichTextLabel" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +[node name="helper_text" type="Label" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +visible = false layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -1659,16 +1653,10 @@ offset_right = 129.5 offset_bottom = 191.0 grow_horizontal = 2 grow_vertical = 2 -text = "Rekku: - -When \"Quick Resume\" is enabled, a savestate is created upon quit and it will be loaded once the game is started. -This is mot working on the following systems: Switch, WiiU." -fit_content = true -scroll_following = true script = ExtResource("5_cprkf") [node name="rekku_sprite" type="Sprite2D" parent="Background/SplitContainer/side_logo/rekku"] -position = Vector2(536, -513) +position = Vector2(511, -826) scale = Vector2(0.5, 0.5) texture = ExtResource("57_1n3u5") @@ -1709,7 +1697,8 @@ offset_top = 703.0 offset_right = 1271.0 offset_bottom = 797.0 theme_override_styles/normal = SubResource("StyleBoxFlat_4gcyr") -text = "TEST MESSAGE" +horizontal_alignment = 1 +autowrap_mode = 2 [node name="CanvasModulate" type="CanvasModulate" parent="."] visible = false diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index d3bb1661..c043db89 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_juppf"] +[sub_resource type="Image" id="Image_tqsvy"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_juppf") +image = SubResource("Image_tqsvy") -[sub_resource type="Image" id="Image_y6jpb"] +[sub_resource type="Image" id="Image_7jqkq"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_y6jpb") +image = SubResource("Image_7jqkq") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_ox6ec"] +[sub_resource type="Image" id="Image_t35s3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_ox6ec") +image = SubResource("Image_t35s3") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_tu5uw"] +[sub_resource type="Image" id="Image_l4ovu"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_tu5uw") +image = SubResource("Image_l4ovu") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_ai62r"] +[sub_resource type="Image" id="Image_4qxng"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_ai62r") +image = SubResource("Image_4qxng") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_533ak"] +[sub_resource type="Image" id="Image_yrid1"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_533ak") +image = SubResource("Image_yrid1") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_2goip"] +[sub_resource type="Image" id="Image_dvad3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_2goip") +image = SubResource("Image_dvad3") -[sub_resource type="Image" id="Image_khwm8"] +[sub_resource type="Image" id="Image_cdkbg"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_khwm8") +image = SubResource("Image_cdkbg") -[sub_resource type="Image" id="Image_4u1di"] +[sub_resource type="Image" id="Image_4x7uj"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_4u1di") +image = SubResource("Image_4x7uj") -[sub_resource type="Image" id="Image_n0unl"] +[sub_resource type="Image" id="Image_nvr8u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_n0unl") +image = SubResource("Image_nvr8u") -[sub_resource type="Image" id="Image_iwmpw"] +[sub_resource type="Image" id="Image_s2x2e"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_iwmpw") +image = SubResource("Image_s2x2e") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_mox4h"] +[sub_resource type="Image" id="Image_1die0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_mox4h") +image = SubResource("Image_1die0") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_cmokc"] +[sub_resource type="Image" id="Image_hc0ng"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_cmokc") +image = SubResource("Image_hc0ng") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_grrt1"] +[sub_resource type="Image" id="Image_b58s8"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_grrt1") +image = SubResource("Image_b58s8") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_x7lb8"] +[sub_resource type="Image" id="Image_grieo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_x7lb8") +image = SubResource("Image_grieo") -[sub_resource type="Image" id="Image_xytok"] +[sub_resource type="Image" id="Image_63mmi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_xytok") +image = SubResource("Image_63mmi") -[sub_resource type="Image" id="Image_v36r2"] +[sub_resource type="Image" id="Image_ytg3x"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_v36r2") +image = SubResource("Image_ytg3x") -[sub_resource type="Image" id="Image_wovt8"] +[sub_resource type="Image" id="Image_nffbk"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_wovt8") +image = SubResource("Image_nffbk") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_6gtxh"] +[sub_resource type="Image" id="Image_qd4uq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_6gtxh") +image = SubResource("Image_qd4uq") -[sub_resource type="Image" id="Image_vj0ge"] +[sub_resource type="Image" id="Image_gwa6g"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_vj0ge") +image = SubResource("Image_gwa6g") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_uhd1i"] +[sub_resource type="Image" id="Image_4nked"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_uhd1i") +image = SubResource("Image_4nked") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 @@ -2791,12 +2791,7 @@ TabContainer/constants/label_valign_bg = 0 TabContainer/constants/label_valign_fg = 0 TabContainer/constants/side_margin = 0 TabContainer/constants/top_margin = 0 -TabContainer/icons/decrement = null -TabContainer/icons/decrement_highlight = null -TabContainer/icons/increment = null -TabContainer/icons/increment_highlight = null TabContainer/icons/menu = null -TabContainer/icons/menu_highlight = null TabContainer/styles/panel = SubResource("420") TabContainer/styles/tab_bg = SubResource("525") TabContainer/styles/tab_disabled = SubResource("422") diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd index 2a0c0e04..63e6bac2 100644 --- a/tools/configurator/scripts/Rekku.gd +++ b/tools/configurator/scripts/Rekku.gd @@ -9,7 +9,18 @@ func _input(event): class_functions.rekku_state = true %SplitContainer.split_offset=925 %pop_rtl.visible = false + %TabContainer.set_tab_title(0, "GLOBALS") + %TabContainer.set_tab_title(1, "SYSTEM") + %TabContainer.set_tab_title(2, "TOOLS") + %TabContainer.set_tab_title(3, "SETTINGS") + %TabContainer.set_tab_title(4, "ABOUT") elif event.is_action_released("rekku_hide") and class_functions.rekku_state == true: + %TabContainer.set_tab_title(0, " GLOBALS ") + %TabContainer.set_tab_title(1, " SYSTEM ") + %TabContainer.set_tab_title(2, " TOOLS ") + %TabContainer.set_tab_title(3, " SETTINGS ") + %TabContainer.set_tab_title(4, " ABOUT ") class_functions.rekku_state = false + %pop_rtl.visible = false self.visible = false %SplitContainer.split_offset=1280 diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 3b150c15..3d5af3ea 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -5,17 +5,16 @@ var icon_width: int = 32 func _ready(): focusFirstFocusableChild() #grab focus on first element to enable controller focusing - %TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) - %TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) - %TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) - %TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) + #%TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) + #%TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) + #%TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) + #%TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) if class_functions.font_select !=3: %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) elif class_functions.font_select == 3: %TabContainer.add_theme_font_size_override("font_size", 15) else: %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) - set_tab_title(0, " GLOBALS ") set_tab_title(1, " SYSTEM ") set_tab_title(2, " TOOLS ") @@ -38,23 +37,22 @@ func _ready(): func connect_focus_signals(node): for child in node.get_children(): if child is Button: - child.focus_entered.connect(_on_Button_focus_entered.bind(child)) - child.focus_exited.connect(_on_Button_focus_exited.bind()) + child.focus_entered.connect(_on_button_focus_entered.bind(child)) + child.focus_exited.connect(_on_button_focus_exited.bind()) elif child is Control: connect_focus_signals(child) -func _on_Button_focus_exited(): - print ("exit") +func _on_button_focus_exited() -> void: %pop_rtl.visible = false - -func _on_Button_focus_entered(button: Button): + +func _on_button_focus_entered(button: Button): if button and class_functions.sound_effects: %AudioStreamPlayer2D.volume_db = class_functions.volume_effects %AudioStreamPlayer2D.play() if button and class_functions.rekku_state == false and button.has_meta("description"): %pop_rtl.visible = true %pop_rtl.text = button.get_meta("description") - else: + elif class_functions.rekku_state == false: %pop_rtl.visible = true %pop_rtl.text = "Hey, there's no description" @@ -78,7 +76,7 @@ func focusFirstFocusableChild(): if (n.focus_mode == FOCUS_ALL): n.grab_focus.call_deferred() break - + func findElements(node: Node, className: String, result: Array = []) -> Array: if node.is_class(className): result.push_back(node) diff --git a/tools/configurator/scripts/helper_text.gd b/tools/configurator/scripts/helper_text.gd index d94060ef..0b60b35a 100644 --- a/tools/configurator/scripts/helper_text.gd +++ b/tools/configurator/scripts/helper_text.gd @@ -1,4 +1,4 @@ -extends RichTextLabel +extends Label @onready var helper_text_node = self @@ -7,7 +7,7 @@ func _ready(): get_viewport().connect("gui_focus_changed", _on_focus_changed) func _on_focus_changed(selected_element:Control) -> void: - if selected_element != null and selected_element.has_meta("description"): - helper_text_node.text = selected_element.get_meta("description") - else: - helper_text_node.text = "Hey, there's no description" + if selected_element != null and selected_element.has_meta("rekku"): + #helper_text_node.text = selected_element.get_meta("rekku") + %pop_rtl.visible = true + %pop_rtl.text = selected_element.get_meta("rekku") From 61d1aeb88b22a7853d531b5012cc0f49112cb2aa Mon Sep 17 00:00:00 2001 From: MonkeyX Date: Tue, 24 Sep 2024 10:10:40 +0100 Subject: [PATCH 60/74] Cooker merged with feat/godot (#948) * Log file refactor * Log full path? * Ooops! * Reftactored logging and threading * URL * Desktop Mode * Hide logo * Godot Configurator (#940) * Feat/godot (#929) * On branch cooker Changes to be committed: modified: ../config/retrodeck/reference_lists/features.json modified: configurator.sh modified: configurator/TabContainer.gd modified: configurator/assets/themes/accesible_theme.tres modified: configurator/assets/themes/modern_theme.tres modified: configurator/assets/themes/retro_theme.tres modified: configurator/main.tscn modified: configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Signal test * s * Oops Data Recovery On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Sliding Rekku On branch cooker Changes to be committed: modified: tools/configurator/Rekku.gd modified: tools/configurator/main.gd modified: tools/configurator/main.tscn * Using less tabs? On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Generic Save experiment On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Let it flow On branch feat/godot Changes to be committed: new file: .github/workflows/build-godot.yml modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * On branch feat/godot Changes to be committed: modified: .github/workflows/build-godot.yml * FLow 2.0 * Flow 2.1 * Flow 2.2 * Flow 2.3 * Flow 2.4 * Flow 2.5 * Flow 2.6 * Flow 2.7 * Flow 2.8 * Flow 2.9 * Flow 2.9 * Flow 2.91 * Flow 2.92 * Emualtor==System * FFS revert! * Progress on Cores at last! * Progress on Cores at lastgit add .! * Functions * Bios change * Removed need for BIOS tmp file for Godot * Rotten the core! * Push TEst * fixed duplicate * fixed duplicate * Tidied Bios reading * Rekku assistant * Icons and System Tab work * Generic buttons please * Generic buttons pleases * Generic buttons please2 * Rekku gets the saw * Dialogues * Fixed link to json file * Feat/godot (#927) * Tidied parameter code * Tricky bios dialogue! * Mini change * Tidying icons * And then there were 5! * Time to Cook * INITOOL: added * SET_SETTING_VALUE: edited to use initool * Revert "SET_SETTING_VALUE: edited to use initool" This reverts commit b56916c2b0bf16305b2b8f22d08871390884351c. * Revert "INITOOL: added" This reverts commit 127bcdb6cde4cca85f47efdfeebb2b22868ae0ab. * POST_UPDATE: update_rd_conf to include steam_sync * INJECT_FRAMEWORK: added force args [skip ci] * Progress buttons * Reset! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feedback changes and 16 bit icons * Launch button change * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * On branch feat/godot (#935) Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd Co-authored-by: Rekku * Log file refactor * Log full path? * Ooops! * Fix for functions wrapper (#937) * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * Log file refactor * Log full path? * Ooops! --------- Co-authored-by: Rekku * POST_UPDATE: even on PR [skip ci] * RETRODECK: You know? till now we never quit retrodeck in the end! [skip ci] * FRAMEWORK: added the possibility to run a game from cli * RUN_GAME: system name prettyfied * RUN_GAME: added retroarch cores * FEATURES: added more launch args * RUN_GAME: fixed retroarch * RUN_GAME: various fixes, time up * FEATURES: fixed libetro with libretro [skip ci] * RUN_GAME: emulator and system can now be passed as optional arguments * Reftactored logging and threading * URL * Desktop Mode * Hide logo --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feat/godot (#942) * Feat/godot (#929) * On branch cooker Changes to be committed: modified: ../config/retrodeck/reference_lists/features.json modified: configurator.sh modified: configurator/TabContainer.gd modified: configurator/assets/themes/accesible_theme.tres modified: configurator/assets/themes/modern_theme.tres modified: configurator/assets/themes/retro_theme.tres modified: configurator/main.tscn modified: configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Signal test * s * Oops Data Recovery On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Sliding Rekku On branch cooker Changes to be committed: modified: tools/configurator/Rekku.gd modified: tools/configurator/main.gd modified: tools/configurator/main.tscn * Using less tabs? On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Generic Save experiment On branch cooker Changes to be committed: modified: tools/configurator/main.gd modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * Let it flow On branch feat/godot Changes to be committed: new file: .github/workflows/build-godot.yml modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres * On branch feat/godot Changes to be committed: modified: .github/workflows/build-godot.yml * FLow 2.0 * Flow 2.1 * Flow 2.2 * Flow 2.3 * Flow 2.4 * Flow 2.5 * Flow 2.6 * Flow 2.7 * Flow 2.8 * Flow 2.9 * Flow 2.9 * Flow 2.91 * Flow 2.92 * Emualtor==System * FFS revert! * Progress on Cores at last! * Progress on Cores at lastgit add .! * Functions * Bios change * Removed need for BIOS tmp file for Godot * Rotten the core! * Push TEst * fixed duplicate * fixed duplicate * Tidied Bios reading * Rekku assistant * Icons and System Tab work * Generic buttons please * Generic buttons pleases * Generic buttons please2 * Rekku gets the saw * Dialogues * Fixed link to json file * Feat/godot (#927) * Tidied parameter code * Tricky bios dialogue! * Mini change * Tidying icons * And then there were 5! * Time to Cook * INITOOL: added * SET_SETTING_VALUE: edited to use initool * Revert "SET_SETTING_VALUE: edited to use initool" This reverts commit b56916c2b0bf16305b2b8f22d08871390884351c. * Revert "INITOOL: added" This reverts commit 127bcdb6cde4cca85f47efdfeebb2b22868ae0ab. * POST_UPDATE: update_rd_conf to include steam_sync * INJECT_FRAMEWORK: added force args [skip ci] * Progress buttons * Reset! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Feedback changes and 16 bit icons * Launch button change * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * On branch feat/godot (#935) Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd Co-authored-by: Rekku * Log file refactor * Log full path? * Ooops! * Fix for functions wrapper (#937) * On branch feat/godot Changes to be committed: modified: tools/configurator/main.tscn modified: tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres modified: tools/configurator/scripts/SystemTab.gd * Log file refactor * Log full path? * Ooops! --------- Co-authored-by: Rekku * POST_UPDATE: even on PR [skip ci] * RETRODECK: You know? till now we never quit retrodeck in the end! [skip ci] * FRAMEWORK: added the possibility to run a game from cli * RUN_GAME: system name prettyfied * RUN_GAME: added retroarch cores * FEATURES: added more launch args * RUN_GAME: fixed retroarch * RUN_GAME: various fixes, time up * FEATURES: fixed libetro with libretro [skip ci] * RUN_GAME: emulator and system can now be passed as optional arguments * Reftactored logging and threading * URL * Desktop Mode * Hide logo --------- Co-authored-by: Rekku Co-authored-by: XargonWan * Custom Buttons and firmware * Gaming Mode? * Settings * Sounds * Backup with progress * Better buttons? * cfg parser * cfg parser update 1 * Beta Global setting * Tidying Up * What a state! * Configs * Font preferences * Generic mulitples * Reset Orange! * Rage against the machine! * What a state! * State <> null * State != null * New State? * Bored state * Wine state * Reset RD * Gloabls TAB * Pre merge * Change to layout * L and R chang. Fix faulty json * META Rekku * Dialogue or Dialog? * Signals * More Meta * Fonts in all areas! * More button fungit add .! * Rekku says what about me! --------- Co-authored-by: Rekku Co-authored-by: XargonWan --- config/retrodeck/retrodeck.cfg | 4 + tools/configurator/Rekku.gd | 15 - tools/configurator/TabContainer.gd | 71 - .../assets/themes/accesible_theme.tres | 16 - .../assets/themes/default_theme.tres | 63 +- .../assets/themes/modern_theme.tres | 16 - .../assets/themes/retro_theme.tres | 16 - .../components/bios_check/bios_check.gd | 10 +- .../logs_view/logs_popup_content.tscn | 21 - tools/configurator/components/popup.gd | 10 +- tools/configurator/components/popup.tscn | 7 +- .../configurator/components/popup_dialogue.gd | 2 +- tools/configurator/helper_text.gd | 14 - tools/configurator/locales/interface.csv | 81 - .../configurator/locales/interface.csv.import | 17 - tools/configurator/main.gd | 281 ---- tools/configurator/main.tscn | 1423 +++++++++-------- tools/configurator/project.godot | 15 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 199 +-- tools/configurator/scripts/Rekku.gd | 26 + tools/configurator/scripts/SystemTab.gd | 103 -- tools/configurator/scripts/TabAbout.gd | 58 + tools/configurator/scripts/TabContainer.gd | 85 + tools/configurator/scripts/TabGlobals.gd | 40 + tools/configurator/scripts/TabSettings.gd | 40 + tools/configurator/scripts/TabSystem.gd | 124 ++ tools/configurator/scripts/TabTools.gd | 51 + tools/configurator/scripts/class_functions.gd | 354 +++- .../{ => scripts}/controller_guide.gd | 2 +- tools/configurator/scripts/data_handler.gd | 106 +- tools/configurator/scripts/helper_text.gd | 13 + tools/configurator/scripts/main.gd | 253 +++ tools/configurator/scripts/retrodeck.gd | 17 + tools/configurator/tk_about.gd | 94 -- tools/configurator/tk_about.txt | 2 +- 35 files changed, 2091 insertions(+), 1558 deletions(-) delete mode 100644 tools/configurator/Rekku.gd delete mode 100644 tools/configurator/TabContainer.gd delete mode 100644 tools/configurator/assets/themes/accesible_theme.tres delete mode 100644 tools/configurator/assets/themes/modern_theme.tres delete mode 100644 tools/configurator/assets/themes/retro_theme.tres delete mode 100644 tools/configurator/components/logs_view/logs_popup_content.tscn delete mode 100644 tools/configurator/helper_text.gd delete mode 100644 tools/configurator/locales/interface.csv delete mode 100644 tools/configurator/locales/interface.csv.import delete mode 100644 tools/configurator/main.gd create mode 100644 tools/configurator/scripts/Rekku.gd delete mode 100644 tools/configurator/scripts/SystemTab.gd create mode 100644 tools/configurator/scripts/TabAbout.gd create mode 100644 tools/configurator/scripts/TabContainer.gd create mode 100644 tools/configurator/scripts/TabGlobals.gd create mode 100644 tools/configurator/scripts/TabSettings.gd create mode 100644 tools/configurator/scripts/TabSystem.gd create mode 100644 tools/configurator/scripts/TabTools.gd rename tools/configurator/{ => scripts}/controller_guide.gd (94%) create mode 100644 tools/configurator/scripts/helper_text.gd create mode 100644 tools/configurator/scripts/main.gd create mode 100644 tools/configurator/scripts/retrodeck.gd delete mode 100644 tools/configurator/tk_about.gd diff --git a/config/retrodeck/retrodeck.cfg b/config/retrodeck/retrodeck.cfg index 88a33896..d96f7d31 100644 --- a/config/retrodeck/retrodeck.cfg +++ b/config/retrodeck/retrodeck.cfg @@ -16,6 +16,7 @@ borders_folder=/home/deck/retrodeck/borders sdcard=/run/media/mmcblk0p1 [options] + power_user_warning=true desktop_mode_warning=true low_space_warning=true @@ -30,6 +31,9 @@ default_user= developer_options=false kiroi_ponzu=false akai_ponzu=false +sound_effects=true +volume_effects=10 +font=1 [cheevos] duckstation=false diff --git a/tools/configurator/Rekku.gd b/tools/configurator/Rekku.gd deleted file mode 100644 index d915a511..00000000 --- a/tools/configurator/Rekku.gd +++ /dev/null @@ -1,15 +0,0 @@ -extends Control - -var rekku_state = false - -func _input(event): - if event.is_action_released("rekku_hide"): - #self.visible = !self.visible - if rekku_state == false: - self.visible = true - rekku_state = true - %SplitContainer.split_offset=-300 - elif event.is_action_released("rekku_hide") and rekku_state == true: - rekku_state = false - self.visible = false - %SplitContainer.split_offset=0 diff --git a/tools/configurator/TabContainer.gd b/tools/configurator/TabContainer.gd deleted file mode 100644 index 06b734ac..00000000 --- a/tools/configurator/TabContainer.gd +++ /dev/null @@ -1,71 +0,0 @@ -extends TabContainer - -var icon_width: int = 32 -@onready var tcount: int = get_tab_count()-1 -var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") -var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") - - -func _ready(): - focusFirstFocusableChild() #grab focus on first element to enable controller focusing - %TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) - %TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) - %TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) - %TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) - set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) - set_tab_icon_max_width(0,icon_width) - set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) - set_tab_icon_max_width(1,icon_width) - set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) - set_tab_icon_max_width(2,icon_width) - set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) - set_tab_icon_max_width(3,icon_width) - set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) - set_tab_icon_max_width(4,icon_width) - #%TK_GRAPHICS.name="BOB" - connect_focus_signals(self) - -func connect_focus_signals(node): - for child in node.get_children(): - if child is Button: - child.focus_entered.connect(_on_Button_focus_entered.bind(child)) - elif child is Control: - connect_focus_signals(child) - -func _on_Button_focus_entered(button: Button): - if button: - %AudioStreamPlayer2D.play() - -func _input(event): - if (event.is_action_pressed("next_tab")): - %r1_button.texture_normal = %r1_button.texture_pressed - if current_tab == tcount: - current_tab = 0 - else: - self.select_next_available() - focusFirstFocusableChild() - else: - %r1_button.texture_normal = r1_button_texture - if (event.is_action_pressed("previous_tab")): - %l1_button.texture_normal = %l1_button.texture_pressed - if current_tab == 0: - current_tab = tcount - else: - self.select_previous_available() - focusFirstFocusableChild() - else: - %l1_button.texture_normal = l1_button_texture - -func focusFirstFocusableChild(): - var children = findElements(get_current_tab_control(), "Control") - for n: Control in children: - if (n.focus_mode == FOCUS_ALL): - n.grab_focus.call_deferred() - break - -func findElements(node: Node, className: String, result: Array = []) -> Array: - if node.is_class(className): - result.push_back(node) - for child in node.get_children(): - result = findElements(child, className, result) - return result diff --git a/tools/configurator/assets/themes/accesible_theme.tres b/tools/configurator/assets/themes/accesible_theme.tres deleted file mode 100644 index b0cacff0..00000000 --- a/tools/configurator/assets/themes/accesible_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://co27jgr76wvcl"] - -[ext_resource type="FontFile" uid="uid://c8lbo5ljgtaaa" path="res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf" id="1_d8f12"] -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_d8f12") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/default_theme.tres b/tools/configurator/assets/themes/default_theme.tres index 755ad376..a2d96385 100644 --- a/tools/configurator/assets/themes/default_theme.tres +++ b/tools/configurator/assets/themes/default_theme.tres @@ -1,14 +1,65 @@ -[gd_resource type="Theme" load_steps=4 format=3 uid="uid://hhc60cllcg47"] +[gd_resource type="Theme" load_steps=7 format=3 uid="uid://hhc60cllcg47"] [ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] [ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_md22p"] +bg_color = Color(0.580392, 0.419608, 0.921569, 1) +border_width_left = 15 +border_width_top = 15 +border_width_right = 15 +border_width_bottom = 15 +border_color = Color(0.843137, 0.137255, 0.909804, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_kr58o"] +bg_color = Color(0.580392, 0.419608, 0.921569, 1) +border_width_left = 15 +border_width_top = 15 +border_width_right = 15 +border_width_bottom = 15 +border_color = Color(0.136826, 0.136826, 0.136826, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_0ahfc"] +bg_color = Color(0.454524, 0.454524, 0.454524, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.101961, 0.623529, 1, 1) +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 +corner_detail = 7 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o8sf1"] +bg_color = Color(0.101961, 0.623529, 1, 1) +border_width_left = 15 +border_width_top = 14 +border_width_right = 15 +border_width_bottom = 15 +border_blend = true +corner_radius_top_left = 25 +corner_radius_top_right = 25 +corner_radius_bottom_right = 25 +corner_radius_bottom_left = 25 [resource] -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 +Button/constants/align_to_largest_stylebox = 1 +Button/styles/focus = SubResource("StyleBoxFlat_md22p") +Button/styles/hover = SubResource("StyleBoxFlat_kr58o") +Button/styles/normal = SubResource("StyleBoxFlat_0ahfc") +Button/styles/pressed = SubResource("StyleBoxFlat_o8sf1") CheckBox/icons/checked = ExtResource("1_pvl23") CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/modern_theme.tres b/tools/configurator/assets/themes/modern_theme.tres deleted file mode 100644 index e0294d5c..00000000 --- a/tools/configurator/assets/themes/modern_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://dcyix4kssqal2"] - -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="FontFile" uid="uid://1x3s2oon2g64" path="res://assets/fonts/akrobat/Akrobat-Regular.otf" id="1_qs1qb"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_qs1qb") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/assets/themes/retro_theme.tres b/tools/configurator/assets/themes/retro_theme.tres deleted file mode 100644 index a2b0b898..00000000 --- a/tools/configurator/assets/themes/retro_theme.tres +++ /dev/null @@ -1,16 +0,0 @@ -[gd_resource type="Theme" load_steps=5 format=3 uid="uid://3ljv5xgd4c1u"] - -[ext_resource type="FontFile" uid="uid://q405aelgnmvo" path="res://assets/fonts/munro/munro.ttf" id="1_kirwi"] -[ext_resource type="Texture2D" uid="uid://buod4n6hw4i2m" path="res://assets/icons/pixelitos/vcs-normal.svg" id="1_pvl23"] -[ext_resource type="Texture2D" uid="uid://cn0tfnnihjvy7" path="res://assets/icons/pixelitos/vcs-grey.svg" id="2_ud3yg"] - -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ghisc"] -bg_color = Color(0.6, 0.168627, 0.6, 0.372549) - -[resource] -default_font = ExtResource("1_kirwi") -Button/styles/focus = SubResource("StyleBoxFlat_ghisc") -CheckBox/constants/check_v_offset = 0 -CheckBox/constants/h_separation = 0 -CheckBox/icons/checked = ExtResource("1_pvl23") -CheckBox/icons/unchecked = ExtResource("2_ud3yg") diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index 83ff7877..a6c14f17 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -23,13 +23,10 @@ func _ready(): if bios_type == 1: #Basic BIOS button pressed var parameters = ["check_bios_files","basic"] - await run_thread_command(class_functions.wrapper_command, parameters, console) - class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(bios_result["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) else: #Assume advanced BIOS button pressed var parameters = ["check_bios_files"] - class_functions.execute_command(class_functions.wrapper_command, parameters, false) - await run_thread_command(class_functions.wrapper_command, parameters, console) + bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) var bios_list = bios_result["output"] var bios_lines = bios_list.split("\n") for line in bios_lines: @@ -40,6 +37,3 @@ func _ready(): if table_line.get_index() % 2 == 1: table_line.set_custom_bg_color(i,Color(0.15, 0.15, 0.15, 1),false) table_line.set_custom_color(i,Color(1,1,1,1)) - -func run_thread_command(command: String, parameters: Array, console: bool) -> void: - bios_result = await class_functions.run_command_in_thread(command, parameters, console) diff --git a/tools/configurator/components/logs_view/logs_popup_content.tscn b/tools/configurator/components/logs_view/logs_popup_content.tscn deleted file mode 100644 index f2bcd71a..00000000 --- a/tools/configurator/components/logs_view/logs_popup_content.tscn +++ /dev/null @@ -1,21 +0,0 @@ -[gd_scene format=3 uid="uid://b0ts52bsu7cpb"] - -[node name="PopupContent" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="RichTextLabel" type="RichTextLabel" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -focus_mode = 2 -scroll_following = true -context_menu_enabled = true -selection_enabled = true diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 4d75e012..4fc178b7 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -1,16 +1,16 @@ extends Control var content = null -@onready var custom_theme: Theme = get_tree().current_scene.custom_theme #@onready var button_off = get_node(current_scene.%l1_button)# .current_scene.l1_button -@onready var lbhide: TextureButton = get_tree().current_scene.get_node("%l1_button") -@onready var rbhide: TextureButton = get_tree().current_scene.get_node("%r1_button") +@onready var lbhide: Panel = get_tree().current_scene.get_node("%l1_box") +@onready var rbhide: Panel = get_tree().current_scene.get_node("%r1_box") @onready var bios_type:int = get_tree().current_scene.bios_type +@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): + $".".theme = custom_theme lbhide.visible=false rbhide.visible=false - $".".theme = custom_theme # TODO this alowes copy and paste from RTB in logs? if (content != null and bios_type > 0): $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer.add_child(content) @@ -27,6 +27,6 @@ func set_content(new_content): func set_title(new_title): $Panel/MarginContainer/VBoxContainer/MarginContainer/HBoxContainer/Label.text = new_title func set_display_text(new_display_text): - $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer/RichTextLabel.text=new_display_text + $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer/LineEdit.text=new_display_text func _on_back_pressed(): queue_free() diff --git a/tools/configurator/components/popup.tscn b/tools/configurator/components/popup.tscn index be8915da..e1c06685 100644 --- a/tools/configurator/components/popup.tscn +++ b/tools/configurator/components/popup.tscn @@ -63,10 +63,7 @@ theme_override_constants/margin_top = 6 theme_override_constants/margin_right = 10 theme_override_constants/margin_bottom = 6 -[node name="RichTextLabel" type="RichTextLabel" parent="Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer"] +[node name="LineEdit" type="TextEdit" parent="Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer"] layout_mode = 2 -focus_mode = 2 -scroll_following = true -context_menu_enabled = true +editable = false shortcut_keys_enabled = false -selection_enabled = true diff --git a/tools/configurator/components/popup_dialogue.gd b/tools/configurator/components/popup_dialogue.gd index 3b9250d5..afdb8320 100644 --- a/tools/configurator/components/popup_dialogue.gd +++ b/tools/configurator/components/popup_dialogue.gd @@ -1,8 +1,8 @@ extends Control -@onready var custom_theme: Theme = get_tree().current_scene.custom_theme var command: String var parameters: Array +@onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): $".".theme = custom_theme diff --git a/tools/configurator/helper_text.gd b/tools/configurator/helper_text.gd deleted file mode 100644 index 1026e672..00000000 --- a/tools/configurator/helper_text.gd +++ /dev/null @@ -1,14 +0,0 @@ -extends RichTextLabel - -@onready var helper_text_node = self - -func _ready(): - # Connect the signal that gets fired on every focus change - get_viewport().connect("gui_focus_changed", _on_focus_changed) - -func _on_focus_changed(selected_element:Control) -> void: - if selected_element != null and selected_element.has_meta("description"): - helper_text_node.text = selected_element.get_meta("description") - else: - helper_text_node.text = "Hey, there's no description" - #helper_text_node.text = "That stupid Monkey almost deleted me.\n\n\nPlease save me!!!!!!!!" diff --git a/tools/configurator/locales/interface.csv b/tools/configurator/locales/interface.csv deleted file mode 100644 index 165749e5..00000000 --- a/tools/configurator/locales/interface.csv +++ /dev/null @@ -1,81 +0,0 @@ -keys,en,it,de,sv,ua,ja,zh -TK_SYSTEM,"System","Sistema","System","System","Cистема","システム","系统" -TK_GAME_SETTINGS,"Game Settings","Impostazioni di Gioco","Spieleinstellungen","Spelinställningar","Ігрові Налаштування","ゲーム設定","游戏设定" -TK_QRESUME,"Quick Resume","Quick Resume","Schnellfortsetzung","Snabb Återupptagning","Швидкий Запуск","クイックリジューム","快速恢复" -TK_ADVANCED,"Advanced","Avanzate","Erweitert","Avancerat","Розширені","アドバンスド","高级/进阶" -TK_REWIND,"Rewind","Riavvolgimento","Zurückspulen","Tillbakaspolning","Перемотка","巻き戻し","倒带" -TK_CONFIRMEXIT,"Quit Confirmation","Conferma per Uscire","Beenden Bestätigen","Avlutningsbekräftelse","Підтвердження Виходу","確認終了","退出确认" -TK_CHEATS,"Cheats","Trucchi","Cheats","Fusk","Чіти","チート","作弊" -TK_SOON,"(coming soon)","(in arrivo)","(bald verfügbar)","(kommer snart)","(незабаром)","(近日公開)","(即将到来)" -TK_GRAPHICS,"Graphics","Grafica","Grafik","Grafik","Графіка","グラフィック","画质" -TK_CONTROLS,"Controls","Controlli","Steuerung","Kontroller","Управління","コントロール","控制" -TK_TOOLS,"Tools","Strumenti","Werkzeuge","Verktyg","Інструменти","ツール","工具" -TK_NETWORK,"Network","Rete","Netzwerk","Nätverk","Мережа","ネットワーク","kai qi" -TK_TROUBLESHOOT,"Troubleshoot","Risoluzione Problemi","Fehlerbehebung","Felsökning","Несправності","トラブルシューティング","排错" -TK_TROUBLESHOOTLBL,"Troubleshoot","Risoluzione Problemi","Fehlerbehebung","Felsökning","Усунення Несправностей","トラブルシューティング","排错" -TK_CONFIGURATOR,"Configurator","Configurator","Configurator","Configurator","Конфігуратор","確認","设置" -TK_ABOUT,"About","Informazioni","Über","Om","Про Нас","アバウト","关于" -TK_DECORATIONS,"Decorations","Decorazioni","Dekorationen","Dekorationer","Декорації","装飾","装饰" -TK_BORDERS,"Borders","Bordi","Ränder","Ramar","Фони","ボーダー","边框" -TK_WSCREEN,"Widescreen","Widescreen","Breitbild","Bredbild","Широкий Екран","ワイドスクリーン","宽屏" -TK_SHADERS,"Shaders","Shader","Shaders","Shaders","Шейдери","シェーダ","着色器" -TK_EXTRA,"Extra","Extra","Extra","Extra","Додатково","エクストラ","额外" -TK_MODS,"Mods","Mod","Mods","Moddar","Модифікації","改造","游戏模组" -TK_TATE,"TATE Mode","TATE Mode","TATE-Mode","TATE Läge","Режим TATE","垂直スクリーンモード","垂屏模式" -TK_STEAMCONTEMP,"Steam: Controller Templates","Template dei Controller di Steam","Steam: Controller-Vorlagen","Steam: Kontroller Mallar","Steam: Шаблони Контролерів","Steam:コントローラーテンプレート","Steam:控制器模板" -TK_INSTALL,"Install","Installa","Installieren","Installera","Встановити","インストール","安装" -TK_BTNLAYOUT,"Button Layout","Layout Pulsanti","Tastenbelegung","Knapp Layout","Розташування Кнопок","ボタンのレイアウト","按键布局" -TK_BTNCLASSIC,"Classic","Classico","Klassik","Klassisk","Класичний","クラッシク","经典" -TK_BTNNINTENDO,"Nintendo","Nintendo","Nintendo","Nintendo","Nintendo","ニンテンドー","任天堂" -TK_HOTKEYSOUND,"Hotkey Activation Sound","Suono su Attivazione Hotkey","Hotkey Aktivierungssound","Hotkey Aktiveringsljud","Звук Гарячих Клавіш","ホットキー起動音","热键激活音效" -TK_SCAN,"Scan","Scansiona","Scan","Skanna","Сканувати","スキャン","扫描" -TK_PS3SCAN,"PlayStation 3 Games","Giochi PlayStation 3","PlayStation 3 Spiele","PlayStation 3 Spel","Ігри для PlayStation 3","プレステ3ゲーム","PlayStation3游戏" -TK_SCUMMVMSCAN,"ScummVM Games","Giochi ScummVM","ScummVM Spiele","ScummVM Spel","Ігри ScummVM","ScummVMゲーム","ScummVM游戏" -TK_MULTIFILE,"Multi-File Structure","Struttura Multi-File","Mehrfachdateistruktur","Flerfilsstruktur","Багатофайлова Структура","マルチファイル構造","多文件结构" -TK_3DSDECRYPT,"3DS Game Decrypter","Decrittatore Giochi 3DS","3DS Spielentcrypter","3DS Spelavkrypterare","Дешифратор Ігор 3DS","3DS ゲームデクリプタ","3DS游戏解密" -TK_BIOS,"BIOS","BIOS","BIOS","BIOS","BIOS","BIOS","BIOS" -TK_GENTOOLS,"General Tools","Strumenti Generali","Allgemeine Werkzeuge","Allmänt","Загальні Інструменти","一般的なツール","一般工具" -TK_EMUOPEN,"Open Emulator...","Apri Emulatore...","Öffne Emulator...","Öppna Emulator...","Відкрити Емулятор...","エミュレータを開く...","打开模拟器..." -TK_GRIDINSTALL,"Install RetroDECK Steam Grids","Installa le Steam Grids di RetroDECK","RetroDECK Steam Grids Installieren","Installera RetroDECK Steam Grids","Встановити RetroDECK Steam Grids","RetroDECK Steam Gridsをインストール","安装RetroDECK Steam Grids" -TK_PS3FWINSTALL,"Install PS3 Firmware","Installa il Firmware PS3","Installiere PS3 Firmware","Installera PS3 Firmware","Встановити Прошивку PS3","PS3ファームウェアをインストール","安装PS3固件" -TK_FAVSTEAM,"Show Favorites as Steam Games","Mostra Giochi Preferiti su Steam","Favoriten als Steam-Spiele anzeigen","Visa Favoriter som Spel i Steam","Показати Улюблені як Ігри в Steam","お気に入りを Steam ゲームとして表示","显示收藏夹为Steam游戏" -TK_FILETOOLS,"File Maniuplation","Manipolazione File","Datei Werkzeuge","Filhantering","Маніпуляції з Файлами","ファイル操作","文件操作" -TK_USBTOOL,"USB Transfer Tool","Strumento di Trasferimento USB","USB Transfer Tool","USB Överföringsverktyg","Інструмент для Передачі Даних USB","USB転送ツール","USB传输工具" -TK_BACKUPBTN,"Backup User Data","Backup Dati Utente","Benutzerdaten Sichern","Backup av Användardata","Резервне Копіювання Даних Користувача","ユーザデータバックアップ","备份用户数据" -TK_COMPRESSGAMES,"Compress Games","Comprimi Giochi","Spiele Komprimieren","Komprimera Spel","Стиснути Ігри","ゲームを圧縮","压缩游戏" -TK_MOVEFILES,"Move User Files","Sposta File Utente","Benutzerdateien Verschieben","Flytta Användarfiler","Перемістити Файли Користувача","ユーザーファイルを移動","移动用户文件" -TK_CHEEVOS,"Retro Achievements","Retro Achievements","Retro Achievements","Retro Achievements","Retro Achievements","レトロ実績","Retro成就" -TK_CHEEVOSUNAME,"Username:","Nome Utente:","Benutzername:","Användarnamn:","Ім'я користувача:","ユーザー名:","用户名:" -TK_CHEEVOSPWD,"Password:","Password:","Passwort:","Lösenord:","Пароль:","パスワード:","密码:" -TK_CHEEVOSHARDCORE,"Hardcore Mode","Modalità Hardcore","Hardcore Modus","Hardcore Läge","Хардкорний Режим","ハードコアモード","硬核模式" -TK_CHEEVOSTROPHYBTN,"Show Throphies","Mostra Trofei","Trophäen Anzeigen","Visa Troféer","Показати Трофеї","トロフィーを表示","显示奖杯" -TK_LOGIN,"Login","Login","Login","Logga In","Увійти","ログイン","登录" -TK_NETPLAY,"Netplay","Netplay","Netplay","Netplay","Netplay","ネットプレイ","网战" -TK_NETPLAYID,"Netplay ID:","ID Netplay:","Netplay ID:","Netplay ID:","Netplay ID:","ネットプレイID:","网战ID:" -TK_NETPLAYADDRESS,"Address:","Indirizzo:","Adresse:","Address:","Адреса:","アドレス:","地址:" -TK_NETPLAYCONNECT,"Connect","Connetti","Verbinden","Anslut","Підключитися","接続","连接" -TK_DATAMNG,"Data Management","Gestione Dati","Datenverwaltung","Datahantering","Управління Даними","データ管理","数据管理" -TK_SAVESSYNC,"Synchronize Saves","Sincronizzazione Salvataggi","Spielstände Synchronisieren","Synkronisera Sparfiler","Синхронізувати Збереження","保存データを同期","同步存档" -TK_FTPBTN,"Start sFTP Server","Avvia Server sFTP","Starte sFTP Server","Starta sFTP Server","Запустити Сервер sFTP","sFTPサーバーを起動","开启sFTP服务器" -TK_CHECKCONN,"Check Connection","Controllo Connessione","Verbindung Überprüfen","Kontrollera Anslutning","Перевірити Підключення","接続を確認","检查连接" -TK_LOGSBTN,"Show Logs","Mostra Log","Logs Anzeigen","Visa Loggar","Показати Логи","ログを表示","显示日志" -TK_RESET,"Reset","Reset","Reset","Återställ","Скинути","リセット","重置" -TK_RESETSINGLE,"Single Emulator...","Emulatore Singolo...","Einzelner Emulator...","En Emulator...","Один Емулятор...","単一エミュレータ...","单独模拟器..." -TK_RESETALL,"All Emulators","Tutti gli Emulatori","Alle Emulatoren","Alla Emulatorer","Всі Емулятори","全エミュレータ","所有模拟器" -TK_RESETFULL,"Full RetroDECK Reset","Reset RetroDECK Completo","Vollständiges Zurücksetzen von RetroDECK","Återställ Hela RetroDECK","Повне Скидання RetroDECK","RetroDECKを完全リセット","完全重置RetroDECK" -TK_UPDATENOTIF,"Update Notification","Notifica gli Aggiornamenti","Update-Benachrichtigung","Uppdaterings-notifikation","Сповіщення про Оновлення","アップデート通知","更新通知" -TK_EASTEREGGS,"Show Easter Eggs","Mostra Easter Eggs","Easter Eggs anzeigen","Visa Easter Eggs","Показувати Пасхальні Яйця","イースターエッグを表示","显示彩蛋" -TK_MULTIUSR,"Multi-User Mode","Modalità Multi-Utente","Multi-User Mode","Flerspelarläge","Багатокористувацький Режим","マルチユーザーモード","多用户模式" -TK_OFF,"Off","Off","Aus","Av","Вимк","オフ","关闭" -TK_STEAMUSR,"Steam Users","Utenti Steam","Steam Benutzer","Steam Användare","Користувачі Steam","Steamユーザー","Steam用户" -TK_CUSTOMUSR,"Custom Users","Utenti Personalizzati","Benutzerdefinierte Benutzer","Anpassade Användare","Кастомні Користувачі","カスタムユーザー","自定义用户" -TK_MUSIC,"Menu Music","Musica del Menu","Menu Hintergrundmusik","Meny Musik","Музика Меню","メニュー音楽","菜单音乐" -TK_ABOUTHEADER,"About RetroDECK","A Proposito di RetroDECK","Über RetroDECK","Om RetroDECK","Про RetroDECK","RetroDECKについて","关于RetroDECK" -TK_WEBSITE,"Website","Sito Web","Website","Hemsida","Веб-сайт","公式サイト","网站" -TK_CHANGELOG,"Version History","Storico Versioni","Versions History","Versionshistorik","Історія Версій","バージョン履歴","版本历史" -TK_WIKI,"Wiki","Wiki","Wiki","Wiki","Wiki","Wiki","维基" -TK_CREDITS,"Credits","Crediti","Credits","Tillskrivningar","Автори","クレジット","鸣谢" -TK_DONATE,"Donate","Donazione","Spenden","Donera","Пожертвувати","寄付","捐赠" -TK_CONTACTUS,"Reach Us","Contattaci","Kontakiere Uns","Kontakta Oss","Зв'язатися з Нами","連絡","联系我们" -TK_LICENSES,"Licenses","Licenze","Lizenzen","Licenser","Ліцензії","ライセンス","许可" -TK_ON,"On","On","An","På","Увімк","オン","开启" \ No newline at end of file diff --git a/tools/configurator/locales/interface.csv.import b/tools/configurator/locales/interface.csv.import deleted file mode 100644 index c24bb904..00000000 --- a/tools/configurator/locales/interface.csv.import +++ /dev/null @@ -1,17 +0,0 @@ -[remap] - -importer="csv_translation" -type="Translation" -uid="uid://cwb782o5jh5lx" - -[deps] - -files=["res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.ja.translation", "res://locales/interface.zh.translation"] - -source_file="res://locales/interface.csv" -dest_files=["res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.ja.translation", "res://locales/interface.zh.translation"] - -[params] - -compress=true -delimiter=0 diff --git a/tools/configurator/main.gd b/tools/configurator/main.gd deleted file mode 100644 index 722444aa..00000000 --- a/tools/configurator/main.gd +++ /dev/null @@ -1,281 +0,0 @@ -#todo -# add cores as class/ Like eumlator but one level lower - -extends Control - -@onready var bios_type:int -var log_results: Dictionary -var theme_option: OptionButton -#signal signal_theme_changed -var custom_theme: Theme = $".".theme -var log_option: OptionButton -var tab_container: TabContainer -var anim_logo: AnimatedSprite2D -var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png") -var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") -var app_data := AppData.new() - -func _ready(): - _get_nodes() - _connect_signals() - _play_main_animations() - #%locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) - - #class_functions.logger() - %rd_title.text += class_functions.read_cfg() - class_functions.log_parameters[2] = class_functions.log_text + "started configurator" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - print (class_functions.rd_log) - #var log_file = class_functions.import_text_file(rd_logs +"/retrodeck.log") - #for id in config.paths: - # var path_data = config.paths[id] - # print (id) - - # set current startup tab to match IDE - tab_container.current_tab = 0 - #add_child(class_functions) # Needed for threaded results Not need autoload? - var children = findElements(self, "Control") - for n: Control in children: #iterate the children - if (n.focus_mode == FOCUS_ALL): - n.mouse_entered.connect(_on_control_mouse_entered.bind(n)) #grab focus on mouse hover - if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled - n.self_modulate.a = 0.5 #make it half transparent - combine_tkeys() - -func _input(event): - if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): - _exit() - if Input.is_action_pressed("back_button"): - %b_button.texture_normal = %b_button.texture_pressed - elif Input.is_action_pressed("action_button"): - %a_button.texture_normal = %a_button.texture_pressed - else: - %a_button.texture_normal = a_button_texture - %b_button.texture_normal = b_button_texture - if event.is_action_pressed("quit"): - _exit() - -func _exit(): - class_functions.log_parameters[2] = class_functions.log_text + "exited configurator" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) - get_tree().quit() - -func _get_nodes() -> void: - theme_option = get_node("%theme_optionbutton") - tab_container = get_node("%TabContainer") - anim_logo = get_node("%logo_animated") - log_option = get_node("%logs_button") - -func _connect_signals() -> void: - #signal_theme_changed.connect(_conf_theme) - theme_option.item_selected.connect(_conf_theme) - #signal_theme_changed.emit(theme_option.item_selected) - log_option.item_selected.connect(_load_log) - %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) - %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) - %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) - %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) - %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) - %save_resume_button.pressed.connect(_hide_show_containers.bind(%decorations_button,%systems_gridcontainer)) - -func _load_log(index: int) -> void: - var log_content:String - match index: - 1: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroDeck log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") - load_popup("RetroDeck Log", "res://components/logs_view/logs_popup_content.tscn", log_content) - 2: - class_functions.log_parameters[2] = class_functions.log_text + "Loading ES-DE log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") - load_popup("ES-DE Log", "res://components/logs_view/logs_popup_content.tscn",log_content) - 3: - class_functions.log_parameters[2] = class_functions.log_text + "Loading RetroArch log" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") - load_popup("Retroarch Log", "res://components/logs_view/logs_popup_content.tscn",log_content) - -func _play_main_animations() -> void: - anim_logo.play() - -func _hide_show_containers(button: Button, grid_container: GridContainer) -> void: - match button.name: - "decorations_button", "systems_button": - grid_container.visible = true - if button.toggle_mode: - button.toggle_mode=false - grid_container.visible = false - else: - button.toggle_mode=true - -# TODO Pass GridContainer(might need 2?) as above -# TODO load existing settings or default to enable all -func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: - match button.name: - "borders_button", "button_layout": - buttons_gridcontainer.visible = true - if button.toggle_mode == false: - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - child.button_pressed=true - for i in range(hidden_gridcontainer.get_child_count()): - var child = hidden_gridcontainer.get_child(i) - if child is Button and child != button: - child.visible=false - elif button.toggle_mode == true and %borders_gridcontainer.visible == true: - print (button.name, "SAVE NOW? TODO") # TODO SHOW ALL AGAIN? - buttons_gridcontainer.visible = false - #button.toggle_mode = false - for i in range(hidden_gridcontainer.get_child_count()): - var child = hidden_gridcontainer.get_child(i) - if child is Button: - child.visible=true - child.toggle_mode = false - button.toggle_mode = true - -func _conf_theme(index: int) -> void: - match index: - 1: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://res/pixel_ui_theme/RetroDECKTheme.tres") - 2: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://assets/themes/retro_theme.tres") - 3: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://assets/themes/modern_theme.tres") - 4: - class_functions.log_parameters[2] = class_functions.log_text + "Set theme to index " + str(index) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - custom_theme = preload("res://assets/themes/accesible_theme.tres") - $".".theme = custom_theme - _play_main_animations() - -func findElements(node: Node, className: String, result: Array = []) -> Array: - if node.is_class(className): - result.push_back(node) - for child in node.get_children(): - result = findElements(child, className, result) - return result - -func _on_control_mouse_entered(control: Node): - control.grab_focus() - -func load_popup(title:String, content_path:String, display_text: String): - var popup = load("res://components/popup.tscn").instantiate() as Control - popup.set_title(title) - popup.set_content(content_path) - popup.set_display_text(display_text) - $Background.add_child(popup) - -func _on_quickresume_advanced_pressed(): - load_popup("Quick Resume Advanced", "res://components/popups_content/popup_content_test.tscn","") - -func _on_bios_button_pressed(): - _play_main_animations() - bios_type = 1 - class_functions.log_parameters[2] = class_functions.log_text + "Bios_Check" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) - load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") - bios_type = 0 - -func _on_bios_button_expert_pressed(): - _play_main_animations() - bios_type = 2 - class_functions.log_parameters[2] = class_functions.log_text + "Advanced_Bios_Check" - log_results = class_functions.execute_command(class_functions.wrapper_command, class_functions.log_parameters, false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit code: " + str(log_results["exit_code"]) - load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") - bios_type = 0 - -func _on_exit_button_pressed(): - _play_main_animations() - _exit() - -func _on_locale_selected(index): - match index: - 0: - TranslationServer.set_locale("en") - _: - TranslationServer.set_locale("en") - combine_tkeys() - -""" - 1: - TranslationServer.set_locale("it") - 2: - TranslationServer.set_locale("de") - 3: - TranslationServer.set_locale("sv") - 4: - TranslationServer.set_locale("ua") - 5: - TranslationServer.set_locale("ja") - 6: - TranslationServer.set_locale("zh") -""" - - -func combine_tkeys(): #More as a test - pass - #%cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor - #$Background/MarginContainer/TabContainer/TK_SYSTEM/ScrollContainer/VBoxContainer/HBoxContainer/GridContainer/cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") - #%tate_mode.text = tr("TK_TATE") + " " + tr("TK_SOON") - #%hotkey_sound.text = tr("TK_HOTKEYSOUND") + " " + tr("TK_SOON") - #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_hardcore.text = tr("TK_CHEEVOSHARDCORE") + " " + tr("TK_SOON") - #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") - #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") - -func display_json_data() -> void: - app_data = data_handler.app_data - #data_handler.add_emulator() - #data_handler.modify_emulator_test() - if app_data: - var website_data: Link = app_data.about_links["rd_web"] - print (website_data.name,"-",website_data.url,"-",website_data.description,"-",website_data.url) - #print (app_data.about_links["rd_web"]["name"]) - var core_data: Core = app_data.cores["gambatte_libetro"] - print (core_data.name) - for property: CoreProperty in core_data.properties: - print("Cheevos: ", property.cheevos) - print("Cheevos Hardcore: ", property.cheevos_hardcore) - print("Quick Resume: ", property.quick_resume) - print("Rewind: ", property.rewind) - print("Borders: ", property.borders) - print("Widescreen: ", property.widescreen) - print("ABXY_button:", property.abxy_button) - for key in app_data.emulators.keys(): - var emulator = app_data.emulators[key] - # Display the properties of each emulator - print("System Name: ", emulator.name) - print("Description: ", emulator.description) - #print("System: ", emulator.systen) - print("Help URL: ", emulator.url) - print("Properties:") - for property: EmulatorProperty in emulator.properties: - print("Cheevos: ", property.cheevos) - print("Borders: ", property.borders) - print("ABXY_button:", property.abxy_button) - print("multi_user_config_dir: ", property.multi_user_config_dir) - - for key in app_data.cores.keys(): - var core = app_data.cores[key] - print("Core Name: ", core.name) - print("Description: ", core.description) - print("Properties:") - for property: CoreProperty in core.properties: - print("Cheevos: ", property.cheevos) - print("Cheevos Hardcore: ", property.cheevos_hardcore) - print("Quick Resume: ", property.quick_resume) - print("Rewind: ", property.rewind) - print("Borders: ", property.borders) - print("Widescreen: ", property.widescreen) - print("ABXY_button:", property.abxy_button) - else: - print ("No emulators") diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 7cd11420..e61cdab9 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,21 +1,23 @@ -[gd_scene load_steps=99 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=123 format=3 uid="uid://61f6m4r1mpan"] [ext_resource type="Texture2D" uid="uid://bv6vh33cnfaw4" path="res://icon.svg" id="1_axfei"] [ext_resource type="Theme" uid="uid://hhc60cllcg47" path="res://assets/themes/default_theme.tres" id="1_if8nh"] -[ext_resource type="Script" path="res://main.gd" id="1_obpq7"] -[ext_resource type="Script" path="res://TabContainer.gd" id="3_id6l4"] +[ext_resource type="Script" path="res://scripts/main.gd" id="1_obpq7"] +[ext_resource type="Script" path="res://scripts/TabContainer.gd" id="3_id6l4"] [ext_resource type="AudioStream" uid="uid://dig4pco500pyt" path="res://res/configurator.mp3" id="3_xivj6"] +[ext_resource type="Script" path="res://scripts/TabGlobals.gd" id="4_2jqfc"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="4_2tuu4"] [ext_resource type="Texture2D" uid="uid://qu88ngewoj4w" path="res://assets/icons/pixelitos/128/applications-games.png" id="4_caaxx"] [ext_resource type="Texture2D" uid="uid://bdj8vt3vhucq4" path="res://assets/icons/pixelitos/128/cs-display.png" id="4_jldgc"] -[ext_resource type="Script" path="res://tk_about.gd" id="4_m4rto"] -[ext_resource type="Script" path="res://Rekku.gd" id="4_nqqx3"] +[ext_resource type="Script" path="res://scripts/TabAbout.gd" id="4_m4rto"] +[ext_resource type="Script" path="res://scripts/Rekku.gd" id="4_nqqx3"] [ext_resource type="Texture2D" uid="uid://suusabsjin6e" path="res://assets/icons/pixelitos/128/applications-graphics.png" id="4_q6hd2"] [ext_resource type="Texture2D" uid="uid://dk856hwnwsuab" path="res://assets/icons/pixelitos/128/retroarch.png" id="4_xcuib"] [ext_resource type="Texture2D" uid="uid://cvr1eijddf6nv" path="res://assets/icons/banner/gamegear.png" id="5_4d7s7"] [ext_resource type="Texture2D" uid="uid://d2lm4mfx1gt86" path="res://assets/graphics/retrodeck_base_shake0.png" id="5_7rjbt"] +[ext_resource type="Texture2D" uid="uid://bns3nmvku2qhe" path="res://assets/icons/pixelitos/128/system-shutdown.png" id="5_ahd1x"] [ext_resource type="Texture2D" uid="uid://dv42c6hpi6tde" path="res://assets/icons/pixelitos/128/cs-tiling.png" id="5_box56"] -[ext_resource type="Script" path="res://helper_text.gd" id="5_cprkf"] +[ext_resource type="Script" path="res://scripts/helper_text.gd" id="5_cprkf"] [ext_resource type="Texture2D" uid="uid://dxdhjp18rgmr4" path="res://res/flags/united_kingdom_32.png" id="5_exkn2"] [ext_resource type="Texture2D" uid="uid://du8go5dyabmsl" path="res://assets/icons/banner/gb.png" id="5_ja8to"] [ext_resource type="StyleBox" uid="uid://ba3l3ja1jbqpx" path="res://assets/themes/emulators.tres" id="5_rjtkn"] @@ -57,13 +59,12 @@ [ext_resource type="Texture2D" uid="uid://dyw0ondpk6ned" path="res://assets/icons/pixelitos/128/search.png" id="14_oe3l4"] [ext_resource type="Texture2D" uid="uid://b164ihk8riiwh" path="res://assets/graphics/space_bground.png" id="15_qdvxo"] [ext_resource type="Texture2D" uid="uid://cgh3df7ajg2c4" path="res://assets/icons/pixelitos/128/computer.png" id="17_0kr64"] -[ext_resource type="Texture2D" uid="uid://cvt2jky3bbjun" path="res://assets/icons/pixelitos/128/drive-removable-media.png" id="18_h2o3e"] [ext_resource type="Texture2D" uid="uid://dyumvh0ixwrbl" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png" id="30_glnve"] [ext_resource type="Texture2D" uid="uid://cn11vcrybtor4" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0047.png" id="31_j5ri1"] [ext_resource type="Texture2D" uid="uid://cc7ohmfxafe78" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png" id="33_1ghye"] [ext_resource type="Texture2D" uid="uid://cs8lh31kh7jv1" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0048.png" id="34_fum2b"] [ext_resource type="Texture2D" uid="uid://chd6d8tx081hm" path="res://assets/icons/pixelitos/128/org.mamedev.MAME.png" id="36_dj81i"] -[ext_resource type="Script" path="res://scripts/SystemTab.gd" id="36_wv31h"] +[ext_resource type="Script" path="res://scripts/TabSystem.gd" id="36_wv31h"] [ext_resource type="Texture2D" uid="uid://10pyy05xqpr4" path="res://assets/icons/pixelitos/128/ruffle.png" id="37_7hhbn"] [ext_resource type="Texture2D" uid="uid://fhxlwf7in0ke" path="res://assets/icons/pixelitos/128/net.pcsx2.PCSX2.png" id="38_44je8"] [ext_resource type="Texture2D" uid="uid://dpi351mmxu7x6" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png" id="38_prt7u"] @@ -79,9 +80,20 @@ [ext_resource type="Texture2D" uid="uid://b6vndtbu4qduo" path="res://assets/icons/pixelitos/128/preferences-desktop-launch-feedback.png" id="45_qxd26"] [ext_resource type="Texture2D" uid="uid://3sw7gtoiuab3" path="res://assets/icons/pixelitos/128/help-browser.png" id="46_feagl"] [ext_resource type="Texture2D" uid="uid://b0awa8venu1h8" path="res://assets/icons/pixelitos/128/cs-network.png" id="50_5d2ui"] -[ext_resource type="Texture2D" uid="uid://bafdexg6aq8tn" path="res://assets/icons/pixelitos/128/applications-accessories.png" id="50_h3jx2"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] +[ext_resource type="Script" path="res://scripts/TabTools.gd" id="50_wqa5h"] +[ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] +[ext_resource type="Script" path="res://scripts/TabSettings.gd" id="54_bxhvn"] +[ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] +[ext_resource type="Texture2D" uid="uid://c5ik1giuv1ar5" path="res://assets/icons/pixelitos/128/system-lock-screen.png" id="54_f245y"] +[ext_resource type="Texture2D" uid="uid://d4ee8j2kh1tmy" path="res://assets/icons/pixelitos/128/cs-themes.png" id="55_wv2p5"] +[ext_resource type="Texture2D" uid="uid://cfcgi6owxt3uu" path="res://assets/icons/pixelitos/128/preferences-system-notifications.png" id="55_x32s4"] +[ext_resource type="Texture2D" uid="uid://dw3tdbhmpkst7" path="res://assets/icons/pixelitos/128/preferences-desktop-theme-applications.png" id="56_ubqc2"] +[ext_resource type="Texture2D" uid="uid://d4suyd0iag1k" path="res://assets/icons/pixelitos/128/system-suspend.png" id="56_witym"] [ext_resource type="Texture2D" uid="uid://l3bredurb11m" path="res://assets/graphics/rekku2/rekku_base.png" id="57_1n3u5"] +[ext_resource type="Texture2D" uid="uid://dxtd2lvewb4qa" path="res://assets/icons/pixelitos/128/system-switch-user.png" id="57_7b0kp"] +[ext_resource type="Texture2D" uid="uid://diu1akug7xul8" path="res://assets/icons/pixelitos/128/cs-user.png" id="58_mntxv"] +[ext_resource type="Texture2D" uid="uid://bby02mc8j6rxt" path="res://assets/icons/pixelitos/128/youtube-music.png" id="58_oismn"] [ext_resource type="Texture2D" uid="uid://cvlncuql8igrm" path="res://assets/graphics/rekku2/rekku_eye_1.png" id="59_7lcu5"] [ext_resource type="Texture2D" uid="uid://bdrdu4nddkqjn" path="res://assets/graphics/rekku2/rekku_eye_2.png" id="60_mbhg6"] [ext_resource type="Texture2D" uid="uid://cb2hwhaq036mu" path="res://assets/graphics/rekku2/rekku_mouth_a.png" id="61_5vyvy"] @@ -89,16 +101,36 @@ [ext_resource type="Texture2D" uid="uid://3ktnkmuecxea" path="res://assets/graphics/rekku2/rekku_mouth_m.png" id="63_52v81"] [ext_resource type="Texture2D" uid="uid://d08ngewjvxkmn" path="res://assets/graphics/rekku2/rekku_mouth_o.png" id="64_s8u0e"] [ext_resource type="Texture2D" uid="uid://dieva7tuxjrvy" path="res://assets/graphics/rekku2/rekku_nomouth.png" id="65_kk8ba"] -[ext_resource type="Script" path="res://controller_guide.gd" id="68_ahvw4"] +[ext_resource type="Script" path="res://scripts/controller_guide.gd" id="68_ahvw4"] [ext_resource type="AudioStream" uid="uid://dhejvg02t5o35" path="res://assets/sounds/30375__sjonas88__smooth-game-like-sounds/538549__sjonas88__select-2.wav" id="71_ghxvk"] [ext_resource type="Texture2D" uid="uid://dllymmym0335n" path="res://assets/icons/pixelitos/16/system-shutdown.png" id="87_1yqbe"] +[ext_resource type="Texture2D" uid="uid://26piw1lylfai" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0650.png" id="90_xkj8e"] +[ext_resource type="Texture2D" uid="uid://cj5p6oa4tbh3l" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0044.png" id="92_xpwgw"] +[ext_resource type="Texture2D" uid="uid://brf74puvpnwsd" path="res://assets/graphics/retrodeck.png" id="93_f7ex4"] +[ext_resource type="Texture2D" uid="uid://ewsr5bqe7gcr" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0049.png" id="93_rdk5c"] +[ext_resource type="Script" path="res://scripts/retrodeck.gd" id="94_8nlr1"] +[ext_resource type="Texture2D" uid="uid://bjw5uccsiprpo" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0045.png" id="94_ybo5b"] +[ext_resource type="Texture2D" uid="uid://da6e8m0kx265j" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0050.png" id="95_act8q"] +[ext_resource type="Texture2D" uid="uid://bfmu7t0xf5kdf" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0651.png" id="99_km4fg"] -[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] -bg_color = Color(0.712505, 0, 0.175592, 1) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_co0k7"] +bg_color = Color(0.580392, 0.419608, 0.921569, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.101961, 0.623529, 1, 1) +border_blend = true [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_1161k"] bg_color = Color(0.101961, 0.623529, 1, 0.376471) +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8lrwm"] +bg_color = Color(0.352941, 0.858824, 0.129412, 0.556863) + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] +bg_color = Color(0.712505, 0, 0.175592, 1) + [sub_resource type="SpriteFrames" id="SpriteFrames_lhf2y"] animations = [{ "frames": [{ @@ -168,6 +200,23 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4gcyr"] +bg_color = Color(0.455, 0.455, 0.455, 1) +border_width_left = 10 +border_width_top = 10 +border_width_right = 10 +border_width_bottom = 10 +border_color = Color(0.580392, 0.419608, 0.921569, 1) +border_blend = true +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gie3e"] +bg_color = Color(0.0509804, 0.0509804, 0.0509804, 1) +border_color = Color(0.298039, 0.298039, 0.298039, 1) + [node name="Control" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -191,26 +240,26 @@ grow_vertical = 2 [node name="SplitContainer" type="SplitContainer" parent="Background"] unique_name_in_owner = true layout_mode = 0 -offset_left = 1.0 -offset_top = 5.0 -offset_right = 1253.0 -offset_bottom = 724.0 +offset_top = 1.0 +offset_right = 1287.0 +offset_bottom = 725.0 +split_offset = 1280 [node name="MarginContainer" type="MarginContainer" parent="Background/SplitContainer"] layout_mode = 2 -size_flags_horizontal = 3 [node name="TabContainer" type="TabContainer" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true layout_mode = 2 +theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 4 +current_tab = 0 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 +script = ExtResource("4_2jqfc") metadata/_tab_index = 0 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS"] @@ -222,363 +271,236 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] +[node name="globals_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] layout_mode = 2 -columns = 3 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 4 -[node name="Widescreen6" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="ask_to_exit_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 -tooltip_text = "Change to Nintendo style button mappings." +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "ASK TO EXIT" +icon = ExtResource("5_ahd1x") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "Enables or disables ask to exit prompts in all supported emulators and cores. Note: If you disable this, the emulators will directly exit." +metadata/rekku = "If this box is orange blame monkeyx he loves Blaclpool FC. Or long press to reset and turm them all on again. You can also edit individual options for systems in the System TAB. " + +[node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="border_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "BORDERS" +icon = ExtResource("4_jldgc") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="border_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/border_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="button_swap_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BUTTON SWAP " icon = ExtResource("4_caaxx") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="Widescreen2" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="button_swap_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/button_swap_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="mods_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +disabled = true text = "MODS" icon = ExtResource("5_vehlp") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "This feature is planned for a future release." -[node name="Widescreen5" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "QUICK RESUME" icon = ExtResource("12_3jrmi") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "Testing 1,2,3 .." -[node name="decorations_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_rewind_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 -text = "BORDERS" -icon = ExtResource("4_jldgc") - -[node name="Widescreen" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] -layout_mode = 2 -text = "SHADERS" -icon = ExtResource("4_q6hd2") - -[node name="Widescreen3" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] -layout_mode = 2 -text = "QUICK REWIND" +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "REWIND" icon = ExtResource("11_c3qcy") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="Widescreen4" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="quick_rewind_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/quick_rewind_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="tate_mode_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +disabled = true text = "TATE MODE" icon = ExtResource("10_jm3oh") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "This feature is planned for a future release." -[node name="Widescreen7" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="shaders_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +disabled = true +text = "SHADERS" +icon = ExtResource("4_q6hd2") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/description = "This feature is planned for a future release." + +[node name="widescreen_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "WIDESCREEN" +icon = ExtResource("4_jldgc") +alignment = 1 +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="widescreen_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/widescreen_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RESET -RETROCECK" +RETRODECK" icon = ExtResource("11_g1uhn") +icon_alignment = 1 +vertical_icon_alignment = 0 expand_icon = true -[node name="Widescreen8" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/GridContainer"] +[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_retrodeck_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] +unique_name_in_owner = true layout_mode = 2 -text = "RESET ALL +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET ALL EMULATORS" icon = ExtResource("45_qxd26") +icon_alignment = 1 +vertical_icon_alignment = 0 +expand_icon = true -[node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] +[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_all_emulators_button"] +unique_name_in_owner = true visible = false -layout_mode = 2 -columns = 5 - -[node name="wide_screen" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_WSCREEN" -text = "TK_WSCREEN" -icon = ExtResource("4_jldgc") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="shaders" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_SHADERS" -text = "TK_SHADERS" -icon = ExtResource("5_box56") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="mods" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_MODS" -text = "TK_MODS" -icon = ExtResource("6_u80kq") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="tate_mode" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_TATE" -text = "TK_TATE" -icon = ExtResource("7_i14ax") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="borders_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_BORDERS" -text = "TK_BORDERS" -icon = ExtResource("5_uiobi") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="hotkey_sound" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_HOTKEYSOUND" -text = "TK_HOTKEYSOUND" -icon = ExtResource("9_qwq2k") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="button_layout" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_BTNLAYOUT" -text = "TK_BTNLAYOUT" -icon = ExtResource("9_d2327") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="quick_resume" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_QRESUME" -text = "TK_QRESUME" -icon = ExtResource("11_c3qcy") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true -metadata/description = "This is a test description set to this element" - -[node name="rewind" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_REWIND" -text = "TK_REWIND" -icon = ExtResource("12_3jrmi") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true -metadata/description = "This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED. And I did it twice!!!This is another, very long and convoluted, description, that I put too much commas in to make in LONGER and more SOPHISTICATED." - -[node name="quit_confirm" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -tooltip_text = "TK_CONFIRMEXIT" -text = "TK_CONFIRMEXIT" -icon = ExtResource("13_8kii4") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="cheats" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -custom_minimum_size = Vector2(200, 200) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -tooltip_text = "TK_CHEATS" -text = "TK_CHEATS" -icon = ExtResource("14_oe3l4") -clip_text = true -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="decorations_save" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/decorations_gridcontainer"] -visible = false -custom_minimum_size = Vector2(125, 125) -layout_mode = 2 -size_flags_horizontal = 4 -size_flags_vertical = 4 -theme_override_styles/focus = SubResource("StyleBoxFlat_omewi") -text = "SAVE OR SELECT ALL?" -icon = ExtResource("11_p6y0k") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="borders_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -visible = false -layout_mode = 2 -theme_override_constants/h_separation = 30 -columns = 6 - -[node name="CheckBox5" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("5_ja8to") -expand_icon = true - -[node name="CheckBox3" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("6_mvrie") -expand_icon = true - -[node name="CheckBox4" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("7_01lqn") -expand_icon = true - -[node name="CheckBox6" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("7_b8xj2") -expand_icon = true - -[node name="CheckBox" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("8_rvph4") -expand_icon = true - -[node name="CheckBox7" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("9_s3srh") -expand_icon = true - -[node name="CheckBox8" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("10_2jlmn") -expand_icon = true - -[node name="CheckBox9" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("5_4d7s7") -expand_icon = true - -[node name="CheckBox10" type="CheckBox" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/borders_gridcontainer"] -custom_minimum_size = Vector2(175, 175) -layout_mode = 2 -size_flags_horizontal = 0 -size_flags_vertical = 0 -icon = ExtResource("12_pp08o") -expand_icon = true - -[node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer"] -visible = false -layout_mode = 2 -size_flags_vertical = 3 -theme_override_constants/h_separation = 10 -theme_override_constants/v_separation = 10 -columns = 6 - -[node name="Button3" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "RetroARCH" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "RetroArch" -icon = ExtResource("4_xcuib") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button8" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "Dolphin" -icon = ExtResource("11_61sak") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button7" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "CITRA" -text = "RPCS3" -icon = ExtResource("8_ec4gt") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button5" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "PSPSSPP" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "PSPSSPP" -icon = ExtResource("8_akxf7") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "Duckstation" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "DuckStation" -icon = ExtResource("6_winpq") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button2" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -layout_mode = 2 -tooltip_text = "Melon DS" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "MelonDS" -icon = ExtResource("7_4otos") -icon_alignment = 1 -vertical_icon_alignment = 0 - -[node name="Button9" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/systems_gridcontainer"] -visible = false -layout_mode = 2 -tooltip_text = "CITRA" -theme_override_styles/focus = ExtResource("5_rjtkn") -text = "CITRA" -icon = ExtResource("10_wbaif") -icon_alignment = 1 -vertical_icon_alignment = 0 +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false @@ -595,137 +517,216 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="sysems_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="systems_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -layout_mode = 2 -text = "SYSTEMS & EMULATORS" - -[node name="systems_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -layout_mode = 2 - -[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] +[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 -columns = 4 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 5 -[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RETROARCH" -icon = ExtResource("4_xcuib") - -[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "MAME" -icon = ExtResource("36_dj81i") - -[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RUFFLE" -icon = ExtResource("37_7hhbn") - -[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "MELONDS" -icon = ExtResource("7_4otos") - -[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "PCSX2" -icon = ExtResource("38_44je8") - -[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "DUCKSTATION" -icon = ExtResource("6_winpq") - -[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "PPSSPP" -icon = ExtResource("8_akxf7") - -[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "VITA3K" -icon = ExtResource("38_vsjf2") - -[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RPCS3" -icon = ExtResource("8_ec4gt") - -[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "RYUJINX" -icon = ExtResource("40_7fdvq") - -[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "DOLPHIN" -icon = ExtResource("11_61sak") - -[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "PRIMEHACK" -icon = ExtResource("41_55e56") - -[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "CEMU" -icon = ExtResource("42_n3n7j") - -[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "XEMU" -icon = ExtResource("43_ifi6j") - -[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/system_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "ES-DE" -icon = ExtResource("44_7lpj5") - -[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container"] -unique_name_in_owner = true -visible = false -layout_mode = 2 - -[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 -text = "HELP" -icon = ExtResource("46_feagl") +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RETROARCH" +icon = ExtResource("4_xcuib") +icon_alignment = 1 +vertical_icon_alignment = 0 +metadata/rekku = "This is my favourite emulator!" -[node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "MAME" +icon = ExtResource("36_dj81i") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RUFFLE" +icon = ExtResource("37_7hhbn") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "MELONDS" +icon = ExtResource("7_4otos") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "PCSX2" +icon = ExtResource("38_44je8") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "DUCKSTATION" +icon = ExtResource("6_winpq") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "PPSSPP" +icon = ExtResource("8_akxf7") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "VITA3K" +icon = ExtResource("38_vsjf2") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RPCS3" +icon = ExtResource("8_ec4gt") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RYUJINX" +icon = ExtResource("40_7fdvq") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "DOLPHIN" +icon = ExtResource("11_61sak") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "PRIMEHACK" +icon = ExtResource("41_55e56") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "CEMU" +icon = ExtResource("42_n3n7j") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "XEMU" +icon = ExtResource("43_ifi6j") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "ES-DE" +icon = ExtResource("44_7lpj5") +icon_alignment = 1 +vertical_icon_alignment = 0 + +[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +theme_override_constants/h_separation = 25 +theme_override_constants/v_separation = 25 + +[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "HELP" +icon = ExtResource("46_feagl") +expand_icon = true + +[node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 action_mode = 0 text = "LAUNCH" icon = ExtResource("45_qxd26") +expand_icon = true -[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer"] +[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 text = "RESET" icon = ExtResource("12_3jrmi") +expand_icon = true -[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/sysems_container/action_gridcontainer/reset_button"] +[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer/reset_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -737,9 +738,44 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false +[node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "INSTALL FIRMWARE" +icon = ExtResource("8_ec4gt") +expand_icon = true + +[node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "INSTALL FIRMWARE" +icon = ExtResource("38_vsjf2") +expand_icon = true + +[node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +action_mode = 0 +text = "QUICK RESUME" +icon = ExtResource("4_xcuib") +alignment = 1 +expand_icon = true + [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 +script = ExtResource("50_wqa5h") metadata/_tab_index = 2 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS"] @@ -752,19 +788,27 @@ theme_override_constants/separation = 64 [node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 +theme_override_constants/separation = 15 [node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +toggle_mode = true text = "CHECK CONNECTION" icon = ExtResource("50_5d2ui") +expand_icon = true [node name="logs_button" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +alignment = 1 +expand_icon = true selected = 0 item_count = 4 -popup/item_0/text = " LOGS" -popup/item_0/icon = ExtResource("50_h3jx2") +popup/item_0/text = "LOGS" +popup/item_0/icon = ExtResource("52_1rasc") popup/item_0/disabled = true popup/item_0/separator = true popup/item_1/text = "RetroDECK Log" @@ -778,14 +822,40 @@ popup/item_3/icon = ExtResource("4_xcuib") popup/item_3/id = 3 [node name="bios_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "BIOS STANDARD" icon = ExtResource("50_tl5ty") +expand_icon = true [node name="bios_button_expert" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "BIOS EXPERT" icon = ExtResource("50_tl5ty") +expand_icon = true + +[node name="backup_user_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +text = "BACKUP USER DATA" +icon = ExtResource("54_f245y") +expand_icon = true + +[node name="progress_bar_backup" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/backup_user_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_8lrwm") +show_percentage = false +indeterminate = true +editor_preview_indeterminate = false [node name="controls_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 @@ -809,6 +879,7 @@ text = "TK_STEAMCONTEMP" layout_mode = 2 size_flags_horizontal = 10 size_flags_vertical = 4 +disabled = true text = "TK_INSTALL" [node name="button_layout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] @@ -859,12 +930,9 @@ layout_mode = 2 disabled = true text = "TK_GRIDINSTALL" -[node name="ps3_fw_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] -layout_mode = 2 -text = "TK_PS3FWINSTALL" - [node name="fav_steam" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] layout_mode = 2 +disabled = true text = "TK_FAVSTEAM" [node name="scan_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] @@ -877,11 +945,6 @@ text = "TK_SCAN" [node name="scan_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 -[node name="ps3_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 -disabled = true -text = "TK_PS3SCAN" - [node name="scummvm_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 disabled = true @@ -889,16 +952,13 @@ text = "TK_SCUMMVMSCAN" [node name="multifile_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] layout_mode = 2 -text = "TK_MULTIFILE" - -[node name="3ds_decrypt_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] -layout_mode = 2 disabled = true -text = "TK_3DSDECRYPT" +text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 +script = ExtResource("54_bxhvn") metadata/_tab_index = 3 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS"] @@ -908,91 +968,133 @@ follow_focus = true [node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 -size_flags_vertical = 3 -theme_override_constants/separation = 64 [node name="system_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 [node name="system_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 -text = "TK_SYSTEM" +text = "SYSTEM SETTINGS" [node name="system_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 -[node name="update_notification" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 -button_pressed = true -text = "TK_UPDATENOTIF" +text = "AUTO UPDATES" +icon = ExtResource("55_x32s4") +alignment = 1 +expand_icon = true + +[node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +text = "SOUND EFFECTS" +icon = ExtResource("9_qwq2k") +alignment = 1 +expand_icon = true + +[node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 75) +layout_mode = 2 +min_value = 1.0 +max_value = 25.0 +value = 10.0 +rounded = true +tick_count = 25 + +[node name="font_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +alignment = 1 +expand_icon = true +selected = 0 +item_count = 4 +popup/item_0/text = "CHOOSE FONT" +popup/item_0/icon = ExtResource("54_dah1j") +popup/item_0/disabled = true +popup/item_0/separator = true +popup/item_1/text = "Default" +popup/item_1/icon = ExtResource("55_wv2p5") +popup/item_1/id = 1 +popup/item_2/text = "Modern" +popup/item_2/icon = ExtResource("55_wv2p5") +popup/item_2/id = 2 +popup/item_3/text = "OpenDyslexic3" +popup/item_3/icon = ExtResource("56_ubqc2") +popup/item_3/id = 2 + +[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +layout_mode = 2 +disabled = true +text = "TK_MUSIC" +icon = ExtResource("58_oismn") +alignment = 1 +expand_icon = true [node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] layout_mode = 2 disabled = true button_pressed = true text = "TK_EASTEREGGS" +icon = ExtResource("56_witym") +alignment = 1 +expand_icon = true -[node name="multi_user_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 - -[node name="multi_user_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/multi_user_container"] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 1 -text = "TK_MULTIUSR" - -[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/multi_user_container"] -layout_mode = 2 -size_flags_horizontal = 10 -selected = 0 -item_count = 3 -popup/item_0/text = "TK_OFF" -popup/item_1/text = "TK_STEAMUSR" -popup/item_1/id = 1 -popup/item_2/text = "TK_CUSTOMUSR" -popup/item_2/id = 2 - -[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -button_pressed = true -text = "TK_MUSIC" - -[node name="fancy_audio_player_here_(please_no)" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -size_flags_vertical = 1 -text = "|| ------( )--------" - -[node name="theme_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +[node name="locale_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 +alignment = 1 selected = 0 -item_count = 5 -popup/item_0/text = "Choose Theme" -popup/item_0/disabled = true -popup/item_0/separator = true -popup/item_1/text = "Default" +fit_to_longest_item = false +item_count = 7 +popup/item_0/text = "DEFAULT LANGUAGE" +popup/item_0/icon = ExtResource("5_exkn2") +popup/item_1/icon = ExtResource("6_fiylw") popup/item_1/id = 1 -popup/item_2/text = "Retro" +popup/item_2/icon = ExtResource("7_qgxid") popup/item_2/id = 2 -popup/item_3/text = "Modern" +popup/item_3/icon = ExtResource("8_lptln") popup/item_3/id = 3 -popup/item_4/text = "OpenDyslexic3" +popup/item_4/icon = ExtResource("9_dp7oa") popup/item_4/id = 4 +popup/item_5/icon = ExtResource("10_e8mt0") +popup/item_5/id = 5 +popup/item_6/icon = ExtResource("11_ri2fv") +popup/item_6/id = 6 [node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="cheevos" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +[node name="cheevos_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_CHEEVOS" -[node name="cheevos_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] -layout_mode = 2 +[node name="cheevos_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false [node name="cheevos_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +unique_name_in_owner = true +visible = false layout_mode = 2 theme_override_constants/h_separation = 64 -columns = 2 [node name="cheevos_username_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 @@ -1021,37 +1123,14 @@ placeholder_text = "password" secret = true secret_character = "*" -[node name="cheevos_advanced_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 - -[node name="cheevos_advanced_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -disabled = true -text = "TK_ADVANCED" - -[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -disabled = true text = "TK_CHEEVOSHARDCORE" -[node name="cheevos_loginout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container"] -layout_mode = 2 -size_flags_horizontal = 8 -theme_override_constants/separation = 10 - -[node name="cheevos_trophies_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_loginout_container"] -layout_mode = 2 -disabled = true -text = "TK_CHEEVOSTROPHYBTN" - -[node name="cheevos_loginout_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_loginout_container"] -layout_mode = 2 -text = "TK_LOGIN" - [node name="netplay_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="netplay" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] +[node name="netplay" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] layout_mode = 2 text = "TK_NETPLAY" @@ -1097,20 +1176,35 @@ size_flags_vertical = 5 layout_mode = 2 text = "TK_NETPLAYCONNECT" +[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +disabled = true +alignment = 1 +expand_icon = true +selected = 0 +item_count = 4 +popup/item_0/text = "TK_MULTIUSR" +popup/item_0/icon = ExtResource("57_7b0kp") +popup/item_0/separator = true +popup/item_1/text = "TK_CUSTOMUSR" +popup/item_1/icon = ExtResource("58_mntxv") +popup/item_1/id = 1 +popup/item_2/text = "TK_OFF" +popup/item_2/icon = ExtResource("58_mntxv") +popup/item_2/id = 2 +popup/item_3/text = "TK_STEAMUSR" +popup/item_3/icon = ExtResource("58_mntxv") +popup/item_3/id = 3 + [node name="data_mng_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 -[node name="data_mng_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 -text = "TK_DATAMNG" - -[node name="data_mng_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] -layout_mode = 2 - [node name="saves_sync" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] layout_mode = 2 size_flags_horizontal = 3 disabled = true +toggle_mode = false text = "TK_SAVESSYNC" [node name="ftp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] @@ -1120,6 +1214,7 @@ disabled = true text = "TK_FTPBTN" [node name="ABOUT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("4_m4rto") metadata/_tab_index = 4 @@ -1131,15 +1226,12 @@ layout_mode = 2 layout_mode = 2 alignment = 1 -[node name="rd_title" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] +[node name="rd_title" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true -clip_contents = false custom_minimum_size = Vector2(300, 150) layout_mode = 2 text = "RetroDECK" -scroll_active = false autowrap_mode = 2 -tab_size = 2 [node name="logo" type="TextureRect" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container/rd_title"] custom_minimum_size = Vector2(128, 128) @@ -1154,27 +1246,23 @@ texture = ExtResource("1_axfei") expand_mode = 1 stretch_mode = 4 -[node name="about_header" type="RichTextLabel" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] -clip_contents = false +[node name="about_header" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] custom_minimum_size = Vector2(0, 40) layout_mode = 2 size_flags_vertical = 3 -theme_override_font_sizes/normal_font_size = 23 text = "ABOUT RETRODECK" -scroll_active = false [node name="GridContainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer/about_container"] unique_name_in_owner = true layout_mode = 2 -theme_override_constants/h_separation = 20 -theme_override_constants/v_separation = 20 -columns = 5 +theme_override_constants/h_separation = 15 +theme_override_constants/v_separation = 15 +columns = 4 [node name="WIP" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true visible = false layout_mode = 2 -focus_neighbor_right = NodePath("../GLOBALS") metadata/_tab_index = 5 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP"] @@ -1194,6 +1282,7 @@ icon = ExtResource("4_q6hd2") [node name="decorations_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 columns = 5 @@ -1442,7 +1531,6 @@ icon = ExtResource("17_0kr64") [node name="systems_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] unique_name_in_owner = true -visible = false layout_mode = 2 size_flags_vertical = 3 theme_override_constants/h_separation = 10 @@ -1511,12 +1599,6 @@ icon = ExtResource("10_wbaif") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="save_resume_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/WIP/ScrollContainer/VBoxContainer"] -unique_name_in_owner = true -layout_mode = 2 -text = "FUNCTIONS - Save states, etc" -icon = ExtResource("18_h2o3e") - [node name="logo_animated" type="AnimatedSprite2D" parent="Background/SplitContainer/MarginContainer"] unique_name_in_owner = true visible = false @@ -1548,6 +1630,8 @@ mouse_default_cursor_shape = 8 script = ExtResource("4_nqqx3") [node name="speach_bubble" type="Panel" parent="Background/SplitContainer/side_logo/rekku"] +unique_name_in_owner = true +visible = false layout_mode = 0 offset_left = 371.0 offset_top = -1120.0 @@ -1555,7 +1639,8 @@ offset_right = 644.0 offset_bottom = -786.0 theme_override_styles/panel = SubResource("StyleBoxTexture_rf0rc") -[node name="helper_text" type="RichTextLabel" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +[node name="helper_text" type="Label" parent="Background/SplitContainer/side_logo/rekku/speach_bubble"] +visible = false layout_mode = 1 anchors_preset = 8 anchor_left = 0.5 @@ -1568,16 +1653,10 @@ offset_right = 129.5 offset_bottom = 191.0 grow_horizontal = 2 grow_vertical = 2 -text = "Rekku: - -When \"Quick Resume\" is enabled, a savestate is created upon quit and it will be loaded once the game is started. -This is mot working on the following systems: Switch, WiiU." -fit_content = true -scroll_following = true script = ExtResource("5_cprkf") [node name="rekku_sprite" type="Sprite2D" parent="Background/SplitContainer/side_logo/rekku"] -position = Vector2(536, -513) +position = Vector2(511, -826) scale = Vector2(0.5, 0.5) texture = ExtResource("57_1n3u5") @@ -1608,98 +1687,192 @@ expand_mode = 1 stream = ExtResource("3_xivj6") volume_db = -11.243 +[node name="pop_rtl" type="Label" parent="Background"] +unique_name_in_owner = true +visible = false +z_index = 2 +layout_mode = 2 +offset_left = 6.0 +offset_top = 703.0 +offset_right = 1271.0 +offset_bottom = 797.0 +theme_override_styles/normal = SubResource("StyleBoxFlat_4gcyr") +horizontal_alignment = 1 +autowrap_mode = 2 + [node name="CanvasModulate" type="CanvasModulate" parent="."] visible = false position = Vector2(134, 151) color = Color(0.858824, 0.890196, 1, 1) [node name="controller_guide" type="PanelContainer" parent="."] -layout_mode = 1 -anchors_preset = 7 -anchor_left = 0.5 -anchor_top = 1.0 -anchor_right = 0.5 -anchor_bottom = 1.0 -offset_left = -136.0 -offset_top = -72.0 -offset_right = 87.0 -grow_horizontal = 2 -grow_vertical = 0 +layout_mode = 0 +offset_left = 6.0 +offset_top = 731.0 +offset_right = 655.0 +offset_bottom = 793.0 script = ExtResource("68_ahvw4") [node name="HBoxContainer" type="HBoxContainer" parent="controller_guide"] layout_mode = 2 -theme_override_constants/separation = 25 +theme_override_constants/separation = 10 [node name="a_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(60, 60) +custom_minimum_size = Vector2(38, 38) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("30_glnve") texture_pressed = ExtResource("31_j5ri1") stretch_mode = 0 +[node name="Label" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270222, 0.270222, 0.270222, 1) +text = "CONFIRM" + [node name="b_button" type="TextureButton" parent="controller_guide/HBoxContainer"] unique_name_in_owner = true -custom_minimum_size = Vector2(60, 60) +custom_minimum_size = Vector2(38, 38) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("33_1ghye") texture_pressed = ExtResource("34_fum2b") stretch_mode = 0 -[node name="locale_option" type="OptionButton" parent="controller_guide/HBoxContainer"] -unique_name_in_owner = true +[node name="Label2" type="Label" parent="controller_guide/HBoxContainer"] layout_mode = 2 -selected = 0 -item_count = 7 -popup/item_0/icon = ExtResource("5_exkn2") -popup/item_1/icon = ExtResource("6_fiylw") -popup/item_1/id = 1 -popup/item_2/icon = ExtResource("7_qgxid") -popup/item_2/id = 2 -popup/item_3/icon = ExtResource("8_lptln") -popup/item_3/id = 3 -popup/item_4/icon = ExtResource("9_dp7oa") -popup/item_4/id = 4 -popup/item_5/icon = ExtResource("10_e8mt0") -popup/item_5/id = 5 -popup/item_6/icon = ExtResource("11_ri2fv") -popup/item_6/id = 6 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "BACK" + +[node name="x_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("92_xpwgw") +texture_pressed = ExtResource("93_rdk5c") +stretch_mode = 0 + +[node name="Label5" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "INFO" + +[node name="y_button" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("94_ybo5b") +texture_pressed = ExtResource("95_act8q") +stretch_mode = 0 + +[node name="Label6" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "REKKU" + +[node name="a_button2" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("90_xkj8e") +stretch_mode = 0 + +[node name="a_button3" type="TextureButton" parent="controller_guide/HBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(38, 38) +layout_mode = 2 +size_flags_vertical = 4 +texture_normal = ExtResource("99_km4fg") +stretch_mode = 0 + +[node name="Label4" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "QUIT" [node name="exit_button" type="TextureButton" parent="controller_guide/HBoxContainer"] -custom_minimum_size = Vector2(45, 45) +custom_minimum_size = Vector2(35, 35) layout_mode = 2 +size_flags_vertical = 4 texture_normal = ExtResource("87_1yqbe") stretch_mode = 0 +[node name="Label7" type="Label" parent="controller_guide/HBoxContainer"] +layout_mode = 2 +theme_override_colors/font_color = Color(0.270588, 0.270588, 0.270588, 1) +text = "QUIT" + [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] unique_name_in_owner = true stream = ExtResource("71_ghxvk") volume_db = -5.0 -[node name="l1_button" type="TextureButton" parent="."] +[node name="l1_box" type="Panel" parent="."] unique_name_in_owner = true -layout_mode = 2 -offset_left = 14.0 -offset_top = 2.0 -offset_right = 105.0 -offset_bottom = 54.0 +layout_mode = 0 +offset_left = 15.0 +offset_top = 6.0 +offset_right = 75.0 +offset_bottom = 66.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") + +[node name="l1_button" type="TextureButton" parent="l1_box"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -22.5 +offset_top = -22.5 +offset_right = 22.5 +offset_bottom = 22.5 +grow_horizontal = 2 +grow_vertical = 2 texture_normal = ExtResource("38_prt7u") texture_pressed = ExtResource("39_m4qgd") stretch_mode = 0 -[node name="r1_button" type="TextureButton" parent="."] +[node name="r1_box" type="Panel" parent="."] unique_name_in_owner = true layout_mode = 0 -offset_left = 1134.0 -offset_top = 1.0 -offset_right = 1225.0 -offset_bottom = 53.0 +offset_left = 1199.0 +offset_top = 6.0 +offset_right = 1259.0 +offset_bottom = 66.0 +theme_override_styles/panel = SubResource("StyleBoxFlat_gie3e") + +[node name="r1_button" type="TextureButton" parent="r1_box"] +unique_name_in_owner = true +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -22.5 +offset_top = -22.5 +offset_right = 22.5 +offset_bottom = 22.5 +grow_horizontal = 2 +grow_vertical = 2 texture_normal = ExtResource("39_5ft88") texture_pressed = ExtResource("40_pnuor") stretch_mode = 0 +[node name="Retrodeck_Thread_Check" type="Sprite2D" parent="."] +visible = false +position = Vector2(1046, 238) +scale = Vector2(0.390625, 0.398438) +texture = ExtResource("93_f7ex4") +script = ExtResource("94_8nlr1") + [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button" to="." method="_on_bios_button_pressed"] [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] -[connection signal="item_selected" from="controller_guide/HBoxContainer/locale_option" to="." method="_on_locale_selected"] +[connection signal="item_selected" from="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/locale_option" to="." method="_on_locale_selected"] [connection signal="pressed" from="controller_guide/HBoxContainer/exit_button" to="." method="_on_exit_button_pressed"] diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 8a5ca29b..5f8ee59a 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -27,9 +27,7 @@ data_handler="*res://scripts/data_handler.gd" window/size/viewport_width=1280 window/size/viewport_height=800 -window/size/transparent=true window/stretch/mode="canvas_items" -window/per_pixel_transparency/allowed=true [filesystem] @@ -66,6 +64,11 @@ rekku_hide={ , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":true,"meta_pressed":false,"pressed":false,"keycode":72,"physical_keycode":0,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +info={ +"deadzone": 0.5, +"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null) +] +} quit={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":15,"pressure":0.0,"pressed":false,"script":null) @@ -100,22 +103,20 @@ action_button={ quit1={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } quit2={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":7,"pressure":0.0,"pressed":true,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } [internationalization] -locale/translation_remaps={ -"res://res/pixel_ui_theme/8x8_ui_elements.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements_sv.png:sv"), -"res://res/pixel_ui_theme/8x8_ui_elements2x.png": PackedStringArray("res://res/pixel_ui_theme/8x8_ui_elements2x_de.png:de", "res://res/pixel_ui_theme/8x8_ui_elements2x_sv.png:sv") -} -locale/translations=PackedStringArray("res://locales/interface.en.translation", "res://locales/interface.it.translation", "res://locales/interface.de.translation", "res://locales/interface.sv.translation", "res://locales/interface.ua.translation", "res://locales/interface.zh.translation", "res://locales/interface.ja.translation") +locale/translation_remaps={} [rendering] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 57543076..c043db89 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1,4 +1,4 @@ -[gd_resource type="Theme" load_steps=132 format=4 uid="uid://bq8dsxeo34sl"] +[gd_resource type="Theme" load_steps=129 format=4 uid="uid://bq8dsxeo34sl"] [ext_resource type="Texture2D" uid="uid://dx0u5hiwxfgu5" path="res://res/pixel_ui_theme/8x8_ui_elements.png" id="1_ak8qr"] [ext_resource type="Texture2D" uid="uid://c4vntk8yri4yw" path="res://res/pixel_ui_theme/8x8_ui_elements2x.png" id="2_jrpaj"] @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_62emc"] +[sub_resource type="Image" id="Image_tqsvy"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_62emc") +image = SubResource("Image_tqsvy") -[sub_resource type="Image" id="Image_43yh4"] +[sub_resource type="Image" id="Image_7jqkq"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_43yh4") +image = SubResource("Image_7jqkq") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_g8qbb"] +[sub_resource type="Image" id="Image_t35s3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_g8qbb") +image = SubResource("Image_t35s3") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_8hsq5"] +[sub_resource type="Image" id="Image_l4ovu"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_8hsq5") +image = SubResource("Image_l4ovu") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_xq8h4"] +[sub_resource type="Image" id="Image_4qxng"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_xq8h4") +image = SubResource("Image_4qxng") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_33w4k"] +[sub_resource type="Image" id="Image_yrid1"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_33w4k") +image = SubResource("Image_yrid1") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_dg6qs"] +[sub_resource type="Image" id="Image_dvad3"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_dg6qs") +image = SubResource("Image_dvad3") -[sub_resource type="Image" id="Image_d8gug"] +[sub_resource type="Image" id="Image_cdkbg"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_d8gug") +image = SubResource("Image_cdkbg") -[sub_resource type="Image" id="Image_r7rto"] +[sub_resource type="Image" id="Image_4x7uj"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_r7rto") +image = SubResource("Image_4x7uj") -[sub_resource type="Image" id="Image_emksd"] +[sub_resource type="Image" id="Image_nvr8u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_emksd") +image = SubResource("Image_nvr8u") -[sub_resource type="Image" id="Image_kxpah"] +[sub_resource type="Image" id="Image_s2x2e"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_kxpah") +image = SubResource("Image_s2x2e") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1347,69 +1347,6 @@ border_width_top = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="AtlasTexture" id="250"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 64, 16, 16) - -[sub_resource type="AtlasTexture" id="251"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 96, 16, 16) - -[sub_resource type="AtlasTexture" id="252"] -atlas = ExtResource("1_ak8qr") -region = Rect2(96, 80, 16, 16) - -[sub_resource type="Image" id="Image_nr33g"] -data = { -"data": PackedByteArray("AAAAAJiYmHlOTk4xAAAAAAAAAACNjY15Tk5OMQAAAAAAAAAAgoKCeU5OTjEAAAAAAAAAAE5OTjFOTk4cAAAAAAAAAAA4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjKy4ADhVXwAAAAAAAAAAAIGirQA4VV8AAAAAAAAAAACYmJh5Tk5OMQAAAAAAAAAAjY2NeU5OTjEAAAAAAAAAAIKCgnlOTk4xAAAAAA=="), -"format": "RGBA8", -"height": 16, -"mipmaps": false, -"width": 4 -} - -[sub_resource type="ImageTexture" id="29"] -image = SubResource("Image_nr33g") - -[sub_resource type="StyleBoxTexture" id="4"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(0, 40, 8, 8) - -[sub_resource type="StyleBoxTexture" id="248"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(32, 40, 8, 8) - -[sub_resource type="StyleBoxTexture" id="249"] -content_margin_left = 6.0 -content_margin_top = 3.0 -content_margin_right = 6.0 -content_margin_bottom = 3.0 -texture = ExtResource("1_ak8qr") -texture_margin_left = 2.0 -texture_margin_top = 2.0 -texture_margin_right = 2.0 -texture_margin_bottom = 2.0 -axis_stretch_horizontal = 2 -region_rect = Rect2(16, 40, 8, 8) - [sub_resource type="StyleBoxTexture" id="461"] texture = ExtResource("1_ak8qr") texture_margin_left = 2.0 @@ -1440,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_67hak"] +[sub_resource type="Image" id="Image_1die0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1450,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_67hak") +image = SubResource("Image_1die0") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2271,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_22qm6"] +[sub_resource type="Image" id="Image_hc0ng"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2281,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_22qm6") +image = SubResource("Image_hc0ng") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2305,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_mwlj8"] +[sub_resource type="Image" id="Image_b58s8"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2315,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_mwlj8") +image = SubResource("Image_b58s8") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2428,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_k0gxe"] +[sub_resource type="Image" id="Image_grieo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2438,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_k0gxe") +image = SubResource("Image_grieo") -[sub_resource type="Image" id="Image_x5o30"] +[sub_resource type="Image" id="Image_63mmi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2450,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_x5o30") +image = SubResource("Image_63mmi") -[sub_resource type="Image" id="Image_r2uaw"] +[sub_resource type="Image" id="Image_ytg3x"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2462,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_r2uaw") +image = SubResource("Image_ytg3x") -[sub_resource type="Image" id="Image_mmk83"] +[sub_resource type="Image" id="Image_nffbk"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2474,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_mmk83") +image = SubResource("Image_nffbk") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2534,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_kak1t"] +[sub_resource type="Image" id="Image_qd4uq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2544,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_kak1t") +image = SubResource("Image_qd4uq") -[sub_resource type="Image" id="Image_ds41u"] +[sub_resource type="Image" id="Image_gwa6g"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2556,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_ds41u") +image = SubResource("Image_gwa6g") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2632,7 +2569,19 @@ border_width_left = 1 border_color = Color(0.2, 0.2, 0.2, 1) anti_aliasing = false -[sub_resource type="Image" id="Image_1e2s7"] +[sub_resource type="AtlasTexture" id="250"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 64, 16, 16) + +[sub_resource type="AtlasTexture" id="251"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 96, 16, 16) + +[sub_resource type="AtlasTexture" id="252"] +atlas = ExtResource("1_ak8qr") +region = Rect2(96, 80, 16, 16) + +[sub_resource type="Image" id="Image_4nked"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2642,7 +2591,33 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_1e2s7") +image = SubResource("Image_4nked") + +[sub_resource type="StyleBoxTexture" id="4"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +texture = ExtResource("1_ak8qr") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 2 +region_rect = Rect2(0, 40, 8, 8) + +[sub_resource type="StyleBoxTexture" id="249"] +content_margin_left = 6.0 +content_margin_top = 3.0 +content_margin_right = 6.0 +content_margin_bottom = 3.0 +texture = ExtResource("1_ak8qr") +texture_margin_left = 2.0 +texture_margin_top = 2.0 +texture_margin_right = 2.0 +texture_margin_bottom = 2.0 +axis_stretch_horizontal = 2 +region_rect = Rect2(16, 40, 8, 8) [sub_resource type="AtlasTexture" id="20"] atlas = ExtResource("3_0m6kw") @@ -2734,13 +2709,6 @@ HScrollBar/styles/grabber_pressed = SubResource("StyleBoxTexture_bfd3g") HScrollBar/styles/scroll = SubResource("StyleBoxTexture_lsn07") HScrollBar/styles/scroll_focus = SubResource("StyleBoxTexture_8681i") HSeparator/styles/separator = SubResource("576") -HSlider/icons/grabber = SubResource("250") -HSlider/icons/grabber_disabled = SubResource("251") -HSlider/icons/grabber_highlight = SubResource("252") -HSlider/icons/tick = SubResource("29") -HSlider/styles/grabber_area = SubResource("4") -HSlider/styles/grabber_area_highlight = SubResource("248") -HSlider/styles/slider = SubResource("249") ItemList/colors/font_color = Color(0.866667, 0.866667, 0.866667, 1) ItemList/colors/font_color_selected = Color(1, 1, 1, 1) ItemList/colors/guide_color = Color(0.266667, 0.266667, 0.266667, 1) @@ -2823,12 +2791,7 @@ TabContainer/constants/label_valign_bg = 0 TabContainer/constants/label_valign_fg = 0 TabContainer/constants/side_margin = 0 TabContainer/constants/top_margin = 0 -TabContainer/icons/decrement = null -TabContainer/icons/decrement_highlight = null -TabContainer/icons/increment = null -TabContainer/icons/increment_highlight = null TabContainer/icons/menu = null -TabContainer/icons/menu_highlight = null TabContainer/styles/panel = SubResource("420") TabContainer/styles/tab_bg = SubResource("525") TabContainer/styles/tab_disabled = SubResource("422") diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd new file mode 100644 index 00000000..63e6bac2 --- /dev/null +++ b/tools/configurator/scripts/Rekku.gd @@ -0,0 +1,26 @@ +extends Control + + +func _input(event): + if event.is_action_released("rekku_hide"): + #self.visible = !self.visible + if class_functions.rekku_state == false: + self.visible = true + class_functions.rekku_state = true + %SplitContainer.split_offset=925 + %pop_rtl.visible = false + %TabContainer.set_tab_title(0, "GLOBALS") + %TabContainer.set_tab_title(1, "SYSTEM") + %TabContainer.set_tab_title(2, "TOOLS") + %TabContainer.set_tab_title(3, "SETTINGS") + %TabContainer.set_tab_title(4, "ABOUT") + elif event.is_action_released("rekku_hide") and class_functions.rekku_state == true: + %TabContainer.set_tab_title(0, " GLOBALS ") + %TabContainer.set_tab_title(1, " SYSTEM ") + %TabContainer.set_tab_title(2, " TOOLS ") + %TabContainer.set_tab_title(3, " SETTINGS ") + %TabContainer.set_tab_title(4, " ABOUT ") + class_functions.rekku_state = false + %pop_rtl.visible = false + self.visible = false + %SplitContainer.split_offset=1280 diff --git a/tools/configurator/scripts/SystemTab.gd b/tools/configurator/scripts/SystemTab.gd deleted file mode 100644 index ab22ab8e..00000000 --- a/tools/configurator/scripts/SystemTab.gd +++ /dev/null @@ -1,103 +0,0 @@ -extends Control - -var app_data := AppData.new() -var current_system := Emulator.new() -var press_time: float = 0.0 -var is_reset_pressed: bool = false -var reset_result: Dictionary -@export var PRESS_DURATION: float = 3.0 - -func _ready(): - app_data = data_handler.app_data - _connect_signals() - -func _process(delta: float) -> void: - if is_reset_pressed: - press_time += delta - %reset_progress.value = press_time / PRESS_DURATION * 100.0 - if press_time >= PRESS_DURATION: - _do_complete() - press_time = 0.0 - is_reset_pressed = false - %reset_progress.value = 0.0 - -func _connect_signals() -> void: - %retroarch_button.pressed.connect(_hide_show_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) - %mame_button.pressed.connect(_hide_show_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) - %ruffle_button.pressed.connect(_hide_show_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) - %melonds_button.pressed.connect(_hide_show_buttons.bind(%melonds_button,%system_gridcontainer, %action_gridcontainer)) - %pcsx2_button.pressed.connect(_hide_show_buttons.bind(%pcsx2_button,%system_gridcontainer, %action_gridcontainer)) - %duckstation_button.pressed.connect(_hide_show_buttons.bind(%duckstation_button,%system_gridcontainer, %action_gridcontainer)) - %ppsspp_button.pressed.connect(_hide_show_buttons.bind(%ppsspp_button,%system_gridcontainer, %action_gridcontainer)) - %vita3k_button.pressed.connect(_hide_show_buttons.bind(%vita3k_button,%system_gridcontainer, %action_gridcontainer)) - %rpcs3_button.pressed.connect(_hide_show_buttons.bind(%rpcs3_button,%system_gridcontainer, %action_gridcontainer)) - %ryujinx_button.pressed.connect(_hide_show_buttons.bind(%ryujinx_button,%system_gridcontainer, %action_gridcontainer)) - %dolphin_button.pressed.connect(_hide_show_buttons.bind(%dolphin_button,%system_gridcontainer, %action_gridcontainer)) - %primehack_button.pressed.connect(_hide_show_buttons.bind(%primehack_button,%system_gridcontainer, %action_gridcontainer)) - %cemu_button.pressed.connect(_hide_show_buttons.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) - %xemu_button.pressed.connect(_hide_show_buttons.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) - %esde_button.pressed.connect(_hide_show_buttons.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) - %help_button.pressed.connect(_do_action.bind(%help_button)) - #%launch_button.pressed.connect(_do_action.bind(%launch_button)) - %launch_button.pressed.connect(_do_action.bind(%launch_button)) - %reset_button.button_down.connect(_do_action.bind(%reset_button)) - %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) - -func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: - current_system = app_data.emulators[button.text.to_lower()] - match button.name: - "retroarch_button", "mame_button", "ruffle_button", "melonds_button", "pcsx2_button", "duckstation_button", \ - "ppsspp_button", "vita3k_button", "rpcs3_button", "ryujinx_button", "dolphin_button", "primehack_button", \ - "cemu_button", "xemu_button", "esde_button": - %reset_button.text="RESET" - hidden_gridcontainer.visible = true - if button.toggle_mode == false: - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - if child is Button and child != button: - child.visible=false - elif button.toggle_mode == true and hidden_gridcontainer.visible == true: - hidden_gridcontainer.visible = false - for i in range(buttons_gridcontainer.get_child_count()): - var child = buttons_gridcontainer.get_child(i) - if child is Button: - child.visible=true - child.toggle_mode = false - if hidden_gridcontainer.visible == true: - button.toggle_mode = true - -func _on_Button_released(progress: ProgressBar) -> void: - is_reset_pressed = false - %reset_progress.visible = false - press_time = 0.0 - progress.value = 0.0 - -func _do_action(button: Button) -> void: - match [button.name, current_system.name]: - ["help_button", current_system.name]: - class_functions.log_parameters[2] = class_functions.log_text + "Launching " + current_system.name + " Help" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - class_functions.launch_help(current_system.url) - ["launch_button", current_system.name]: - class_functions.log_parameters[2] = class_functions.log_text + "Launching " + current_system.name - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - var launch = class_functions.execute_command(current_system.launch,[], false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit Code: " + str(launch["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - ["reset_button", current_system.name]: - is_reset_pressed = true - %reset_progress.visible = true - -func _do_complete() ->void: - if is_reset_pressed: - var parameters = ["prepare_component","reset",current_system.name] - %reset_button.text = "RESETTING-NOW" - class_functions.log_parameters[2] = class_functions.log_text + "Resetting " + current_system.name - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - await run_thread_command(class_functions.wrapper_command,parameters, false) - class_functions.log_parameters[2] = class_functions.log_text + "Exit Code: " + str(reset_result["exit_code"]) - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - %reset_button.text = "RESET COMPLETED" - -func run_thread_command(command: String, parameters: Array, console: bool) -> void: - reset_result = await class_functions.run_command_in_thread(command, parameters, console) diff --git a/tools/configurator/scripts/TabAbout.gd b/tools/configurator/scripts/TabAbout.gd new file mode 100644 index 00000000..9caf11f6 --- /dev/null +++ b/tools/configurator/scripts/TabAbout.gd @@ -0,0 +1,58 @@ +extends MarginContainer + +var rd_web_button:= Button.new() +var rd_changelog_button:= Button.new() +var rd_wiki_button:= Button.new() +var rd_credits_button:= Button.new() +var rd_donate_button:= Button.new() +var rd_contactus_button:= Button.new() +var rd_licenses_button:= Button.new() +var app_data:= AppData.new() +var button_array: Array = [rd_web_button, rd_changelog_button, rd_wiki_button, rd_credits_button, rd_donate_button, rd_contactus_button, rd_licenses_button] +var web_id: Array = ["rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses"] + +func _ready(): + #tk_about = class_functions.import_csv_data("res://tk_about.txt") + app_data = data_handler.app_data + _connect_signals() + create_buttons() + +func _connect_signals() -> void: + for i in button_array.size(): + button_array[i].pressed.connect(_about_button_pressed.bind(web_id[i], button_array[i])) + +func _about_button_pressed(id: String, button: Button) -> void: + var tmp_txt = button.text + if class_functions.desktop_mode != "gamescope": + class_functions.logger("i","Loading website for " + id) + class_functions.launch_help(button.get_meta("url")) + else: + button.text = "Help only in Desktop Mode" + await class_functions.wait(3.0) + button.text = tmp_txt + +func create_buttons() -> void: + for i in button_array.size(): + var button = button_array[i] + %GridContainer.add_child(button) + var id = web_id[i] + if id in app_data.about_links: + var web_data: Link = app_data.about_links[id] + _setup_button(button, web_data) + +func _setup_button(button: Button, web_data: Link) -> void: + button.size_flags_horizontal = Control.SIZE_EXPAND_FILL + button.size_flags_vertical = Control.SIZE_EXPAND_FILL + button.text = web_data.name + var vect2 = Vector2(200,100) + button.custom_minimum_size = vect2 + #button.tooltip_text = web_data.description + button.icon = ResourceLoader.load(web_data.icon) + button.set_meta("url", web_data.url) + button.set_meta("description", web_data.description) + button.icon_alignment = HORIZONTAL_ALIGNMENT_LEFT + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER + button.add_theme_constant_override("icon_max_width", 64) + button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER + button.alignment = HORIZONTAL_ALIGNMENT_CENTER + button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd new file mode 100644 index 00000000..3d5af3ea --- /dev/null +++ b/tools/configurator/scripts/TabContainer.gd @@ -0,0 +1,85 @@ +extends TabContainer + +var icon_width: int = 32 +@onready var tcount: int = get_tab_count()-2 + +func _ready(): + focusFirstFocusableChild() #grab focus on first element to enable controller focusing + #%TabContainer.add_theme_icon_override("decrement",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png")) + #%TabContainer.add_theme_icon_override("decrement_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png")) + #%TabContainer.add_theme_icon_override("increment",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png")) + #%TabContainer.add_theme_icon_override("increment_highlight",ResourceLoader.load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0764.png")) + if class_functions.font_select !=3: + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + elif class_functions.font_select == 3: + %TabContainer.add_theme_font_size_override("font_size", 15) + else: + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + set_tab_title(0, " GLOBALS ") + set_tab_title(1, " SYSTEM ") + set_tab_title(2, " TOOLS ") + set_tab_title(3, " SETTINGS ") + set_tab_title(4, " ABOUT ") + set_tab_hidden(5, true) + set_tab_icon(0, ResourceLoader.load("res://assets/icons/pixelitos/128/map-globe.png")) + set_tab_icon_max_width(0,icon_width) + set_tab_icon(1, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-windows.png")) + set_tab_icon_max_width(1,icon_width) + set_tab_icon(2, ResourceLoader.load("res://assets/icons/pixelitos/128/utilities-system-monitor.png")) + set_tab_icon_max_width(2,icon_width) + set_tab_icon(3, ResourceLoader.load("res://assets/icons/pixelitos/128/preferences-system-session-services.png")) + set_tab_icon_max_width(3,icon_width) + set_tab_icon(4, ResourceLoader.load("res://assets/icons/pixelitos/128/help-about.png")) + set_tab_icon_max_width(4,icon_width) + connect_focus_signals(self) + %volume_effects_slider.value = class_functions.volume_effects + +func connect_focus_signals(node): + for child in node.get_children(): + if child is Button: + child.focus_entered.connect(_on_button_focus_entered.bind(child)) + child.focus_exited.connect(_on_button_focus_exited.bind()) + elif child is Control: + connect_focus_signals(child) + +func _on_button_focus_exited() -> void: + %pop_rtl.visible = false + +func _on_button_focus_entered(button: Button): + if button and class_functions.sound_effects: + %AudioStreamPlayer2D.volume_db = class_functions.volume_effects + %AudioStreamPlayer2D.play() + if button and class_functions.rekku_state == false and button.has_meta("description"): + %pop_rtl.visible = true + %pop_rtl.text = button.get_meta("description") + elif class_functions.rekku_state == false: + %pop_rtl.visible = true + %pop_rtl.text = "Hey, there's no description" + +func _input(event): + if (event.is_action_pressed("next_tab")): + if current_tab == tcount: + current_tab = 0 + else: + self.select_next_available() + focusFirstFocusableChild() + if (event.is_action_pressed("previous_tab")): + if current_tab == 0: + current_tab = tcount + else: + self.select_previous_available() + focusFirstFocusableChild() + +func focusFirstFocusableChild(): + var children = findElements(get_current_tab_control(), "Control") + for n: Control in children: + if (n.focus_mode == FOCUS_ALL): + n.grab_focus.call_deferred() + break + +func findElements(node: Node, className: String, result: Array = []) -> Array: + if node.is_class(className): + result.push_back(node) + for child in node.get_children(): + result = findElements(child, className, result) + return result diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd new file mode 100644 index 00000000..29f8dc47 --- /dev/null +++ b/tools/configurator/scripts/TabGlobals.gd @@ -0,0 +1,40 @@ +extends MarginContainer + + +func _ready(): + _connect_signals() + +func _process(delta: float) -> void: + if class_functions.current_button != null: + update_progress(delta, class_functions.current_progress) + +func update_progress(delta: float, progress: ProgressBar) -> void: + if class_functions.press_time >= class_functions.PRESS_DURATION: + class_functions._do_complete(class_functions.current_button) + class_functions.is_state_pressed = false + #print ("Progress Bar: %s Button: %s" % [progress.name, current_button.name]) + elif class_functions.is_state_pressed and class_functions.current_state == "mixed": + class_functions.press_time += delta + progress.value = class_functions.press_time / class_functions.PRESS_DURATION * 100.0 + +func _connect_signals(): + %quick_resume_button.pressed.connect(class_functions.run_function.bind(%quick_resume_button, "quick_resume")) + %button_swap_button.button_down.connect(class_functions._do_action.bind(%button_swap_progress, %button_swap_button, class_functions.abxy_state)) + %button_swap_button.button_up.connect(class_functions._on_button_released.bind(%button_swap_progress)) + %button_swap_button.pressed.connect(class_functions.run_function.bind(%button_swap_button, "abxy_button_swap")) + %ask_to_exit_button.button_down.connect(class_functions._do_action.bind(%ask_to_exit_progress, %ask_to_exit_button, class_functions.ask_to_exit_state)) + %ask_to_exit_button.button_up.connect(class_functions._on_button_released.bind(%ask_to_exit_progress)) + %ask_to_exit_button.pressed.connect(class_functions.run_function.bind(%ask_to_exit_button, "ask_to_exit")) + %border_button.button_down.connect(class_functions._do_action.bind(%border_progress, %border_button, class_functions.border_state)) + %border_button.button_up.connect(class_functions._on_button_released.bind(%border_progress)) + %border_button.pressed.connect(class_functions.run_function.bind(%border_button, "borders")) + %widescreen_button.button_down.connect(class_functions._do_action.bind(%widescreen_progress, %widescreen_button, class_functions.widescreen_state)) + %widescreen_button.button_up.connect(class_functions._on_button_released.bind(%widescreen_progress)) + %widescreen_button.pressed.connect(class_functions.run_function.bind(%widescreen_button, "widescreen")) + %quick_rewind_button.button_down.connect(class_functions._do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) + %quick_rewind_button.button_up.connect(class_functions._on_button_released.bind(%quick_rewind_progress)) + %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) + %reset_retrodeck_button.button_down.connect(class_functions._do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) + %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) + %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) + %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd new file mode 100644 index 00000000..1b0bc0f4 --- /dev/null +++ b/tools/configurator/scripts/TabSettings.gd @@ -0,0 +1,40 @@ +extends Control + +var ra_url = "https://retroachievements.org/dorequest.php?r=login&u=monkeyx&p=9LJX7**mie*9e4" +var cheevos_token: String + +func _ready(): + var http_request = HTTPRequest.new() + add_child(http_request) + _connect_signals() + http_request.request_completed.connect(self._on_request_completed) + http_request.request(ra_url) + +func _connect_signals() -> void: + %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) + %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) + %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) + #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) + %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) + %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) + +func _on_request_completed(_result, response_code, _headers, body): + var response_text = JSON.parse_string(body.get_string_from_utf8()) + print("Response Code: ", response_code) + print("Response Body: ", response_text) + print("Response Token: ", response_text.Token) + #print (_result,_headers) + cheevos_token = response_text.Token + if response_code == 200: + print("Request successful!") + else: + print("Request failed with code: ", response_code) + +func cheevos(button: Button): + set_process_input(false) + $"../..".visible=false + await class_functions.run_thread_command(class_functions.wrapper_command,["change_preset_dialog", "cheevos"], false) + set_process_input(true) + $"../..".visible=true + print ("FIN?") diff --git a/tools/configurator/scripts/TabSystem.gd b/tools/configurator/scripts/TabSystem.gd new file mode 100644 index 00000000..5004abd4 --- /dev/null +++ b/tools/configurator/scripts/TabSystem.gd @@ -0,0 +1,124 @@ +extends Control + +var app_data := AppData.new() +var current_system := Emulator.new() +var press_time: float = 0.0 +var is_reset_pressed: bool = false +var reset_result: Dictionary +@export var PRESS_DURATION: float = 3.0 + +func _ready(): + app_data = data_handler.app_data + _connect_signals() + +func _process(delta: float) -> void: + if is_reset_pressed: + press_time += delta + %reset_progress.value = press_time / PRESS_DURATION * 100.0 + if press_time >= PRESS_DURATION: + _do_complete() + press_time = 0.0 + is_reset_pressed = false + %reset_progress.value = 0.0 + +func _connect_signals() -> void: + #TODO make for loops for each function linked to button function call + # Change to follow hoe TabGlobals Works + %retroarch_button.pressed.connect(standard_buttons.bind(%retroarch_button,%system_gridcontainer, %action_gridcontainer)) + %mame_button.pressed.connect(standard_buttons.bind(%mame_button,%system_gridcontainer, %action_gridcontainer)) + %ruffle_button.pressed.connect(standard_buttons.bind(%ruffle_button,%system_gridcontainer, %action_gridcontainer)) + %melonds_button.pressed.connect(standard_buttons.bind(%melonds_button,%system_gridcontainer, %action_gridcontainer)) + %pcsx2_button.pressed.connect(standard_buttons.bind(%pcsx2_button,%system_gridcontainer, %action_gridcontainer)) + %duckstation_button.pressed.connect(standard_buttons.bind(%duckstation_button,%system_gridcontainer, %action_gridcontainer)) + %ppsspp_button.pressed.connect(standard_buttons.bind(%ppsspp_button,%system_gridcontainer, %action_gridcontainer)) + %vita3k_button.pressed.connect(standard_buttons.bind(%vita3k_button,%system_gridcontainer, %action_gridcontainer)) + %rpcs3_button.pressed.connect(standard_buttons.bind(%rpcs3_button,%system_gridcontainer, %action_gridcontainer)) + %ryujinx_button.pressed.connect(standard_buttons.bind(%ryujinx_button,%system_gridcontainer, %action_gridcontainer)) + %dolphin_button.pressed.connect(standard_buttons.bind(%dolphin_button,%system_gridcontainer, %action_gridcontainer)) + %primehack_button.pressed.connect(standard_buttons.bind(%primehack_button,%system_gridcontainer, %action_gridcontainer)) + %cemu_button.pressed.connect(standard_buttons.bind(%cemu_button,%system_gridcontainer, %action_gridcontainer)) + %xemu_button.pressed.connect(standard_buttons.bind(%xemu_button,%system_gridcontainer, %action_gridcontainer)) + %esde_button.pressed.connect(standard_buttons.bind(%esde_button,%system_gridcontainer, %action_gridcontainer)) + %help_button.pressed.connect(_do_action.bind(%help_button)) + #%launch_button.pressed.connect(_do_action.bind(%launch_button)) + %launch_button.pressed.connect(_do_action.bind(%launch_button)) + %reset_button.button_down.connect(_do_action.bind(%reset_button)) + %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) + %rpcs3_firmware_button.pressed.connect(_do_action.bind(%rpcs3_firmware_button)) + %vita3k_firmware_button.pressed.connect(_do_action.bind(%vita3k_firmware_button)) + %retroarch_quick_resume_button.pressed.connect(class_functions.run_function.bind(%retroarch_quick_resume_button, "abxy_button_swap")) + +func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: + current_system = app_data.emulators[button.text.to_lower()] + %reset_button.text="RESET" + match button.name: + "vita3k_button": + %vita3k_firmware_button.visible = true + "rpcs3_button": + %rpcs3_firmware_button.visible = true + "retroarch_button": + %retroarch_quick_resume_button.visible = true + _: + %vita3k_firmware_button.visible = false + %rpcs3_firmware_button.visible = false + %retroarch_quick_resume_button.visible = false + hidden_gridcontainer.visible = true + if button.toggle_mode == false: + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + if child is Button and child != button: + child.visible=false + elif button.toggle_mode == true and hidden_gridcontainer.visible == true: + hidden_gridcontainer.visible = false + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + if child is Button: + child.visible=true + child.toggle_mode = false + if hidden_gridcontainer.visible == true: + button.toggle_mode = true + +func _on_Button_released(progress: ProgressBar) -> void: + is_reset_pressed = false + %reset_progress.visible = false + press_time = 0.0 + progress.value = 0.0 + +func _do_action(button: Button) -> void: + var original_txt = button.text + match [button.name, current_system.name]: + ["help_button", current_system.name]: + if class_functions.desktop_mode != "gamescope": + class_functions.logger("i", "Launching " + current_system.name + " Help") + class_functions.launch_help(current_system.url) + else: + button.text = "Help only works in Desktop Mode" + await class_functions.wait(3.0) + button.text = original_txt + ["launch_button", current_system.name]: + class_functions.logger("i", "Launching " + current_system.name) + var launch = class_functions.execute_command(current_system.launch,[], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) + ["reset_button", current_system.name]: + is_reset_pressed = true + %reset_progress.visible = true + ["rpcs3_firmware_button", current_system.name]: + class_functions.logger("i", "Firmware install " + current_system.name) + var launch = class_functions.execute_command(class_functions.wrapper_command,["update_rpcs3_firmware"], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) + ["vita3k_firmware_button", current_system.name]: + class_functions.logger("i", "Firmware install " + current_system.name) + var launch = class_functions.execute_command(class_functions.wrapper_command,["update_vita3k_firmware"], false) + class_functions.logger("d", "Exit Code: " + str(launch["exit_code"])) + +func _do_complete() ->void: + if is_reset_pressed: + var tmp_txt = %reset_button.text + %reset_button.text = "RESETTING-NOW" + class_functions.logger("i", "Resetting " + current_system.name) + var parameters = ["prepare_component","reset",current_system.name] + reset_result = await class_functions.run_thread_command(class_functions.wrapper_command,parameters, false) + class_functions.logger("d", "Exit Code: " + str(reset_result["exit_code"])) + %reset_button.text = "RESET COMPLETED" + await class_functions.wait(3.0) + %reset_button.text = tmp_txt diff --git a/tools/configurator/scripts/TabTools.gd b/tools/configurator/scripts/TabTools.gd new file mode 100644 index 00000000..3dd8a88a --- /dev/null +++ b/tools/configurator/scripts/TabTools.gd @@ -0,0 +1,51 @@ +extends Control + +@onready var http_request: HTTPRequest = HTTPRequest.new() + +func _ready(): + add_child(http_request) + http_request.request_completed.connect(_on_request_completed) + _connect_signals() + %backup_user_button.text += " - " + class_functions.rdhome + "/backup" + +func _connect_signals() -> void: + %check_conn_button.pressed.connect(check_internet_connection) + %backup_user_button.pressed.connect(run_function.bind(%backup_user_button, "Start User Backup")) + +func run_function(button: Button, message: String) -> void: + class_functions.logger("d",message) + match button.name: + "backup_user_button": + _run_backup(button) + +func _run_backup(button: Button) -> void: + var original_txt = button.text + %progress_bar_backup.visible = true + button.text = "Backup Running" + var parameters = ["backup_retrodeck_userdata"] + var run_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, true) + if run_result["exit_code"] == 0: + button.text = "Backup Complete - " + class_functions.rdhome + "/backup" + class_functions.logger("d","User Backup Completed") + await class_functions.wait(3.0) + button.text = original_txt + %progress_bar_backup.visible = false + else: + button.text = "Backup Failed" + class_functions.logger("e","User Backup Failed. " + run_result["exit_code"]) + %progress_bar_backup.visible = false + +func check_internet_connection(): + class_functions.logger("i","Check Internet Connection") + %check_conn_button.text = "CHECK CONNECTION" + http_request.request("https://retrodeck.net/") + +func _on_request_completed(_result, response_code, _headers, _body): + if response_code == 200: + class_functions.logger("i","Internet Connection Succesful") + %check_conn_button.button_pressed = true + %check_conn_button.text += " - CONNECTED" + else: + class_functions.logger("d","Internet Connection Failed") + %check_conn_button.button_pressed = false + %check_conn_button.text += " - NOT CONNECTED: " + str(response_code) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 699a752c..4beefe5f 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -1,40 +1,124 @@ class_name ClassFunctions extends Control -var log_text = "gdc_" +var log_result: Dictionary var log_parameters: Array -var wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" +const globals_sh_file_path: String = "/app/libexec/global.sh" +const wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" +const config_file_path = "/var/config/retrodeck/retrodeck.cfg" +const json_file_path = "/var/config/retrodeck/retrodeck.json" +const esde_file_path = "/var/config/ES-DE/settings/es_settings.xml" +var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") +var rd_conf: String +var lockfile: String +var rdhome: String +var roms_folder: String +var saves_folder: String +var states_folder: String +var bios_folder: String var rd_log: String var rd_log_folder: String var rd_version: String var gc_version: String +var sound_effects: bool +var volume_effects: int +var title: String +var quick_resume_status: bool +var update_check: bool +var abxy_state: String +var ask_to_exit_state: String +var border_state: String +var widescreen_state: String +var quick_rewind_state: String +var cheevos_state: String +var cheevos_hardcore_state: String +var font_select: int +var font_tab_size: int = 35 +var font_size: int = 20 +var locale: String +enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind, cheevos, cheevos_hardcore} +var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button"] +signal update_global_signal +var rekku_state: bool = false +var press_time: float = 0.0 +var is_state_pressed: bool = false +var PRESS_DURATION: float = 3.0 +var current_button: Button = null +var current_progress: ProgressBar = null +var current_state: String = "" -func read_cfg() -> String: - var title: String - var config_file_path = "/var/config/retrodeck/retrodeck.cfg" - var json_file_path = "/var/config/retrodeck/retrodeck.json" +func _ready(): + read_values_states() + +func read_values_states() -> void: var config = data_handler.parse_config_to_json(config_file_path) data_handler.config_save_json(config, json_file_path) rd_log_folder = config["paths"]["logs_folder"] rd_log = rd_log_folder + "/retrodeck.log" - #rd_log = "/var/config/retrodeck/logs/retrodeck.log" - log_parameters = ["log", "i", log_text, rd_log] + rdhome = config["paths"]["rdhome"] + roms_folder = config["paths"]["roms_folder"] + saves_folder = config["paths"]["saves_folder"] + states_folder = config["paths"]["states_folder"] + bios_folder = config["paths"]["bios_folder"] rd_version = config["version"] + rd_conf = extract_text(globals_sh_file_path, "rd_conf") + lockfile = extract_text(globals_sh_file_path, "lockfile") + locale = extract_text(esde_file_path, "esde") gc_version = ProjectSettings.get_setting("application/config/version") title = "\n " + rd_version + "\nConfigurator\n " + gc_version - print ("Make logging a function\nAlso add d,i,e,w: ", rd_log) - return title + quick_resume_status = config["quick_resume"]["retroarch"] + update_check = config["options"]["update_check"] + abxy_state = multi_state("abxy_button_swap", abxy_state) + ask_to_exit_state = multi_state("ask_to_exit", ask_to_exit_state) + border_state = multi_state("borders", border_state) + widescreen_state = multi_state("widescreen", widescreen_state) + quick_rewind_state = multi_state("rewind", quick_rewind_state) + sound_effects = config["options"]["sound_effects"] + volume_effects = int(config["options"]["volume_effects"]) + font_select = int(config["options"]["font"]) + cheevos_state = multi_state("cheevos", cheevos_state) + cheevos_hardcore_state = multi_state("cheevos_hardcore", cheevos_hardcore_state) -func logger() -> void: - pass +func multi_state(section: String, state: String) -> String: + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, section) + var true_count: int = 0 + var false_count: int = 0 + for value in config_section.values(): + if value == "true": + true_count += 1 + else: + false_count += 1 + if true_count == config_section.size(): + state = "true" + elif false_count == config_section.size(): + state = "false" + else: + state = "mixed" + return state + +func logger(log_type: String, log_text: String) -> void: + # Type of log messages: + # log d - debug message: maybe in the future we can decide to hide them in main builds or if an option is toggled + # log i - normal informational message + # log w - waring: something is not expected but it's not a big deal + # log e - error: something broke + var log_header_text = "gdc_" + log_header_text+=log_text + log_parameters = ["log", log_type, log_header_text] + log_result = await run_thread_command(wrapper_command,log_parameters, false) + #log_result = await run_thread_command("find",["$HOME", "-name", "*.xml","-print"], false) + #print (log_result["exit_code"]) + #print (log_result["output"]) func array_to_string(arr: Array) -> String: var text: String for line in arr: - #text += line + "\n" text = line.strip_edges() + "\n" return text +func wait (seconds: float) -> void: + await get_tree().create_timer(seconds).timeout + # TODO This should be looked at again when GoDot 4.3 ships as has new OS.execute_with_pipe func execute_command(command: String, parameters: Array, console: bool) -> Dictionary: var result = {} @@ -42,8 +126,6 @@ func execute_command(command: String, parameters: Array, console: bool) -> Dicti var exit_code = OS.execute(command, parameters, output, console) ## add if exit == 0 etc result["output"] = array_to_string(output) result["exit_code"] = exit_code - #print (array_to_string(output)) - #print (result["exit_code"]) return result func run_command_in_thread(command: String, paramaters: Array, _console: bool) -> Dictionary: @@ -51,14 +133,12 @@ func run_command_in_thread(command: String, paramaters: Array, _console: bool) - thread.start(execute_command.bind(command,paramaters,false)) while thread.is_alive(): await get_tree().process_frame - var result = thread.wait_to_finish() - thread = null - return result - -func _threaded_command_execution(command: String, parameters: Array, console: bool) -> Dictionary: - var result = execute_command(command, parameters, console) - return result - + return thread.wait_to_finish() + +func run_thread_command(command: String, parameters: Array, console: bool) -> Dictionary: + log_result = await run_command_in_thread(command, parameters, console) + return log_result + func process_url_image(body) -> Texture: var image = Image.new() image.load_png_from_buffer(body) @@ -66,6 +146,10 @@ func process_url_image(body) -> Texture: return texture func launch_help(url: String) -> void: + #OS.unset_environment("LD_PRELOAD") + #OS.set_environment("XDG_CURRENT_DESKTOP", "KDE") + #var launch = class_functions.execute_command("xdg-open",[url], false) + #var launch = class_functions.execute_command("org.mozilla.firefox",[url], false) OS.shell_open(url) func import_csv_data(file_path: String) -> Dictionary: @@ -102,11 +186,11 @@ func import_text_file(file_path: String) -> String: var content: String = "" var file = FileAccess.open(file_path, FileAccess.READ) if file == null: - print("Failed to open file") + logger("e","Failed to open file %s" % file_path) return content while not file.eof_reached(): content += file.get_line() + "\n" - file.close + #file.close return content func map_locale_id(current_locale: String) -> int: @@ -127,3 +211,223 @@ func map_locale_id(current_locale: String) -> int: "cn": int_locale = 6 return int_locale + +func environment_data() -> void: + var env_result = execute_command("printenv",[], true) + var file = FileAccess.open(OS.get_environment("HOME") + "/sdenv.txt",FileAccess.WRITE) + if file != null: + file.store_string(env_result["output"]) + file.close() + +func display_json_data() -> void: + var app_data := AppData.new() + app_data = data_handler.app_data + #data_handler.add_emulator() + #data_handler.modify_emulator_test() + if app_data: + #var website_data: Link = app_data.about_links["rd_web"] + #print (website_data.name,"-",website_data.url,"-",website_data.description,"-",website_data.url) + ##print (app_data.about_links["rd_web"]["name"]) + #var core_data: Core = app_data.cores["gambatte_libetro"] + #print (core_data.name) + #for property: CoreProperty in core_data.properties: + #print("Cheevos: ", property.cheevos) + #print("Cheevos Hardcore: ", property.cheevos_hardcore) + #print("Quick Resume: ", property.quick_resume) + #print("Rewind: ", property.rewind) + #print("Borders: ", property.borders) + #print("Widescreen: ", property.widescreen) + #print("ABXY_button:", property.abxy_button) + for key in app_data.emulators.keys(): + var emulator = app_data.emulators[key] + # Display the properties of each emulator + print("System Name: ", emulator.name) + #print("Description: ", emulator.description) + #print("System: ", emulator.systen) + #print("Help URL: ", emulator.url) + #print("Properties:") + for property: EmulatorProperty in emulator.properties: + #print("Cheevos: ", property.cheevos) + #print("Borders: ", property.borders) + print("ABXY_button:", property.abxy_button) + #print("multi_user_config_dir: ", property.multi_user_config_dir) + + for key in app_data.cores.keys(): + var core = app_data.cores[key] + print("Core Name: ", core.name) + #print("Description: ", core.description) + #print("Properties:") + for property: CoreProperty in core.properties: + #print("Cheevos: ", property.cheevos) + #print("Cheevos Hardcore: ", property.cheevos_hardcore) + #print("Quick Resume: ", property.quick_resume) + #print("Rewind: ", property.rewind) + #print("Borders: ", property.borders) + #print("Widescreen: ", property.widescreen) + print("ABXY_button:", property.abxy_button) + else: + print ("No emulators") + +func slider_function(value: float, slide: HSlider) -> void: + volume_effects = int(slide.value) + data_handler.change_cfg_value(config_file_path, "volume_effects", "options", str(slide.value)) + +func run_function(button: Button, preset: String) -> void: + if button.button_pressed: + update_global(button, preset, true) + else: + update_global(button, preset, false) + +func update_global(button: Button, preset: String, state: bool) -> void: + #TODO pass state as an object in future version + var result: Array + var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) + match button.name: + "quick_resume_button", "retroarch_quick_resume_button": + quick_resume_status = state + result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state)) + change_global(result, "build_preset_config", button, str(quick_resume_status)) + "update_notification_button": + update_check = state + result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) + change_global(result, "build_preset_config", button, str(result)) + "sound_button": + sound_effects = state + result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) + logger("i", "Enabled: %s" % (button.name)) + update_global_signal.emit([button.name]) + "button_swap_button": + if abxy_state != "mixed": + abxy_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, abxy_state) + "ask_to_exit_button": + if ask_to_exit_state != "mixed": + ask_to_exit_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, ask_to_exit_state) + "border_button": + if border_state != "mixed": + border_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, border_state) + if widescreen_state == "true" or widescreen_state == "mixed": + config_section = data_handler.get_elements_in_section(config_file_path, "widescreen") + widescreen_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "widescreen", widescreen_state) + change_global(result, "build_preset_config", button, widescreen_state) + "widescreen_button": + if widescreen_state != "mixed": + widescreen_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, widescreen_state) + if border_state == "true" or border_state == "mixed": + config_section = data_handler.get_elements_in_section(config_file_path, "borders") + border_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "borders", border_state) + change_global(result, "build_preset_config", button, border_state) + "quick_rewind_button": + if quick_rewind_state != "mixed": + quick_rewind_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, quick_rewind_state) + "cheevos_button": + if cheevos_state != "mixed": + cheevos_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, quick_rewind_state) + +func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: + #print (parameters) + match parameters[1]: + preset_list: + for system in parameters[0].keys(): + var command_parameter: Array = [preset, system, parameters[1]] + logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) + var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Exit code: %s" % result["exit_code"]) + _: + var command_parameter: Array = [preset, parameters] + logger("d", "Change Global: %s System: %s" % command_parameter) + var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Exit code: %s" % result["exit_code"]) + parameters.append(button) + parameters.append(state) + update_global_signal.emit(parameters) + +func extract_text(file_path: String, extract: String) -> String: + var file = FileAccess.open(file_path, FileAccess.ModeFlags.READ) + var pattern: String + if file: + var regex = RegEx.new() + if extract != "esde": + pattern = extract + '="([^"]+)"' + else: + pattern = '' + regex.compile(pattern) + while not file.eof_reached(): + var line: String = file.get_line().strip_edges() + var result: RegExMatch = regex.search(line) + if result: + return result.get_string(1) + file.close() + else: + logger("e", "Could not open file: %s" % file_path) + return "" + +func _on_button_released(progress: ProgressBar) -> void: + is_state_pressed = false + progress.visible = false + press_time = 0.0 + progress.value = 0.0 + current_button = null + current_progress = null + current_state == null + +func _do_action(progress: ProgressBar, button: Button, state: String) -> void: + match [class_functions.button_list]: + [class_functions.button_list]: + current_state = state + current_button = button + current_progress = progress + current_progress.visible = true + is_state_pressed = true + +func _do_complete(button: Button) ->void: + #TODO use object for state + if is_state_pressed and button == current_button: + match button.name: + "button_swap_button": + class_functions.abxy_state = "false" + "ask_to_exit_button": + class_functions.ask_to_exit_state = "false" + "border_button": + class_functions.border_state = "false" + "widescreen_button": + class_functions.widescreen_state = "false" + "quick_rewind_button": + class_functions.quick_rewind_state = "false" + "cheevos_button": + class_functions.cheevos_state = "false" + "cheevos_hardcore_button": + class_functions.cheevos_hardcore_state = "false" + "reset_retrodeck_button": + var dir = DirAccess.open(class_functions.rd_conf.get_base_dir()) + if dir is DirAccess: + dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") + dir.remove(class_functions.lockfile) + class_functions.change_global(["reset", "retrodeck"], "prepare_component", button, "") + button.text = "RESETTING-NOW" + await class_functions.wait(2.0) + button.text = "CONFIGURATOR WILL NOW CLOSE" + await class_functions.wait(1.0) + get_tree().quit() + "reset_all_emulators_button": + var tmp_txt = button.text + button.text = "RESETTING-NOW" + class_functions.change_global(["reset", "all"], "prepare_component", button, "") + await class_functions.wait(2.0) + button.text = "RESET COMPLETED" + await class_functions.wait(3.0) + button.text = tmp_txt + button.toggle_mode = true diff --git a/tools/configurator/controller_guide.gd b/tools/configurator/scripts/controller_guide.gd similarity index 94% rename from tools/configurator/controller_guide.gd rename to tools/configurator/scripts/controller_guide.gd index dda49c18..753efc99 100644 --- a/tools/configurator/controller_guide.gd +++ b/tools/configurator/scripts/controller_guide.gd @@ -1,6 +1,6 @@ extends PanelContainer -func _process(delta): +func _process(_delta): # TODO hack. Use state machine? if %action_gridcontainer.visible == true: if Input.is_action_pressed("back_button"): diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 2b24a79c..bcd17b92 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -34,7 +34,7 @@ func load_base_data() -> AppData: var emulator = Emulator.new() emulator.name = emulator_data["name"] emulator.description = emulator_data["description"] - emulator.url = emulator_data["url"] + #emulator.url = emulator_data["url"] #emulator.system = emulator_data["system"] emulator.launch = emulator_data["launch"] if emulator_data.has("properties"): @@ -61,6 +61,7 @@ func load_base_data() -> AppData: if core_data.has("properties"): for property_data in core_data["properties"]: #print (core.name,"----",property_data) + # inherit from RetroArch var property = CoreProperty.new() property.cheevos = true property.cheevos_hardcore = true @@ -82,9 +83,9 @@ func load_base_data() -> AppData: app_dict.cores = cores return app_dict else: - print("Error parsing JSON") + class_functions.logger("d","Error parsing JSON ") else: - print("Error opening file") + class_functions.logger("d","Error opening file: " + file) get_tree().quit() return null @@ -157,7 +158,6 @@ func save_base_data(app_dict: AppData): file = FileAccess.open(data_file_path, FileAccess.WRITE) file.store_string(json_text) file.close() - print("Data appended successfully") # Function to modify an existing link func modify_link(key: String, new_name: String, new_url: String, new_description: String): @@ -231,27 +231,22 @@ func parse_config_to_json(file_path: String) -> Dictionary: var current_section = "" var file = FileAccess.open(file_path, FileAccess.READ) if file == null: - print("Failed to open file") + class_functions.logger("e","Failed to open file: " + file_path) return config - while not file.eof_reached(): var line = file.get_line().strip_edges() if line.begins_with("[") and line.ends_with("]"): - # Start a new section current_section = line.substr(1, line.length() - 2) config[current_section] = {} elif line != "" and not line.begins_with("#"): - # Add key-value pair to the current section var parts = line.split("=") if parts.size() == 2: var key = parts[0].strip_edges() var value = parts[1].strip_edges() - # Convert value to proper type if value == "true": value = true elif value == "false": value = false - if key == "version": config[key] = value else: @@ -271,4 +266,93 @@ func config_save_json(config: Dictionary, json_file_path: String) -> void: file.store_string(json_string) file.close() else: - print("Failed to open JSON file for writing") + class_functions.logger("e", "File not found: %s" % json_file_path) + +func read_cfg_file(file_path: String) -> Array: + var lines: Array = [] + var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.READ) + if file: + while not file.eof_reached(): + var line: String = file.get_line() + lines.append(line) + file.close() + else: + class_functions.logger("e", "File not found: %s" % file_path) + return lines + +func write_cfg_file(file_path: String, lines: Array, changes: Dictionary) -> void: + var file: FileAccess = FileAccess.open(file_path, FileAccess.ModeFlags.WRITE) + var current_section: String = "" + var line_count: int = lines.size() + for i in line_count: + var line: String = lines[i] + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]")# trimmed_line.trim_prefix("["].trim_suffix("]") + file.store_line(line) + elif "=" in trimmed_line and current_section in changes: + var parts: Array = trimmed_line.split("=", false) + if parts.size() == 2: + var key: String = parts[0].strip_edges() + var original_value: String = parts[1].strip_edges() + if key in changes[current_section]: + var new_value: String = changes[current_section][key] + if new_value != original_value: + file.store_line("%s=%s" % [key, new_value]) + class_functions.logger("i", "Changed %s in section [%s] from %s to %s" % [key, current_section, original_value, new_value]) + else: + file.store_line(line) + else: + file.store_line(line) + else: + file.store_line(line) + else: + file.store_line(line) + if i == line_count - 2: + break + file.close() + +func change_cfg_value(file_path: String, system: String, section: String, new_value: String) -> Array: + var lines: Array = read_cfg_file(file_path) + var parameters: Array =[system, section] + var changes: Dictionary = {} + changes[section] = {system: new_value} + class_functions.logger("i", "Change: System: %s Section %s New Value: %s" % [system, section, new_value]) + write_cfg_file(file_path, lines, changes) + return parameters + +func change_all_cfg_values(file_path: String, systems: Dictionary, section: String, new_value: String) -> Array: + var lines: Array = read_cfg_file(file_path) + var parameters: Array =[systems, section] + var changes: Dictionary = {} + var current_section: String + for line in lines: + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + if current_section == section: + changes[current_section] = {} + elif "=" in trimmed_line and current_section == section: + var parts: Array = trimmed_line.split("=", false) + if parts.size() >= 2: + var key: String = parts[0].strip_edges() + changes[section][key] = new_value + class_functions.logger("i", "Change: Systems: %s Section %s New Value: %s" % [systems, section, new_value]) + write_cfg_file(file_path, lines, changes) + return parameters + +func get_elements_in_section(file_path: String, section: String) -> Dictionary: + var lines: Array = read_cfg_file(file_path) + var elements: Dictionary = {} + var current_section: String = "" + for line in lines: + var trimmed_line: String = line.strip_edges() + if trimmed_line.begins_with("[") and trimmed_line.ends_with("]"): + current_section = trimmed_line.trim_prefix("[").trim_suffix("]") + elif "=" in trimmed_line and current_section == section: + var parts: Array = trimmed_line.split("=", false) + if parts.size() >= 2: + var key: String = parts[0].strip_edges() + var value: String = parts[1].strip_edges() + elements[key] = value + return elements diff --git a/tools/configurator/scripts/helper_text.gd b/tools/configurator/scripts/helper_text.gd new file mode 100644 index 00000000..0b60b35a --- /dev/null +++ b/tools/configurator/scripts/helper_text.gd @@ -0,0 +1,13 @@ +extends Label + +@onready var helper_text_node = self + +func _ready(): + # Connect the signal that gets fired on every focus change + get_viewport().connect("gui_focus_changed", _on_focus_changed) + +func _on_focus_changed(selected_element:Control) -> void: + if selected_element != null and selected_element.has_meta("rekku"): + #helper_text_node.text = selected_element.get_meta("rekku") + %pop_rtl.visible = true + %pop_rtl.text = selected_element.get_meta("rekku") diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd new file mode 100644 index 00000000..e1521e63 --- /dev/null +++ b/tools/configurator/scripts/main.gd @@ -0,0 +1,253 @@ +extends Control + +@onready var bios_type:int +var custom_theme: Theme +var log_option: OptionButton +var tab_container: TabContainer +var anim_logo: AnimatedSprite2D +var a_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0042.png") +var b_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0043.png") +var l1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0797.png") +var r1_button_texture: Texture2D = load("res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png") +var style_box_original: StyleBox = preload("res://assets/themes/default_theme.tres::StyleBoxFlat_0ahfc") +var font_size: int = 20 + +func _ready(): + _get_nodes() + _connect_signals() + _play_main_animations() + _set_up_globals([]) + custom_theme = get_tree().current_scene.custom_theme + $".".theme = custom_theme + if class_functions.locale == "automatic": + %locale_option.selected = class_functions.map_locale_id(OS.get_locale_language()) + %rd_title.text += class_functions.title + class_functions.logger("i","Started Godot configurator") + #class_functions.display_json_data() + # set current startup tab to match IDE + tab_container.current_tab = 0 + #add_child(class_functions) # Needed for threaded results Not need autoload? + var children = findElements(self, "Control") + for n: Control in children: #iterate the children + if (n.focus_mode == FOCUS_ALL): + n.mouse_entered.connect(_on_control_mouse_entered.bind(n)) #grab focus on mouse hover + if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled + n.self_modulate.a = 0.5 #make it half transparent + #combine_tkeys() + change_font(class_functions.font_select) + +func _input(event): + if Input.is_action_pressed("quit1") and Input.is_action_pressed("quit2"): + _exit() + if Input.is_action_pressed("next_tab"): + %r1_button.texture_normal = %r1_button.texture_pressed + elif Input.is_action_pressed("previous_tab"): + %l1_button.texture_normal = %l1_button.texture_pressed + elif Input.is_action_pressed("back_button"): + %b_button.texture_normal = %b_button.texture_pressed + elif Input.is_action_pressed("action_button"): + %a_button.texture_normal = %a_button.texture_pressed + else: + %r1_button.texture_normal = r1_button_texture + %l1_button.texture_normal = l1_button_texture + %a_button.texture_normal = a_button_texture + %b_button.texture_normal = b_button_texture + if event.is_action_pressed("quit"): + _exit() + +func _exit(): + class_functions.logger("i","Exited Godot configurator") + get_tree().root.propagate_notification(NOTIFICATION_WM_CLOSE_REQUEST) + get_tree().quit() + +func _get_nodes() -> void: + tab_container = get_node("%TabContainer") + anim_logo = get_node("%logo_animated") + log_option = get_node("%logs_button") + +func _connect_signals() -> void: + #signal_theme_changed.connect(_conf_theme) + %font_optionbutton.item_selected.connect(change_font) + log_option.item_selected.connect(_load_log) + %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) + %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) + %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) + %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) + %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) + class_functions.update_global_signal.connect(_set_up_globals) + +func _load_log(index: int) -> void: + var log_content:String + match index: + 1: + class_functions.logger("i","Loading RetroDeck log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retrodeck.log") + load_popup("RetroDeck Log", "res://components/popup.tscn", log_content) + 2: + class_functions.logger("i","Loading ES-DE log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/ES-DE/es_log.txt") + load_popup("ES-DE Log", "res://components/popup.tscn",log_content) + 3: + class_functions.logger("i","Loading RetroArch log") + log_content = class_functions.import_text_file(class_functions.rd_log_folder +"/retroarch/logs/log.txt") + load_popup("Retroarch Log", "res://components/popup.tscn",log_content) + +func _play_main_animations() -> void: + anim_logo.play() + +func _hide_show_containers(button: Button, grid_container: GridContainer) -> void: + match button.name: + "decorations_button", "systems_button": + grid_container.visible = true + if button.toggle_mode: + button.toggle_mode=false + grid_container.visible = false + else: + button.toggle_mode=true + +# TODO Pass GridContainer(might need 2?) as above +# TODO load existing settings or default to enable all +func _hide_show_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: + match button.name: + "borders_button", "button_layout": + buttons_gridcontainer.visible = true + if button.toggle_mode == false: + for i in range(buttons_gridcontainer.get_child_count()): + var child = buttons_gridcontainer.get_child(i) + child.button_pressed=true + for i in range(hidden_gridcontainer.get_child_count()): + var child = hidden_gridcontainer.get_child(i) + if child is Button and child != button: + child.visible=false + elif button.toggle_mode == true and %borders_gridcontainer.visible == true: + buttons_gridcontainer.visible = false + #button.toggle_mode = false + for i in range(hidden_gridcontainer.get_child_count()): + var child = hidden_gridcontainer.get_child(i) + if child is Button: + child.visible=true + child.toggle_mode = false + button.toggle_mode = true + +func findElements(node: Node, className: String, result: Array = []) -> Array: + if node.is_class(className): + result.push_back(node) + for child in node.get_children(): + result = findElements(child, className, result) + return result + +func _on_control_mouse_entered(control: Node): + control.grab_focus() + +func load_popup(title:String, content_path:String, display_text: String): + var popup = load("res://components/popup.tscn").instantiate() as Control + popup.set_title(title) + popup.set_content(content_path) + popup.set_display_text(display_text) + $Background.add_child(popup) + +func _on_bios_button_pressed(): + _play_main_animations() + bios_type = 1 + class_functions.logger("i","Bios Check") + load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") + bios_type = 0 + +func _on_bios_button_expert_pressed(): + _play_main_animations() + bios_type = 2 + class_functions.logger("i","Advanced Bios Check") + load_popup("BIOS File Check", "res://components/bios_check/bios_popup_content.tscn","") + bios_type = 0 + +func _on_exit_button_pressed(): + _play_main_animations() + _exit() + _exit() + +#func _on_locale_selected(index): + #match index: + #0: + #TranslationServer.set_locale("en") + #_: + #TranslationServer.set_locale("en") + #combine_tkeys() + +#func combine_tkeys(): #More as a test + #pass + #%cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") # switched to access as a unique name as easier to refactor + #$Background/MarginContainer/TabContainer/TK_SYSTEM/ScrollContainer/VBoxContainer/HBoxContainer/GridContainer/cheats.text = tr("TK_CHEATS") + " " + tr("TK_SOON") + #%tate_mode.text = tr("TK_TATE") + " " + tr("TK_SOON") + #%hotkey_sound.text = tr("TK_HOTKEYSOUND") + " " + tr("TK_SOON") + #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/cheevos_container/cheevos_advanced_container/cheevos_hardcore.text = tr("TK_CHEEVOSHARDCORE") + " " + tr("TK_SOON") + #$Background/MarginContainer/TabContainer/TK_NETWORK/ScrollContainer/VBoxContainer/data_mng_container/saves_sync.text = tr("TK_SAVESSYNC") + " " + tr("TK_SOON") + #$Background/MarginContainer/TabContainer/TK_CONFIGURATOR/ScrollContainer/VBoxContainer/system_container/easter_eggs.text = tr("TK_EASTEREGGS") + " " + tr("TK_SOON") + +func _set_up_globals(state: Array) -> void: + #TODO on initial run pass array date? + #print (state) + %update_notification_button.button_pressed = class_functions.update_check + %quick_resume_button.button_pressed = class_functions.quick_resume_status + %retroarch_quick_resume_button.button_pressed = class_functions.quick_resume_status + %sound_button.button_pressed = class_functions.sound_effects + %volume_effects_slider.visible = class_functions.sound_effects + mixed_mode(%button_swap_button, class_functions.abxy_state) + mixed_mode(%ask_to_exit_button, class_functions.ask_to_exit_state) + mixed_mode(%border_button, class_functions.border_state) + mixed_mode(%widescreen_button, class_functions.widescreen_state) + mixed_mode(%quick_rewind_button, class_functions.quick_rewind_state) + mixed_mode(%cheevos_button, class_functions.cheevos_state) + if class_functions.cheevos_state == "true": + %cheevos_login_container.visible = true + else: + %cheevos_login_container.visible = false + +func mixed_mode (button: Button, state: String) -> void: + match [class_functions.button_list]: + [class_functions.button_list]: + if state == "true": + button.button_pressed = true + button.add_theme_stylebox_override("normal", style_box_original) + elif state == "false": + button.button_pressed = false + button.add_theme_stylebox_override("normal", style_box_original) + elif state == "mixed": + mixed_status(button) + +func mixed_status (button: Button) -> void: + button.button_pressed = false + button.toggle_mode = false + var style_box = StyleBoxFlat.new() + style_box.bg_color = Color(0.941, 0.502, 0, 1) + style_box.border_color = Color(0.102, 0.624, 1, 1) + style_box.border_blend = true + style_box.corner_radius_top_left = 25 + style_box.corner_radius_top_right = 25 + style_box.corner_radius_bottom_right = 25 + style_box.corner_radius_bottom_left = 25 + style_box.border_width_left = 15 + style_box.border_width_top = 15 + style_box.border_width_right = 15 + style_box.border_width_bottom = 15 + button.add_theme_stylebox_override("normal", style_box) + +func change_font(index: int) -> void: + var font_file: FontFile + match index: + 1: + font_file = load("res://assets/fonts/munro/munro.ttf") + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + font_size = 30 + 2: + font_file = load("res://assets/fonts/akrobat/Akrobat-Regular.otf") + %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) + font_size = 25 + 3: + font_file = load("res://assets/fonts/OpenDyslexic3/OpenDyslexic3-Regular.ttf") + %TabContainer.add_theme_font_size_override("font_size", 15) + font_size = 16 + custom_theme = load("res://assets/themes/default_theme.tres") + custom_theme.set_font("font", "Control", font_file) + custom_theme.default_font_size = font_size + $".".theme = custom_theme + data_handler.change_cfg_value(class_functions.config_file_path, "font", "options", str(index)) diff --git a/tools/configurator/scripts/retrodeck.gd b/tools/configurator/scripts/retrodeck.gd new file mode 100644 index 00000000..4f0203ac --- /dev/null +++ b/tools/configurator/scripts/retrodeck.gd @@ -0,0 +1,17 @@ +extends Sprite2D + +@export var rotation_speed: float = 45.0 +@export var speed = 400 +const SCALE_MIN = 0.01 +const SCALE_MAX = 0.35 +const SCALE_SPEED = 0.5 +var scale_direction = 1.0 + +func _process(delta) -> void: + # Rotate the sprite + rotation_degrees += rotation_speed * delta + var new_scale = scale + Vector2(scale_direction, scale_direction) * SCALE_SPEED * delta + if new_scale.x < SCALE_MIN or new_scale.x > SCALE_MAX: + scale_direction *= -1 # Reverse direction if scale limit is reached + else: + scale = new_scale diff --git a/tools/configurator/tk_about.gd b/tools/configurator/tk_about.gd deleted file mode 100644 index cf107e8c..00000000 --- a/tools/configurator/tk_about.gd +++ /dev/null @@ -1,94 +0,0 @@ -extends MarginContainer - -var rd_web_button := Button.new() -var rd_changelog_button := Button.new() -var rd_wiki_button := Button.new() -var rd_credits_button := Button.new() -var rd_donate_button := Button.new() -var rd_contactus_button := Button.new() -var rd_licenses_button := Button.new() -var app_data := AppData.new() -var bArray :Array = [rd_web_button,rd_changelog_button,rd_wiki_button, -rd_credits_button,rd_donate_button,rd_contactus_button,rd_licenses_button] - -func _ready(): - #tk_about = class_functions.import_csv_data("res://tk_about.txt") - _connect_signals() - create_buttons() - -func _connect_signals() -> void: - rd_web_button.pressed.connect(_about_button_pressed.bind("rd_web", rd_web_button)) - rd_changelog_button.pressed.connect(_about_button_pressed.bind("rd_changelog", rd_changelog_button)) - rd_wiki_button.pressed.connect(_about_button_pressed.bind("rd_wiki",rd_wiki_button)) - rd_credits_button.pressed.connect(_about_button_pressed.bind("rd_credits", rd_credits_button)) - rd_donate_button.pressed.connect(_about_button_pressed.bind("rd_donate", rd_donate_button)) - rd_contactus_button.pressed.connect(_about_button_pressed.bind("rd_contactus", rd_contactus_button)) - rd_licenses_button.pressed.connect(_about_button_pressed.bind("rd_licenses", rd_licenses_button)) - -func _about_button_pressed(id: String, button: Button) -> void: - match id: - "rd_web", "rd_changelog", "rd_wiki", "rd_credits", "rd_donate", "rd_contactus", "rd_licenses": - class_functions.log_parameters[2] = class_functions.log_text + "Loading website for " + id - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - OS.shell_open(button.editor_description) - _: - class_functions.log_parameters[2] = class_functions.log_text + "Loading website - no matching ID found" - class_functions.execute_command(class_functions.wrapper_command,class_functions.log_parameters, false) - print ("Website ID/Link not found") - -func create_buttons() -> void: - app_data = data_handler.app_data - for button in bArray: - %GridContainer.add_child(button) - for id in app_data.about_links: - var web_data: Link = app_data.about_links[id] - match id: - "rd_web": - rd_web_button.text = web_data.name - rd_web_button.tooltip_text = web_data.description - rd_web_button.icon = ResourceLoader.load(web_data.icon) - rd_web_button.editor_description = web_data.url - rd_web_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_web_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_changelog": - rd_changelog_button.text = web_data.name - rd_changelog_button.tooltip_text = web_data.description - rd_changelog_button.icon = ResourceLoader.load(web_data.icon) - rd_changelog_button.editor_description = web_data.url - rd_changelog_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_changelog_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_wiki": - rd_wiki_button.text = web_data.name - rd_wiki_button.tooltip_text = web_data.description - rd_wiki_button.icon = ResourceLoader.load(web_data.icon) - rd_wiki_button.editor_description = web_data.url - rd_wiki_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_wiki_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_credits": - rd_credits_button.text = web_data.name - rd_credits_button.tooltip_text = web_data.description - rd_credits_button.icon = ResourceLoader.load(web_data.icon) - rd_credits_button.editor_description = web_data.url - rd_credits_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_credits_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_donate": - rd_donate_button.text = web_data.name - rd_donate_button.tooltip_text = web_data.description - rd_donate_button.icon = ResourceLoader.load(web_data.icon) - rd_donate_button.editor_description = web_data.url - rd_donate_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_donate_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_contactus": - rd_contactus_button.text = web_data.name - rd_contactus_button.tooltip_text = web_data.description - rd_contactus_button.icon = ResourceLoader.load(web_data.icon) - rd_contactus_button.editor_description = web_data.url - rd_contactus_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_contactus_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP - "rd_licenses": - rd_licenses_button.text = web_data.name - rd_licenses_button.tooltip_text = web_data.description - rd_licenses_button.icon = ResourceLoader.load(web_data.icon) - rd_licenses_button.editor_description = web_data.url - rd_licenses_button.icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - rd_licenses_button.vertical_icon_alignment = VERTICAL_ALIGNMENT_TOP diff --git a/tools/configurator/tk_about.txt b/tools/configurator/tk_about.txt index b40c235b..8683f08c 100644 --- a/tools/configurator/tk_about.txt +++ b/tools/configurator/tk_about.txt @@ -5,4 +5,4 @@ rd_wiki,https://retrodeck.readthedocs.io/en/latest/,Opens the RetroDECK Wiki in rd_credits,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK Credits in your default browser rd_donate,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens Donations in your default browser rd_contactus,https://github.com/XargonWan/RetroDECK,Opens the RetroDECK contact us section in your default browser -rd_licenses,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK licenses in your default browser \ No newline at end of file +rd_licenses,https://retrodeck.readthedocs.io/en/latest/wiki_credits/donations-licenses/,Opens the RetroDECK licenses in your default browser From 7ca5087674cb00f9a2f769afa3e79f9e88349710 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 18:12:24 +0100 Subject: [PATCH 61/74] Tidying up --- .../retrodeck/reference_lists/features.json | 1 + .../assets/wiki_content/configurator.md | 171 ++++++++++++++++++ .../components/bios_check/bios_check.gd | 5 +- .../bios_check/bios_popup_content.tscn | 20 +- tools/configurator/main.tscn | 5 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 ++++----- tools/configurator/scripts/TabSettings.gd | 3 +- tools/configurator/scripts/TabSystem.gd | 1 + tools/configurator/scripts/data_handler.gd | 4 +- tools/configurator/scripts/main.gd | 2 +- 10 files changed, 240 insertions(+), 56 deletions(-) create mode 100644 tools/configurator/assets/wiki_content/configurator.md diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 6da76574..44dfad7b 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -1131,6 +1131,7 @@ "portmaster": { "description": "PortMaster", "name": "PortMaster", + "url": "https://retrodeck.readthedocs.io/en/latest/wiki_about/what-is-retrodeck/", "system": "portmaster", "launch": "PortMaster" } diff --git a/tools/configurator/assets/wiki_content/configurator.md b/tools/configurator/assets/wiki_content/configurator.md new file mode 100644 index 00000000..2d7dda67 --- /dev/null +++ b/tools/configurator/assets/wiki_content/configurator.md @@ -0,0 +1,171 @@ +# The RetroDECK Configurator + +**Please note that we are going to rebuild the Configurator into a controller friendly GODOT application and that the current version is not the final design.** + + + +The `RetroDECK Configurator` is a unique multi-use utility that exists within RetroDECK to manage many aspects of the application and exposes functions from the `RetroDECK Framework` to the user. + +The `RetroDECK Configurator` can be opened from: + +- The main menu inside the ES-DE interface and choose `RetroDECK Configurator`. + + + +* From the `RetroDECK Configurator.desktop` desktop shortcut, available in your application menu. + + + +* From CLI by calling `flatpak run net.retrodeck.retrodeck --configurator` + +What follows are the commands you can use inside the Configurator (more commands will be added during development). + +## Presets & Settings +In this menu you can set various presets. + +#### Widescreen: Enable/Disable +Enables or disables Widescreen in all supported emulators and cores. + +#### Ask to Exit prompt: Enable/Disable +Enables or disables ask to exit prompts in all supported emulators and cores. +Note: If you disable this, the emulators will directly exit. + +### Global: Presets & Settings +In this menu you will find presets and settings that span over multiple emulators. + +#### RetroAchivements: Login +Login to RetroAchievements in all supported emulators and cores. + +#### RetroAchivements: Logut +Logut from RetroAchievements in all supported emulators and cores. + +#### RetroAchivements: Hardcore Mode +Enables `Hardcore Mode` from RetroAchievements in all supported emulators and cores. + +#### Swap A/B and X/Y: Enable/Disable +Swaps `A/B` `X/Y` in supported emulators and cores. + +#### Quick Resume: Enable/Disable +Enables `Quick Resume` aka `Auto Save` + `Auto Load` on exit in supported emulators and cores. + +### RetroArch: Presets & Settings +In this menu you will find presets and settings for RetroArch. + +#### Borders: Enable/Disable +Enable / Disable borders across the RetroArch cores you choose. + +#### Rewind: Enable/Disable +Enable / Disable rewind across all of RetroArch (this may impact performance on some more demanding systems). + +### Wii & Gamecube: Presets & Settings +In this menu you will find presets and settings for Dolphin and Primehack. + + + +#### Dolphin Textures: Universal Dynamic Input +Enable / Disable Venomalias's Universal Dynamic Input Texture for Dolphin. + + + +#### Primehack Textures: Universal Dynamic Input +Enable / Disable Venomalias's Universal Dynamic Input Texture for Primehack. + + + +## Open Emulator + +Here you launch and configure each emulator's settings, the option you choose will open that emulators GUI. For documentation on how to change the settings of each emulator's settings please check the website of each emulator. + +(Please note that most of the emulator interfaces where not designed with controller input in mind for handling the applications GUI, just the games. You might need to use other inputs like the Steam Decks touchscreen or a mouse and keyboard to navigate properly). + + +## RetroDECK: Tools + + +### Tool: Remove empty ROM folders + +This tool removes all the roms folders under retrodeck/roms/ that are empty to only leave those that are populated with content. + +### Tool: Rebuild all ROM folders + +This tool rebuilds rom folders you have accidentally removed or used the `Remove empty ROM folders` tool. + +### Tool: Move files +This option lets you choose the installation path of the RetroDECK folder that handles ROMS, Saves, BIOS, etc... to a new location. +You get the following three options. + +`Internal Storage` - Moves the folder to the internal storage. +`SD CARD` - Moves the folder to the SD CARD +`Custom Location` - Choose where you want the RetroDECK folder to be. + + + +### Tool: Compress games +This option enables you to compress disc-based game image files `.gdi` `.iso` `.bin` `.cue` to the less space demanding `.chd` format. +You can choose either a single game or many. + + + +### Install: RetroDECK SD Controller Profile +This option installs the Steam controller profiles that RetroDECK into Steam. + + +### Install: PS3 Firmware +This option downloads and installs the latest PS3 firmware. At the end of the download, RPCS3 will open requesting the user to install it (just press OK). + + + +### RetroDECK: Change update settings (cooker only) +This option lets you turn on or off automatic updates on launch. + + + +## RetroDECK: Troubleshooting +Various troubleshooting options. + + +### Backup: RetroDECK Userdata +Creates backups of the user data folders + + + +### Check & Verify: Multi-file structure +Verifies the structure of multi disc/file games that uses `.m3u` files. + + + +### Check & Verify: BIOS +Shows a detailed BIOS list of missing and current BIOS. + + + +### RetroDECK: Reset +The reset menu resets various features + + + +#### Reset Specific Emulator +Opens a menu where you can reset a specific emulator + + +#### Reset All Emulators +Resets all the emulators at once + + + +#### Reset RetroDECK +Resets the entirety of RetroDECK. +`⚠️ WARNING! BACK UP YOUR DATA BEFORE RUNNING THIS! ⚠️` + + + +## RetroDECK: About +This menu contains information about RetroDECK + +### Version history +Displays the changelogs + + + +### Credits +Displays the credits diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index a6c14f17..e60ce5bd 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -8,8 +8,10 @@ var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash Match", " @onready var custom_theme: Theme = get_tree().current_scene.custom_theme func _ready(): + #var font_size = get_theme_font_size("font") + #custom_theme.default_font_size = 16 $".".theme = custom_theme - var table := $Table + var table: Tree = %Table if bios_type == 1: #Basic BIOS button pressed table.columns = BIOS_COLUMNS_BASIC.size() for i in BIOS_COLUMNS_BASIC.size(): @@ -20,7 +22,6 @@ func _ready(): table.set_column_title(i, BIOS_COLUMNS_EXPERT[i]) var root = table.create_item() table.hide_root = true - if bios_type == 1: #Basic BIOS button pressed var parameters = ["check_bios_files","basic"] bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) diff --git a/tools/configurator/components/bios_check/bios_popup_content.tscn b/tools/configurator/components/bios_check/bios_popup_content.tscn index c82780ac..8eaad1aa 100644 --- a/tools/configurator/components/bios_check/bios_popup_content.tscn +++ b/tools/configurator/components/bios_check/bios_popup_content.tscn @@ -1,26 +1,34 @@ -[gd_scene load_steps=2 format=3 uid="uid://bihon3xtx45y7"] +[gd_scene load_steps=3 format=3 uid="uid://bihon3xtx45y7"] [ext_resource type="Script" path="res://components/bios_check/bios_check.gd" id="1_qrkee"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8e2dh"] +bg_color = Color(0.133, 0.133, 0.133, 1) + [node name="PopupContent" type="Control"] top_level = true layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 -offset_right = -355.0 +offset_right = -1.0 offset_bottom = -71.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_qrkee") [node name="Table" type="Tree" parent="."] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 +unique_name_in_owner = true +clip_contents = false +layout_mode = 2 +offset_right = 1277.0 +offset_bottom = 723.0 grow_horizontal = 2 grow_vertical = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_font_sizes/font_size = 16 +theme_override_styles/panel = SubResource("StyleBoxFlat_8e2dh") columns = 5 column_titles_visible = true allow_reselect = true diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index e61cdab9..38d0e396 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,11 +253,12 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 0 +current_tab = 2 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 @@ -773,7 +774,6 @@ alignment = 1 expand_icon = true [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("50_wqa5h") metadata/_tab_index = 2 @@ -1609,6 +1609,7 @@ frame = 4 frame_progress = 1.0 [node name="side_logo" type="Control" parent="Background/SplitContainer"] +z_index = 4 layout_mode = 2 [node name="rekku" type="Control" parent="Background/SplitContainer/side_logo"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index c043db89..479f0466 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_tqsvy"] +[sub_resource type="Image" id="Image_6ruq1"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_tqsvy") +image = SubResource("Image_6ruq1") -[sub_resource type="Image" id="Image_7jqkq"] +[sub_resource type="Image" id="Image_j3lry"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_7jqkq") +image = SubResource("Image_j3lry") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_t35s3"] +[sub_resource type="Image" id="Image_g7c3w"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_t35s3") +image = SubResource("Image_g7c3w") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_l4ovu"] +[sub_resource type="Image" id="Image_wkum4"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_l4ovu") +image = SubResource("Image_wkum4") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_4qxng"] +[sub_resource type="Image" id="Image_aavfs"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_4qxng") +image = SubResource("Image_aavfs") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_yrid1"] +[sub_resource type="Image" id="Image_um2rs"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_yrid1") +image = SubResource("Image_um2rs") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_dvad3"] +[sub_resource type="Image" id="Image_mptsq"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_dvad3") +image = SubResource("Image_mptsq") -[sub_resource type="Image" id="Image_cdkbg"] +[sub_resource type="Image" id="Image_tmepe"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_cdkbg") +image = SubResource("Image_tmepe") -[sub_resource type="Image" id="Image_4x7uj"] +[sub_resource type="Image" id="Image_nne54"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_4x7uj") +image = SubResource("Image_nne54") -[sub_resource type="Image" id="Image_nvr8u"] +[sub_resource type="Image" id="Image_d1wtb"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_nvr8u") +image = SubResource("Image_d1wtb") -[sub_resource type="Image" id="Image_s2x2e"] +[sub_resource type="Image" id="Image_mff7l"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_s2x2e") +image = SubResource("Image_mff7l") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_1die0"] +[sub_resource type="Image" id="Image_8qk5l"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_1die0") +image = SubResource("Image_8qk5l") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_hc0ng"] +[sub_resource type="Image" id="Image_j8f56"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_hc0ng") +image = SubResource("Image_j8f56") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_b58s8"] +[sub_resource type="Image" id="Image_qwcja"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_b58s8") +image = SubResource("Image_qwcja") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_grieo"] +[sub_resource type="Image" id="Image_k0qjt"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_grieo") +image = SubResource("Image_k0qjt") -[sub_resource type="Image" id="Image_63mmi"] +[sub_resource type="Image" id="Image_c6aj2"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_63mmi") +image = SubResource("Image_c6aj2") -[sub_resource type="Image" id="Image_ytg3x"] +[sub_resource type="Image" id="Image_ntlde"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_ytg3x") +image = SubResource("Image_ntlde") -[sub_resource type="Image" id="Image_nffbk"] +[sub_resource type="Image" id="Image_5br02"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_nffbk") +image = SubResource("Image_5br02") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_qd4uq"] +[sub_resource type="Image" id="Image_6wo5a"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_qd4uq") +image = SubResource("Image_6wo5a") -[sub_resource type="Image" id="Image_gwa6g"] +[sub_resource type="Image" id="Image_qqods"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_gwa6g") +image = SubResource("Image_qqods") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_4nked"] +[sub_resource type="Image" id="Image_dawr8"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_4nked") +image = SubResource("Image_dawr8") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 1b0bc0f4..0818775e 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -14,7 +14,7 @@ func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) - #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + %cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) @@ -37,4 +37,3 @@ func cheevos(button: Button): await class_functions.run_thread_command(class_functions.wrapper_command,["change_preset_dialog", "cheevos"], false) set_process_input(true) $"../..".visible=true - print ("FIN?") diff --git a/tools/configurator/scripts/TabSystem.gd b/tools/configurator/scripts/TabSystem.gd index 5004abd4..733cbcd8 100644 --- a/tools/configurator/scripts/TabSystem.gd +++ b/tools/configurator/scripts/TabSystem.gd @@ -89,6 +89,7 @@ func _do_action(button: Button) -> void: match [button.name, current_system.name]: ["help_button", current_system.name]: if class_functions.desktop_mode != "gamescope": + print ("URL %s" %current_system.url) class_functions.logger("i", "Launching " + current_system.name + " Help") class_functions.launch_help(current_system.url) else: diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index bcd17b92..499f3b90 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -34,7 +34,9 @@ func load_base_data() -> AppData: var emulator = Emulator.new() emulator.name = emulator_data["name"] emulator.description = emulator_data["description"] - #emulator.url = emulator_data["url"] + print (emulator.name) + emulator.url = emulator_data["url"] + print (emulator.name +" : " +emulator.url) #emulator.system = emulator_data["system"] emulator.launch = emulator_data["launch"] if emulator_data.has("properties"): diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index e1521e63..91eccfa4 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -237,7 +237,7 @@ func change_font(index: int) -> void: 1: font_file = load("res://assets/fonts/munro/munro.ttf") %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) - font_size = 30 + font_size = 25 2: font_file = load("res://assets/fonts/akrobat/Akrobat-Regular.otf") %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) From c7c4bbd1b3546a01ed4d456900622169f5ca94cd Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 20:15:47 +0100 Subject: [PATCH 62/74] Pre Moving buttons! --- tools/configurator/components/popup.gd | 2 +- tools/configurator/main.tscn | 35 ++++++-- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/TabSettings.gd | 5 +- tools/configurator/scripts/class_functions.gd | 12 ++- tools/configurator/scripts/main.gd | 5 +- 6 files changed, 88 insertions(+), 55 deletions(-) diff --git a/tools/configurator/components/popup.gd b/tools/configurator/components/popup.gd index 4fc178b7..21611062 100644 --- a/tools/configurator/components/popup.gd +++ b/tools/configurator/components/popup.gd @@ -15,7 +15,7 @@ func _ready(): if (content != null and bios_type > 0): $Panel/MarginContainer/VBoxContainer/ContentContainer/MarginContainer.add_child(content) -func _process(delta): +func _process(_delta): if Input.is_action_pressed("back_button"): lbhide.visible=true rbhide.visible=true diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 38d0e396..ed309be2 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -253,7 +253,7 @@ unique_name_in_owner = true layout_mode = 2 theme_override_styles/tab_selected = SubResource("StyleBoxFlat_co0k7") tab_alignment = 1 -current_tab = 2 +current_tab = 3 script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] @@ -774,6 +774,7 @@ alignment = 1 expand_icon = true [node name="TOOLS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +visible = false layout_mode = 2 script = ExtResource("50_wqa5h") metadata/_tab_index = 2 @@ -956,7 +957,6 @@ disabled = true text = "TK_MULTIFILE" [node name="SETTINGS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] -visible = false layout_mode = 2 script = ExtResource("54_bxhvn") metadata/_tab_index = 3 @@ -970,6 +970,7 @@ layout_mode = 2 size_flags_horizontal = 3 [node name="system_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +visible = false layout_mode = 2 [node name="system_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] @@ -1095,6 +1096,7 @@ unique_name_in_owner = true visible = false layout_mode = 2 theme_override_constants/h_separation = 64 +columns = 2 [node name="cheevos_username_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] layout_mode = 2 @@ -1123,20 +1125,41 @@ placeholder_text = "password" secret = true secret_character = "*" -[node name="cheevos_hardcore" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +[node name="blank_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 5 + +[node name="cheevos_disconnect_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +layout_mode = 2 +text = "TK_NETPLAYCONNECT" + +[node name="cheevos_hardcore_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_CHEEVOSHARDCORE" +[node name="cheevos_hardcore_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_login_container/cheevos_hardcore_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="netplay_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 [node name="netplay" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] +custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_NETPLAY" -[node name="netplay_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] -layout_mode = 2 - [node name="netplay_id_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] layout_mode = 2 theme_override_constants/h_separation = 64 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 479f0466..08dc10f0 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_6ruq1"] +[sub_resource type="Image" id="Image_s2u7j"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_6ruq1") +image = SubResource("Image_s2u7j") -[sub_resource type="Image" id="Image_j3lry"] +[sub_resource type="Image" id="Image_ywuns"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_j3lry") +image = SubResource("Image_ywuns") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_g7c3w"] +[sub_resource type="Image" id="Image_t28ft"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_g7c3w") +image = SubResource("Image_t28ft") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_wkum4"] +[sub_resource type="Image" id="Image_qhyik"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_wkum4") +image = SubResource("Image_qhyik") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_aavfs"] +[sub_resource type="Image" id="Image_ekr2a"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_aavfs") +image = SubResource("Image_ekr2a") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_um2rs"] +[sub_resource type="Image" id="Image_h87ih"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_um2rs") +image = SubResource("Image_h87ih") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_mptsq"] +[sub_resource type="Image" id="Image_bj558"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_mptsq") +image = SubResource("Image_bj558") -[sub_resource type="Image" id="Image_tmepe"] +[sub_resource type="Image" id="Image_w5tx2"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_tmepe") +image = SubResource("Image_w5tx2") -[sub_resource type="Image" id="Image_nne54"] +[sub_resource type="Image" id="Image_yh7xd"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_nne54") +image = SubResource("Image_yh7xd") -[sub_resource type="Image" id="Image_d1wtb"] +[sub_resource type="Image" id="Image_yd56u"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_d1wtb") +image = SubResource("Image_yd56u") -[sub_resource type="Image" id="Image_mff7l"] +[sub_resource type="Image" id="Image_enhx0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_mff7l") +image = SubResource("Image_enhx0") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_8qk5l"] +[sub_resource type="Image" id="Image_f4rij"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_8qk5l") +image = SubResource("Image_f4rij") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_j8f56"] +[sub_resource type="Image" id="Image_7qt7v"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_j8f56") +image = SubResource("Image_7qt7v") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_qwcja"] +[sub_resource type="Image" id="Image_egl5k"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_qwcja") +image = SubResource("Image_egl5k") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_k0qjt"] +[sub_resource type="Image" id="Image_iapwv"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_k0qjt") +image = SubResource("Image_iapwv") -[sub_resource type="Image" id="Image_c6aj2"] +[sub_resource type="Image" id="Image_2dwu7"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_c6aj2") +image = SubResource("Image_2dwu7") -[sub_resource type="Image" id="Image_ntlde"] +[sub_resource type="Image" id="Image_m043m"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_ntlde") +image = SubResource("Image_m043m") -[sub_resource type="Image" id="Image_5br02"] +[sub_resource type="Image" id="Image_5ejur"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_5br02") +image = SubResource("Image_5ejur") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_6wo5a"] +[sub_resource type="Image" id="Image_gs0pd"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_6wo5a") +image = SubResource("Image_gs0pd") -[sub_resource type="Image" id="Image_qqods"] +[sub_resource type="Image" id="Image_ng2ns"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_qqods") +image = SubResource("Image_ng2ns") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_dawr8"] +[sub_resource type="Image" id="Image_knvok"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_dawr8") +image = SubResource("Image_knvok") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 0818775e..f96797de 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -14,10 +14,13 @@ func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) - %cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) + %cheevos_hardcore_button.button_down.connect(class_functions._do_action.bind(%cheevos_hardcore_progress, %cheevos_hardcore_button, class_functions.cheevos_hardcore_state)) + %cheevos_hardcore_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_hardcore_progress)) + %cheevos_hardcore_button.pressed.connect(class_functions.run_function.bind(%cheevos_hardcore_button, "cheevos_hardcore")) func _on_request_completed(_result, response_code, _headers, body): var response_text = JSON.parse_string(body.get_string_from_utf8()) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 4beefe5f..bc1c4808 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -37,7 +37,7 @@ var font_tab_size: int = 35 var font_size: int = 20 var locale: String enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind, cheevos, cheevos_hardcore} -var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button"] +var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button", "cheevos_hardcore_button"] signal update_global_signal var rekku_state: bool = false var press_time: float = 0.0 @@ -335,8 +335,14 @@ func update_global(button: Button, preset: String, state: bool) -> void: if cheevos_state != "mixed": cheevos_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, quick_rewind_state) - + change_global(result, "build_preset_config", button, cheevos_state) + + "cheevos_hardcore_button": + if cheevos_hardcore_state != "mixed": + cheevos_hardcore_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, cheevos_hardcore_state) + func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: #print (parameters) match parameters[1]: diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 91eccfa4..f03357b9 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -199,9 +199,10 @@ func _set_up_globals(state: Array) -> void: mixed_mode(%cheevos_button, class_functions.cheevos_state) if class_functions.cheevos_state == "true": %cheevos_login_container.visible = true - else: + elif class_functions.cheevos_state == "false": %cheevos_login_container.visible = false - + mixed_mode(%cheevos_hardcore_button, class_functions.cheevos_hardcore_state) + func mixed_mode (button: Button, state: String) -> void: match [class_functions.button_list]: [class_functions.button_list]: From 4d3c364ae58246610093881f13b00d5b42e18052 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 22:05:02 +0100 Subject: [PATCH 63/74] Rekku slides --- tools/configurator/main.tscn | 134 ++++++++++------------ tools/configurator/scripts/Rekku.gd | 13 ++- tools/configurator/scripts/TabGlobals.gd | 7 +- tools/configurator/scripts/TabSettings.gd | 4 + 4 files changed, 77 insertions(+), 81 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index ed309be2..6904769d 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -453,56 +453,6 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme_override_constants/icon_max_width = 64 -text = "RESET -RETRODECK" -icon = ExtResource("11_g1uhn") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_retrodeck_button"] -unique_name_in_owner = true -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") -show_percentage = false - -[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] -unique_name_in_owner = true -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -theme_override_constants/icon_max_width = 64 -text = "RESET ALL -EMULATORS" -icon = ExtResource("45_qxd26") -icon_alignment = 1 -vertical_icon_alignment = 0 -expand_icon = true - -[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/reset_all_emulators_button"] -unique_name_in_owner = true -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") -show_percentage = false - [node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 @@ -970,7 +920,6 @@ layout_mode = 2 size_flags_horizontal = 3 [node name="system_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] -visible = false layout_mode = 2 [node name="system_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] @@ -984,22 +933,23 @@ layout_mode = 2 unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +theme_override_constants/icon_max_width = 64 text = "AUTO UPDATES" icon = ExtResource("55_x32s4") alignment = 1 -expand_icon = true [node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +theme_override_constants/icon_max_width = 64 text = "SOUND EFFECTS" icon = ExtResource("9_qwq2k") alignment = 1 -expand_icon = true [node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true +visible = false custom_minimum_size = Vector2(0, 75) layout_mode = 2 min_value = 1.0 @@ -1012,8 +962,8 @@ tick_count = 25 unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +theme_override_constants/icon_max_width = 64 alignment = 1 -expand_icon = true selected = 0 item_count = 4 popup/item_0/text = "CHOOSE FONT" @@ -1030,23 +980,6 @@ popup/item_3/text = "OpenDyslexic3" popup/item_3/icon = ExtResource("56_ubqc2") popup/item_3/id = 2 -[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -disabled = true -text = "TK_MUSIC" -icon = ExtResource("58_oismn") -alignment = 1 -expand_icon = true - -[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 -disabled = true -button_pressed = true -text = "TK_EASTEREGGS" -icon = ExtResource("56_witym") -alignment = 1 -expand_icon = true - [node name="locale_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) @@ -1070,6 +1003,48 @@ popup/item_5/id = 5 popup/item_6/icon = ExtResource("11_ri2fv") popup/item_6/id = 6 +[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET RETRODECK" +icon = ExtResource("11_g1uhn") + +[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/reset_retrodeck_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + +[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +unique_name_in_owner = true +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 +text = "RESET ALL EMULATORS" +icon = ExtResource("45_qxd26") + +[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/reset_all_emulators_button"] +unique_name_in_owner = true +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") +show_percentage = false + [node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] layout_mode = 2 @@ -1236,6 +1211,23 @@ size_flags_horizontal = 3 disabled = true text = "TK_FTPBTN" +[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +layout_mode = 2 +theme_override_constants/icon_max_width = 64 +disabled = true +text = "TK_MUSIC" +icon = ExtResource("58_oismn") +alignment = 1 + +[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +layout_mode = 2 +theme_override_constants/icon_max_width = 64 +disabled = true +button_pressed = true +text = "TK_EASTEREGGS" +icon = ExtResource("56_witym") +alignment = 1 + [node name="ABOUT" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd index 63e6bac2..5a78f8fe 100644 --- a/tools/configurator/scripts/Rekku.gd +++ b/tools/configurator/scripts/Rekku.gd @@ -1,5 +1,6 @@ extends Control - +var split_max: int = 1280 +var split_min: int = 925 func _input(event): if event.is_action_released("rekku_hide"): @@ -7,7 +8,9 @@ func _input(event): if class_functions.rekku_state == false: self.visible = true class_functions.rekku_state = true - %SplitContainer.split_offset=925 + for n in range (split_max, split_min,-2): + await class_functions.wait(0.000000001) + %SplitContainer.split_offset=n %pop_rtl.visible = false %TabContainer.set_tab_title(0, "GLOBALS") %TabContainer.set_tab_title(1, "SYSTEM") @@ -20,7 +23,9 @@ func _input(event): %TabContainer.set_tab_title(2, " TOOLS ") %TabContainer.set_tab_title(3, " SETTINGS ") %TabContainer.set_tab_title(4, " ABOUT ") - class_functions.rekku_state = false %pop_rtl.visible = false + for n in range (split_min, split_max,2): + await class_functions.wait(0.000000001) + %SplitContainer.split_offset=n + class_functions.rekku_state = false self.visible = false - %SplitContainer.split_offset=1280 diff --git a/tools/configurator/scripts/TabGlobals.gd b/tools/configurator/scripts/TabGlobals.gd index 29f8dc47..657052b3 100644 --- a/tools/configurator/scripts/TabGlobals.gd +++ b/tools/configurator/scripts/TabGlobals.gd @@ -1,5 +1,4 @@ -extends MarginContainer - +extends Control func _ready(): _connect_signals() @@ -34,7 +33,3 @@ func _connect_signals(): %quick_rewind_button.button_down.connect(class_functions._do_action.bind(%quick_rewind_progress, %quick_rewind_button, class_functions.quick_rewind_state)) %quick_rewind_button.button_up.connect(class_functions._on_button_released.bind(%quick_rewind_progress)) %quick_rewind_button.pressed.connect(class_functions.run_function.bind(%quick_rewind_button, "rewind")) - %reset_retrodeck_button.button_down.connect(class_functions._do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) - %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) - %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) - %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index f96797de..85c20f68 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -21,6 +21,10 @@ func _connect_signals() -> void: %cheevos_hardcore_button.button_down.connect(class_functions._do_action.bind(%cheevos_hardcore_progress, %cheevos_hardcore_button, class_functions.cheevos_hardcore_state)) %cheevos_hardcore_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_hardcore_progress)) %cheevos_hardcore_button.pressed.connect(class_functions.run_function.bind(%cheevos_hardcore_button, "cheevos_hardcore")) + %reset_retrodeck_button.button_down.connect(class_functions._do_action.bind(%reset_retrodeck_progress, %reset_retrodeck_button, "mixed")) + %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) + %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) + %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) func _on_request_completed(_result, response_code, _headers, body): var response_text = JSON.parse_string(body.get_string_from_utf8()) From 73ac44b858f1897ffc9b48cb80167f0f12ce06b3 Mon Sep 17 00:00:00 2001 From: Rekku Date: Tue, 24 Sep 2024 23:53:32 +0100 Subject: [PATCH 64/74] Finally --- tools/configurator/main.tscn | 1 + .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- 2 files changed, 43 insertions(+), 42 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 3591d2ec..72a88dc2 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -258,6 +258,7 @@ script = ExtResource("3_id6l4") [node name="GLOBALS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] unique_name_in_owner = true +visible = false layout_mode = 2 script = ExtResource("4_2jqfc") metadata/_tab_index = 0 diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 08dc10f0..e69c0c44 100644 --- a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres +++ b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres @@ -1087,7 +1087,7 @@ cache/0/16/0/glyphs/95/uv_rect = Rect2(92, 148, 6, 1) cache/0/16/0/glyphs/95/texture_idx = 0 cache/0/16/0/kerning_overrides/16/0 = Vector2(0, 0) -[sub_resource type="Image" id="Image_s2u7j"] +[sub_resource type="Image" id="Image_hiwdq"] data = { "data": PackedByteArray("4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg/////////////////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4P//////////4ODg4ODg4OD//////////+Dg4ODg4ODg///////////g4ODg4ODg4A=="), "format": "Lum8", @@ -1097,9 +1097,9 @@ data = { } [sub_resource type="ImageTexture" id="447"] -image = SubResource("Image_s2u7j") +image = SubResource("Image_hiwdq") -[sub_resource type="Image" id="Image_ywuns"] +[sub_resource type="Image" id="Image_cakv4"] data = { "data": PackedByteArray("AAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQACgAVACUANAA/AEYARwBIAEgARwBGAD8ANAAlABUACgARACU/d1rvVv9W/1b/Vv9W/1b/Vv9W/1rvP3cAJQARABkANFnvSP9E/0P/Q/9D/0P/Q/9D/0T/SP9Z7wA0ABkAHwA/VP9D/0P/Q/9D/0P/Q/9D/0P/Q/9D/1T/AD8AHwAiAEZS/0L/Qv9C/0L/Qv9C/0L/Qv9C/0L/Uv8ARgAiACQAR1H/QP9A/0D/QP9A/0D/QP9A/0D/QP9R/wBHACQAJABIT/8//z//P/8//z//P/8//z//P/8//0//AEgAJAAkAEhN/z7/Pv8+/z7/Pv8+/z7/Pv8+/z7/Tf8ASAAkACQAR0z/Pf89/z3/Pf89/z3/Pf89/z3/Pf9M/wBHACQAIgBGSv87/zv/O/87/zv/O/87/zv/O/87/0r/AEYAIgAfAD9J/zr/Ov86/zr/Ov86/zr/Ov86/zr/Sf8APwAfABkANEvvPf85/zn/Of85/zn/Of85/zn/Pf9L7wA0ABkAEQAlNXdK70f/Rv9G/0b/Rv9G/0b/R/9K7TV3ACUAEQAKABUAJQA0AD8ARgBHAEgASABHAEYAPwA0ACUAFQAKAAQACgARABkAHwAiACQAJAAkACQAIgAfABkAEQAKAAQ="), "format": "LumAlpha8", @@ -1109,7 +1109,7 @@ data = { } [sub_resource type="ImageTexture" id="53"] -image = SubResource("Image_ywuns") +image = SubResource("Image_cakv4") [sub_resource type="StyleBoxTexture" id="54"] content_margin_left = 6.0 @@ -1123,7 +1123,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_t28ft"] +[sub_resource type="Image" id="Image_4x6uc"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw5HjL85R4y/aEeMv3pHjL97R4y/e0eMv3tHjL97R4y/ekeMv2hHjL85R4y/DgAAAAAAAAAAAAAAAAAAAABHjL86R4y/dEeMvxBHjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8QR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/aUeMvw8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvw9HjL9pAAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8GR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwhHjL97AAAAAAAAAAAAAAAAAAAAAEeMv3tHjL8IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8IR4y/ewAAAAAAAAAAAAAAAAAAAABHjL97R4y/CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR4y/CEeMv3sAAAAAAAAAAAAAAAAAAAAAR4y/e0eMvwYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEeMvwZHjL97AAAAAAAAAAAAAAAAAAAAAEeMv2lHjL8PAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHjL8OR4y/aQAAAAAAAAAAAAAAAAAAAABHjL86R4y/dUeMvw9HjL8IR4y/CEeMvwhHjL8IR4y/CEeMvwhHjL8RR4y/dEeMvzoAAAAAAAAAAAAAAAAAAAAAR4y/DkeMvzpHjL9oR4y/ekeMv3tHjL97R4y/e0eMv3tHjL96R4y/aEeMvzlHjL8OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1133,7 +1133,7 @@ data = { } [sub_resource type="ImageTexture" id="56"] -image = SubResource("Image_t28ft") +image = SubResource("Image_4x6uc") [sub_resource type="StyleBoxTexture" id="57"] content_margin_left = 6.0 @@ -1147,7 +1147,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_qhyik"] +[sub_resource type="Image" id="Image_odx3h"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJUJAS3dfWmzvW1do/1pWZ/9aVmf/WlZn/1pWZ/9aVmf/WlZn/1tXaP9fWmzvQkBLdwAAACUAAAARAAAAGQAAADRfWmvvTUpX/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9JRlL/TUpX/19aa+8AAAA0AAAAGQAAAB8AAAA/W1dm/0lGUv9IRVH/SEVR/0hFUf9IRVH/SEVR/0hFUf9IRVH/SEVR/0lGUv9bV2b/AAAAPwAAAB8AAAAiAAAARllVZP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/R0RQ/0dEUP9HRFD/WVVk/wAAAEYAAAAiAAAAJAAAAEdYVGT/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/0ZDUP9GQ1D/RkNQ/1hUZP8AAABHAAAAJAAAACQAAABIVlNj/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9FQk//RUJP/0VCT/9WU2P/AAAASAAAACQAAAAkAAAASFZTYv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/RUJO/0VCTv9FQk7/VlNi/wAAAEgAAAAkAAAAJAAAAEdVUWL/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/0RBTv9EQU7/REFO/1VRYv8AAABHAAAAJAAAACIAAABGVVFg/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9EQU3/REFN/0RBTf9VUWD/AAAARgAAACIAAAAfAAAAP1VRYP9EQU3/Q0BM/0NATP9DQEz/Q0BM/0NATP9DQEz/Q0BM/0NATP9EQU3/VVFg/wAAAD8AAAAfAAAAGQAAADRWU2TvR0NR/0M/Tf9CP0z/Qj9M/0I/TP9CP0z/Qj9M/0I/TP9DP03/R0NR/1dTZO8AAAA0AAAAGQAAABEAAAAlPjtGd1dTY+9TUF//U09e/1NPXv9TT17/U09e/1NPXv9TT17/U1Bf/1dTY+0+O0Z3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1157,7 +1157,7 @@ data = { } [sub_resource type="ImageTexture" id="59"] -image = SubResource("Image_qhyik") +image = SubResource("Image_odx3h") [sub_resource type="StyleBoxTexture" id="60"] content_margin_left = 6.0 @@ -1175,7 +1175,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_ekr2a"] +[sub_resource type="Image" id="Image_jx0w7"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAoAAAAVAAAAJQAAADQAAAA/AAAARgAAAEcAAABIAAAASAAAAEcAAABGAAAAPwAAADQAAAAlAAAAFQAAAAoAAAARAAAAJTw6RHdWU2HvUlBd/1FPXf9RT13/UU9d/1FPXf9RT13/UU9d/1JQXf9WU2HvPDpEdwAAACUAAAARAAAAGQAAADRWUmDvRkJO/0I+Sv9BPkn/QT5J/0E+Sf9BPkn/QT5J/0E+Sf9CPkr/RkJO/1ZSYO8AAAA0AAAAGQAAAB8AAAA/UU5b/0E+Sf9APkj/QD5I/0A+SP9APkj/QD5I/0A+SP9APkj/QD5I/0E+Sf9RTlv/AAAAPwAAAB8AAAAiAAAARk9MWf8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/Pz1H/z89R/8/PUf/T0xZ/wAAAEYAAAAiAAAAJAAAAEdOSlj/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/z47Rv8+O0b/PjtG/05KWP8AAABHAAAAJAAAACQAAABIS0lV/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP88OkT/PDpE/zw6RP9LSVX/AAAASAAAACQAAAAkAAAASEpHVP87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/OzlD/zs5Q/87OUP/SkdU/wAAAEgAAAAkAAAAJAAAAEdJRlP/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/zo4Qv86OEL/OjhC/0lGU/8AAABHAAAAJAAAACIAAABGR0VQ/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP85N0D/OTdA/zk3QP9HRVD/AAAARgAAACIAAAAfAAAAP0dDUP84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//ODU//zg1P/84NT//R0NQ/wAAAD8AAAAfAAAAGQAAADRHRFLvOjhC/zY0Pv82ND7/NjQ+/zY0Pv82ND7/NjQ+/zY0Pv82ND7/OjhC/0dEUu8AAAA0AAAAGQAAABEAAAAlMzE5d0dEUO9EQk3/REFM/0RBTP9EQUz/REFM/0RBTP9EQUz/REJN/0dEUe0zMTl3AAAAJQAAABEAAAAKAAAAFQAAACUAAAA0AAAAPwAAAEYAAABHAAAASAAAAEgAAABHAAAARgAAAD8AAAA0AAAAJQAAABUAAAAKAAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABA=="), "format": "RGBA8", @@ -1185,7 +1185,7 @@ data = { } [sub_resource type="ImageTexture" id="62"] -image = SubResource("Image_ekr2a") +image = SubResource("Image_jx0w7") [sub_resource type="StyleBoxTexture" id="63"] content_margin_left = 6.0 @@ -1199,7 +1199,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_h87ih"] +[sub_resource type="Image" id="Image_nfq1y"] data = { "data": PackedByteArray("AAAABAAAAAoAAAARAAAAGQAAAB8AAAAiAAAAJAAAACQAAAAkAAAAJAAAACIAAAAfAAAAGQAAABEAAAAKAAAABAAAAAsAAAAWAAAAJwAAADYAAABBAAAASQAAAEoAAABLAAAASwAAAEoAAABJAAAAQQAAADYAAAAnAAAAFgAAAAsAAAATAAAAKTEvN4BGQ0/xQ0BM/0JAS/9CQEv/QkBL/0JAS/9CQEv/QkBL/0NATP9GQ0/xMS83fwAAACkAAAATAAAAHgAAAD1HRFDyOjhB/wsLDP8LCgz/CwoM/wsKDP8LCgz/CwsM/wsLDP8LCwz/OjhB/0dEUPIAAAA9AAAAHgAAACcAAABNREJO/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf8PDhH/Dw4R/w8OEf9EQk7/AAAATQAAACcAAAAsAAAAWEZCT/8UExb/ExIW/xMSFv8UExb/ExIW/xQTFv8UExb/FBMW/xQTFv8TEhb/RkJP/wAAAFgAAAAsAAAAMgAAAF1HRVD/GBcb/xgXG/8YFxv/GBcb/xgXG/8YFxv/GBcb/xkYHP8YFxv/GBcb/0dFUP8AAABdAAAAMgAAADMAAABjSUZT/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf8dHCH/HRwh/x0cIf9JRlP/AAAAYwAAADMAAAA2AAAAZkpHVP8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/IiEn/yIhJ/8iISf/SkdU/wAAAGYAAAA2AAAAOQAAAGlLSVX/JyYt/ycmLf8nJi3/JyYt/ycmLf8nJi3/JyYt/ygmLf8nJi3/KCYt/0tJVf8AAABpAAAAOQAAADgAAABsTkpY/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/8tKzP/LSsz/y0rM/9OSlj/AAAAbAAAADgAAAA1AAAAZVBNWv8zMTr/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTn/MzE5/zMxOf8zMTr/UE1a/wAAAGUAAAA1AAAALQAAAFlVUl/8RUJN/zk3QP84N0D/OTdA/zg3QP84N0D/ODdA/zg3QP86N0H/RUJN/1VSYPwAAABZAAAALQAAACAAAABEPTpFtFZSYP1STlz/UU5b/1FOW/9RTlv/UU5b/1FOW/9RTlv/Uk5c/1ZSYP09OkW0AAAARAAAACAAAAAUAAAAKAAAAEUAAABdAAAAbgAAAHkAAAB6AAAAfAAAAHwAAAB6AAAAeQAAAG4AAABdAAAARQAAACgAAAAUAAAACAAAABQAAAAhAAAAMAAAADoAAAA/AAAAQwAAAEMAAABDAAAAQwAAAD8AAAA6AAAAMAAAACEAAAAUAAAACA=="), "format": "RGBA8", @@ -1209,7 +1209,7 @@ data = { } [sub_resource type="ImageTexture" id="65"] -image = SubResource("Image_h87ih") +image = SubResource("Image_nfq1y") [sub_resource type="StyleBoxTexture" id="66"] content_margin_left = 6.0 @@ -1223,7 +1223,7 @@ expand_margin_right = 2.0 expand_margin_bottom = 2.0 region_rect = Rect2(0, 0, 16, 16) -[sub_resource type="Image" id="Image_bj558"] +[sub_resource type="Image" id="Image_nfupi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADf39+IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAA4ODg/9/f34gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAODg4P/g4OD/39/fiAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAADg4OD/4ODg/+Dg4P/f39+IAAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAADg4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P8AAAAAAAAAAAAAAAAAAAAA4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/AAAAAAAAAAAAAAAAAAAAAODg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/+Dg4P/g4OD/4ODg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1233,9 +1233,9 @@ data = { } [sub_resource type="ImageTexture" id="425"] -image = SubResource("Image_bj558") +image = SubResource("Image_nfupi") -[sub_resource type="Image" id="Image_w5tx2"] +[sub_resource type="Image" id="Image_jgbx6"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MXg/+D/4P/g/+D/4P/gwwAAAAAAAAAAAAAAAAAAAADg/+D/4P/g/+D/4P/g/+D/AAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P/hPAAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/gwwAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAOD/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P8AAAAA4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/wAAAADg/+D/4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/AAAAAODD4P/g/+D/4P/g/+D/4P/g/+D/4P/g/+D/38IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1245,9 +1245,9 @@ data = { } [sub_resource type="ImageTexture" id="427"] -image = SubResource("Image_w5tx2") +image = SubResource("Image_jgbx6") -[sub_resource type="Image" id="Image_yh7xd"] +[sub_resource type="Image" id="Image_5tcav"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3hfgz+DO3hcAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g1+AZAAAAAAAAAAAAAAAAAAAAAAAA3Bbh0uD+4P7g/uD+4NfgGQAAAAAAAAAAAAAAAAAA3hfg1OD+4NHg/uD94dLg/uDU3hcAAAAAAAAAAAAAAADgzeD+4NDcFuD+4P3bFeDR4P7gzAAAAAAAAAAAAAAAAOC+4MXZFP8B4P7g/QAA2xXhyeDFAAAAAAAAAAAAAAAAAAAAAAAA/wHg/uD9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AeD+4P0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4MThwQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1257,9 +1257,9 @@ data = { } [sub_resource type="ImageTexture" id="429"] -image = SubResource("Image_yh7xd") +image = SubResource("Image_5tcav") -[sub_resource type="Image" id="Image_yd56u"] +[sub_resource type="Image" id="Image_adbo0"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbB99u4Mfg8+Dz4MfebdsHAAAAAAAAAAAAAAAAAADjG+DP4P7g/uD+4P7g/uD+4M7jGwAAAAAAAAAAAADbB+DP4P7g4eBT2A3YDd9Q4Nfg/uDO2wcAAAAAAAAAAN9u4P7g4eMSAAAAAAAAAADhEeDh4P7ebAAAAAAAAAAA4Mjg/uBTAAAAAAAAAAAAAAAA3lXg/uDGAAAAAAAAAADg8uD+2A0AAAAAAAAAAAAAAADbDuD+4PEAAAAA4J7g/uD+4P7g/uCeAAAAAAAAAAAAAN0P4P7g8QAAAADoC+DU4P7g/uDU6AsAAAAAAAAAAAAA3lbg/uDGAAAAAAAA4Svg8+Dz4SsAAAAAAAAAAAAA5BPh4uD+3mwAAAAAAAAAAN9g32AAAAAAAAAAANsO3lbh4uD+4M7VBgAAAAAAAAAAAAAAAAAAAAAAAAAA4P7g/uD+4M7jGwAAAAAAAAAAAAAAAAAAAAAAAAAAAADg8uDF3mzVBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1269,9 +1269,9 @@ data = { } [sub_resource type="ImageTexture" id="431"] -image = SubResource("Image_yd56u") +image = SubResource("Image_adbo0") -[sub_resource type="Image" id="Image_enhx0"] +[sub_resource type="Image" id="Image_fx31s"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA39/fCN7e3mzg4ODF4ODg9ODg4PPg4ODF3t7ebePj4wkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eLuDg4Njg4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7h4eHa4ODgMgAAAAAAAAAAAAAAAAAAAAAAAAAA3t7eL+Dg4PDg4OD+4ODg4eDg4FPY2NgN2NjYDd/f31Dg4ODX4ODg/uDg4PLh4eEzAAAAAAAAAAAAAAAA4+PjCeDg4Nzg4OD+4ODg4ePj4xIAAAAAAAAAAAAAAAAAAAAA4eHhEeDg4OHg4OD+4ODg3+bm5goAAAAAAAAAAN/f33fg4OD+4ODg/uDg4FMAAAAA4ODgS+Dg4OPh4eHi4ODgSQAAAADe3t5V4ODg/uDg4P7f3995AAAAAAAAAADh4eHa4ODg/uDg4P7Y2NgNAAAAAOHh4eLg4OD+4ODg/uDg4OEAAAAA29vbDuDg4P7g4OD+4eHh2gAAAAAAAAAA4ODg2+Dg4P7g4OD+2NjYDQAAAADh4eHi4ODg/uDg4P7g4ODhAAAAAN3d3Q/g4OD+4ODg/uDg4NsAAAAAAAAAAN7e3nzg4OD+4ODg/t/f31AAAAAA4ODgSeHh4eLg4ODh39/fSAAAAADe3t5W4ODg/uDg4P7g4OB7AAAAAAAAAADV1dUM4ODg4+Dg4P7g4ODX4eHhEQAAAAAAAAAAAAAAAAAAAADk5OQT4eHh4uDg4P7g4ODh1dXVDAAAAAAAAAAAAAAAAN/f3zjg4OD04ODg/uDg4OHe3t5V29vbDtvb2w7e3t5W4eHh4uDg4P7g4OD03t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAA39/fN+Dg4N7g4OD+4ODg/uDg4P7g4OD+4ODg/uDg4P7g4ODd3t7eNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADm5uYK39/fcODg4MXg4ODz4ODg8+Dg4MXf399u5ubmCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -1281,7 +1281,7 @@ data = { } [sub_resource type="ImageTexture" id="433"] -image = SubResource("Image_enhx0") +image = SubResource("Image_fx31s") [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_g6bu4"] texture = ExtResource("1_ak8qr") @@ -1377,7 +1377,7 @@ bg_color = Color(0.490196, 0.490196, 0.490196, 1) corner_detail = 1 anti_aliasing = false -[sub_resource type="Image" id="Image_f4rij"] +[sub_resource type="Image" id="Image_xmr6q"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN9Y3BYAAAAAAAAAAAAAAADcFt9YAAAAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAA2xXf0uD/4NfgGQAAAADbFd/S4P/g198YAAAAAAAAAAAAANsV39Lg/+DX4BnbFd/S4P/g198YAAAAAAAAAAAAAAAAAADbFd/S4P/h2uDW4P/g198YAAAAAAAAAAAAAAAAAAAAAAAA2xXf1uD/4P/g298YAAAAAAAAAAAAAAAAAAAAAAAAAADbFd/W4P/g/+Db4BkAAAAAAAAAAAAAAAAAAAAAAADbFd/S4P/f2uDW4P/g1+AZAAAAAAAAAAAAAAAAAADbFd/S4P/g198Y2xXf0uD/4NfgGQAAAAAAAAAAAADbFd/S4P/g198YAAAAANsV39Lg/+DX4BkAAAAAAAAAAN9Y4P7g09wWAAAAAAAAAADcFuDT4P7fWAAAAAAAAAAAAADfWNwWAAAAAAAAAAAAAAAA3BbfWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -1387,7 +1387,7 @@ data = { } [sub_resource type="ImageTexture" id="49"] -image = SubResource("Image_f4rij") +image = SubResource("Image_xmr6q") [sub_resource type="StyleBoxTexture" id="127"] content_margin_left = 4.0 @@ -2208,7 +2208,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(72, 64, 8, 8) -[sub_resource type="Image" id="Image_7qt7v"] +[sub_resource type="Image" id="Image_13i50"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_7qt7v") +image = SubResource("Image_13i50") [sub_resource type="StyleBoxTexture" id="200"] texture = SubResource("199") @@ -2242,7 +2242,7 @@ texture_margin_right = 2.0 texture_margin_bottom = 2.0 region_rect = Rect2(64, 64, 8, 8) -[sub_resource type="Image" id="Image_egl5k"] +[sub_resource type="Image" id="Image_jtlgm"] data = { "data": PackedByteArray("/wD//wD//wD//wD/Z3qFZnqGaHuGaHuGaHuGaHuGZnqGZ3qF/wD//wD//wD//wD//wD//wD/Z3qFZnqGV1FRTEJATUNBTUNBTUNBTUNBTEJAV1FRZnqGZ3qF/wD//wD//wD/Z3qFVkxLTEJATURBTUNBTkRCTkRCTkRCTkRCTUNBTURBTEJAV1FRZ3qF/wD//wD/ZnqGTEJATEJATUNBT0VDT0VDT0VDT0VDT0VDT0VDTUNBTEJATEJAZ3uH/wD/Z3qFV1FRTEJATEJATkRCT0RDUEVEUkZEUkZEUUZFT0RDTkRCTEJATEJAV1FRZ3qFZnqGS0A/TEJATUNBT0RDUUdFUkhGU0hHU0hHUkhGUUdFT0RDTkRCTEJAS0E/Z3uHZ3uHS0E/TEJATUNBT0RDUUdFVElGVUpHVUlHVUpHUkhGUEVETUNBTEJAS0E/aHyIZ3uHSkA+S0E/TUNBT0VDUUdFVElGVUtJVk1LVElGU0lHUEZETkRCTEJAS0E/aHyIZ3uHSkE+S0E/TEJAT0VDUUdFVElGVUtJVUtJVUpHUkhGUEZETkRCTEJASkA+aHyIZ3uHSD48S0I/S0E/TkRCUEVEUUZFU0lHU0lHUkhGUEVETkRCTEJAS0E/ST89aHyIZ3uHRj08SD48SkA+TEJATkRCT0RDUEVEUEVEUEZET0VDTEJAS0A/ST89Rz07Z3uHZ3qFV1FRRz47SUA9S0E/TEJATUNBTkRCTkRCTUNBTEJAS0E/ST89Rz07V1FRaHuG/wD/Z3uHRj08Rz07SD48ST89SkA+S0E/S0E/S0A/SkA+SD48Rz47Rz07Z3uH/wD//wD/Z3qFV1FRRTw7Rz07Rz07Rz07SD48SD48Rz07Rz07Rz47Rj08V1FRZnqG/wD//wD//wD/Z3qFZ3uHV1FRRjw6Rjw6Rz47Rz47Rjw6Rjw6V1FRZ3uHaHuG/wD//wD//wD//wD//wD//wD/ZnqGZ3uHaHyIaHyIaHyIaHyIZ3uHaHuG/wD//wD//wD//wD/"), "format": "RGB8", @@ -2252,7 +2252,7 @@ data = { } [sub_resource type="ImageTexture" id="204"] -image = SubResource("Image_egl5k") +image = SubResource("Image_jtlgm") [sub_resource type="StyleBoxTexture" id="205"] texture = SubResource("204") @@ -2365,7 +2365,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(80, 0, 16, 8) -[sub_resource type="Image" id="Image_iapwv"] +[sub_resource type="Image" id="Image_io2yo"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOD/4P/g/+D/4P/g/+D/4P8AAAAAAAAAAOFe4PTg/+D/4P/g/+D24WYAAAAAAAAAAAAA3yjf0uD/4P/g1+MtAAAAAAAAAAAAAAAAAADoC+Gf4Z/oCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2375,9 +2375,9 @@ data = { } [sub_resource type="ImageTexture" id="306"] -image = SubResource("Image_iapwv") +image = SubResource("Image_io2yo") -[sub_resource type="Image" id="Image_2dwu7"] +[sub_resource type="Image" id="Image_f15ac"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g/+GfAAAAAAAAAAAAAAAA4P/g/+D/4P/g1egLAAAAAAAAAAAAAAAA4P/g/+D/4PThKwAAAAAAAAAAAAAAAAAA4P/g/+D/32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"), "format": "LumAlpha8", @@ -2387,9 +2387,9 @@ data = { } [sub_resource type="ImageTexture" id="308"] -image = SubResource("Image_2dwu7") +image = SubResource("Image_f15ac") -[sub_resource type="Image" id="Image_m043m"] +[sub_resource type="Image" id="Image_qxhfe"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAAAA/1n/FP8U/1kAAAAAAAAAAP9Z/xT/FP9ZAAAAAAAA/1n/FP8U/1kAAAAAAAD/Wf8U/xT/WQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="), "format": "LumAlpha8", @@ -2399,9 +2399,9 @@ data = { } [sub_resource type="ImageTexture" id="292"] -image = SubResource("Image_m043m") +image = SubResource("Image_qxhfe") -[sub_resource type="Image" id="Image_5ejur"] +[sub_resource type="Image" id="Image_y2yvs"] data = { "data": PackedByteArray("FxYabx0cIe8gHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHvFxYabx0cIfAkIin/KCYt/ygmLv8oJi7/KCYu/ygmLv8oJi3/JCIp/x0cIfAgHiT5KCYt/ysqMf8sKjL/LCoy/ywqMv8sKjL/Kyox/ygmLf8gHiT5IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yEfJfcoJi7/LCoy/ywqMv8sKjL/LCoy/ywqMv8sKjL/KCYu/yEfJfchHyX3KCYu/ywqMv8sKjL/LCoy/ywqMv8sKjL/LCoy/ygmLv8hHyX3IR8l9ygmLv8sKjL/LCoy/ywqMv8sKjL/LCoy/ywqMv8oJi7/IR8l9yAeJPkoJi3/Kyox/ywqMv8sKjL/LCoy/ywqMv8rKjH/KCYt/yAeJPkdHCHwJCIp/ygmLf8oJi7/KCYu/ygmLv8oJi7/KCYt/yQiKf8dHCHxFxYabx0cIfAgHiT3IR8l9yEfJfchHyX3IR8l9yAeJPcdHCHuFxYabw=="), "format": "RGBA8", @@ -2411,7 +2411,7 @@ data = { } [sub_resource type="ImageTexture" id="39"] -image = SubResource("Image_5ejur") +image = SubResource("Image_y2yvs") [sub_resource type="StyleBoxTexture" id="272"] content_margin_left = 0.0 @@ -2471,7 +2471,7 @@ axis_stretch_horizontal = 2 axis_stretch_vertical = 2 region_rect = Rect2(24, 40, 8, 8) -[sub_resource type="Image" id="Image_gs0pd"] +[sub_resource type="Image" id="Image_l2hig"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loWFZjarCvtYFNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/4uLjf//////tra53U1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/0JCR//4+Pj//v7+/1dXWvtNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/05OUv8mJiv/JSUq/yUlKv/Fxcf//////6qqq/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/7i4uv//////X19j/yUlKv90dHf//////+3t7f8zMzj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv+NjY///////7i4uf81NTn/7e3t//////90dHf/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/Ojo+//v7+//6+vr/srK0///////Fxcf/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv+4uLr///////7+/v/4+Pj/RUVJ/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/YWFl////////////j4+S/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yYmK/9OTlL/Y2Nm/yoqL/8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2481,9 +2481,9 @@ data = { } [sub_resource type="ImageTexture" id="334"] -image = SubResource("Image_gs0pd") +image = SubResource("Image_l2hig") -[sub_resource type="Image" id="Image_ng2ns"] +[sub_resource type="Image" id="Image_jjthi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNS1kHTUtZJ01LWVBNS1lmTUtZaE1LWWhNS1loTUtZaE1LWWhNS1loTUtZZk1LWVBNS1knTUtZBwAAAAAAAAAATUtZJzg3QLQgICT6Hh4i/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hx8j/x4eIv8gICT6ODdAtE1LWScAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPpNS1lQAAAAAAAAAABNS1lmHh4i/yIiJ/8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yIiJ/8eHiL/TUtZZgAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZaB8fI/8jIyj/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8jIyj/Hx8j/01LWWgAAAAAAAAAAE1LWWgfHyP/IyMo/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/IyMo/x8fI/9NS1loAAAAAAAAAABNS1loHx8j/yMjKP8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yMjKP8fHyP/TUtZaAAAAAAAAAAATUtZZh4eIv8iIif/JSUq/yUlKv8lJSr/JSUq/yUlKv8lJSr/JSUq/yUlKv8iIif/Hh4i/01LWWYAAAAAAAAAAE1LWVAgICT6ICAk/yIiJ/8jIyj/IyMo/yMjKP8jIyj/IyMo/yMjKP8iIif/ICAk/yAgJPtNS1lQAAAAAAAAAABNS1knODZAtCAgJPseHiL/Hx8j/x8fI/8fHyP/Hx8j/x8fI/8fHyP/Hh4i/yAgJfo4NkC0TUtZJwAAAAAAAAAATUtZB01LWSdNS1lQTUtZZk1LWWhNS1loTUtZaE1LWWhNS1loTUtZaE1LWWZNS1lQTUtZJ01LWQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2493,7 +2493,7 @@ data = { } [sub_resource type="ImageTexture" id="336"] -image = SubResource("Image_ng2ns") +image = SubResource("Image_jjthi") [sub_resource type="AtlasTexture" id="359"] atlas = ExtResource("1_ak8qr") @@ -2581,7 +2581,7 @@ region = Rect2(96, 96, 16, 16) atlas = ExtResource("1_ak8qr") region = Rect2(96, 80, 16, 16) -[sub_resource type="Image" id="Image_knvok"] +[sub_resource type="Image" id="Image_npfsi"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_knvok") +image = SubResource("Image_npfsi") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 From f1436d64bc3aaa82a4ebdb2ae4dcd2d2fe9627b7 Mon Sep 17 00:00:00 2001 From: Rekku Date: Wed, 25 Sep 2024 13:15:40 +0100 Subject: [PATCH 65/74] CHEEVOS HELL --- .../RetroAchievements_logo_square_color.png | Bin 0 -> 12655 bytes ...Achievements_logo_square_color.png.import} | 8 +- tools/configurator/main.tscn | 73 ++++++++++----- tools/configurator/project.godot | 2 - .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++--------- tools/configurator/scripts/Rekku.gd | 9 +- tools/configurator/scripts/TabContainer.gd | 8 +- tools/configurator/scripts/TabSettings.gd | 53 ++++++----- tools/configurator/scripts/class_functions.gd | 10 ++- tools/configurator/scripts/data_handler.gd | 2 - tools/configurator/scripts/main.gd | 14 +-- tools/configurator/tilemap_packed.png | Bin 15664 -> 0 bytes 12 files changed, 151 insertions(+), 112 deletions(-) create mode 100644 tools/configurator/assets/icons/home_made/RetroAchievements_logo_square_color.png rename tools/configurator/{tilemap_packed.png.import => assets/icons/home_made/RetroAchievements_logo_square_color.png.import} (61%) delete mode 100644 tools/configurator/tilemap_packed.png diff --git a/tools/configurator/assets/icons/home_made/RetroAchievements_logo_square_color.png b/tools/configurator/assets/icons/home_made/RetroAchievements_logo_square_color.png new file mode 100644 index 0000000000000000000000000000000000000000..a10c75a92efb8b38d915e9e9d3661b1ad32b4b7a GIT binary patch literal 12655 zcmeHscR1YLw*Tl|w1{4#MH|BmMvG3As8K?KF&MoJgXp5SOo*C@E+kqIy(fq+ghUq- zCD92{?^oXUyyu+fcYe>k=Xvh^@60@V_Wtg@*4k@*R@vW8jGnGK1t}9L2n3?g)KD=1 z`Zb`15EBBwn*+KYKsSOk)wI*pya6Hx9so)ld=L&Wx}?MTa~uMUadGfKct9TsG#X%h zNpsnla0q_)@xYk*&v6Pc=KquCl1B^&7eoQ{Pk{yj#&kem3N%#IAA7X|=%T{l_Y-M?FFe1p5VL)ZXv;iPyd$K{Aefs8k2K zi|Za=_FN5m=;ST+om9FnUSB-IMKn%(y+41I9O8*OlNGnI7592eZIe6R;Yn2eI+x}) zwfa@#{D9ygWW*l5eXRka?7{A}NV2J2nn_e5R|J8O(nAm<)Hw&2%)=aNpl$1*u(rtV zamv+T>**4LMX(vac*LS`#D2OtA*8EYueo@Apb?hSb4a%+z{r42%g+D!51hF7z8+ZTjK>ehcwO!chc zJt{2!Alcr*3BHr}1Db@1ftZm(F zkRrY=?w1Y&$tw7|TO*v1Xbu~sJ<3&%Ypbb^ivwjV$7KT50qeLcBOOp0{+>ufe_bPl zzY{{*mPxo=6S} z5eX5nu&OW02f`&!$|37%YX>(_QTtN_@Fd6OfJVE+MMW_fj0i?t#Ld%QR7_f0S`-Ws zg+PP>3SlolSG2XSu&WpMrHDUds35%%o+x)T%FUJIQl_SjHiwjui_?vz%?m9Yu ziFft-69oVdQD19!Q85v)sEdo}KXQ1XReb;xRNNG~^UPXtoc2kDCD z{$~*e$iLh4KM(YK#4o&X+0s7sn-r_9z$k z-&}yV{)rNevitvNcDeE!kAJiTVE;?*zqI2wF+ioG16OfFcwefgsUpV(%!t^cY~iY6 zDpC^SYKlr~P!%yTRY^q{Oif8i0-_?RA`MjoEB^z#rmGj)+7*HP8#@YMmjp{lNI}G* z!s6Dp2w@3?jjgbhq_w25ge}xs8iIgY+ezB~gNWOnC?J%ro&S|4U@h5a)d*KpbxT2n>92Z37 z57OT=dd}8pJAgrsOB?0t?fZ99Ba{o$5N&;lo|q&=5&{*2i9umtNolCm--+%ZJ-vX? zy_EU8*#2I*bORhP1OU?dGOz&wzvlr&;mV#!YqXoEk(-;d9M@lE`mbdjApdNw(bg)~ zXe1!?uflEgx56z57K4NTQ2$b#j+-sY&hNjYzRWfb**{#Yf${?O_xnBdM+zDuJ^pz5 z6Bg}MEd%%WqCgaWXJN;;v!l1p<-LUN#(1=2He>k_fG-qe`?&!bnUg z`4h&(1Ol;JX{sn1`A%&-^Gm1u*l?lnQJk2VD?IEq{uBBR3Kc!DTFYAk)z2&p?Q$lY zRx}kcVjeiubQmw_PVqha^1Jb``?!dipo_en&~!z*nJN+*9O}XtW}3#KlanPQWpABu z@xY-0wD;tp-}+)k(aFKU!?dz^F)a_i6BbCDIDRJilB|z`GmO^OOn&8*i79(J{Qp%506c= zn%Z=>3A#$NhsbuV_Wt%`r(vgJE?U&BrRG9>2GA+-Q_l9#o3FA5`K@Ss0~V;QjEh?( zuf7fR-ZZbTO}9^BZNDE{94b9YfvST-GSno7G6lp~RwS%w+;8aF>>y8N!35YR&yICS z4#YQS%x2UwBSD%Ei$kJ9u9UMgjV?yMjm&({8uEbUDVZ>nJ=HwvE)}@Jt1YXIvKqM{P;?u8(B{6zTYc6}-+_QMCG|Sct zL(Ea^+kO%(spR{$G4_j6;-PO6W)9S&<9`Hvae?NFe<<0LPl`uxnTon65PR`G558H` zVH=W^Ht$ZDC{E-srczwVh-LR#3+|E0g?te3;^HpDv#?@vKS)_C`e5FRq1P<=2(A`Q5B}iy3+UMPzH2h|=!F zO`N_Et_fk26M525Bce#zR*s0F*_GE>iA7h3WC-XAbxdpui z3l?!#T*Py$emNHm9jQxRlz=8kRh}L~8TI8CuEh$^(nyvHaqa0AylC)jxN6jiIG$eb%xEW( zIMrQ3;tu1I#bKC?@u=bE4y)`77FULvyL5vco3?lsLTYeCa5F$?$d6*dZM+()o9BZC z?{+^~oGWA@xX`%W#1P8GXu{_6hcw4$o3Y__SF`+h?=h`~>^(qdzaY7@D5dIjL+J?vgCctuqpoBg4mamFA=p3B30AJC6y5*q zQQ_9bS0Uvqvwfs`B@l8Yoxjs~mDN1!Xqb#`W`DKjxsSzNTO$luDZ`q3i+Jee`IU)g z@LQZ)EeeLS!}sdHv&GdrDV~#)Lss`d3)%}A%~_f~vXv#3u*8R=1oC+DN`m+k(c3$( zUc&7T!Y#KKc-0?<;)GS5Eh@cX6}321j26`FJb`2d05MRoEZ&WcWagn$YELYHR42cfUGL`~k) znY_QtB?~`oO{ks7tu9|rcYpE}>xnFUcYe3=R=E&Uk>I8~)<_UbN7ys3QaEum#lra* zexv`ek!zEuskO*J6Fbh;)q0nE^AX^VuFYA~c#qI&m3l^B_YUYYpW_R}Q48}GYExVm zyON4BF7$nOo#L=mvcTZQb_OY}kq=LKkIa%dgB#~3zbRR5v$ZxcEg!KdrxxrV21_w) z978_a`!U+;C2?x)b`P_9J<)rpewW9yf+oXzQ;rz|lm2#*H>Q5eqw3`{vsT~}0jxfO zLQE{P`pkKBTt^k_c)Dh?TT+on}#8X{Bbq`#!DJi*ehX*ZrwtyQRed*;#8bMlL*+jwT>hF_O~0$<~; z#;c`)tuhtCCH$Bg{%hgNDus6YEI(s+r{ZHg1=qKm^tXn-&j%d-$japH^QIU^?lEEdrh3;c_Ig{H10XNtu-XHs|4 z@2ua6t}o;gA?(r0n-P{rFyHtBtLWOY;c|T^<8>?rQcv_1=J_%NmQ6EIF;+oKUL+b6 zE>Ez}>?Wa&$h3HUG#hShVxB}t{Jia{YJN2{uvMRF{3*e}!72t9YeF%r7#04MSSZf!!ztY6)_Wx1TuqRP z!{^uU=TD}Lcb^u%Iia7rtD}-|z+X(#5}^C`th0`dmFElWWzQBXHT1YFLyk2hU%l)O zJ-=JbGRfD32Ha7s2f4wG>N_!lLY@RwBR*S7kdcq#jde;h){$8fq#pJxhC7MAE~#9l zvQa*SG4-tj%+Mjq#S9e}Sl16hHh_6|*6KY{A(lJebR>o+4xS zam*3{>Pggz=Er3IZ2K1ADpoPbJJ^)?u=h1LH?7@A)~Na(i^EYFD{Yf2_&*8G8IP%H zj3bxGVb1Re>^7KIiW^hHAQ``ORSU=#N~C+^IPQi}61rr^X=D{O+haFfeOUaLYro%` zYdO)w95xy`7i2wIeb&3pToTO`#xTivM%CjtIQeadSdL=KiG-YJ^AMKPsl+YQcLE1v9%*Xp`{P%CNpIVYJYUtGY4x#SCiYyU9RZFgD)nZ$NI>TKLh<~JWqd@Yy%-88O69n0HsXccLXU(cjnFcq_O^I!9>aPv#6@;hT^muM%?tJ9VdbbY2@W1l2#-RFYexz>f~_DBoLo^r`|ZHUN; z-q)|%-8s_=bedh`a_y@etP*6OZ_~7?&@#r^U=G|WZDW7&uv$pMxIZQ3PP^a$=$HRs zUa3qsQ{9htk8hih)1IGBG5lH5Pvzdf*vgwzTh>V;U5UkUs7+L%Whe<0+(3VwqOoF0 zxJy>hK+`}a6C3=Th{8Cg<~lByV}ZJWP9@9YRx2zRbcb$htoOy%hZXhv^%V+Jj+wbw z7?BzdCenL}-m-IM7if zLs{+KYqXK>2u%?^&5j%lpb*-wZ4i~B$Q?=3pI22WBRUVu2=NhB@yDr&7oorVU<;6?#707VUu8~Rwj4fc#=SSeCv~P zUl({ZlU7$l?T|8`wl6}2jQSU!9q!aufU0P}42@Ai*R5?+S3=z7S}5F{nV5TDd$Ghy z(@B5Kf5dyl*ZR<(`XgbFbQ8|)COLRaaN^{BnrEY)p^8}^`?_1txf`d^Jp;opzsTTC zikp(~&`;gtYt`$j%qb!z($AM8MJXvhSAT0lU`fbX`U>ZT>#;i(^i9#N;qkK@PdL_5 zDgw$(a&Pn}3si_djP{(drx^2Q;;h_tyf`Z}-U08%Ppn$#7?#RZ&-)Hm%XXFIEOOTm z?c0q@q*}4fN!Ap_-oavF6m}qXLU|d2RaD7Yoibd+o`7xNqLR_~^C3otskrYn==_>? z+m7??vHN%|#PC z-I_4>kWr{HKA-QN2V4i3t*4DYx6V7?RCDcp!0E<6&W${yiDifU3in&ZlXN@K??aFLz)PSzT zMozbq*F~#R+fG4qVFJmNX+WsD+A*syS-q?o>xD_GWZ~ckD$!phXpI-Hs3ylYQTeavz3HP$Zu!;9ckc+$$*Oa-_ z1J1s8J?5~NoN_I8PRz|YCC^eG)%Q|JZ!R@mGg3{hkthIfhVW_DtHfX$upZG-;f0-f zXN|45tdSx)89h8t5KMoQ=|9l5pD6;hq zctDTW!jkUjXYt0&7a>XTA!e*d;({?Q@&dkH)Unls$9Hr-N8aqI~~bu;bVE&eWdcLGICK?;E~5xVKC_r|ozn$5P+$-7_3>cE%FSW^!oZ zIaDi& zHhgV@nk3v~-()2f44%XiEJwnO)nty-TVm)95U4S$pm1@f-kWten1?R(2jD5(m!^H? zo>xL9I-&31Th6%23b?)TpV-crzxrWCe~vM|kZNkmR{=kU@a=Wq+b~=2)3^}*RDZf<@Yej8Z0tD07l)T27uPsJS@&>cCr;;M#6%CXWeu5Rx&s z@O)f@@R-6~^);Lg-XWHRJEgbz;Qe&GX1=7|T2S1XHE^^&vmd$lMksYHvf7KhC3IOu zEt7Q;s2r3B!H-@gZsEJ)pMQ*A;cTbdFZW`=ioA6SUym(>mUq_SeC?7|&L{oW+nSJZ zh2Dw*t|$-rAml)%y>t33=#)KySp!U4FIkYK3RK56{#5B_=7B7R*w_%`}R*zG$W!OWf5? zrBfhFxt5fD>|#Y}xAu?{JOTSEe4TrisD5@Dyvw`}Uua{h-@1C!53u*!mv$mQx)FR* z)|cPyX}%H;XMo7?HhxtRi$_Exzt<+bf4gX2?%Gol7AnTIY>(1IJ^USJw4;IY0@TU@ zJS+T=A<{2#g?Ax1u-Z#YxwMJmXbIEIqVqcL!-3_8>T2BVZXxYT3V00gXPg#`;qljf zD&O0kkFSDBnlkIYl(j@&f4RimCF{_->}oi$6EPhsvS(#*^ZV@|s@l!-zCMow4NK&S zdBa8DYPZk$Lwq?2KVkTqwCoZugxzr3l!<->n}ZNOFY0_GLbWy)FovZ~R-#6d377W| z$&B-f0`+{IZM=bqw`5ZqicPkS_;zD-?yNs8Ai^Q61dw}Q(@!2v=5+~;ReN=Bq9~6D zeRC5}aClSdByRcfmL&&@p;)=x~AaB!Md_lS`Ku}j#>U7y9G#DdrT?uCKv zI)ijNS-Ko^^x5op48YAIS6i+tXtUcQ7SD~Bm2uaD zDZ-EZ@CN#W5|hhFD0PDk(E+XNOHT2nqE`M~pS*7EuG;dlr!!$Db`14V-lJVVhIAxY z+XOmhm#OqE@0Q|LS*Sc z^p{gmf`}CN*;@mdjZo%lhEd0yDFgPUUOAG6l8Ns{?`IWRxrth^cDt|5Z8=t z6uCa#{dxmo`;)kC%g2b}wqH*dy`OEiIG;KX8Qq+AAfbwcuFWlq6y*#0GW}(9 zNZvG1RZn16>}OT9c9V~cCe@_7-mO~gOEl);^?OBhYL|*96w;@PBJj+FM6Kux?Ti>@ zg_@eQdQ;F69iumqsl)f*>_3ufUj|Y!OO~}?m#t8|u(7&Y&obF^KxY+%%Waz1jMw|B z^pHpXpo@ii+~|f7_kpb*Z(bpn3&SV{P|L$#?~8R9u+N4F?xCfkn3)XyD;8Aee^`Y1 z`7VFCDdK2oFlPnvZM2IQNMO^iR9j~pWm*W*8uSM7+IqYX2oagG#cLxj>i>%Kv9_>A zzGD6;o^?1LbiiW&jeuVC-~ufA7~0oQbqm2*IaE0qYw@_Fi+;d8DI)Y%K8+M?n~SO< z>41Jp0hFF@k3(71opMh`J{jo)i_xEroqc%f)(ovC@n7tx+zsQ=?!v#V#`kHGEcaIR ztvfw+en>91y2>4_&wKJc!Bd`>OV87cd0h$Fsz!Q{4)?dR{2&kW#Y8vi*?iwg%1rmF zpV8O9Eb3dYWwSXtK|_wdw+`Fo#c8iNN)C?7EF99k!uqEtmWO!1j(9Vq=9WM--+0?E zki2r6E8YA~2E*vM!Sigf&l)eYzMCZXG*i*uv|r%!J9_nG(n#zbrsZYJwQ|jo)AY<6 zn=fx08L!%4l0WVQ=g#uLZ1p|_4bqz(*HgY4&tlQWBj#PvnAh&2w{(N;Ag(V~2-NVs z9TlmS_*zTN`-#l*MwQiM!FfU`BR%_Ee|13Xcqh~KGp>5*6He_N;Ant4 z?5Zko`uQiB@h6PGhO~swEufwkCS?g7c*weI(i+TulhF3Wh$d~)Ln8edmCvCKB_Tgo zkFSSE!HfrALju)b*V{h+xPxzQI^7*-WnhNPbD^a$(JPU=_M_lud3nNT>3J;mskP=! z8C|*SMqSyr9St*DX`~?iD{VaDCDJBnf^ye9kJ3u_3X_Fo+A6(h0ioVhM#POA)_k^O z^<0=if8YK|9>xX{D*wi>W>Ssagg{FIhWiovvF*Un@`CaJR5M@808Srxh|i2W)%87- z{2p;1Iqb<=6xQ+>ks9Gmyh@Xh%p~1zO=Wjnm*X8DRyD@mky!3bT&W;`psa;E<(-&I z*@88{QzWYBwD!iKU0$R!Ov;$meiZ%Hbu6v({ZAl!EUe2`v4JCNo(W=Pj9=QB^Ko{p9WC1lkvKfpVcqp7>(mey z94oej5ZSIR*)4c!Nd~xclP8q$GdQe0vLb!1$yxNwN_e_Z3|rP3R}$j$j1EGoCOiTl ze62>?euSr*jTM8MQir$as^S^U)^N|IthcTP|MFwj?;@YNtF~lx&y5)Wds8~8!(_}Z zeP+Rma{F}Z)Ukm15j>jcy`m?CERi5+JOnXHp!@{>nh$eD#e`t^YEeVBPE0(j3jo7> z$&{&{S|;%F9Ii`QM?Ek%m9-Hjl2LQqvKF5D-@ zt)g}q=yRH#z}H6RoFKj(5ojReT!A;;usUf(<2OM?6FZrA{qZ}89xdv8Iw$qO8M2dp zEzE%o=J<%;QOhSgG^1~UrH0uFw0KYz`&{*aIq9z9JM9I!aM&2sZ-OoY>#rd=b|0Br zMmy3v*n|7LEi@JPtc1W^uJ9GaqvYDS8(u#6_U7C}`j9}sUgoir@R^WV5 zo{_mBw{=FArKK|E_$}!CGe`5=+w%9Mbv(YZO(cF?E$}cT!5WS-8xJ$Q5ufVx7sY9I z%v$$%c^48VCa8{0`ZWBY;Vb+ns_eyNT%QI|A>8_J&`Rb&cQ`F)^ls)2UIK}N*gW~Q{?*66 zFg?Ye2Bg95i5FWMuU~$jyb7~%G;IITZqH3_-x^lfnCiiA_PB#=PNT(aOYH~$SX!PX z0MDxpODhBEiqZ^dm2QxevgnEYj#$!}dl)N*Y zT>13}Guw0Syynn(d>P8a(vQ)zWPZ|g|6TElZRon4mRH>NZ1T+r1##Xxws_lg-#k)Lr_HY*Se>O6k{@(( zZ2DI+&AxABafiL1Jus;4594Y7*1Nf$;59;W^3J|M{@?*~-@ePJNb)DPWANZx0aZb% z@pn2fa<8@}AIGh*EIJ#Sr1e|2UI%JwT*|MAiL3;Ej&BKWKj9=E;21V_xHt)j+Rss@{9e4c0C4v-2b{4~#w_@HzpC4SJqk}@uKyw}Uu!*M zfy^;2OO)?0x+Z!(GoQyjXq2fW>ZCGXn_W4I%#KX{LUbUGO~#?6FwqQ%?&VE|9AkzL z8>t3YA`YV0VGL@MM*0Rdze_`?9P(Jo%+o~f;N(61vBQ;_M?CF|{K~g70ksJ2UK=6I)x9C-WWpA9Q|em#yaog6nl9HdqAEnJM void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) %volume_effects_slider.drag_ended.connect(class_functions.slider_function.bind(%volume_effects_slider)) - #%cheevos_button.pressed.connect(cheevos.bind(%cheevos_button)) + %cheevos_connect_button.pressed.connect(cheevos.bind(%cheevos_connect_button)) %cheevos_button.button_down.connect(class_functions._do_action.bind(%cheevos_progress, %cheevos_button, class_functions.cheevos_state)) %cheevos_button.button_up.connect(class_functions._on_button_released.bind(%cheevos_progress)) %cheevos_button.pressed.connect(class_functions.run_function.bind(%cheevos_button, "cheevos")) @@ -26,21 +20,34 @@ func _connect_signals() -> void: %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) -func _on_request_completed(_result, response_code, _headers, body): +func _on_request_completed(_result, response_code, _headers, body) -> Array: var response_text = JSON.parse_string(body.get_string_from_utf8()) - print("Response Code: ", response_code) - print("Response Body: ", response_text) - print("Response Token: ", response_text.Token) - #print (_result,_headers) - cheevos_token = response_text.Token + var cheevos_token: String = "" + #print("Response Code: ", response_code) + #print("Response Body: ", response_text) + #print ("Response Success: ", response_text.Success) + #print("Response Token: ", response_text.Token) + if response_text.Success: + cheevos_token = response_text.Token if response_code == 200: - print("Request successful!") - else: - print("Request failed with code: ", response_code) + responses = [response_code, response_text.Success, cheevos_token] + return responses + return responses func cheevos(button: Button): - set_process_input(false) - $"../..".visible=false - await class_functions.run_thread_command(class_functions.wrapper_command,["change_preset_dialog", "cheevos"], false) - set_process_input(true) - $"../..".visible=true + #9LJX7**mie*9e4 + class_functions.logger("d","Attempting RA connection") + var ra_url = "https://retroachievements.org/dorequest.php?r=login&u="+%cheevos_username.text+"&p="+%cheevos_password.text + button.disabled = true + %cheevos_label.text = "ATTEMPTING LOGIN" + var http_request = HTTPRequest.new() + add_child(http_request) + http_request.request_completed.connect(self._on_request_completed) + http_request.request(ra_url) + responses = await wait_to_complete(http_request) + %cheevos_label.text = "LOGIN SUCCESS = %s" % str(responses[1]).to_upper() + button.disabled = false + +func wait_to_complete(http_request: HTTPRequest) -> Array: + await http_request.request_completed + return responses diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index a6604b79..e0114a09 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -335,8 +335,14 @@ func update_global(button: Button, preset: String, state: bool) -> void: if cheevos_state != "mixed": cheevos_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, quick_rewind_state) - + change_global(result, "build_preset_config", button, cheevos_state) + "cheevos_hardcore_button": + if cheevos_hardcore_state != "mixed": + print (cheevos_hardcore_state) + cheevos_hardcore_state = str(state) + result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) + change_global(result, "build_preset_config", button, cheevos_hardcore_state) + func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: #print (parameters) match parameters[1]: diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 499f3b90..6ee06acb 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -34,9 +34,7 @@ func load_base_data() -> AppData: var emulator = Emulator.new() emulator.name = emulator_data["name"] emulator.description = emulator_data["description"] - print (emulator.name) emulator.url = emulator_data["url"] - print (emulator.name +" : " +emulator.url) #emulator.system = emulator_data["system"] emulator.launch = emulator_data["launch"] if emulator_data.has("properties"): diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index f03357b9..1f3bb4e5 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -31,8 +31,8 @@ func _ready(): for n: Control in children: #iterate the children if (n.focus_mode == FOCUS_ALL): n.mouse_entered.connect(_on_control_mouse_entered.bind(n)) #grab focus on mouse hover - if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled - n.self_modulate.a = 0.5 #make it half transparent + #if (n.is_class("BaseButton") and n.disabled == true): #if button-like control and disabled + #n.self_modulate.a = 0.5 #make it half transparent #combine_tkeys() change_font(class_functions.font_select) @@ -197,12 +197,12 @@ func _set_up_globals(state: Array) -> void: mixed_mode(%widescreen_button, class_functions.widescreen_state) mixed_mode(%quick_rewind_button, class_functions.quick_rewind_state) mixed_mode(%cheevos_button, class_functions.cheevos_state) - if class_functions.cheevos_state == "true": - %cheevos_login_container.visible = true - elif class_functions.cheevos_state == "false": - %cheevos_login_container.visible = false mixed_mode(%cheevos_hardcore_button, class_functions.cheevos_hardcore_state) - + if class_functions.cheevos_state == "true": + %cheevos_enabled_container.visible = true + elif class_functions.cheevos_state == "false": + %cheevos_enabled_container.visible = false + func mixed_mode (button: Button, state: String) -> void: match [class_functions.button_list]: [class_functions.button_list]: diff --git a/tools/configurator/tilemap_packed.png b/tools/configurator/tilemap_packed.png deleted file mode 100644 index c469ed1083a641fb2cc2f50845c1596b5f845ff3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15664 zcmZ8|bzD>Z`!_M!CddXTA+U``X$(3JIRpg(1w}wY1VxZgdccM-LKr9|NQoi_B`uvJ zln&|c?izdM{r%p*=l4AS?7a3lpA)aE-|y=>p$50K&z-$^mWqn%oDN#Ukcx^1MMXs& z0HLLgVQ58+Pi71{zV z%pdtacYh_?xJRx;k;&xPcljfe^PU0k)Nfeo+@5|wc@nj|;VmO7)ww}CDk>C}js{@t zIkf6Wj~f>5{_ZiqW*4KN;PtY6HBR-2?7#KK^X`Q+XS@fu3a_@fM^gV0i`2!-bBV`q z%fdF`35L4qwQ5$R`aCua7%Br~6eR1d4`qLF(dT!&Wb zsxu+ys3Vb)JjH(F*4D5*}qST7`HwS{ku+Th|E>N1nm1KG9H{d_b`oFe#pg7 zhuGj7BdI2^mp;0){)A*$fx7sy3;lTBw>{h0)_!Vmacn?`%0MGiohvgOWWx;fvt+JU z`=@d+L#4St(d^INQo$ z(M)OA>N4jgisSi+=SY|tR`rc@)#N><26#q?HetVvy(raLnt7Ymf}rpf^>4u)6yP6-mCQUIaS?&nGZc#Xcz&Ws#)~jhYX^A4=6tAM#jZ zA~rnBRrI(ShLg-d_9`BdPgGt=I##cde(|;Kuoo~D!;~t0zJCpfNntc|oFI$%uOHbKqX>J2CCOlqCD;SLYNA))}9a*#37HB3LE?upVE`;j&lzk)>yu*eHKc5A`BS$f(e%I?*2kS?%C`IN^srq%{W9!LJRI-L%W$#_N z=OMV<+ETtP8->d{?wIB{0M=#q>q9CVeXk~SO~y1hL?`&aN{B15_ErvpDWXaCvh{>! zX4_M)diNTHH%d9@)W*XPs$^_SU~4~U=9TE=xH9`aAq6%OzKR&ujBlRS%Teo_6PKP< zTT`zwuI8D&+mOA(8S;itSulk0h4w;Cw1jixjxUqt%KiYU1B2RrgkZXUtw7fOc}+D2 zaFo`is;-7@j|cp8N+3t_c(~|_AAHBNU=7slM+d7SUNMIJ8EmyR4@4bY2%l#R8m!!5 zeEyldCSnt@RKHzW{b46Bt7)OCE@yjmoZc+uA)JOwg-cyD<&PD|RO|eH@b3J`t(rg1 zrs^6@t&4}oW%`lJGR;!4IZrzf~hW&1a2QgdgK_e=k^1W|9bM>4~sCT>GH)AB0B0mz}k=sFv$~PXT z+%e)DlLkNj98Vup5VHn?4^k4*1c`aOe6tyK$?AR+>XuWMU)^QgxL=)P)ApIYSuIA$ zlEQ>WOZbq)HwY51SdaH#^@1;9h4^iPi7gcytGWtN95zWLyqRoI@_Zh!!O9f4#`2v%Lq)rdD+T-}_B=$%8u!l~!N!A!go7YKPv|5an$+bv#HQ6u}EN!^S6xYSa8p6v%LBirWrv^ z_~@s7djWK}1yNAMFsER>Bm#9yf*P`AAxKnc%v6@OyaAV|%dYW^=)#BV%T=gqkKfgV z-zM{D!7Cj=)VplV{I$2o0fmtz1v>1YRaE zgQ*-{AckKWn5zi=Wv4{~R^%=3NnYOjzD5L@{>s23owLPW!B{WV-$OFc}fFGYZ8vx{o(PW81_LIVF&iTCZhU0Tzej#%*+KWWL<0uY{I& z8@UDlAyXd=;+e+{DxSB@t%wvjjl;yZ9 z#Bl|pvJo@=OXRLNzsm1BoYAAyAT`OC%wKHDswCC51(5H3vX4;G6|2o;&cj|5KwZw?}xNkD0MVt6=^Y#wdrQ}r*$}S5QrsKB&!?u=5q0cng zL}-aF1N}!HL?*jOpnJNIy*T3yu$PBV`FRp>l(K)EV4;1AqSM{=J2Y1$5>c%4yo0y> zzSij;HH9;2%4j7EAZ+PZkrCwP-ayzExQv#E&WFB*If(zqEq}tf6X3*%Sa-yR|y+A-brIb@t^EOy+7nP+#%m&MmfLlt$MVMjLkLRtT$YX_h8R% zUupD)E4o8l>h~Ptr3zc@u!FA&8IDP3NgTYt3NuU==2ZW*zQw-sqs%MU&F|^`q^}Jl zx?NesO#q0tD^;@I)c`jr>I-w(FcC)e$A?R#>gcAfdqm`ckV_34cuS(u@D>h`+by| z3Z2v`a(nF(Y#Y3|y3S%U{WuSKC2h+=FS_24q<84Dd(k~S?|8-ehkd8c4)^!ne1yim zL*V=ddQkb3c&_CW|A&>qO~-!>D&F`L1*5);Al>|2y()~S4)fh_lGKiAm#=xVJ-_0q zLMAjH;Y8m-!s*|~^>vh}6j<;*(YRNUc2X@83~jBKLc}pL>{{F%J(@6j1-lNS`XYtxMVgn^B$3jNa{QJ|&V|TsbvYS&eLgF6Gc|Oo7 z({Z8ul3Kf6hn;rtXCm_nv7R zGjU5M7gsOc_^I8%SW*tr1xLhQ!{ga|{b3B$3B4in>a#aNi`_>?<8%4ODsOQg6Vq`S z%Z&O2HE=M*5U;wY<|BWF&Kby@N*d5>gba$PKg}#U!ypy06kL7WprA_Dg=EQBcol+~rel zV4peUBc>b=w=3Bx6qewKXB`zhy-4_9Zn3MWpF0S7oG0QrmQPZT9`SR#6Sfpqg=}`D z`(1CGA^qmwWLARsikcf%_bTtUE$D!`Kc3t=Zb?|S0o`fUw;jEJG=FR{N5vPYm1tRetFyszT5v)wQ3jE^N6f!^?g7 z_tjxW?z(ml)3*1Q{+4%C$Sx%R(lx`I;BMTAlYP2d%xv4_ zUxw|!stT^htbg)v=Z56}qwza}?0wqvx;rQqlNRe|2<>W^=83YWXkW(>Zlp#~PZTKZ z!F@Jn4(L8yio=It#~SQ!y%no&L@>F}z5Wm|(jCBY+FH8G0P30f@7SS;=;f~e= zd8pnTZTNn!2&F`Y@tpp7it?9X%vH4!Ul^EBPDORv@b{r8`B3R}@Y7Z!>{~t}BSw3>vUqG5USv51CC`hrJn=(DKrZRXcjGFgbmM+jtk@*Lsf( zOZVL-SslQh1i{#&?Vw5QK+=9~%?JULUun2BG%3aHT^FSb=eFzQ^I{381Co z%!E`I;NoAVU#9i-^(TDveqGtNJ_DO-=21!}#z>BmKNg+3t+4&L`}d0XC%|u#_0kRs z>HUR-_Kv_U0jJQGa?Rsk$^Tc~+2B8#uq_CwF}Nh+rZV}}@W+@>^JX56Z-4J!^(F|7 z&paP_LO3$Oa{Wf~|A^F%exVW7^nIBSSBb1cIJRu`C4_RwpFG`hKPBbDU1phCyj@1ko<7?+gr>z ziDy&{S3Wg6cy)RhP?G;5#-=(AKT3;>9uMKgAQ|G89-jcdAdZJ14m5}(2Jd=-S53{PQ z_~1Cp9ai7&A)4E9oXfgQQk!j zF9W}`_l(H5yK%`ap6nI?bD{SRb-PUPXNX*GbkcqVHgT{o|_N(Q{OI(Y^Lwq%K9IN4U~n z&Z?U7e}FuLy3MgPtGr@M6NQHm1#0B)A6+@Z^j6;Tud2FR7!r2DcE4s){5$eQSyr@f zo&*$(=LP?Vc`AlzLQyPg=>4B88=$T(Fo@(Eb&9x?+mo7`8^<%dcaw?#$ScToe!tcx zTiGaur=gSeb|!@9tb62n;K+Uhi#d&GlKi{f($ccJbv23!$jkU@7l9g)zQ~6*RCbi7 z(}5bP&{0oQAN54(KC#SFsm6S__gD2NOn#W^M)gI(TnD2#pDY`lESuzR^M`}{62(QKpOM2y!x7_Y{V6wENDO2n=mvfz{FBfBZ^j0?N&n_+BUpjJr=!>3J4|YjtE_J}(r&<*DLPD8 z0`3o8(dVxAPg)tbTlD)|uWP}iF%7_zP^6a~~Z6t~VtS zbo+mPi~4dGHpQmgXHD7hbUdjj%8x9Zyab@vaNh zvdB`YL}U&s=e%cZ85KqNXYC3(MN$g*sM(iC)g3Gvx=gnAJwAoZ{0ny-se~@`;{?hJ>lM@pjLc~dQbjr-?sS!xvG^mH6qX@L3vS>q2Vj_O z*cV?M^(+Gvt?Cfwq|i2C9UDdgjfhwq_=0x96zg=eKoLdp7BE9c{|GY%0rU^ZftSlH z>dr-DLyDMCaZ5ntHFV>F%_5+IHCBrIyJ#cXhvQn7Vw^iW6`p)8D4CB4| zw&<4c_hez*uF5+^W+ZB=SGEsVc&pJ!2`||c#tSybKGR zxKtbq7|q%?L2?hutFQT0Umqn;UODX0B2W^tHdYwutI{OOwB#7UwjxX|_G-c+M#-05 z26mN-A38YrQ^HL6Q;1rL)N68X-RMY_*&v3i@{1yw{YIPFW;XcJgcami$yTU!p#qrJ z*Cu>ijXfmZP&(UoigL)IpyEzLCtG`wf%@{9)VK1TXRsTm+|N`-#ptTnngn!6JG-Sj zo4{ZsaK00_aF-layz ziG_ST${$glx-_AcK798Ww%lsuL3OFJnz>|9Wv0%5t=Py*p>^~narxOli4+3JqXS(1 za(p?-jB<6~B2Z7EwPP{2u#Q@A9lm#C%$a!UtN-BN@VooYZsE~Q0u!w6L^C}#LeFU+ zgW<P^AOGm|Y96xsHk{;h#IjQJ?PimhKVD8fH53kdM=^0%-Zk%w>xQx>9t z8Ip|oO#G!n<)+`O0}B8JdcPw*2uhr*JW(%wb?ZBeRUArp7}`}tNs=HgZrJgn2GS9iT=_LaG z@UQ%j_)k$$Jm|jZg{r99EEV*7i+UDb-2OH!TBvw08LdD9zU*FfvK9^T*oI{%TpV}1 zeAr)C*BPOgz-V-JBbkdInV9;_#b=ITSAw+Aq zwLGED1LkJpul!#iI`W8c18Oxf?oV!QKA(N;Pr?e>LiogdWP?dKbNzj3Wju+dm=eEwHev)=aK#UwXg}-YsHZlrDuy7OC-XbbIq|rX37f`5PBu` z9}s%o8y<%m&!S}l_1C;bo6%wi%|eR}=0DBB=3&wT>nj4S?r8$rRkSzfzwqe8XN`_t z?agt;g1WLXAG=aA3OPXnL3#wmclmpuu01TDUW=9bJ3(f7L~~>RJJF`UsB;}QRb457 zJufe*K~Mt~tV_*6Gqyq2yy$x{UT1u-7F-_Pc#RoL=%)cTRzJS}3q84c&|s)RPDiX; zc%mEk&caqk-OYHhtRY^sbQpVVT}NdQ>YgoRvt+h@TnKn6BC$*XQ1HxW3^8zQt!-~0 z1iR;&0No@xyZP>e0)tvctQkI1Q(%e{NBYR9v?(Rawx(XiE^zmdf?+IYnt6Y#lnllg z_zU6{6ak1;qzwAk0Zy?;%+3v{NpcNStm}%EuLp; zv=S2cRS&#QfI+`IjK-K;lI_%)AqKXrs#G-0^;XfmV4Fvy{s*w!n->bupz8x}6evou zg@5o!&k`{B^@od>7rZd4!9cN~#kb_#62=?8p|{Q8P1u4zN^-sXR`hKycTm4n5OZBk zs>*o$GB7qi2~B)zo9b7nDzMd9a$-dW>*ZpHRX0w%EIqCksgYd#u=z)15-vTd17t?`Uu4J<= zB^T{e%A>1;L7@V~i5=ACSWudKRd?uT;f0$Ka~gkKxqT$xKK+YA6XZMKp94{NxHPau z98pmOe8uUkRZbz(@M_QdluXK?75@F&y@+2AvoZZheqS8N9S&aAkteUBQ0jtM2A#K1 zB~zmm=1eZ&x)6jrbLt`#KtByctvO9M^Ne8trk`LszMpiOD_rb!@d=jy16~8B28q!OhO3AnF8LUPkDR>dc&(sF4FaPUo)U=v3r-mn zB7rYEC{K!^OtoPVGqYK87K#AMs^*~ns9HvoP>9KUYn^ADD&h|ZJbl0v+_|c<#gusm z7NgvwszeO`$4ay$8RZI9h&lupAtm%gbHbD^mp|9Y{|97`J7Jx;(#_^aUqf^KP5{%J zO}A#hkwXls4o@W$VI+tWWW;|CO2IKce`7`O&V)7vv3e7>|0OO~zJTw!(o=A#MNGXr z`>s6q&m|!3(%72?AdZ1|U%Yyx4GChZtI4&rq*#W95pcl~M{^V;SLRvmP2zI4X_nK=+I z_4E1}!!M_OqPAnO7aWoxM2uQg1qEJ{6zJ{`KsgEaslETPr<|-pgfl!W42ywl5P0qr z7yb)e)w^p`&I8v~heb}r-#!!r>9j!+F|KNG4M-x&%hpvQ1*ObJD}@T-4moJ-p}qI* z*Tcd=Z&Y|b2Zi)F#@X9$#PC42nCd{a?^BDxVpjZR6UY@R=wq;O|U&5y#PRf0wR3s z>umi19oATjApRP{9g5dI9ce{e)VfADy|2AX913JXqHFKTmK~&QdeNSdPT_Fuq~IYAxev&C}Y0m z&5Q88BnnSC?;@&%Z?HcwqN|A~Id{r;S_6mm;!NaOemkS;`;8QZ?C7tsDs4MF7GsX<%^XGba94rxqk|3`n#+}nVx=$KI7vT-R zGVd=`c{)*vNGLlAzttvTX?i1`lLU?OA4!27LBmBnm-;wZFiJ zSMiTSZMqlNJNK`rYi9x(#8s*C5T2aGE(vT=jEw*~y3?IDdHi znS*EJB#&T}pA$nD7~7D5bduu9*zv;da$tpDLoP?|oC$L{Yz8 zw^W1?+UX-EKxux&0oo=xEGpu+_PE5=fKwiaffX|+$Q0Q`!D$zE*~RoMFL4KS5?5hT zthArtW1>XFp9ix~7;;KV?(KYMHIv z3d8ulSjh}yqJ&;?M^h;e|N2co)4FJE8!Q=;@?`&fc9u4mZA>hdyGpreRV3!=ew`zD zz}Dxs>t%n}6eMe$968eh zI;SEOT9b7FC|$SFBn}xok6q4tLKDlCLn$fkya~EyA-!L;pX{hv#bM9gvu9CR0{CJZ)CYo8VbYuiB9g=5XcA5d0Cx*E&&oK_@=*co?L7!UfE~ix@}Ho!k|HmiMb;Snu^iq=h7`g`YkC8H;E@h0 z1ReXnW@<#3q=7lA9`tNI{reP`+1oJb2V^e$!`Y6fF9~OVULgV-=2)Hmco5GSC3FG{ zhr)B%+N4;zkXuio;!F9ifTfS1E?N{`B6wDw9f1a2!LUbC)gbxu$Jq^Px(90->EOyi z2~^UOJQKR28#c6%wTb2Vb5Q9_P|Gqv z@T~U`y%?O9a_-0HgF9M9?aMlP6^UMhUa#KiLCk9e{V5wWZi}Dp%UVZWmkx%2LZ$pc zoU+u|4Nw~s=)gRphDMYVP_D@9%o|KV8%C66G2KkYH(lO z#Ht1H_rK%!)yfMs2=sOkLHxxY;Bi|`1`0a>#GB`26VTe#{3ZPM>8pj zu~Q0zS>sR}Ve#Tz_RPz5LYmJ6vjBb>Vg!!pz)<@Z2Yl;2mCwZWwq45wTk$X0Glb7@ zrG;35vb)~Q&}COOU-NxJ&7$)Tj;6FAf@qVc=vT#}nbU5=)P`x5@EY*jFf2*EG*-kX z?us`dc?!Jmydvq5>#5EJ^x|rg*uC0s9>LqgCFyUrvWuw7dJv|Ufwa?rB%#3{$z3@7 z_QJw-Y*u%>{nU3uSe^b`0Y7^W23<{8uQLX%)OMGXEz&8hRWzbu{K8<1rvkgz*Djnf zKV0|EiFXLwrS}v{<9a{t{P9;o4vQ>sEt~!8j0FllG-Rx!7rowxyV@f5ds^~r%tum3 zt8Sb~>qYJ`RzF;inSr0zZA>q}{r#Q8#=W|Ekr7@2KixfwI5 zOLAM{=5n`henovAv=XyPxV_LRV1wEcdHq3^z1&pUttm&*ZjD)+%D3!PhI_-eQ$cR? z2OcKImcwP!6!pPzS|;YP%}xVXF5EIQrQ9n*8RZEHM^=|^+~D`rJno+7!w9i8Aj(@!4e`zZp?WzT+ZrhhJjAD|bzu75!F zSg)(_-oP2H%3AI>ATm7TOx}s4|LNoLhZ$PVrxjE50ae&M+BBu+SMLC z(5X|BR*x@Rze>>O&<9kDQh*-F0fnbwRJ#8(5)K6l!??d?)WdZN2k*l{n?a#W4IZ6B zCx;Ao%QfI1-I#l4?9LiCgRwYhi3fOiUG}2vK~ImP6fa~I6{`i;qfqqT3v|FH14&FY z6g8;NJ3N+(Vpe5wY>Sl{0cK5EXU=PI<52*t`$fX-1Xa_C6iVB&nNk^_=2h3ikO0P$ z6ms*?f#dgezBA$hhhm)!7E5hJZ8OTKH4myU3rT+&`VsccK(u2evd+J(y?^+qwAwzraf zvD{tAs*8BJs0@2}OOq`Fv!R=FS@S!7tfcGwPA!|;LX^tsHE#ctNr^$&58BQs7 z=ZT+_-J-GA9q}x24!*hjaWhX2de!4^{+2Y#{qXQd`>ar(Wtua=N$& zQ&QEI9}u>-uM6TA?@)%?-cZP5*8q9yu59pO)+M#;GXu=zzgz@d2`@YV$5h)Xp}+Ek zTcV#+sMidzm4u8GgM+*M#P5 zSv{CX6*jf}A+(78O8%)9n``sY^uc&22iaNv6Ow%9>-via%knjizv4?ruKCiso8Di| zN!!!S9hLZ8)Kr~U{B%hjj8l&6+q8Z*fmDM`EwCvFi>_Aj@4@~J7}CP82lg&IBGX-> zE;6PyPXF241Wg{Z-EVF?#}Lq+|dJ{5mTF$p}=}k5I)^0tFqnf+;O6 zM5G5SFK`-+9?}wq@qV7c%6yn@30+Lqt4NRin3dObHE)mpgfxe*p*;>DV zP*jmOq4!$mH?S3CE0r8PtulwT;cPl&QP9wO!Na}Ehdq0GHtu0qWh0(WTG=;nWmU2h zqV}V9ZNL$?@o2 z)a3Hoo1dNQG&Z-^^L`*^mVSG@7=YPq(CF-2rcwqBm5bGUU`?kyiGr7g7Gj!5!a`He zDnWLgsSZxP34I{B0z^>aK?Xu9n?##p{~f(w;`q~-(i`~*o;0#DSC*@{IMq@j-UsTk z!CsDAFTdsa+iz~E?4po2Ukl?$I7JA2M zoU+`ZB7vO+X|1d8Gv8NzeBbo+6VFsd&q7J#OA+cTvtkLMiB8uUFCpV9s`iuDVTX2Fay{Ue9In(w}d$0=gda{`$Y$G_mco ztWmwnua2TW2mYQN?zVOEXJWMEJ-C2l3OevJJvmjr5@hy-BhK3HMD4`d`y*lc)_oQ6 z$WOBjzKW{gNzesxlYHeLwDEk9p=c52 zi2eaI2KQr=Ph~C*qv$ky&-B;n=^97Opi6+V&?>T z?@|^$i`7^vac}VJVQ$FUIU)=zod$jy{cG!qX-c@~DPzs|v4Jnqs4!-J>!#r`77f4; zHWGQJe?RtckAh*<;3KtHC{EI2*UZpdG02OeR2W`cmMuTQna|JDaNJUH2B_1g&H>qMvOWbA$-a&XB zeC4pJG<|T5Gcxp%sMh_@$c6(cbi<%3pDB&k3M9kxO<5sk3-ei#8^>NksM=$_a%E=s zS_H5mqo_}qY2kk=l+Mk)&14$}dkFrdOb6dTv@TPmyQd0Q4Uor1NbX-J2e0?|yAat{ zxtheDThsp;tjZ!ekb*CRvs;W9u0IczxKwfc8VkCOhrcB#joo~exL-O&y3={R@k&)) zX!MjKQ~^CJ$(1<;e3L~#Lby#PG$>Tn>>QkJXD`26OzE79Al#0X6<`^LKriG+ACK3$ z4((mWLt9A|w=XSpO3-w5uX_39bXILFaraNC^i`I^mxAJ5A(^DEegwV!JE7JXuiFKd zdM_moha3$p+G!-;U(Q6r8J99+ebwz|@31Ohjr$(^11GV6D4j?6%$m_^DZRGKrik0t zxfp=>tD-0w6L-?8h3H9KG9>v3EzdCiQMqT*UOaZK@n_*ldQ18H9ujPkfD5C#-n}v+ zH%ckaDJYsU8@h{nx`S%J@;lBO-V`~R`VD+Z+>Kqt<4`dUVSA%T11riQz_yVfZu`Vh zMbPQ|FK_rxuVUsNE4oNOWjVns+S>PvrB3rResjuv;7eC6Z}_y{dokzQ6^%a=app|{ zQ>Sbj$39*kFTVSH^KN-`=txtnbKQ+HJv|Ue3Y#Fg9vmOsr2MMmaO2FU($C<;oZ{mS zmb$d%A~gJmS4qs{8>`TqIsIN-dzsK@Fwd-*tZ(Rq34<1)%ffu$KV<%ao{P2MGTRhe z&(qg&@}G96+Yw@qAyX=rd#tZ$x_8wi*@%vwQ`(5tA+Zuhc=SPa!v25F@qLASMXFi}zaJ=h217=2X7GPzR!D|Cduj!^ve*kY1eR zJA=>QXkLgm;k?a%95UKWToAvte{euQsGtYzTs(Q4jPI}b$03zB*sNN6q|n1+c6P*N z5f0o8A6lAUrMqCqPp2_@g)&FQPW~}_!2_kh;?vb@&GP? zs!G_*v`Nm4_-NJaA6Hzf(KS8wZ(KYT;U`|31~V_LD_pBk%qO z{lvDweCp<0_4DgKWZ_DKSe*%GquNSmsY^}b9TF7VXnGe=&Vm>xu9i_V%k|G;68^_h-3Ak~_Am z^SsGNPiHncT>@M-{&wusMWrgK)cO(LoarU)bX2Z{1_>( znl-kGbLMqZ&P^L1gHd*~`FAf`9fxZFEby{8UWHhj$b;K`5fUzeso>+lnj_D}oJ$@O zXY_?1Ntiwm>zFS2ZMkWxJbXGw8IX!gqQ{Zc@G9so3*Kxp^e45iD;?zSNJ}<;AyZ!PmBH`i9(h zmA~tokeAVLzXXUHgjWk9R|iTedfuGQgnFrpN2TK?#WWue&GQkZvG&Y>;>%Q+HXQ$z z_o5(#-{1`3?GqTNL>Dz)deoD^OOaus>nxOpq!xC{w{|90rVu*#)1$%Nn`(_lCnv}i zbnkh1esxrE0z6^Fy7wZMipH2p!)1?Mz!7N_KOj+LxvtX9=MTl6n@xmUy->DB&AQ&b=RK)kQn zG%P_h5){2GkqoInjw&3GD75@8!zBOBR5`~|*G!SLcO|>xoCC+-+z`cluAH!9mwttUP~eaT5RsVu|!kD5@S8_YJ7!b=yQ*l zafx%G1*6bz9|_WDuoQi2Ko#z7$%OmUIc7x9R({aOqa2F$%ICrDxo(3XQgu^#tTKBG zveq9=O9zKl^9<}6zM5-WDg-5TmAzTWyF!8w!Ga`{U%a?)p$>nh9EE@vr+S|Hwx0LK zvVWu1N)jv0cGrccnIx`ErXxUosRKHbdv3EL2~Scz_AvE96Zwojej!`;=HE0Lk_^^_ zOeAXj&uCF$vn_QDEv;mzXdS@X*wT-kYZXSJ7bSsSs-c0z`2p=9QD98&auG$s6BXk)lXF* zVDkV%GnRW<4I(>cG$ke&N+lIUX|%|*j~NE*9s7drX%PZ7;8COV^-Lg2OXX4%C=m1o zMRZo+KUjrEH|vr9O4qS$3lw^a+AE-`h95W5(Q!>D9ECimlW_&><^;V^P`ox~UDyPY z0vUN>YaqM2_v2tS`&X}PtRa_;N@cCSipo>s!+s7mJZL=n* zEVD*V_4ABy%MfGB>Q2fOiD)N|@Q9b@pTInAC?mT|GN8bde`}S;U@~7fi3}Fqh@#f( UzAr@i0GUch^Oi=A+C%LB0af40&j0`b From 85764ae27611365884922723ad200e98abd11498 Mon Sep 17 00:00:00 2001 From: Rekku Date: Wed, 25 Sep 2024 13:33:30 +0100 Subject: [PATCH 66/74] CHEEVOS AGAIN --- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++---------- tools/configurator/scripts/class_functions.gd | 9 +- 2 files changed, 48 insertions(+), 45 deletions(-) diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 5b799293..bc9b2423 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_sleib"] +[sub_resource type="Image" id="Image_one3k"] 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_sleib") +image = SubResource("Image_one3k") -[sub_resource type="Image" id="Image_toohp"] +[sub_resource type="Image" id="Image_chjrk"] 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_toohp") +image = SubResource("Image_chjrk") [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_uvo5i"] +[sub_resource type="Image" id="Image_0qed5"] 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_uvo5i") +image = SubResource("Image_0qed5") [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_ixvx8"] +[sub_resource type="Image" id="Image_eca53"] 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_ixvx8") +image = SubResource("Image_eca53") [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_opfcw"] +[sub_resource type="Image" id="Image_0d3gn"] 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_opfcw") +image = SubResource("Image_0d3gn") [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_itxcm"] +[sub_resource type="Image" id="Image_5lg16"] 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_itxcm") +image = SubResource("Image_5lg16") [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_ausi8"] +[sub_resource type="Image" id="Image_st0hy"] 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_ausi8") +image = SubResource("Image_st0hy") -[sub_resource type="Image" id="Image_3hx7s"] +[sub_resource type="Image" id="Image_bc1y3"] 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_3hx7s") +image = SubResource("Image_bc1y3") -[sub_resource type="Image" id="Image_1yvdn"] +[sub_resource type="Image" id="Image_jniq8"] 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_1yvdn") +image = SubResource("Image_jniq8") -[sub_resource type="Image" id="Image_241ge"] +[sub_resource type="Image" id="Image_rc0kd"] 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_241ge") +image = SubResource("Image_rc0kd") -[sub_resource type="Image" id="Image_4w5sj"] +[sub_resource type="Image" id="Image_vost4"] 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_4w5sj") +image = SubResource("Image_vost4") [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_7wwvg"] +[sub_resource type="Image" id="Image_8dc0i"] 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_7wwvg") +image = SubResource("Image_8dc0i") [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_y7d54"] +[sub_resource type="Image" id="Image_xgarm"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_y7d54") +image = SubResource("Image_xgarm") [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_4kj32"] +[sub_resource type="Image" id="Image_6cgo5"] 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_4kj32") +image = SubResource("Image_6cgo5") [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_yjskm"] +[sub_resource type="Image" id="Image_ylhdh"] 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_yjskm") +image = SubResource("Image_ylhdh") -[sub_resource type="Image" id="Image_6v3d4"] +[sub_resource type="Image" id="Image_frd8r"] 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_6v3d4") +image = SubResource("Image_frd8r") -[sub_resource type="Image" id="Image_ufwhh"] +[sub_resource type="Image" id="Image_7xrmt"] 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_ufwhh") +image = SubResource("Image_7xrmt") -[sub_resource type="Image" id="Image_e1785"] +[sub_resource type="Image" id="Image_4ybg7"] 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_e1785") +image = SubResource("Image_4ybg7") [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_5pgdo"] +[sub_resource type="Image" id="Image_vjrmq"] 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_5pgdo") +image = SubResource("Image_vjrmq") -[sub_resource type="Image" id="Image_6fqde"] +[sub_resource type="Image" id="Image_5rqum"] 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_6fqde") +image = SubResource("Image_5rqum") [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_jamgh"] +[sub_resource type="Image" id="Image_j414w"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_jamgh") +image = SubResource("Image_j414w") [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 e0114a09..6b9ad39e 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -336,20 +336,23 @@ func update_global(button: Button, preset: String, state: bool) -> void: cheevos_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, cheevos_state) + if cheevos_state == "false": + cheevos_hardcore_state = "false" + result = data_handler.change_all_cfg_values(config_file_path, config_section, "cheevos_hardcore", class_functions.cheevos_hardcore_state) + change_global(result, "build_preset_config", button, cheevos_state) "cheevos_hardcore_button": if cheevos_hardcore_state != "mixed": - print (cheevos_hardcore_state) cheevos_hardcore_state = str(state) result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) change_global(result, "build_preset_config", button, cheevos_hardcore_state) func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: - #print (parameters) + print (parameters[1]) match parameters[1]: preset_list: for system in parameters[0].keys(): var command_parameter: Array = [preset, system, parameters[1]] - logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) + logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) logger("d", "Exit code: %s" % result["exit_code"]) _: From da4f2aaafe5142c377deb12f6e6786ec22a3fd11 Mon Sep 17 00:00:00 2001 From: Rekku Date: Wed, 25 Sep 2024 16:36:54 +0100 Subject: [PATCH 67/74] ICONS AHOY --- config/retrodeck/retrodeck.cfg | 1 + .../assets/icons/pixelitos/128/floorp.png | Bin 0 -> 797 bytes .../icons/pixelitos/128/floorp.png.import | 34 +++++++ .../icons/pixelitos/128/retroachievements.png | Bin 0 -> 637 bytes .../128/retroachievements.png.import | 34 +++++++ .../pixelitos/128/retroachievements_r.png | Bin 0 -> 763 bytes .../128/retroachievements_r.png.import | 34 +++++++ .../icons/pixelitos/128/steam-rom-manager.png | Bin 0 -> 761 bytes .../128/steam-rom-manager.png.import | 34 +++++++ .../assets/icons/pixelitos/16/floorp.png | Bin 0 -> 402 bytes .../icons/pixelitos/16/floorp.png.import | 34 +++++++ .../icons/pixelitos/16/retroachievements.png | Bin 0 -> 348 bytes .../pixelitos/16/retroachievements.png.import | 34 +++++++ .../pixelitos/16/retroachievements_r.png | Bin 0 -> 343 bytes .../16/retroachievements_r.png.import | 34 +++++++ .../icons/pixelitos/16/steam-rom-manager.png | Bin 0 -> 383 bytes .../pixelitos/16/steam-rom-manager.png.import | 34 +++++++ tools/configurator/main.tscn | 8 +- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++++++++--------- tools/configurator/scripts/TabSettings.gd | 7 +- tools/configurator/scripts/class_functions.gd | 7 ++ 21 files changed, 331 insertions(+), 48 deletions(-) create mode 100644 tools/configurator/assets/icons/pixelitos/128/floorp.png create mode 100644 tools/configurator/assets/icons/pixelitos/128/floorp.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/128/retroachievements.png create mode 100644 tools/configurator/assets/icons/pixelitos/128/retroachievements.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/128/retroachievements_r.png create mode 100644 tools/configurator/assets/icons/pixelitos/128/retroachievements_r.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/128/steam-rom-manager.png create mode 100644 tools/configurator/assets/icons/pixelitos/128/steam-rom-manager.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/floorp.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/floorp.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/retroachievements.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/retroachievements.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/retroachievements_r.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/retroachievements_r.png.import create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam-rom-manager.png create mode 100644 tools/configurator/assets/icons/pixelitos/16/steam-rom-manager.png.import diff --git a/config/retrodeck/retrodeck.cfg b/config/retrodeck/retrodeck.cfg index d96f7d31..bfaef917 100644 --- a/config/retrodeck/retrodeck.cfg +++ b/config/retrodeck/retrodeck.cfg @@ -34,6 +34,7 @@ akai_ponzu=false sound_effects=true volume_effects=10 font=1 +cheevos_login=false [cheevos] duckstation=false diff --git a/tools/configurator/assets/icons/pixelitos/128/floorp.png b/tools/configurator/assets/icons/pixelitos/128/floorp.png new file mode 100644 index 0000000000000000000000000000000000000000..60089a12e38089867eec55efe599f0dacc162425 GIT binary patch literal 797 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEa{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCjKus+S48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6|34foZm< zi(^Q|oVRzay<;3D8XnrF@y00_W;r+-#5zo}%Kdfa8r$q8+kGe63vApXRGt0%PkX}p zsZM%MQj1sbUKwm5|0#7w?7i=q-{;(o{GR&Y%+4FHJtwIEQP;Y!40d+=B(};q`xYPE zep_~p$zR@OQFS|R88cWgHz0`Bbv#z@j{p3dSXr?>_^JKHk`4bAZrE?C4=$g3K$77c z!vh{9V%_~JhKc&qyVtf)*!1~L_-jQGOJ<;|IgCie((|VI=boJVF8^=No5z3FeD~g2 z+O*hy=WEtEj3{OSjXw06antdiTlYrZ*3Q46I^C)%-=51{WBe1i!F=5L5`~Gg%SBa1hc|Z5;as0H69aF^zjZbgiM82wOd@R3u=3VFY)9k`)|6jYd zn}6ls{c&r5*D%~Yj}}V5J~J-*d~@q{&SSCPEbLEX1fyOId&fET^!4H=c1g!={qtjw z`_8+I@2fxJVMu2vU_&CN@7Znh?UCm@%NF(LPoE3yi@9-f&)@ohe^q~P`mZdv{~P;n ze|_XRR6Rf=u3l%HXRo`S`HcDASqXo3@-0|}9EreyU$vguWz%(TpIx_({}jaVF(d_b a?AKkE@M@wtn=LT?GI+ZBxvX!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCjKus+S48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@h0@3*Im zV@SoEw|5M)LL6m|f84%H{DRj8o@rsnlp~f4>8#yUF0hv6{f3n~tlHWA6F8d6c8PT< zbaeGDP zV^9$MBE^iO8${@!|26&kXtYe`o&un7V)8-n_W_&u`o^=icA_|JmO1rL|1P zNT!4B+3~e~eSLcWL#N+=Ki9texB2a=o#)ou?LUrb_}=$(*nSii8GOC-ck1K2S3Yy4 z-(LFjXZ!5h&);9(zyI%c&%M8)X$=KT9O}r#>sQQa>o2EE?>#49yI)da4#Oc%BqF9# ze!=qcc?sX_4!!vP_UdzM{sRGM1|0s*SoQkPJG+Bv*Z;7yU48!jj#ZrA_I3NMBL8h& z_x;}S@UP!EtFE6#4GCbtw7qAZ^7eV(#$D&+|Jq>&7A#U=biuj5?744pzdpOl`5h$Y M>FVdQ&MBb@0I1*!{Qv*} literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/128/retroachievements.png.import b/tools/configurator/assets/icons/pixelitos/128/retroachievements.png.import new file mode 100644 index 00000000..fbfe9725 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/128/retroachievements.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgvrhhcyb3oav" +path="res://.godot/imported/retroachievements.png-c4b29821ae12837e3710e30d4646ea39.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/128/retroachievements.png" +dest_files=["res://.godot/imported/retroachievements.png-c4b29821ae12837e3710e30d4646ea39.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/128/retroachievements_r.png b/tools/configurator/assets/icons/pixelitos/128/retroachievements_r.png new file mode 100644 index 0000000000000000000000000000000000000000..2198a47a24e3721fde11642d6723604c2ce4e0f4 GIT binary patch literal 763 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEa{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCjKus+S48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6|34fvM8d z#WAE}&fD9LUebjk4TZ~>TzJ>RAtu6V+jv~yPBnw#?!4$Xj3ReCA1FOwjM@D`VxB_N zHm5a{w1Pr>I?ZQ9?y*as^Zs`(`+v@lj}Pwg=~}tq?&OOqRc?z#gTJRv-@pF6&;F~? zCqFEFXTG3Hl3@k$GER{_VZ&9Jg-H;H^J4a}GlR8$&uW(Ywz*x9RM^(pU2y zuP_gP{r>i6`Qzs{*% z`NgjG>v7k`-&HUbevo_c>|y+i_w}+m*MG(QIduK=mET`pJfD0P)6#p)e`?SD-L?C+ z^pbrJ-+rIBvpiYR-EGRApdf@PT#!Xji z=f@w#Ftz>ES|Nr*C#0=xLKofud z*!d%$~?l zzW8(T;h*zoJ}<^J`iHH<)Lr%e=hyBNM%B;5@J@8=finKDXUcyAQzwI`tDnm{r-UW| Dz@RF` literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/128/retroachievements_r.png.import b/tools/configurator/assets/icons/pixelitos/128/retroachievements_r.png.import new file mode 100644 index 00000000..833f3863 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/128/retroachievements_r.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4r1xk6ubwkmd" +path="res://.godot/imported/retroachievements_r.png-30093fcb234d7cc500450fe7b2bae8aa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/128/retroachievements_r.png" +dest_files=["res://.godot/imported/retroachievements_r.png-30093fcb234d7cc500450fe7b2bae8aa.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/128/steam-rom-manager.png b/tools/configurator/assets/icons/pixelitos/128/steam-rom-manager.png new file mode 100644 index 0000000000000000000000000000000000000000..37bdfe33437a4418d2555fe95924263dadd57f5b GIT binary patch literal 761 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7uRSEa{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCjKus+S48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6|34fvMcn z#WAE}&f7Z+{h|Y98a`S#IbJmmY*toGEc0en;8@1hd~4ke?g!r(Y>v3JyIwO9PEp~# z;pE|=mL-s&HfBiul4)>|H=9?|MwNk{j1mRzBA?4VTK1h4CmlPUg=Hq z1vdNt{quYKbO--}>5>d{7!M$bo%|nOJ*{n<%ZQ>0sQnIm#*W_C%Rl`76ZwfN`{8G% za|{J+4C%d7jy(?smo(%j(zjmp!zq_->@A>kF?LYp!PWxfg zY>es|Nd}oZ`GlLV|GYaHYGLQQXWuX5)4yWdFjU37KF_)4x6HmNcb~P0WZ!u^nUvW5#g<&hcR${|<~4u&;SaW2r;TLfdDtHQevF~H{eP^( z^P(>keoWqeG2xw+{q-6fe9=b+bPoV4jW|7RC%auDxg85*r#i oPk6;qM2vx09-vgA;`oO-dR~~$O^y;VVA^ExboFyt=akR{0HxzEasU7T literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/128/steam-rom-manager.png.import b/tools/configurator/assets/icons/pixelitos/128/steam-rom-manager.png.import new file mode 100644 index 00000000..2c0933d0 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/128/steam-rom-manager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://syrfbhy5ov58" +path="res://.godot/imported/steam-rom-manager.png-8310109093f97cffa920822f53cc6704.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/128/steam-rom-manager.png" +dest_files=["res://.godot/imported/steam-rom-manager.png-8310109093f97cffa920822f53cc6704.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/floorp.png b/tools/configurator/assets/icons/pixelitos/16/floorp.png new file mode 100644 index 0000000000000000000000000000000000000000..34489b71ed121d2fb429b2f8de596d163be393fe GIT binary patch literal 402 zcmV;D0d4+?P)TlRHa8K@f$%4I42LeB=Q)AjD1(dt3X|)~3@wtwsKT zl3x()Q``F=#9pf#h!3EEDUqbnK|sjAEDBP)0MFlHCF{LKB9nA zT1M8!mdZwWQ`sJ!=XCyD%blRN^^~dkagJ84^5tVb*`ZsvBBPmIMJLHg9BdCj&GiKY z0TK2%_J*Tbq=F2R?#2kl7=L7b-;{^p3O^maXcawC@4q4fbQ-ZwPXQcO?gilLq2-(Q z>-|E3wmJdedfE;%=rrP`?vCtGa!TpOPczLu4vrHLch+s7w{eZ#&0b1U(3LX)?p_zq wIS^=WjAgCxCoGT@2r`(wM445-BmWD&05w%{*q2>&qW}N^07*qoM6N<$g5=DgAOHXW literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/floorp.png.import b/tools/configurator/assets/icons/pixelitos/16/floorp.png.import new file mode 100644 index 00000000..0c4082e1 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/floorp.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://drxlki00ju7bc" +path="res://.godot/imported/floorp.png-ef66355fd6ca8ec96f4935c6c07e5541.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/floorp.png" +dest_files=["res://.godot/imported/floorp.png-ef66355fd6ca8ec96f4935c6c07e5541.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/retroachievements.png b/tools/configurator/assets/icons/pixelitos/16/retroachievements.png new file mode 100644 index 0000000000000000000000000000000000000000..05d73d6d9e7256994ec7549b7e263a7eae3eb1a5 GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~?cv z#WBR9_vr*fFJ?!H*8TV2uwJ`Xbo0`wuN>FHoKCGZE9Z#fyqEZ$g?nYta}G6uj=48Q z1Qi8JHgdY~)~{;3d9$$kWb;Gb{JMRW#vk6R`akwBJ^b+P&L3^}=gW&cc=YRHHJ`(* ze3P^0x*4WBgKzgXJ*m6P5qEFj-UoM&&vBK^E-{|uD)~C~e<(xK)o;(wn{E3R@6E7m z=Zc%m0%@VE*Uk1VzVe*GQT#-!3iFY##?>qI7F~OPYx_?r6NbdF%vhJE5839sPQ73R s%IYw4eeleDvbm{w<=wAmg0Bj0PDq%t^#99Jpf4FbUHx3vIVCg!04?5)TL1t6 literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/retroachievements.png.import b/tools/configurator/assets/icons/pixelitos/16/retroachievements.png.import new file mode 100644 index 00000000..d263e571 --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/retroachievements.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jpdccqpel2o0" +path="res://.godot/imported/retroachievements.png-7a6c7b94e38d9727ffd6620ed532a005.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/retroachievements.png" +dest_files=["res://.godot/imported/retroachievements.png-7a6c7b94e38d9727ffd6620ed532a005.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/assets/icons/pixelitos/16/retroachievements_r.png b/tools/configurator/assets/icons/pixelitos/16/retroachievements_r.png new file mode 100644 index 0000000000000000000000000000000000000000..f453070dc2c047a82bc614304b77593618cd43ce GIT binary patch literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6;x#X;^) zj5kl})B`yR$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBC~?)( z#WBR9H#w!D>D<}(|BN3n_3+4_u5Dr2;O*%6^pyDy-iD@c1%hrRhCGZp3YFKqcRVb< zd?fJ80n2%@{+zoQ*tSjgJp6Uz0SSG(KL=O8teI`IIPt18kM{$%J^%hpZv=veCsR~K z)K5LR_q%@`+iJ%6dLC`=5xC*f%r0fF5MLlA%t+P!xv0)67)OgP55kAsLosf=w)#D$LZV;016z z0FTjOku?iqfuz}NAtXx>HHcv*mZky&9Mok^Z?iS!S10$L?>{Gh4*XMMin!O);^#>e z$?@Hh_5M0u%J6X@4`(xV>P}vNZv>#Wfk7K}(Dw7ErU1AidwNS@Qzso){xLHfFgR7-e$)E_gZWjRPSE`UZq%!3LGn0!w+e?gN zD@6b4jkJ3XKyyB&72N|6hN1YrFF_FK-aBZ{rz_ylz(!e?39#GX<$5HZ=UJQORr{1x db*FJ<{Q~^bQ38&?g4qB7002ovPDHLkV1f=@n@0cu literal 0 HcmV?d00001 diff --git a/tools/configurator/assets/icons/pixelitos/16/steam-rom-manager.png.import b/tools/configurator/assets/icons/pixelitos/16/steam-rom-manager.png.import new file mode 100644 index 00000000..de490d9c --- /dev/null +++ b/tools/configurator/assets/icons/pixelitos/16/steam-rom-manager.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8bluiipss6s7" +path="res://.godot/imported/steam-rom-manager.png-9c953bde1dcce1ed1cdd1f6b63483d8f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/icons/pixelitos/16/steam-rom-manager.png" +dest_files=["res://.godot/imported/steam-rom-manager.png-9c953bde1dcce1ed1cdd1f6b63483d8f.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index a889b819..6ed924b3 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -80,12 +80,12 @@ [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://hh6yudttgfu4" path="res://assets/icons/home_made/RetroAchievements_logo_square_color.png" id="50_kmgpr"] [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] [ext_resource type="Script" path="res://scripts/TabTools.gd" id="50_wqa5h"] [ext_resource type="Texture2D" uid="uid://cyqfk3fjqqgv7" path="res://assets/icons/pixelitos/128/user-info.png" id="51_2my10"] [ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] [ext_resource type="Texture2D" uid="uid://ck1ff6wn5ge3w" path="res://assets/icons/pixelitos/128/dialog-password.png" id="52_g461w"] +[ext_resource type="Texture2D" uid="uid://bgvrhhcyb3oav" path="res://assets/icons/pixelitos/128/retroachievements.png" id="53_dqol6"] [ext_resource type="Script" path="res://scripts/TabSettings.gd" id="54_bxhvn"] [ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] [ext_resource type="Texture2D" uid="uid://c5ik1giuv1ar5" path="res://assets/icons/pixelitos/128/system-lock-screen.png" id="54_f245y"] @@ -1057,7 +1057,7 @@ custom_minimum_size = Vector2(0, 100) layout_mode = 2 theme_override_constants/icon_max_width = 64 text = "RETRO ACHIEVEMENTS" -icon = ExtResource("50_kmgpr") +icon = ExtResource("53_dqol6") alignment = 1 [node name="cheevos_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_button"] @@ -1132,7 +1132,7 @@ custom_minimum_size = Vector2(0, 100) layout_mode = 2 theme_override_constants/icon_max_width = 64 text = "LOGIN" -icon = ExtResource("50_kmgpr") +icon = ExtResource("53_dqol6") [node name="cheevos_hardcore_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container"] unique_name_in_owner = true @@ -1140,7 +1140,7 @@ custom_minimum_size = Vector2(0, 100) layout_mode = 2 theme_override_constants/icon_max_width = 64 text = "RETRO ACHIEVEMENTS HARDCORE" -icon = ExtResource("50_kmgpr") +icon = ExtResource("53_dqol6") alignment = 1 [node name="cheevos_hardcore_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_hardcore_button"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index bc9b2423..2e108ce6 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_one3k"] +[sub_resource type="Image" id="Image_cl7ja"] 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_one3k") +image = SubResource("Image_cl7ja") -[sub_resource type="Image" id="Image_chjrk"] +[sub_resource type="Image" id="Image_08ufs"] 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_chjrk") +image = SubResource("Image_08ufs") [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_0qed5"] +[sub_resource type="Image" id="Image_u4qhw"] 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_0qed5") +image = SubResource("Image_u4qhw") [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_eca53"] +[sub_resource type="Image" id="Image_ovjon"] 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_eca53") +image = SubResource("Image_ovjon") [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_0d3gn"] +[sub_resource type="Image" id="Image_qlugj"] 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_0d3gn") +image = SubResource("Image_qlugj") [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_5lg16"] +[sub_resource type="Image" id="Image_4kogc"] 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_5lg16") +image = SubResource("Image_4kogc") [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_st0hy"] +[sub_resource type="Image" id="Image_0da7u"] 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_st0hy") +image = SubResource("Image_0da7u") -[sub_resource type="Image" id="Image_bc1y3"] +[sub_resource type="Image" id="Image_81xxw"] 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_bc1y3") +image = SubResource("Image_81xxw") -[sub_resource type="Image" id="Image_jniq8"] +[sub_resource type="Image" id="Image_sggf2"] 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_jniq8") +image = SubResource("Image_sggf2") -[sub_resource type="Image" id="Image_rc0kd"] +[sub_resource type="Image" id="Image_6da2s"] 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_rc0kd") +image = SubResource("Image_6da2s") -[sub_resource type="Image" id="Image_vost4"] +[sub_resource type="Image" id="Image_s6vki"] 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_vost4") +image = SubResource("Image_s6vki") [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_8dc0i"] +[sub_resource type="Image" id="Image_ev3x2"] 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_8dc0i") +image = SubResource("Image_ev3x2") [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_xgarm"] +[sub_resource type="Image" id="Image_52tx1"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_xgarm") +image = SubResource("Image_52tx1") [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_6cgo5"] +[sub_resource type="Image" id="Image_w63nu"] 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_6cgo5") +image = SubResource("Image_w63nu") [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_ylhdh"] +[sub_resource type="Image" id="Image_q7mby"] 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_ylhdh") +image = SubResource("Image_q7mby") -[sub_resource type="Image" id="Image_frd8r"] +[sub_resource type="Image" id="Image_o44o4"] 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_frd8r") +image = SubResource("Image_o44o4") -[sub_resource type="Image" id="Image_7xrmt"] +[sub_resource type="Image" id="Image_akuhj"] 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_7xrmt") +image = SubResource("Image_akuhj") -[sub_resource type="Image" id="Image_4ybg7"] +[sub_resource type="Image" id="Image_qovmt"] 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_4ybg7") +image = SubResource("Image_qovmt") [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_vjrmq"] +[sub_resource type="Image" id="Image_02niu"] 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_vjrmq") +image = SubResource("Image_02niu") -[sub_resource type="Image" id="Image_5rqum"] +[sub_resource type="Image" id="Image_4ldup"] 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_5rqum") +image = SubResource("Image_4ldup") [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_j414w"] +[sub_resource type="Image" id="Image_onuwa"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_j414w") +image = SubResource("Image_onuwa") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 00076fe3..b623b95c 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -3,7 +3,11 @@ var responses: Array func _ready(): _connect_signals() - + if class_functions.cheevos_state != "false": + #%cheevos_label.add_theme_stylebox_override() + %cheevos_label.add_theme_color_override("font_color", Color(0.941, 0.502, 1, 1)) + %cheevos_label.text = "ALREADY LOGGED IN" + #%cheevos_connect_button.text = "LOGOUT" func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) @@ -35,7 +39,6 @@ func _on_request_completed(_result, response_code, _headers, body) -> Array: return responses func cheevos(button: Button): - #9LJX7**mie*9e4 class_functions.logger("d","Attempting RA connection") var ra_url = "https://retroachievements.org/dorequest.php?r=login&u="+%cheevos_username.text+"&p="+%cheevos_password.text button.disabled = true diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 6b9ad39e..7b063727 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -32,6 +32,7 @@ var widescreen_state: String var quick_rewind_state: String var cheevos_state: String var cheevos_hardcore_state: String +var cheevos_token_state: String var font_select: int var font_tab_size: int = 35 var font_size: int = 20 @@ -76,6 +77,7 @@ func read_values_states() -> void: sound_effects = config["options"]["sound_effects"] volume_effects = int(config["options"]["volume_effects"]) font_select = int(config["options"]["font"]) + cheevos_token_state = str(config["options"]["cheevos_login"]) cheevos_state = multi_state("cheevos", cheevos_state) cheevos_hardcore_state = multi_state("cheevos_hardcore", cheevos_hardcore_state) @@ -296,6 +298,11 @@ func update_global(button: Button, preset: String, state: bool) -> void: result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) logger("i", "Enabled: %s" % (button.name)) update_global_signal.emit([button.name]) + "cheevos_connect_button": + cheevos_token_state = str(state) + result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) + logger("i", "Enabled: %s" % (button.name)) + update_global_signal.emit([button.name]) "button_swap_button": if abxy_state != "mixed": abxy_state = str(state) From d777c782b5c95b2857c1a63c731aafc1c927885b Mon Sep 17 00:00:00 2001 From: Rekku Date: Wed, 25 Sep 2024 21:07:25 +0100 Subject: [PATCH 68/74] One step closer --- tools/configurator/main.tscn | 247 +++++++++++------- .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 +++--- tools/configurator/scripts/Rekku.gd | 11 +- tools/configurator/scripts/TabContainer.gd | 8 +- tools/configurator/scripts/TabSettings.gd | 7 +- tools/configurator/scripts/class_functions.gd | 10 + tools/configurator/scripts/helper_text.gd | 10 +- tools/configurator/scripts/main.gd | 14 +- 8 files changed, 228 insertions(+), 163 deletions(-) diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index 6ed924b3..c91daa43 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=126 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=130 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"] @@ -69,6 +69,7 @@ [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"] [ext_resource type="Texture2D" uid="uid://bum0ys5hf70g5" path="res://assets/icons/pixelitos/128/vita3k.png" id="38_vsjf2"] +[ext_resource type="Texture2D" uid="uid://ca2xg08hxnmd3" path="res://assets/icons/pixelitos/128/applications-system.png" id="38_xw5qd"] [ext_resource type="Texture2D" uid="uid://ckyvec3wqx3t" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0798.png" id="39_5ft88"] [ext_resource type="Texture2D" uid="uid://n4hywdifr1q4" path="res://assets/icons/kenney_input-prompts-pixel-16/Tiles/tile_0763.png" id="39_m4qgd"] [ext_resource type="Texture2D" uid="uid://4rxej78gwu6" path="res://assets/icons/pixelitos/128/org.ryujinx.Ryujinx.png" id="40_7fdvq"] @@ -83,14 +84,17 @@ [ext_resource type="Texture2D" uid="uid://be3tmvgoa1wua" path="res://assets/icons/pixelitos/128/applications-development.png" id="50_tl5ty"] [ext_resource type="Script" path="res://scripts/TabTools.gd" id="50_wqa5h"] [ext_resource type="Texture2D" uid="uid://cyqfk3fjqqgv7" path="res://assets/icons/pixelitos/128/user-info.png" id="51_2my10"] +[ext_resource type="Texture2D" uid="uid://b4r1xk6ubwkmd" path="res://assets/icons/pixelitos/128/retroachievements_r.png" id="51_12lj4"] [ext_resource type="Texture2D" uid="uid://33f5uahr5tqm" path="res://assets/icons/pixelitos/128/mate-system-log.png" id="52_1rasc"] [ext_resource type="Texture2D" uid="uid://ck1ff6wn5ge3w" path="res://assets/icons/pixelitos/128/dialog-password.png" id="52_g461w"] [ext_resource type="Texture2D" uid="uid://bgvrhhcyb3oav" path="res://assets/icons/pixelitos/128/retroachievements.png" id="53_dqol6"] [ext_resource type="Script" path="res://scripts/TabSettings.gd" id="54_bxhvn"] [ext_resource type="Texture2D" uid="uid://dk4567tpvqpr6" path="res://assets/icons/pixelitos/128/preferences-desktop-plasma-theme.png" id="54_dah1j"] [ext_resource type="Texture2D" uid="uid://c5ik1giuv1ar5" path="res://assets/icons/pixelitos/128/system-lock-screen.png" id="54_f245y"] +[ext_resource type="Texture2D" uid="uid://xxfv1s6sejis" path="res://assets/icons/pixelitos/128/network-wired.png" id="55_30e7t"] [ext_resource type="Texture2D" uid="uid://d4ee8j2kh1tmy" path="res://assets/icons/pixelitos/128/cs-themes.png" id="55_wv2p5"] [ext_resource type="Texture2D" uid="uid://cfcgi6owxt3uu" path="res://assets/icons/pixelitos/128/preferences-system-notifications.png" id="55_x32s4"] +[ext_resource type="Texture2D" uid="uid://cblpmmuxcb52p" path="res://assets/icons/pixelitos/128/tint2conf.png" id="56_tn3pf"] [ext_resource type="Texture2D" uid="uid://dw3tdbhmpkst7" path="res://assets/icons/pixelitos/128/preferences-desktop-theme-applications.png" id="56_ubqc2"] [ext_resource type="Texture2D" uid="uid://d4suyd0iag1k" path="res://assets/icons/pixelitos/128/system-suspend.png" id="56_witym"] [ext_resource type="Texture2D" uid="uid://l3bredurb11m" path="res://assets/graphics/rekku2/rekku_base.png" id="57_1n3u5"] @@ -204,7 +208,7 @@ animations = [{ }] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_4gcyr"] -bg_color = Color(0.455, 0.455, 0.455, 1) +bg_color = Color(0.455, 0.455, 0.455, 0.784) border_width_left = 10 border_width_top = 10 border_width_right = 10 @@ -456,29 +460,29 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="SYSTEM" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] +[node name="SYSTEMS" type="MarginContainer" parent="Background/SplitContainer/MarginContainer/TabContainer"] visible = false layout_mode = 2 script = ExtResource("36_wv31h") metadata/_tab_index = 1 -[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM"] +[node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS"] layout_mode = 2 follow_focus = true -[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer"] +[node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 -[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] +[node name="system_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer"] unique_name_in_owner = true layout_mode = 2 theme_override_constants/h_separation = 15 theme_override_constants/v_separation = 15 columns = 5 -[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="retroarch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -490,7 +494,7 @@ icon_alignment = 1 vertical_icon_alignment = 0 metadata/rekku = "This is my favourite emulator!" -[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="mame_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -501,7 +505,7 @@ icon = ExtResource("36_dj81i") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="ruffle_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -512,7 +516,7 @@ icon = ExtResource("37_7hhbn") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="melonds_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -523,7 +527,7 @@ icon = ExtResource("7_4otos") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="pcsx2_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -534,7 +538,7 @@ icon = ExtResource("38_44je8") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="duckstation_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -545,7 +549,7 @@ icon = ExtResource("6_winpq") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="ppsspp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -556,7 +560,7 @@ icon = ExtResource("8_akxf7") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="vita3k_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -567,7 +571,7 @@ icon = ExtResource("38_vsjf2") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="rpcs3_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -578,7 +582,7 @@ icon = ExtResource("8_ec4gt") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="ryujinx_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -589,7 +593,7 @@ icon = ExtResource("40_7fdvq") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="dolphin_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -600,7 +604,7 @@ icon = ExtResource("11_61sak") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="primehack_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -611,7 +615,7 @@ icon = ExtResource("41_55e56") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="cemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -622,7 +626,7 @@ icon = ExtResource("42_n3n7j") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="xemu_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -633,7 +637,7 @@ icon = ExtResource("43_ifi6j") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/system_gridcontainer"] +[node name="esde_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/system_gridcontainer"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -644,14 +648,14 @@ icon = ExtResource("44_7lpj5") icon_alignment = 1 vertical_icon_alignment = 0 -[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer"] +[node name="action_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer"] unique_name_in_owner = true visible = false layout_mode = 2 theme_override_constants/h_separation = 25 theme_override_constants/v_separation = 25 -[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +[node name="help_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -661,7 +665,7 @@ text = "HELP" icon = ExtResource("46_feagl") expand_icon = true -[node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +[node name="launch_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -671,7 +675,7 @@ text = "LAUNCH" icon = ExtResource("45_qxd26") expand_icon = true -[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +[node name="reset_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -680,7 +684,7 @@ text = "RESET" icon = ExtResource("12_3jrmi") expand_icon = true -[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer/reset_button"] +[node name="reset_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/action_gridcontainer/reset_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -692,7 +696,7 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +[node name="rpcs3_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(0, 100) @@ -703,7 +707,7 @@ text = "INSTALL FIRMWARE" icon = ExtResource("8_ec4gt") expand_icon = true -[node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +[node name="vita3k_firmware_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(0, 100) @@ -714,7 +718,7 @@ text = "INSTALL FIRMWARE" icon = ExtResource("38_vsjf2") expand_icon = true -[node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEM/ScrollContainer/VBoxContainer/action_gridcontainer"] +[node name="retroarch_quick_resume_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SYSTEMS/ScrollContainer/VBoxContainer/action_gridcontainer"] unique_name_in_owner = true visible = false custom_minimum_size = Vector2(0, 100) @@ -854,11 +858,6 @@ 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 @@ -921,26 +920,23 @@ layout_mode = 2 layout_mode = 2 size_flags_horizontal = 3 -[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 = "SYSTEM SETTINGS" - -[node name="system_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] -layout_mode = 2 - -[node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="system_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 theme_override_constants/icon_max_width = 64 -text = "AUTO UPDATES" -icon = ExtResource("55_x32s4") -alignment = 1 +text = "SYSTEM SETTINGS" +icon = ExtResource("38_xw5qd") +expand_icon = true +metadata/description = "Click to show more options. Auto update, sound, theme etc" -[node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="system_gridcontainer2" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +columns = 4 + +[node name="sound_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -948,19 +944,19 @@ theme_override_constants/icon_max_width = 64 text = "SOUND EFFECTS" icon = ExtResource("9_qwq2k") alignment = 1 +metadata/description = "TESTTSTSTSTSTS" -[node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="update_notification_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2"] unique_name_in_owner = true -visible = false -custom_minimum_size = Vector2(0, 75) +custom_minimum_size = Vector2(0, 100) layout_mode = 2 -min_value = 1.0 -max_value = 25.0 -value = 10.0 -rounded = true -tick_count = 25 +theme_override_constants/icon_max_width = 64 +text = "AUTO UPDATES" +icon = ExtResource("55_x32s4") +alignment = 1 +metadata/description = "Hardcore mode is aimed at players who want a more authentic and difficult experience, similar to playing the original game on actual hardware. It’s perfect for those who enjoy retro gaming and want to earn achievements by demonstrating mastery of the game without modern conveniences." -[node name="font_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="font_optionbutton" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -982,7 +978,7 @@ popup/item_3/text = "OpenDyslexic3" popup/item_3/icon = ExtResource("56_ubqc2") popup/item_3/id = 2 -[node name="locale_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="locale_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -1005,7 +1001,19 @@ popup/item_5/id = 5 popup/item_6/icon = ExtResource("11_ri2fv") popup/item_6/id = 6 -[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="volume_effects_slider" type="HSlider" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2"] +unique_name_in_owner = true +visible = false +custom_minimum_size = Vector2(0, 75) +layout_mode = 2 +size_flags_horizontal = 3 +min_value = 1.0 +max_value = 25.0 +value = 10.0 +rounded = true +tick_count = 25 + +[node name="reset_retrodeck_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -1014,7 +1022,7 @@ theme_override_constants/icon_max_width = 64 text = "RESET RETRODECK" icon = ExtResource("11_g1uhn") -[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/reset_retrodeck_button"] +[node name="reset_retrodeck_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2/reset_retrodeck_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -1026,7 +1034,7 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container"] +[node name="reset_all_emulators_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -1036,7 +1044,7 @@ theme_override_constants/icon_max_width = 64 text = "RESET ALL EMULATORS" icon = ExtResource("45_qxd26") -[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/reset_all_emulators_button"] +[node name="reset_all_emulators_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2/reset_all_emulators_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -1048,19 +1056,33 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="cheevos_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="cheevos_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container"] +[node name="cheevos_collapse_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 theme_override_constants/icon_max_width = 64 +text = "ACHIEVMENTS" +icon = ExtResource("51_12lj4") +expand_icon = true +metadata/description = "Click to show to show RetroAchievements fot supported systems" + +[node name="cheevos_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 + +[node name="cheevos_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "RETRO ACHIEVEMENTS" icon = ExtResource("53_dqol6") alignment = 1 -[node name="cheevos_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_container/cheevos_button"] +[node name="cheevos_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -1072,18 +1094,18 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="cheevos_enabled_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +[node name="cheevos_enabled_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer"] unique_name_in_owner = true visible = false layout_mode = 2 -[node name="cheevos_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container"] +[node name="cheevos_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container"] unique_name_in_owner = true layout_mode = 2 theme_override_constants/h_separation = 64 columns = 2 -[node name="cheevos_username_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_login_container"] +[node name="cheevos_username_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container/cheevos_login_container"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 size_flags_horizontal = 3 @@ -1093,14 +1115,14 @@ disabled = true text = "RETRO ACHIEVMENTS USERNAME" icon = ExtResource("51_2my10") -[node name="cheevos_username" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_login_container"] +[node name="cheevos_username" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container/cheevos_login_container"] unique_name_in_owner = true custom_minimum_size = Vector2(256, 0) layout_mode = 2 size_flags_horizontal = 3 placeholder_text = "username" -[node name="cheevos_password_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_login_container"] +[node name="cheevos_password_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container/cheevos_login_container"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 size_flags_horizontal = 3 @@ -1109,7 +1131,7 @@ disabled = true text = "RETRO ACHIEVMENTS PASSWORD" icon = ExtResource("52_g461w") -[node name="cheevos_password" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_login_container"] +[node name="cheevos_password" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container/cheevos_login_container"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -1117,7 +1139,7 @@ placeholder_text = "password" secret = true secret_character = "*" -[node name="cheevos_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_login_container"] +[node name="cheevos_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container/cheevos_login_container"] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 @@ -1126,7 +1148,7 @@ horizontal_alignment = 1 vertical_alignment = 1 uppercase = true -[node name="cheevos_connect_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_login_container"] +[node name="cheevos_connect_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container/cheevos_login_container"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -1134,7 +1156,7 @@ theme_override_constants/icon_max_width = 64 text = "LOGIN" icon = ExtResource("53_dqol6") -[node name="cheevos_hardcore_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container"] +[node name="cheevos_hardcore_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 @@ -1142,8 +1164,11 @@ theme_override_constants/icon_max_width = 64 text = "RETRO ACHIEVEMENTS HARDCORE" icon = ExtResource("53_dqol6") alignment = 1 +autowrap_mode = 1 +metadata/rekku = "Hardcore mode is aimed at players who want a more authentic and difficult experience, similar to playing the original game on actual hardware. It’s perfect for those who enjoy retro gaming and want to earn achievements by demonstrating mastery of the game without modern conveniences." +metadata/description = "Hardcore mode is aimed at players who want a more authentic and difficult experience, similar to playing the original game on actual hardware.\\nIt’s perfect for those who enjoy retro gaming and want to earn achievements by demonstrating mastery of the game without modern conveniences." -[node name="cheevos_hardcore_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_enabled_container/cheevos_hardcore_button"] +[node name="cheevos_hardcore_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container/cheevos_hardcore_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -1155,54 +1180,82 @@ grow_vertical = 2 theme_override_styles/fill = SubResource("StyleBoxFlat_1161k") show_percentage = false -[node name="netplay_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +[node name="netplay_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +theme_override_constants/icon_max_width = 64 +disabled = true +text = "NETPLAY" +icon = ExtResource("55_30e7t") +expand_icon = true +metadata/description = "This feature is planned for a future release." + +[node name="netplay_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +visible = false layout_mode = 2 -[node name="netplay" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] +[node name="netplay" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 text = "TK_NETPLAY" -[node name="netplay_id_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_container"] +[node name="netplay_id_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer"] 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"] +[node name="netplay_id_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer/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"] +[node name="netplay_id" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer/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"] +[node name="netplay_address_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer/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"] +[node name="netplay_address" type="LineEdit" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer/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"] +[node name="blank_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer/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"] +[node name="netplay_connect_disconnect_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/netplay_gridcontainer/netplay_id_container"] layout_mode = 2 text = "TK_NETPLAYCONNECT" -[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +[node name="future_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +custom_minimum_size = Vector2(0, 100) +layout_mode = 2 +theme_override_constants/icon_max_width = 64 +text = "FUTURE FEATURES" +icon = ExtResource("56_tn3pf") +expand_icon = true +metadata/description = "This feature is planned for a future release." + +[node name="future_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] +unique_name_in_owner = true +visible = false +layout_mode = 2 +columns = 4 + +[node name="multi_user_option" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/future_gridcontainer"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 disabled = true @@ -1223,23 +1276,20 @@ popup/item_3/text = "TK_STEAMUSR" popup/item_3/icon = ExtResource("58_mntxv") popup/item_3/id = 3 -[node name="data_mng_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer"] -layout_mode = 2 - -[node name="saves_sync" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +[node name="saves_sync" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/future_gridcontainer"] layout_mode = 2 size_flags_horizontal = 3 disabled = true toggle_mode = false text = "TK_SAVESSYNC" -[node name="ftp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +[node name="ftp_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/future_gridcontainer"] layout_mode = 2 size_flags_horizontal = 3 disabled = true text = "TK_FTPBTN" -[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +[node name="menu_music" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/future_gridcontainer"] layout_mode = 2 theme_override_constants/icon_max_width = 64 disabled = true @@ -1247,7 +1297,7 @@ text = "TK_MUSIC" icon = ExtResource("58_oismn") alignment = 1 -[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/data_mng_container"] +[node name="easter_eggs" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/future_gridcontainer"] layout_mode = 2 theme_override_constants/icon_max_width = 64 disabled = true @@ -1733,15 +1783,14 @@ volume_db = -11.243 [node name="pop_rtl" type="Label" parent="Background"] unique_name_in_owner = true -visible = false z_index = 2 layout_mode = 2 offset_left = 6.0 -offset_top = 703.0 +offset_top = 653.0 offset_right = 1271.0 offset_bottom = 797.0 theme_override_styles/normal = SubResource("StyleBoxFlat_4gcyr") -horizontal_alignment = 1 +vertical_alignment = 1 autowrap_mode = 2 [node name="CanvasModulate" type="CanvasModulate" parent="."] @@ -1918,5 +1967,5 @@ script = ExtResource("94_8nlr1") [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button" to="." method="_on_bios_button_pressed"] [connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] -[connection signal="item_selected" from="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_container/locale_option" to="." method="_on_locale_selected"] +[connection signal="item_selected" from="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2/locale_option" to="." method="_on_locale_selected"] [connection signal="pressed" from="controller_guide/HBoxContainer/exit_button" to="." method="_on_exit_button_pressed"] diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index 2e108ce6..b102c9f6 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_cl7ja"] +[sub_resource type="Image" id="Image_ydvek"] 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_cl7ja") +image = SubResource("Image_ydvek") -[sub_resource type="Image" id="Image_08ufs"] +[sub_resource type="Image" id="Image_bb1ii"] 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_08ufs") +image = SubResource("Image_bb1ii") [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_u4qhw"] +[sub_resource type="Image" id="Image_kgfkv"] 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_u4qhw") +image = SubResource("Image_kgfkv") [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_ovjon"] +[sub_resource type="Image" id="Image_shhco"] 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_ovjon") +image = SubResource("Image_shhco") [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_qlugj"] +[sub_resource type="Image" id="Image_v0gnd"] 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_qlugj") +image = SubResource("Image_v0gnd") [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_4kogc"] +[sub_resource type="Image" id="Image_h4ote"] 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_4kogc") +image = SubResource("Image_h4ote") [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_0da7u"] +[sub_resource type="Image" id="Image_qp6as"] 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_0da7u") +image = SubResource("Image_qp6as") -[sub_resource type="Image" id="Image_81xxw"] +[sub_resource type="Image" id="Image_qluxn"] 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_81xxw") +image = SubResource("Image_qluxn") -[sub_resource type="Image" id="Image_sggf2"] +[sub_resource type="Image" id="Image_qvnao"] 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_sggf2") +image = SubResource("Image_qvnao") -[sub_resource type="Image" id="Image_6da2s"] +[sub_resource type="Image" id="Image_tpcjj"] 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_6da2s") +image = SubResource("Image_tpcjj") -[sub_resource type="Image" id="Image_s6vki"] +[sub_resource type="Image" id="Image_t5efg"] 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_s6vki") +image = SubResource("Image_t5efg") [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_ev3x2"] +[sub_resource type="Image" id="Image_80meo"] 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_ev3x2") +image = SubResource("Image_80meo") [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_52tx1"] +[sub_resource type="Image" id="Image_5xvgd"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_52tx1") +image = SubResource("Image_5xvgd") [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_w63nu"] +[sub_resource type="Image" id="Image_sr5xu"] 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_w63nu") +image = SubResource("Image_sr5xu") [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_q7mby"] +[sub_resource type="Image" id="Image_ng5qk"] 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_q7mby") +image = SubResource("Image_ng5qk") -[sub_resource type="Image" id="Image_o44o4"] +[sub_resource type="Image" id="Image_52l3h"] 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_o44o4") +image = SubResource("Image_52l3h") -[sub_resource type="Image" id="Image_akuhj"] +[sub_resource type="Image" id="Image_6mctu"] 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_akuhj") +image = SubResource("Image_6mctu") -[sub_resource type="Image" id="Image_qovmt"] +[sub_resource type="Image" id="Image_vvklf"] 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_qovmt") +image = SubResource("Image_vvklf") [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_02niu"] +[sub_resource type="Image" id="Image_dmoyy"] 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_02niu") +image = SubResource("Image_dmoyy") -[sub_resource type="Image" id="Image_4ldup"] +[sub_resource type="Image" id="Image_on4hb"] 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_4ldup") +image = SubResource("Image_on4hb") [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_onuwa"] +[sub_resource type="Image" id="Image_6l4nu"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_onuwa") +image = SubResource("Image_6l4nu") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/Rekku.gd b/tools/configurator/scripts/Rekku.gd index 3c557d8b..f0ede231 100644 --- a/tools/configurator/scripts/Rekku.gd +++ b/tools/configurator/scripts/Rekku.gd @@ -1,7 +1,8 @@ extends Control var split_max: int = 1280 var split_min: int = 925 -var split_speed: float = 0.000001 +var step_value: int = -7 +var split_speed: float = 0.001/100 func _input(event): if event.is_action_released("rekku_hide"): @@ -9,23 +10,23 @@ func _input(event): if class_functions.rekku_state == false: self.visible = true class_functions.rekku_state = true - for n in range (split_max, split_min,-5): + for n in range (split_max, split_min,step_value): await class_functions.wait(split_speed) %SplitContainer.split_offset=n %pop_rtl.visible = false %TabContainer.set_tab_title(0, "GLOBALS") - %TabContainer.set_tab_title(1, "SYSTEM") + %TabContainer.set_tab_title(1, "SYSTEMS") %TabContainer.set_tab_title(2, "TOOLS") %TabContainer.set_tab_title(3, "SETTINGS") %TabContainer.set_tab_title(4, "ABOUT") elif event.is_action_released("rekku_hide") and class_functions.rekku_state == true: %TabContainer.set_tab_title(0, " GLOBALS ") - %TabContainer.set_tab_title(1, " SYSTEM ") + %TabContainer.set_tab_title(1, " SYSTEMS ") %TabContainer.set_tab_title(2, " TOOLS ") %TabContainer.set_tab_title(3, " SETTINGS ") %TabContainer.set_tab_title(4, " ABOUT ") %pop_rtl.visible = false - for n in range (split_min, split_max,5): + for n in range (split_min, split_max,abs(step_value)): await class_functions.wait(split_speed) %SplitContainer.split_offset=n class_functions.rekku_state = false diff --git a/tools/configurator/scripts/TabContainer.gd b/tools/configurator/scripts/TabContainer.gd index 1a83792e..7684f3b0 100644 --- a/tools/configurator/scripts/TabContainer.gd +++ b/tools/configurator/scripts/TabContainer.gd @@ -16,7 +16,7 @@ func _ready(): else: %TabContainer.add_theme_font_size_override("font_size", class_functions.font_tab_size) set_tab_title(0, " GLOBALS ") - set_tab_title(1, " SYSTEM ") + set_tab_title(1, " SYSTEMS ") set_tab_title(2, " TOOLS ") set_tab_title(3, " SETTINGS ") set_tab_title(4, " ABOUT ") @@ -49,9 +49,9 @@ func _on_button_focus_entered(button: Button): if button and class_functions.sound_effects: %AudioStreamPlayer2D.volume_db = class_functions.volume_effects %AudioStreamPlayer2D.play() - if button and class_functions.rekku_state == false and button.has_meta("description"): - %pop_rtl.visible = true - %pop_rtl.text = button.get_meta("description") + #if button and class_functions.rekku_state == false and button.has_meta("description"): + #%pop_rtl.visible = true + #%pop_rtl.text = button.get_meta("description") elif class_functions.rekku_state == false: %pop_rtl.visible = true %pop_rtl.text = "Hey, there's no description" diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index b623b95c..25d802fd 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -3,11 +3,13 @@ var responses: Array func _ready(): _connect_signals() - if class_functions.cheevos_state != "false": + if class_functions.cheevos_token_state == "true": #%cheevos_label.add_theme_stylebox_override() %cheevos_label.add_theme_color_override("font_color", Color(0.941, 0.502, 1, 1)) %cheevos_label.text = "ALREADY LOGGED IN" #%cheevos_connect_button.text = "LOGOUT" + else: + %cheevos_label.text = "NOT LOGGED IN" func _connect_signals() -> void: %sound_button.pressed.connect(class_functions.run_function.bind(%sound_button, "sound_effects")) %update_notification_button.pressed.connect(class_functions.run_function.bind(%update_notification_button, "update_check")) @@ -23,6 +25,9 @@ func _connect_signals() -> void: %reset_retrodeck_button.button_up.connect(class_functions._on_button_released.bind(%reset_retrodeck_progress)) %reset_all_emulators_button.button_down.connect(class_functions._do_action.bind(%reset_all_emulators_progress, %reset_all_emulators_button, "mixed")) %reset_all_emulators_button.button_up.connect(class_functions._on_button_released.bind(%reset_all_emulators_progress)) + %system_button.pressed.connect(class_functions._hide_show_containers.bind(%system_button, %system_gridcontainer2)) + %cheevos_collapse_button.pressed.connect(class_functions._hide_show_containers.bind(%cheevos_collapse_button, %cheevos_gridcontainer)) + %future_button.pressed.connect(class_functions._hide_show_containers.bind(%future_button, %future_gridcontainer)) func _on_request_completed(_result, response_code, _headers, body) -> Array: var response_text = JSON.parse_string(body.get_string_from_utf8()) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index 7b063727..ee3ba226 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -447,3 +447,13 @@ func _do_complete(button: Button) ->void: await class_functions.wait(3.0) button.text = tmp_txt button.toggle_mode = true + +func _hide_show_containers(button: Button, grid_container: GridContainer) -> void: + match button.name: + "decorations_button", "systems_button", "system_button", "cheevos_collapse_button", "future_button": + grid_container.visible = true + if button.toggle_mode: + button.toggle_mode=false + grid_container.visible = false + else: + button.toggle_mode=true diff --git a/tools/configurator/scripts/helper_text.gd b/tools/configurator/scripts/helper_text.gd index 0b60b35a..cae3828c 100644 --- a/tools/configurator/scripts/helper_text.gd +++ b/tools/configurator/scripts/helper_text.gd @@ -7,7 +7,15 @@ func _ready(): get_viewport().connect("gui_focus_changed", _on_focus_changed) func _on_focus_changed(selected_element:Control) -> void: - if selected_element != null and selected_element.has_meta("rekku"): + if selected_element != null and selected_element.has_meta("rekku") and class_functions.rekku_state == true: #helper_text_node.text = selected_element.get_meta("rekku") %pop_rtl.visible = true %pop_rtl.text = selected_element.get_meta("rekku") + elif selected_element != null and selected_element.has_meta("description") and class_functions.rekku_state == false: + %pop_rtl.visible = true + var texta : String = selected_element.get_meta("description") as String + texta = texta.replace("\\n", "\n") + %pop_rtl.text = texta + +func replace_newline(text: String) -> String: + return text.replace("\n", "\n") diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 1f3bb4e5..9277f679 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -72,8 +72,9 @@ func _connect_signals() -> void: %borders_button.pressed.connect(_hide_show_buttons.bind(%borders_button,%borders_gridcontainer,%decorations_gridcontainer)) %button_layout.pressed.connect(_hide_show_buttons.bind(%button_layout,%borders_gridcontainer,%decorations_gridcontainer)) %decorations_save.pressed.connect(_hide_show_buttons.bind(%decorations_save,%decorations_save.get_parent(),null)) - %decorations_button.pressed.connect(_hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) - %systems_button.pressed.connect(_hide_show_containers.bind(%systems_button, %systems_gridcontainer)) + %decorations_button.pressed.connect(class_functions._hide_show_containers.bind(%decorations_button, %decorations_gridcontainer)) + %systems_button.pressed.connect(class_functions._hide_show_containers.bind(%systems_button, %systems_gridcontainer)) + class_functions.update_global_signal.connect(_set_up_globals) func _load_log(index: int) -> void: @@ -95,15 +96,6 @@ func _load_log(index: int) -> void: func _play_main_animations() -> void: anim_logo.play() -func _hide_show_containers(button: Button, grid_container: GridContainer) -> void: - match button.name: - "decorations_button", "systems_button": - grid_container.visible = true - if button.toggle_mode: - button.toggle_mode=false - grid_container.visible = false - else: - button.toggle_mode=true # TODO Pass GridContainer(might need 2?) as above # TODO load existing settings or default to enable all From d90c0b51314fdf13ec9b84a0c6c03cbc94fdb324 Mon Sep 17 00:00:00 2001 From: XargonWan Date: Thu, 26 Sep 2024 21:08:31 +0900 Subject: [PATCH 69/74] ES_DE: adding custom systems support --- config/retrodeck/helper_files/es_systems.xml | 19 +++++++++++++++++++ .../retrodeck/reference_lists/features.json | 4 ++++ functions/prepare_component.sh | 1 + 3 files changed, 24 insertions(+) create mode 100644 config/retrodeck/helper_files/es_systems.xml diff --git a/config/retrodeck/helper_files/es_systems.xml b/config/retrodeck/helper_files/es_systems.xml new file mode 100644 index 00000000..1adae1a6 --- /dev/null +++ b/config/retrodeck/helper_files/es_systems.xml @@ -0,0 +1,19 @@ + + + + + \ No newline at end of file diff --git a/config/retrodeck/reference_lists/features.json b/config/retrodeck/reference_lists/features.json index 44dfad7b..1a2cb6ab 100644 --- a/config/retrodeck/reference_lists/features.json +++ b/config/retrodeck/reference_lists/features.json @@ -168,6 +168,10 @@ "ryujinx_firmware": { "filename": "Install-firmware-through-Ryujinx.txt", "location": "$bios_folder/switch/firmware" + }, + "custom_systems": { + "filename": "es_systems.xml", + "location": "$rdhome/ES-DE/custom_systems/es_systems.xml" } }, "compression_targets": { diff --git a/functions/prepare_component.sh b/functions/prepare_component.sh index 03765a58..dea53a16 100644 --- a/functions/prepare_component.sh +++ b/functions/prepare_component.sh @@ -66,6 +66,7 @@ prepare_component() { set_setting_value "$es_settings" "UserThemeDirectory" "$themes_folder" "es_settings" dir_prep "$rdhome/ES-DE/gamelists" "/var/config/ES-DE/gamelists" dir_prep "$rdhome/ES-DE/collections" "/var/config/ES-DE/collections" + dir_prep "$rdhome/ES-DE/custom_systems" "/var/config/ES-DE/custom_systems" dir_prep "$rd_logs_folder/ES-DE" "$es_source_logs" log d "Generating roms system folders" #es-de --home /var/config/ES-DE --create-system-dirs From 7ca8468fccff3bfc4d3ebf2767d41305398800f0 Mon Sep 17 00:00:00 2001 From: MonkeyX Date: Wed, 2 Oct 2024 13:13:27 +0100 Subject: [PATCH 70/74] Cooker (#951) * 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 --------- Co-authored-by: Rekku --- .../components/bios_check/bios_check.gd | 28 +++- .../bios_check/bios_popup_content.tscn | 7 + tools/configurator/export_presets.cfg | 4 +- tools/configurator/main.tscn | 121 +++++++++++------- tools/configurator/project.godot | 2 + .../res/pixel_ui_theme/RetroDECKTheme.tres | 84 ++++++------ tools/configurator/scripts/TabSettings.gd | 4 + tools/configurator/scripts/TabSystem.gd | 2 +- tools/configurator/scripts/TabTools.gd | 2 +- tools/configurator/scripts/class_functions.gd | 87 +++++++------ tools/configurator/scripts/data_handler.gd | 33 +++++ tools/configurator/scripts/helper_text.gd | 10 +- tools/configurator/scripts/main.gd | 8 +- 13 files changed, 242 insertions(+), 150 deletions(-) diff --git a/tools/configurator/components/bios_check/bios_check.gd b/tools/configurator/components/bios_check/bios_check.gd index e60ce5bd..ea974ec0 100644 --- a/tools/configurator/components/bios_check/bios_check.gd +++ b/tools/configurator/components/bios_check/bios_check.gd @@ -2,8 +2,8 @@ extends Control var bios_result: Dictionary var console: bool = false -var BIOS_COLUMNS_BASIC := ["BIOS File Name", "System", "Found", "Hash Match", "Description"] -var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash Match", "Description", "Subdirectory", "Hash"] +var BIOS_COLUMNS_BASIC := ["BIOS File Name", "System", "Found", "Hash\nMatch", "Description"] +var BIOS_COLUMNS_EXPERT := ["BIOS File Name", "System", "Found", "Hash\nMatch", "Description", "Sub\nFolder", "Hash"] @onready var bios_type:int = get_tree().current_scene.bios_type @onready var custom_theme: Theme = get_tree().current_scene.custom_theme @@ -15,10 +15,17 @@ func _ready(): if bios_type == 1: #Basic BIOS button pressed table.columns = BIOS_COLUMNS_BASIC.size() for i in BIOS_COLUMNS_BASIC.size(): + table.set_column_custom_minimum_width(0, 150) + table.set_column_custom_minimum_width(1, 200) + table.set_column_custom_minimum_width(4, 350) table.set_column_title(i, BIOS_COLUMNS_BASIC[i]) else: #Assume advanced BIOS button pressed table.columns = BIOS_COLUMNS_EXPERT.size() for i in BIOS_COLUMNS_EXPERT.size(): + table.set_column_custom_minimum_width(0, 170) + table.set_column_custom_minimum_width(1, 200) + table.set_column_custom_minimum_width(4, 325) + table.set_column_custom_minimum_width(6, 225) table.set_column_title(i, BIOS_COLUMNS_EXPERT[i]) var root = table.create_item() table.hide_root = true @@ -29,12 +36,19 @@ func _ready(): var parameters = ["check_bios_files"] bios_result = await class_functions.run_thread_command(class_functions.wrapper_command, parameters, console) var bios_list = bios_result["output"] - var bios_lines = bios_list.split("\n") + var bios_lines: Array = bios_list.split("\n") for line in bios_lines: - var bios_line = line.split("^") + var bios_line: Array = line.split("^") var table_line: TreeItem = table.create_item(root) for i in bios_line.size(): + 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": + 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) - table_line.set_custom_color(i,Color(1,1,1,1)) + #if table_line.get_index() % 2 == 1: + #table_line.set_custom_bg_color(i,Color(0.15, 0.15, 0.15, 1),false) + #table_line.set_custom_color(i,Color(1,1,1,1)) diff --git a/tools/configurator/components/bios_check/bios_popup_content.tscn b/tools/configurator/components/bios_check/bios_popup_content.tscn index 8eaad1aa..2055cd0b 100644 --- a/tools/configurator/components/bios_check/bios_popup_content.tscn +++ b/tools/configurator/components/bios_check/bios_popup_content.tscn @@ -4,6 +4,12 @@ [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8e2dh"] bg_color = Color(0.133, 0.133, 0.133, 1) +border_width_left = 25 +border_width_top = 25 +border_width_right = 25 +border_width_bottom = 25 +border_color = Color(0.505882, 0.505882, 0.505882, 0.647059) +border_blend = true [node name="PopupContent" type="Control"] top_level = true @@ -28,6 +34,7 @@ grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 theme_override_font_sizes/font_size = 16 +theme_override_font_sizes/title_button_font_size = 18 theme_override_styles/panel = SubResource("StyleBoxFlat_8e2dh") columns = 5 column_titles_visible = true diff --git a/tools/configurator/export_presets.cfg b/tools/configurator/export_presets.cfg index b5845d75..8ed4d864 100644 --- a/tools/configurator/export_presets.cfg +++ b/tools/configurator/export_presets.cfg @@ -3,7 +3,7 @@ name="Linux/X11 64-bit" platform="Linux" runnable=true -advanced_options=false +advanced_options=true dedicated_server=false custom_features="" export_filter="all_resources" @@ -20,7 +20,7 @@ script_export_mode=2 custom_template/debug="" custom_template/release="" -debug/export_console_wrapper=1 +debug/export_console_wrapper=0 binary_format/embed_pck=true texture_format/s3tc_bptc=true texture_format/etc2_astc=false diff --git a/tools/configurator/main.tscn b/tools/configurator/main.tscn index c91daa43..83e08c84 100644 --- a/tools/configurator/main.tscn +++ b/tools/configurator/main.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=130 format=3 uid="uid://61f6m4r1mpan"] +[gd_scene load_steps=133 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"] @@ -135,6 +135,19 @@ bg_color = Color(0.101961, 0.623529, 1, 0.376471) [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_8lrwm"] bg_color = Color(0.352941, 0.858824, 0.129412, 0.556863) +[sub_resource type="Gradient" id="Gradient_wpgfp"] +offsets = PackedFloat32Array(0, 0.631148) +colors = PackedColorArray(0.101961, 0.623529, 1, 1, 0.580392, 0.419608, 0.921569, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_g8i86"] +gradient = SubResource("Gradient_wpgfp") +width = 128 +height = 128 + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_6ihey"] +texture = SubResource("GradientTexture2D_g8i86") +region_rect = Rect2(0, 0, 128, 127) + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_omewi"] bg_color = Color(0.712505, 0, 0.175592, 1) @@ -283,7 +296,7 @@ size_flags_vertical = 3 layout_mode = 2 theme_override_constants/h_separation = 15 theme_override_constants/v_separation = 15 -columns = 4 +columns = 5 [node name="ask_to_exit_button" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer"] unique_name_in_owner = true @@ -296,7 +309,7 @@ icon = ExtResource("5_ahd1x") alignment = 1 icon_alignment = 1 vertical_icon_alignment = 0 -metadata/description = "Enables or disables ask to exit prompts in all supported emulators and cores. Note: If you disable this, the emulators will directly exit." +metadata/description = "Enables or disables ask to exit prompts in all supported emulators and cores.\\nNote: If you disable this, the emulators will directly exit." metadata/rekku = "If this box is orange blame monkeyx he loves Blaclpool FC. Or long press to reset and turm them all on again. You can also edit individual options for systems in the System TAB. " [node name="ask_to_exit_progress" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/GLOBALS/ScrollContainer/VBoxContainer/globals_gridcontainer/ask_to_exit_button"] @@ -738,31 +751,41 @@ metadata/_tab_index = 2 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS"] layout_mode = 2 +follow_focus = true [node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer"] layout_mode = 2 size_flags_horizontal = 3 +size_flags_vertical = 3 theme_override_constants/separation = 64 -[node name="troubleshoot_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +[node name="troubleshoot_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 -theme_override_constants/separation = 15 +columns = 5 -[node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +[node name="check_conn_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 toggle_mode = true text = "CHECK CONNECTION" icon = ExtResource("50_5d2ui") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="logs_button" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +[node name="logs_button" type="OptionButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 alignment = 1 -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 selected = 0 item_count = 4 popup/item_0/text = "LOGS" @@ -779,29 +802,41 @@ 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"] +[node name="bios_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BIOS STANDARD" icon = ExtResource("50_tl5ty") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="bios_button_expert" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +[node name="bios_button_expert" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BIOS EXPERT" icon = ExtResource("50_tl5ty") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="backup_user_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container"] +[node name="backup_user_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer"] unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_constants/icon_max_width = 64 text = "BACKUP USER DATA" icon = ExtResource("54_f245y") -expand_icon = true +icon_alignment = 1 +vertical_icon_alignment = 0 -[node name="progress_bar_backup" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/backup_user_button"] +[node name="progress_bar_backup" type="ProgressBar" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer/backup_user_button"] unique_name_in_owner = true visible = false layout_mode = 1 @@ -815,36 +850,38 @@ show_percentage = false indeterminate = true editor_preview_indeterminate = false -[node name="controls_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +[node name="controls_gridcontainer" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 +columns = 5 -[node name="controls_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +[node name="controls_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_gridcontainer"] layout_mode = 2 text = "TK_CONTROLS" -[node name="controls_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +[node name="controls_separator" type="HSeparator" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_gridcontainer"] layout_mode = 2 -[node name="controller_templates_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +[node name="controller_templates_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_gridcontainer"] layout_mode = 2 -[node name="controller_templates" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container/controller_templates_container"] +[node name="controller_templates" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_gridcontainer/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"] +[node name="controller_templater_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_gridcontainer/controller_templates_container"] layout_mode = 2 size_flags_horizontal = 10 size_flags_vertical = 4 disabled = true text = "TK_INSTALL" -[node name="button_layout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_container"] +[node name="button_layout_container" type="HBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/controls_gridcontainer"] layout_mode = 2 -[node name="file_tools_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] +[node name="file_tools_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer"] layout_mode = 2 +columns = 5 [node name="file_tools_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] layout_mode = 2 @@ -868,42 +905,31 @@ 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"] +[node name="tools_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_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"] +[node name="steamgrid_install_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] layout_mode = 2 disabled = true text = "TK_GRIDINSTALL" -[node name="fav_steam" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/tools_container"] +[node name="fav_steam" type="CheckButton" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] layout_mode = 2 disabled = true +toggle_mode = false 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"] +[node name="scan_label" type="Label" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_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="scummvm_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/scan_container"] +[node name="scummvm_scan" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_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"] +[node name="multifile_button" type="Button" parent="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/file_tools_container"] layout_mode = 2 disabled = true text = "TK_MULTIFILE" @@ -914,7 +940,9 @@ script = ExtResource("54_bxhvn") metadata/_tab_index = 3 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS"] +unique_name_in_owner = true layout_mode = 2 +follow_focus = true [node name="VBoxContainer" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer"] layout_mode = 2 @@ -925,6 +953,7 @@ unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 theme_override_constants/icon_max_width = 64 +theme_override_styles/normal = SubResource("StyleBoxTexture_6ihey") text = "SYSTEM SETTINGS" icon = ExtResource("38_xw5qd") expand_icon = true @@ -1061,7 +1090,7 @@ unique_name_in_owner = true custom_minimum_size = Vector2(0, 100) layout_mode = 2 theme_override_constants/icon_max_width = 64 -text = "ACHIEVMENTS" +text = "ACHIEVEMENTS" icon = ExtResource("51_12lj4") expand_icon = true metadata/description = "Click to show to show RetroAchievements fot supported systems" @@ -1096,7 +1125,6 @@ show_percentage = false [node name="cheevos_enabled_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer"] unique_name_in_owner = true -visible = false layout_mode = 2 [node name="cheevos_login_container" type="GridContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/cheevos_gridcontainer/cheevos_enabled_container"] @@ -1314,6 +1342,7 @@ metadata/_tab_index = 4 [node name="ScrollContainer" type="ScrollContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT"] layout_mode = 2 +follow_focus = true [node name="about_container" type="VBoxContainer" parent="Background/SplitContainer/MarginContainer/TabContainer/ABOUT/ScrollContainer"] layout_mode = 2 @@ -1965,7 +1994,7 @@ scale = Vector2(0.390625, 0.398438) texture = ExtResource("93_f7ex4") script = ExtResource("94_8nlr1") -[connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button" to="." method="_on_bios_button_pressed"] -[connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_container/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] +[connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer/bios_button" to="." method="_on_bios_button_pressed"] +[connection signal="pressed" from="Background/SplitContainer/MarginContainer/TabContainer/TOOLS/ScrollContainer/VBoxContainer/troubleshoot_gridcontainer/bios_button_expert" to="." method="_on_bios_button_expert_pressed"] [connection signal="item_selected" from="Background/SplitContainer/MarginContainer/TabContainer/SETTINGS/ScrollContainer/VBoxContainer/system_gridcontainer2/locale_option" to="." method="_on_locale_selected"] [connection signal="pressed" from="controller_guide/HBoxContainer/exit_button" to="." method="_on_exit_button_pressed"] diff --git a/tools/configurator/project.godot b/tools/configurator/project.godot index 369be3f4..82b4b71f 100644 --- a/tools/configurator/project.godot +++ b/tools/configurator/project.godot @@ -79,12 +79,14 @@ next_tab={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":5,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194328,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } previous_tab={ "deadzone": 0.5, "events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194326,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } back_button={ diff --git a/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres b/tools/configurator/res/pixel_ui_theme/RetroDECKTheme.tres index b102c9f6..4589760d 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_ydvek"] +[sub_resource type="Image" id="Image_rprbs"] 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_ydvek") +image = SubResource("Image_rprbs") -[sub_resource type="Image" id="Image_bb1ii"] +[sub_resource type="Image" id="Image_cf6bc"] 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_bb1ii") +image = SubResource("Image_cf6bc") [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_kgfkv"] +[sub_resource type="Image" id="Image_1cy53"] 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_kgfkv") +image = SubResource("Image_1cy53") [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_shhco"] +[sub_resource type="Image" id="Image_b3ady"] 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_shhco") +image = SubResource("Image_b3ady") [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_v0gnd"] +[sub_resource type="Image" id="Image_7hmcg"] 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_v0gnd") +image = SubResource("Image_7hmcg") [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_h4ote"] +[sub_resource type="Image" id="Image_cg8le"] 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_h4ote") +image = SubResource("Image_cg8le") [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_qp6as"] +[sub_resource type="Image" id="Image_tpkot"] 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_qp6as") +image = SubResource("Image_tpkot") -[sub_resource type="Image" id="Image_qluxn"] +[sub_resource type="Image" id="Image_8d7tv"] 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_qluxn") +image = SubResource("Image_8d7tv") -[sub_resource type="Image" id="Image_qvnao"] +[sub_resource type="Image" id="Image_bwfne"] 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_qvnao") +image = SubResource("Image_bwfne") -[sub_resource type="Image" id="Image_tpcjj"] +[sub_resource type="Image" id="Image_r6mai"] 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_tpcjj") +image = SubResource("Image_r6mai") -[sub_resource type="Image" id="Image_t5efg"] +[sub_resource type="Image" id="Image_ikos2"] 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_t5efg") +image = SubResource("Image_ikos2") [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_80meo"] +[sub_resource type="Image" id="Image_h6a0p"] 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_80meo") +image = SubResource("Image_h6a0p") [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_5xvgd"] +[sub_resource type="Image" id="Image_8nh6x"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAc5uqs87c4bPO3OGzztzhs87c4bPO3OGzztzhs3ObqrMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2218,7 +2218,7 @@ data = { } [sub_resource type="ImageTexture" id="199"] -image = SubResource("Image_5xvgd") +image = SubResource("Image_8nh6x") [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_sr5xu"] +[sub_resource type="Image" id="Image_hk701"] 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_sr5xu") +image = SubResource("Image_hk701") [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_ng5qk"] +[sub_resource type="Image" id="Image_ll126"] 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_ng5qk") +image = SubResource("Image_ll126") -[sub_resource type="Image" id="Image_52l3h"] +[sub_resource type="Image" id="Image_jfrub"] 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_52l3h") +image = SubResource("Image_jfrub") -[sub_resource type="Image" id="Image_6mctu"] +[sub_resource type="Image" id="Image_d7wny"] 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_6mctu") +image = SubResource("Image_d7wny") -[sub_resource type="Image" id="Image_vvklf"] +[sub_resource type="Image" id="Image_jacs1"] 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_vvklf") +image = SubResource("Image_jacs1") [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_dmoyy"] +[sub_resource type="Image" id="Image_nk8py"] 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_dmoyy") +image = SubResource("Image_nk8py") -[sub_resource type="Image" id="Image_on4hb"] +[sub_resource type="Image" id="Image_iduya"] 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_on4hb") +image = SubResource("Image_iduya") [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_6l4nu"] +[sub_resource type="Image" id="Image_a5v57"] data = { "data": PackedByteArray("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIKCgnmNjY15mJiYeYGirQCMrLgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOFVfAE5OTjGCgoJ5jY2NeZiYmHlOTk4xTk5OMU5OTjE4VV8AOFVfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADhVXwBOTk4cTk5OMU5OTjFOTk4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="), "format": "RGBA8", @@ -2591,7 +2591,7 @@ data = { } [sub_resource type="ImageTexture" id="111"] -image = SubResource("Image_6l4nu") +image = SubResource("Image_a5v57") [sub_resource type="StyleBoxTexture" id="4"] content_margin_left = 6.0 diff --git a/tools/configurator/scripts/TabSettings.gd b/tools/configurator/scripts/TabSettings.gd index 25d802fd..33080f7f 100644 --- a/tools/configurator/scripts/TabSettings.gd +++ b/tools/configurator/scripts/TabSettings.gd @@ -53,8 +53,12 @@ func cheevos(button: Button): http_request.request_completed.connect(self._on_request_completed) http_request.request(ra_url) responses = await wait_to_complete(http_request) + %cheevos_label.text = "LOGIN SUCCESS = %s" % str(responses[1]).to_upper() button.disabled = false + # need to create missing fields/keys too ie chhevos token duckstation? Possibly not But do need timestamp + #data_handler.read_change_regex(class_functions.config_folder_path + "retroarch/retroarch.cfg", "cheevos_username", "bob12") + data_handler.read_change_regex(class_functions.config_folder_path + "duckstation/settings.ini", "Username", "monkeyx", false) func wait_to_complete(http_request: HTTPRequest) -> Array: await http_request.request_completed diff --git a/tools/configurator/scripts/TabSystem.gd b/tools/configurator/scripts/TabSystem.gd index 733cbcd8..1742c673 100644 --- a/tools/configurator/scripts/TabSystem.gd +++ b/tools/configurator/scripts/TabSystem.gd @@ -46,7 +46,7 @@ func _connect_signals() -> void: %reset_button.button_up.connect(_on_Button_released.bind(%reset_progress)) %rpcs3_firmware_button.pressed.connect(_do_action.bind(%rpcs3_firmware_button)) %vita3k_firmware_button.pressed.connect(_do_action.bind(%vita3k_firmware_button)) - %retroarch_quick_resume_button.pressed.connect(class_functions.run_function.bind(%retroarch_quick_resume_button, "abxy_button_swap")) + %retroarch_quick_resume_button.pressed.connect(class_functions.run_function.bind(%retroarch_quick_resume_button, "quick_resume")) func standard_buttons(button: Button, buttons_gridcontainer: GridContainer, hidden_gridcontainer: GridContainer) -> void: current_system = app_data.emulators[button.text.to_lower()] diff --git a/tools/configurator/scripts/TabTools.gd b/tools/configurator/scripts/TabTools.gd index 3dd8a88a..8a8b9034 100644 --- a/tools/configurator/scripts/TabTools.gd +++ b/tools/configurator/scripts/TabTools.gd @@ -6,7 +6,7 @@ func _ready(): add_child(http_request) http_request.request_completed.connect(_on_request_completed) _connect_signals() - %backup_user_button.text += " - " + class_functions.rdhome + "/backup" + #%backup_user_button.text += " - " + class_functions.rdhome + "/backup" func _connect_signals() -> void: %check_conn_button.pressed.connect(check_internet_connection) diff --git a/tools/configurator/scripts/class_functions.gd b/tools/configurator/scripts/class_functions.gd index ee3ba226..73ffec96 100644 --- a/tools/configurator/scripts/class_functions.gd +++ b/tools/configurator/scripts/class_functions.gd @@ -7,6 +7,7 @@ const globals_sh_file_path: String = "/app/libexec/global.sh" const wrapper_command: String = "/app/tools/retrodeck_function_wrapper.sh" const config_file_path = "/var/config/retrodeck/retrodeck.cfg" const json_file_path = "/var/config/retrodeck/retrodeck.json" +var config_folder_path = "/var/config/" const esde_file_path = "/var/config/ES-DE/settings/es_settings.xml" var desktop_mode: String = OS.get_environment("XDG_CURRENT_DESKTOP") var rd_conf: String @@ -37,7 +38,6 @@ var font_select: int var font_tab_size: int = 35 var font_size: int = 20 var locale: String -enum preset_list {abxy_button_swap, ask_to_exit, borders, widescreen, rewind, cheevos, cheevos_hardcore} var button_list: Array = ["button_swap_button", "ask_to_exit_button", "border_button", "widescreen_button", "quick_rewind_button", "reset_retrodeck_button", "reset_all_emulators_button", "cheevos_button", "cheevos_hardcore_button"] signal update_global_signal var rekku_state: bool = false @@ -126,13 +126,13 @@ func execute_command(command: String, parameters: Array, console: bool) -> Dicti var result = {} var output = [] var exit_code = OS.execute(command, parameters, output, console) ## add if exit == 0 etc - result["output"] = array_to_string(output) + result["output"] = class_functions.array_to_string(output) result["exit_code"] = exit_code return result func run_command_in_thread(command: String, paramaters: Array, _console: bool) -> Dictionary: var thread = Thread.new() - thread.start(execute_command.bind(command,paramaters,false)) + thread.start(execute_command.bind(command,paramaters,true)) while thread.is_alive(): await get_tree().process_frame return thread.wait_to_finish() @@ -283,89 +283,92 @@ func run_function(button: Button, preset: String) -> void: func update_global(button: Button, preset: String, state: bool) -> void: #TODO pass state as an object in future version var result: Array + result.append("build_preset_config") var config_section:Dictionary = data_handler.get_elements_in_section(config_file_path, preset) match button.name: "quick_resume_button", "retroarch_quick_resume_button": quick_resume_status = state - result = data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state)) - change_global(result, "build_preset_config", button, str(quick_resume_status)) + result.append_array(data_handler.change_cfg_value(config_file_path, "retroarch", preset, str(state))) + change_global(result, button, str(quick_resume_status)) "update_notification_button": update_check = state - result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) - change_global(result, "build_preset_config", button, str(result)) + result.append_array(data_handler.change_cfg_value(config_file_path, preset, "options", str(state))) + change_global(result, button, str(result)) "sound_button": sound_effects = state - result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) + result.append_array(data_handler.change_cfg_value(config_file_path, preset, "options", str(state))) logger("i", "Enabled: %s" % (button.name)) update_global_signal.emit([button.name]) "cheevos_connect_button": cheevos_token_state = str(state) - result = data_handler.change_cfg_value(config_file_path, preset, "options", str(state)) + result.append_array(data_handler.change_cfg_value(config_file_path, preset, "options", str(state))) logger("i", "Enabled: %s" % (button.name)) update_global_signal.emit([button.name]) "button_swap_button": if abxy_state != "mixed": abxy_state = str(state) - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, abxy_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) + change_global(result, button, abxy_state) "ask_to_exit_button": if ask_to_exit_state != "mixed": ask_to_exit_state = str(state) - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, ask_to_exit_state) + 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) "border_button": if border_state != "mixed": border_state = str(state) - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, border_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) + change_global(result, button, border_state) if widescreen_state == "true" or widescreen_state == "mixed": config_section = data_handler.get_elements_in_section(config_file_path, "widescreen") widescreen_state = "false" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "widescreen", widescreen_state) - change_global(result, "build_preset_config", button, widescreen_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, "widescreen", widescreen_state)) + change_global(result, button, widescreen_state) "widescreen_button": if widescreen_state != "mixed": widescreen_state = str(state) - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, widescreen_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) + change_global(result, button, widescreen_state) if border_state == "true" or border_state == "mixed": config_section = data_handler.get_elements_in_section(config_file_path, "borders") border_state = "false" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "borders", border_state) - change_global(result, "build_preset_config", button, border_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, "borders", border_state)) + change_global(result, button, border_state) "quick_rewind_button": if quick_rewind_state != "mixed": quick_rewind_state = str(state) - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, quick_rewind_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) + change_global(result, button, quick_rewind_state) "cheevos_button": if cheevos_state != "mixed": cheevos_state = str(state) - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, cheevos_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) + change_global(result, button, cheevos_state) if cheevos_state == "false": cheevos_hardcore_state = "false" - result = data_handler.change_all_cfg_values(config_file_path, config_section, "cheevos_hardcore", class_functions.cheevos_hardcore_state) - change_global(result, "build_preset_config", button, cheevos_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, "cheevos_hardcore", class_functions.cheevos_hardcore_state)) + change_global(result, button, cheevos_hardcore_state) "cheevos_hardcore_button": if cheevos_hardcore_state != "mixed": cheevos_hardcore_state = str(state) - result = data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state)) - change_global(result, "build_preset_config", button, cheevos_hardcore_state) + result.append_array(data_handler.change_all_cfg_values(config_file_path, config_section, preset, str(state))) + change_global(result, button, cheevos_hardcore_state) -func change_global(parameters: Array, preset: String, button: Button, state: String) -> void: - print (parameters[1]) - match parameters[1]: - preset_list: - for system in parameters[0].keys(): - var command_parameter: Array = [preset, system, parameters[1]] - logger("d", "Change Global: %s System: %s Preset %s " % command_parameter) +func change_global(parameters: Array, button: Button, state: String) -> void: + #print (str(parameters)) + match parameters[2]: + "abxy_button_swap", "ask_to_exit", "borders", "widescreen", "rewind", "cheevos", "cheevos_hardcore": + for system in parameters[1].keys(): + var command_parameter: Array = [parameters[0],system, parameters[2]] + logger("d", "Change Global Multi: %s " % str(command_parameter)) var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + #var result = OS.execute_with_pipe(wrapper_command, command_parameter) logger("d", "Exit code: %s" % result["exit_code"]) _: - var command_parameter: Array = [preset, parameters] - logger("d", "Change Global: %s System: %s" % command_parameter) - var result: Dictionary = await run_thread_command(wrapper_command, command_parameter, false) + logger("d", "Change Global Single: %s" % str(parameters)) + var result: Dictionary = await run_thread_command(wrapper_command, parameters, false) + #var result = OS.execute_with_pipe(wrapper_command, parameter) + #var result = OS.create_process(wrapper_command, cparameter) logger("d", "Exit code: %s" % result["exit_code"]) parameters.append(button) parameters.append(state) @@ -430,9 +433,9 @@ func _do_complete(button: Button) ->void: "reset_retrodeck_button": var dir = DirAccess.open(class_functions.rd_conf.get_base_dir()) if dir is DirAccess: - dir.rename(class_functions.rd_conf,class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") + dir.rename(class_functions.rd_conf, class_functions.rd_conf.get_base_dir() + "/retrodeck.bak") dir.remove(class_functions.lockfile) - class_functions.change_global(["reset", "retrodeck"], "prepare_component", button, "") + class_functions.change_global(["prepare_component", "reset", "retrodeck"], button, "") button.text = "RESETTING-NOW" await class_functions.wait(2.0) button.text = "CONFIGURATOR WILL NOW CLOSE" @@ -441,7 +444,7 @@ func _do_complete(button: Button) ->void: "reset_all_emulators_button": var tmp_txt = button.text button.text = "RESETTING-NOW" - class_functions.change_global(["reset", "all"], "prepare_component", button, "") + class_functions.change_global(["prepare_component", "reset", "all"], button, "") await class_functions.wait(2.0) button.text = "RESET COMPLETED" await class_functions.wait(3.0) diff --git a/tools/configurator/scripts/data_handler.gd b/tools/configurator/scripts/data_handler.gd index 6ee06acb..8b21b1cc 100644 --- a/tools/configurator/scripts/data_handler.gd +++ b/tools/configurator/scripts/data_handler.gd @@ -356,3 +356,36 @@ func get_elements_in_section(file_path: String, section: String) -> Dictionary: var value: String = parts[1].strip_edges() elements[key] = value return elements + +func read_change_regex(file_path: String, key: String, new_value: String, use_quotes: bool = true) -> String: + var file := FileAccess.open(file_path, FileAccess.READ_WRITE) + if file == null: + print("Error: Could not open the file - %s" % file_path) + return "" + var content := file.get_as_text() + file.close() + var pattern := "" + if use_quotes: + pattern = '%s\\s*=\\s*"(.*?)"' % key + else: + pattern = '%s\\s*=\\s*(.*)' % key # For keys without quotes + var regex := RegEx.new() + regex.compile(pattern) + var match := regex.search(content) + if match == null: + print("Key %s not found for match - %s" % [key, match]) + return "" + var current_value := match.get_string(1) + if new_value == current_value: + print (current_value) + return current_value + var updated_content := "" + if use_quotes: + updated_content = regex.sub(content, '%s = "%s"' % [key, new_value]) + else: + updated_content = regex.sub(content, '%s = %s' % [key, new_value]) + file = FileAccess.open(file_path, FileAccess.WRITE) + file.store_string(updated_content) + file.close() + print("File updated successfully") + return new_value diff --git a/tools/configurator/scripts/helper_text.gd b/tools/configurator/scripts/helper_text.gd index cae3828c..022642f5 100644 --- a/tools/configurator/scripts/helper_text.gd +++ b/tools/configurator/scripts/helper_text.gd @@ -13,9 +13,9 @@ func _on_focus_changed(selected_element:Control) -> void: %pop_rtl.text = selected_element.get_meta("rekku") elif selected_element != null and selected_element.has_meta("description") and class_functions.rekku_state == false: %pop_rtl.visible = true - var texta : String = selected_element.get_meta("description") as String - texta = texta.replace("\\n", "\n") - %pop_rtl.text = texta + var text_newline : String = selected_element.get_meta("description") as String + text_newline = text_newline.replace("\\n", "\n") + %pop_rtl.text = text_newline -func replace_newline(text: String) -> String: - return text.replace("\n", "\n") +#func replace_newline(text: String) -> String: + #return text.replace("\n", "\n") diff --git a/tools/configurator/scripts/main.gd b/tools/configurator/scripts/main.gd index 9277f679..a433a2b0 100644 --- a/tools/configurator/scripts/main.gd +++ b/tools/configurator/scripts/main.gd @@ -190,10 +190,10 @@ func _set_up_globals(state: Array) -> void: mixed_mode(%quick_rewind_button, class_functions.quick_rewind_state) mixed_mode(%cheevos_button, class_functions.cheevos_state) mixed_mode(%cheevos_hardcore_button, class_functions.cheevos_hardcore_state) - if class_functions.cheevos_state == "true": - %cheevos_enabled_container.visible = true - elif class_functions.cheevos_state == "false": - %cheevos_enabled_container.visible = false + #if class_functions.cheevos_state == "true": + #%cheevos_enabled_container.visible = true + #elif class_functions.cheevos_state == "false": + #%cheevos_enabled_container.visible = false func mixed_mode (button: Button, state: String) -> void: match [class_functions.button_list]: From 0c2985a5633137a22817edd78a28aa488bfcfbaa Mon Sep 17 00:00:00 2001 From: laz Date: Sat, 12 Oct 2024 12:53:28 +0200 Subject: [PATCH 71/74] added bios wip file --- .../reference_lists/missing_bios_wip.json | 1473 +++++++++++++++++ 1 file changed, 1473 insertions(+) create mode 100644 config/retrodeck/reference_lists/missing_bios_wip.json diff --git a/config/retrodeck/reference_lists/missing_bios_wip.json b/config/retrodeck/reference_lists/missing_bios_wip.json new file mode 100644 index 00000000..f89b8ec2 --- /dev/null +++ b/config/retrodeck/reference_lists/missing_bios_wip.json @@ -0,0 +1,1473 @@ + + "arcade:airlbios.zip": { + "size": "715730", + "crc": "f83ec60f", + "md5": "7a11bfe0cc72886d032e386db68f890c", + "sha1": "f2a730530f4989ca0e8860aa4e455b6a5fe69e1d" + }, + "arcade:awbios.zip": { + "size": "42296", + "crc": "67a14ad5", + "md5": "85254fbe320ca82a768ec2c26bb08def", + "sha1": "7940c7bf29eee85a5b2fdec78750b19aa22895dc" + }, + + "arcade:f355bios.zip": { + "size": "1394278", + "crc": "17516536", + "md5": "547f3d12aed389058ca06148f1cca0ed", + "sha1": "b6ff66dcb5547bd91760d239ddf428a655631c53" + }, + + "arcade:f355dlx.zip": { + "size": "2328436", + "crc": "23ac17be", + "md5": "1028615bcac4c31634a3364ce5c04044", + "sha1": "48d1712d1b1cdfeeeb43c6287c17b0b6309cfaab" + }, + "arcade:hod2bios.zip": { + "size": "1479106", + "crc": "0ddc6daf", + "md5": "f4011d3116500354edf7302a90402711", + "sha1": "782c303cbdfab1027b04db74a63e27bdad5e0c53" + }, + "arcade:naomi.zip": { + "size": "9321533", + "crc": "6ee50181", + "md5": "526eda1e2a7920c92c88178789d71d84", + "sha1": "c96711c01c0158f161791d6fbe75d88329e8ac0a" + }, + + "atari8bit:ATARIOSB.ROM": { + "size": "10240", + "crc": "3e28a1fe", + "md5": "a3e8d617c95d08031fe1b20d541434b2", + "sha1": "f1f0741b1d34fb4350cf7cb8ab3b6ea11cdd8174" + }, + "atari7800:7800 BIOS (E).rom": { + "size": "16384", + "crc": "d5b61170", + "md5": "397bb566584be7b9764e7a68974c4263", + "sha1": "5a140136a16d1d83e4ff32a19409ca376a8df874" + }, + "atari7800:7800 BIOS (U).rom": { + "size": "4096", + "crc": "5d13730c", + "md5": "0763f1ffb006ddbe32e52d497ee848ae", + "sha1": "d9d134bb6b36907c615a594cc7688f7bfcef5b43" + }, + + "colecovision:colecovision.rom": { + "size": "8192", + "crc": "3aa93ef3", + "md5": "2c66f5911e5b42b8ebe113403548eee7", + "sha1": "45bedc4cbdeac66c7df59e9e599195c778d86a92" + }, + + "amiga:kick34005.A500": { + "size": "262144", + "crc": "c4f0f55f", + "md5": "82a21c1890cae844b3df741f2762d48d", + "sha1": "891e9a547772fe0c6c19b610baf8bc4ea7fcb785" + }, + "amiga:kick40063.A600": { + "size": "524288", + "crc": "fc24ae0d", + "md5": "e40a5dfb3d017ba8779faba30cbd1c8e", + "sha1": "3b7f1493b27e212830f989f26ca76c02049f09ca" + }, + "amiga:kick40068.A1200": { + "size": "524288", + "crc": "1483a091", + "md5": "646773759326fbac3b2311fd8c8793ee", + "sha1": "e21545723fe8374e91342617604f1b3d703094f1" + }, + + + "fairchild-channel-f:sl31253.bin": { + "size": "1024", + "crc": "04694ed9", + "md5": "ac9804d4c0e9d07e33472e3726ed15c3", + "sha1": "81193965a374d77b99b4743d317824b53c3e3c78" + }, + + + "fairchild-channel-f:sl31254.bin": { + "size": "1024", + "crc": "9c047ba3", + "md5": "da98f4bb3242ab80d76629021bb27585", + "sha1": "8f70d1b74483ba3a37e86cf16c849d601a8c3d2c" + }, + "fairchild-channel-f:sl90025.bin": { + "size": "1024", + "crc": "015c1e38", + "md5": "95d339631d867c8f1d15a5f2ec26069d", + "sha1": "759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2" + }, + "doom:prboom.wad": { + "size": "143312", + "crc": "a5751b99", + "md5": "72ae1b47820fcc93cc0df9c428d0face", + "sha1": "5f4aed208301449c2e9514edfd325fe9dead76fa" + }, + "j2me:freej2me-lr.jar": { + "size": "552042", + "crc": "96a1babf", + "md5": "ccd92e7156ce2f0ce14c88ffb68a16eb", + "sha1": "fb231192894e2fd17a5799fbbdf86a4696951bce" + }, + "j2me:freej2me-sdl.jar": { + "size": "552043", + "crc": "5cca0f35", + "md5": "4da74084fc1b1bd3d776ed8d3ee648de", + "sha1": "78f1f41d55efc6b8d81e99c1d9d75248b3f83dc2" + }, + "j2me:freej2me.jar": { + "size": "552039", + "crc": "ffb98ffa", + "md5": "29a92d0867da2917275b7c6c805d256f", + "sha1": "7d738042268e4ffd0aae8e85e05dd28bce761d1f" + }, + "mac:MacII.ROM": { + "size": "262144", + "crc": "4df6d054", + "md5": "66223be1497460f1e60885eeb35e03cc", + "sha1": "db6b504744281369794e26ba71a6e385cf6227fa" + }, + "msx:CARTS.SHA": { + "size": "33152", + "crc": "d42f4444", + "md5": "74b0f217fa0e2b8bb5a2f8e2ecc69da3", + "sha1": "bf5fb954db868e523febccc68549ed9187961076" + }, + "msx:CYRILLIC.FNT": { + "size": "2048", + "crc": "73af9bc3", + "md5": "85b38e4128bbc300e675f55b278683a8", + "sha1": "000ac11b702a4c42e40f135df12fa5f2f13e20a1" + }, + "msx:FMPAC16.ROM": { + "size": "16384", + "crc": "5d6c4d27", + "md5": "af8537262df8df267072f359399a7635", + "sha1": "2dc4517ebd5a061f9b5aa6b449cc4d4a2073540c" + }, + "msx:ITALIC.FNT": { + "size": "2048", + "crc": "c90ec498", + "md5": "c83e50e9f33b8dd893c414691822740d", + "sha1": "401dd6692dc80628e5f68b7c79be0b0ebbc4d3ee" + }, + + "msx:MSX.ROM": { + "size": "32768", + "crc": "94ee12f3", + "md5": "aa95aea2563cd5ec0a0919b44cc17d47", + "sha1": "409e82adac40f6bdd18eb6c84e8b2fbdc7fb5498" + }, + "msx:MSX2P.ROM": { + "size": "32768", + "crc": "00870134", + "md5": "6d8c0ca64e726c82a4b726e9b01cdf1e", + "sha1": "e2fbd56e42da637609d23ae9df9efd1b4241b18a" + }, + + "msx:RS232.ROM": { + "size": "16640", + "crc": "ab6874f8", + "md5": "279efd1eae0d358eecd4edc7d9adedf3", + "sha1": "7aec0134ad6a5177f4056fcb6047083e8e00529b" + }, + "turbografx16--1:syscard2u.pce": { + "size": "262144", + "crc": "ff2a5ec3", + "md5": "94279f315e8b52904f65ab3108542afe", + "sha1": "2bea3dac98f84b2f2f469fa77ea720b8770d598d" + }, + "pc-9800-series:bios.rom": { + "size": "98304", + "crc": "0a682b93", + "md5": "cd237e16e7e77c06bb58540e9e9fca68", + "sha1": "76a7360502fa0296ea93b4c537174610a834d367" + }, + "pc-9800-series:font.rom": { + "size": "288768", + "crc": "456d9fc7", + "md5": "38d32748ae49d1815b0614970849fd40", + "sha1": "78ba9960f135372825ab7244b5e4e73a810002ff" + }, + "pc-9800-series:itf.rom": { + "size": "32768", + "crc": "c1815325", + "md5": "72ea51443070f0e9212bfc9b793ee28e", + "sha1": "a2fb11c000ed7c976520622cfb7940ed6ddc904e" + }, + "pc-9800-series:sound.rom": { + "size": "16384", + "crc": "fe9f57f2", + "md5": "524473c1a5a03b17e21d86a0408ff827", + "sha1": "d5dbc4fea3b8367024d363f5351baecd6adcd8ef" + }, + "pc-fx:fx-scsi.rom": { + "size": "524288", + "crc": "f3e60e5e", + "md5": "430e9745f9235c515bc8e652d6ca3004", + "sha1": "65482a23ac5c10a6095aee1db5824cca54ead6e5" + }, + "pc-fx:pcfx.rom": { + "size": "1048576", + "crc": "76ffb97a", + "md5": "08e36edbea28a017f79f8d4f7ff9b6d7", + "sha1": "1a77fd83e337f906aecab27a1604db064cf10074" + }, + "pc-fx:pcfxbios.bin": { + "size": "1048576", + "crc": "76ffb97a", + "md5": "08e36edbea28a017f79f8d4f7ff9b6d7", + "sha1": "1a77fd83e337f906aecab27a1604db064cf10074" + }, + + + + "pc-fx:pcfxga.rom": { + "size": "1048576", + "crc": "41c3776b", + "md5": "5885bc9a64bf80d4530b9b9b978ff587", + "sha1": "a9372202a5db302064c994fcda9b24d29bb1b41c" + }, + "pc-fx:pcfxv101.bin": { + "size": "1048576", + "crc": "236102c9", + "md5": "e2fb7c7220e3a7838c2dd7e401a7f3d8", + "sha1": "8b662f7548078be52a871565e19511ccca28c5c8" + }, + + + + + "ngc:gc-dvd-20010608.bin": { + "size": "131072", + "crc": "c047465a", + "md5": "561532ad496f644897952d2cef5bb431", + "sha1": "27872c201e87b06a19bf85d36c796ef383f8d52d" + }, + "ngc:gc-dvd-20010831.bin": { + "size": "131072", + "crc": "54c7d10e", + "md5": "b953eb1a8fc9922b3f7051c1cdc451f1", + "sha1": "ae7233cae8f94749796e0b740d6021e3b00a8926" + }, + "ngc:gc-dvd-20020402.bin": { + "size": "131072", + "crc": "8bbef508", + "md5": "413154dd0e2c824c9b18b807fd03ec4e", + "sha1": "691e46213d8428befdf568157e670b971ab94e1d" + }, + "ngc:gc-dvd-20020823.bin": { + "size": "131072", + "crc": "5205222b", + "md5": "c03f6bbaf644eb9b3ee261dbe199eb42", + "sha1": "2faaf92bcaffe675f54f7249d30f3791507e22ab" + }, + "ngc:gc-ntsc-10.bin": { + "size": "2097152", + "crc": "6dac1f2a", + "md5": "fc924a7c879b661abc37cec4f018fdf3", + "sha1": "a1837968288253ed541f2b11440b68f5a9b33875" + }, + "ngc:gc-ntsc-11.bin": { + "size": "2097152", + "crc": "d5e6feea", + "md5": "019e39822a9ca3029124f74dd4d55ac4", + "sha1": "239eacd86527ff9a75aeb7282da65797baeef010" + }, + "ngc:gc-ntsc-12.bin": { + "size": "2097152", + "crc": "86573808", + "md5": "b17148254a5799684c7d783206504926", + "sha1": "ef9194ab4804aa0aa8540d846caf291b28331165" + }, + "ngc:gc-pal-10.bin": { + "size": "2097152", + "crc": "4f319f43", + "md5": "0cdda509e2da83c85bfe423dd87346cc", + "sha1": "f27c63e5394e2fd1606f70df004c4fc2d6027700" + }, + "ngc:gc-pal-11.bin": { + "size": "2097152", + "crc": "667d0b64", + "md5": "339848a0b7c2124cf155276c1e79cbd0", + "sha1": "f3cd0c7c61cbcefa85e7de3aff4cfa50bc508714" + }, + "ngc:gc-pal-12.bin": { + "size": "2097152", + "crc": "ad1b7f16", + "md5": "db92574caab77a7ec99d4605fd6f2450", + "sha1": "80b8744ff5e43585392f55546bd03a673d11ef5f" + }, + "nintendo-64dd:64DD_IPL.bin": { + "size": "4194304", + "crc": "7f933ce2", + "md5": "8d3d9f294b6e174bc7b1d2fd1c727530", + "sha1": "bf861922dcb78c316360e3e742f4f70ff63c9bc3" + }, + + + "nes:NstDatabase.xml": { + "size": "1009534", + "crc": "ebb2196c", + "md5": "7bfe8c0540ed4bd6a0f1e2a0f0118ced", + "sha1": "26322f182540211e9b5e3647675b7c593706ae2b" + }, + + "satellaview:BS-X.bin": { + "size": "1048576", + "crc": "f51f07a0", + "md5": "fed4d8242cfbed61343d53d48432aced", + "sha1": "604556b2e62860af18db5a77f2956ebc75450020" + }, + "satellaview:BS-X (En).bin": { + "size": "1048576", + "crc": "347e1c4e", + "md5": "33b62505da6ca4525e3839db4e1a7bca", + "sha1": "f3cdff70de5d0f5c52ca3a8f46588b863d48b8ec" + }, + "satellaview:BS-X (En) (DRM-Free).bin": { + "size": "1048576", + "crc": "8c573c7e", + "md5": "4ed9648505ab33a4daec93707b16caba", + "sha1": "7996bd1c01b99800e0d5d34beff93db283784864" + }, + "sufami-turbo:STBIOS.bin": { + "size": "262144", + "crc": "9b4ca911", + "md5": "d3a44ba7d42a74d3ac58cb9c14c6a5ca", + "sha1": "ef86ea192eed03d5c413fdbbfd46043be1d7a127" + }, + "super-gb:SGB1.sfc": { + "size": "262144", + "crc": "8a4a174f", + "md5": "b15ddb15721c657d82c5bab6db982ee9", + "sha1": "973e10840db683cf3faf61bd443090786b3a9f04" + }, + "super-gb:SGB2.sfc": { + "size": "524288", + "crc": "cb176e45", + "md5": "8ecd73eb4edf7ed7e81aef1be80031d5", + "sha1": "e5b2922ca137051059e4269b236d07a22c07bc84" + }, + "super-gb:sgb1.boot.rom": { + "size": "256", + "crc": "ec8a83b9", + "md5": "d574d4f9c12f305074798f54c091a8b4", + "sha1": "aa2f50a77dfb4823da96ba99309085a3c6278515" + }, + "super-gb:sgb1.program.rom": { + "size": "262144", + "crc": "8a4a174f", + "md5": "b15ddb15721c657d82c5bab6db982ee9", + "sha1": "973e10840db683cf3faf61bd443090786b3a9f04" + }, + "super-gb:sgb2.boot.rom": { + "size": "256", + "crc": "53d0dd63", + "md5": "e0430bca9925fb9882148fd2dc2418c1", + "sha1": "93407ea10d2f30ab96a314d8eca44fe160aea734" + }, + "super-gb:sgb2.program.rom": { + "size": "524288", + "crc": "cb176e45", + "md5": "8ecd73eb4edf7ed7e81aef1be80031d5", + "sha1": "e5b2922ca137051059e4269b236d07a22c07bc84" + }, + "super-gb:sgb2_bios.bin": { + "size": "256", + "crc": "53d0dd63", + "md5": "e0430bca9925fb9882148fd2dc2418c1", + "sha1": "93407ea10d2f30ab96a314d8eca44fe160aea734" + }, + "super-gb:sgb_bios.bin": { + "size": "256", + "crc": "ec8a83b9", + "md5": "d574d4f9c12f305074798f54c091a8b4", + "sha1": "aa2f50a77dfb4823da96ba99309085a3c6278515" + }, + "snes:cx4.data.rom": { + "size": "3072", + "crc": "b6e76a6a", + "md5": "037ac4296b6b6a5c47c440188d3c72e3", + "sha1": "a002f4efba42775a31185d443f3ed1790b0e949a" + }, + "snes:dsp1.data.rom": { + "size": "2048", + "crc": "c8347cbd", + "md5": "3d81b45fa0c2aa8b852dfb1ece7c0971", + "sha1": "589c158685fe3cf88c7ca77cb6083f0e4de9c7c3" + }, + "snes:dsp1.program.rom": { + "size": "6144", + "crc": "db9a4c92", + "md5": "ae209fbe789fbf11a48aea5ab1197321", + "sha1": "c5d283604beebb3d832f15a0b3fc60d10dd4bddc" + }, + "snes:dsp1b.data.rom": { + "size": "2048", + "crc": "37a252c6", + "md5": "1e3f568634a7d8284020dddc0ae905bc", + "sha1": "19d5e822fe15ee6942e9921c3d8275a761a969df" + }, + "snes:dsp1b.program.rom": { + "size": "6144", + "crc": "66a73998", + "md5": "d10f446888e097cbf500f3f663cf4f6d", + "sha1": "03c6c0bdb40846c42aeff6b716e1ea0e001c3ae3" + }, + "snes:dsp2.data.rom": { + "size": "2048", + "crc": "b3893c70", + "md5": "e9417e29223b139c3c4b635a2a3b8744", + "sha1": "aed9167cc2897cd8d0432f0b8f713fabbc48f5c4" + }, + "snes:dsp2.program.rom": { + "size": "6144", + "crc": "0c1cf838", + "md5": "aa6e5922a3ed5ded54f24247c11143c5", + "sha1": "51a274955ef493cfcf2efad7e2ee54738c81eb15" + }, + "snes:dsp3.data.rom": { + "size": "2048", + "crc": "8b41a2bd", + "md5": "0a81210c0a940b997dd9843281008ee6", + "sha1": "e7ec3da203a4edba2b17c06d9384787304a025a0" + }, + "snes:dsp3.program.rom": { + "size": "6144", + "crc": "f29be51c", + "md5": "d99ca4562818d49cee1f242705bba6f8", + "sha1": "11b7ba3501a8542af4cdfdbd1c9702ae0a0e3fae" + }, + "snes:dsp4.data.rom": { + "size": "2048", + "crc": "efa8b9b2", + "md5": "ee4990879eb68e3cbca239c5bc20303d", + "sha1": "8f2ffb9c1702aa2f76191e98f3fef43f73e5aab7" + }, + "snes:dsp4.program.rom": { + "size": "6144", + "crc": "14b77ae3", + "md5": "a151023b948b90ffc23a5b594bb6fef2", + "sha1": "1abee528a59238fd5668fdcffd598d079cb056c2" + }, + "snes:st010.data.rom": { + "size": "4096", + "crc": "216081b2", + "md5": "254d70762b6f59f99c27c395aba7d07d", + "sha1": "bd116501ec41c438fff210fd03233c6c9d15a514" + }, + "snes:st010.program.rom": { + "size": "49152", + "crc": "691cbb4f", + "md5": "1d70019179a59a566a0bb5d3f2845544", + "sha1": "2d0f34074ed3c6dfd61f767ee8b18e699b9769ac" + }, + "snes:st011.data.rom": { + "size": "4096", + "crc": "803256a7", + "md5": "10bd3f4aa949737ab9836512c35bcc29", + "sha1": "798ab84110ca93a6e73a540f4146d21f8d9e1442" + }, + "snes:st011.program.rom": { + "size": "49152", + "crc": "a741e9fb", + "md5": "95222ebf1c0c2990bcf25db43743f032", + "sha1": "375eca92592621e83881f3a9d7fd5ea3e5b306dc" + }, + "snes:st018.data.rom": { + "size": "32768", + "crc": "b5255459", + "md5": "49c898b60d0f15e90d0ba780dd12f366", + "sha1": "b19c0f8f207d62fdabf4bf71442826063bccc626" + }, + "snes:st018.program.rom": { + "size": "131072", + "crc": "f73d5e10", + "md5": "dda40ccd57390c96e49d30a041f9a9e7", + "sha1": "388e3721b94cd074d6ba0eca8616523d2118a6c3" + }, + "dc:dc_flash.bin": { + "size": "131072", + "crc": "c611b498", + "md5": "0a93f7940c455905bea6e392dfde92a4", + "sha1": "94d44d7f9529ec1642ba3771ed3c5f756d5bc872" + }, + "dc:flash.bin": { + "size": "131072", + "crc": "c611b498", + "md5": "0a93f7940c455905bea6e392dfde92a4", + "sha1": "94d44d7f9529ec1642ba3771ed3c5f756d5bc872" + }, + "dc:naomi_boot.bin": { + "size": "2097152", + "crc": "d2a1c6bf", + "md5": "3bffafac42a7767d8dcecf771f5552ba", + "sha1": "6d27d71aec4dfba98f66316ae74a1426d567698a" + }, + "sms:bios_J.sms": { + "size": "8192", + "crc": "48d44a13", + "md5": "24a519c53f67b00640d0048ef7089105", + "sha1": "a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2" + }, + "genesis-slash-megadrive:areplay.bin": { + "size": "32768", + "crc": "95ff7c3e", + "md5": "a0028b3043f9d59ceeb03da5b073b30d", + "sha1": "1e0f246826be4ebc7b99bb3f9de7f1de347122e5" + }, + "genesis-slash-megadrive:bios_MD.bin": { + "size": "2048", + "crc": "3f888cf4", + "md5": "d3293ebaaa7f4eb2a6766b68a0fb4609", + "sha1": "3f50b76b0529db7f79c396b5e808cc0786ffc311" + }, + "genesis-slash-megadrive:ggenie.bin": { + "size": "32768", + "crc": "14dbce4a", + "md5": "e8af7fe115a75c849f6aab3701e7799b", + "sha1": "937e1878ebd104f489e6bdbc410a184f79f1144a" + }, + "genesis-slash-megadrive:rom.db": { + "size": "17742", + "crc": "c94e8c8b", + "md5": "ff4a3572475236e859e3e9ac5c87d1f1", + "sha1": "02c287d10da6de579af7a4ce73b134bbdf23c970" + }, + "genesis-slash-megadrive:sk.bin": { + "size": "2097152", + "crc": "0658f691", + "md5": "4ea493ea4e9f6c9ebfccbdb15110367e", + "sha1": "88d6499d874dcb5721ff58d76fe1b9af811192e3" + }, + "genesis-slash-megadrive:sk2chip.bin": { + "size": "262144", + "crc": "4dcfd55c", + "md5": "b4e76e416b887f4e7413ba76fa735f16", + "sha1": "70429f1d80503a0632f603bf762fe0bbaa881d22" + }, + "saturn:hisaturn.bin": { + "size": "524288", + "crc": "721e1b60", + "md5": "3ea3202e2634cb47cb90f3a05c015010", + "sha1": "49d8493008fa715ca0c94d99817a5439d6f2c796" + }, + "saturn:mpr-18100.bin": { + "size": "524288", + "crc": "3408dbf4", + "md5": "cb2cebc1b6e573b7c44523d037edcd45", + "sha1": "8a22710e09ce75f39625894366cafe503ed1942d" + }, + "saturn:saturn_bios.bin": { + "size": "524288", + "crc": "2aba43c2", + "md5": "af5828fdff51384f99b3c4926be27762", + "sha1": "2b8cb4f87580683eb4d760e4ed210813d667f0a2" + }, + "saturn:sega1003.bin": { + "size": "524288", + "crc": "b3c63c25", + "md5": "74570fed4d44b2682b560c8cd44b8b6a", + "sha1": "7b23b53d62de0f29a23e423d0fe751dfb469c2fa" + }, + "saturn:sega_100.bin": { + "size": "524288", + "crc": "2aba43c2", + "md5": "af5828fdff51384f99b3c4926be27762", + "sha1": "2b8cb4f87580683eb4d760e4ed210813d667f0a2" + }, + "saturn:sega_100a.bin": { + "size": "524288", + "crc": "f90f0089", + "md5": "f273555d7d91e8a5a6bfd9bcf066331c", + "sha1": "3bb41feb82838ab9a35601ac666de5aacfd17a58" + }, + "saturn:vsaturn.bin": { + "size": "524288", + "crc": "e4d61811", + "md5": "ac4e4b6522e200c0d23d371a8cecbfd3", + "sha1": "4154e11959f3d5639b11d7902b3a393a99fb5776" + }, + "x1:iplrom.x1": { + "size": "4096", + "crc": "e70011d3", + "md5": "eeeea1cd29c6e0e8b094790ae969bfa7", + "sha1": "d3395e9aeb5b8bbba7654dd471bcd8af228ee69a" + }, + "x1:iplrom.x1t": { + "size": "2048", + "crc": "e3995a57", + "md5": "851e4a5936f17d13f8c39a980cf00d77", + "sha1": "1c1a0d8c9f4c446ccd7470516b215ddca5052fb2" + }, + + "zxs:128-0.rom": { + "size": "16384", + "crc": "e76799d2", + "md5": "b4d2692115a9f2924df92a3cbfb358fb", + "sha1": "4f4b11ec22326280bdb96e3baf9db4b4cb1d02c5" + }, + + "zxs:128-spanish-0.rom": { + "size": "16384", + "crc": "453d86b2", + "md5": "c1231a70b8129311216acb7479b031d5", + "sha1": "968937b1c750f0ef6205f01c6db4148da4cca4e3" + }, + "zxs:128-spanish-1.rom": { + "size": "16384", + "crc": "6010e796", + "md5": "4f341936594cbcab75cfa62ce96e3682", + "sha1": "bea3f397cc705eafee995ea629f4a82550562f90" + }, + "zxs:48.rom": { + "size": "16384", + "crc": "ddee531f", + "md5": "4c42a2f075212361c3117015b107ff68", + "sha1": "5ea7c2b824672e914525d1d5c419d71b84a426a2" + }, + "zxs:disciple.rom": { + "size": "8192", + "crc": "82047489", + "md5": "78e61a2a02121873c1756b21fd1398b1", + "sha1": "9a75ed4b293f968985be4c9aa893cd88276d1ced" + }, + "zxs:disk_plus3.szx": { + "size": "1568", + "crc": "c2c6cba7", + "md5": "e6db6b9f6ad15012851115a7bc4b31d8", + "sha1": "d7896640e18fc6204aa494835b0a430250fb06ce" + }, + + "zxs:if1-1.rom": { + "size": "8192", + "crc": "e72a12ae", + "md5": "5c11c61a2dd2ca4bf39328d9ff42d289", + "sha1": "4ffd9ed9c00cdc6f92ce69fdd8b618ef1203f48e" + }, + "zxs:if1-2.rom": { + "size": "8192", + "crc": "bb66dd1e", + "md5": "31b704ae925305e74f50699271fddd9a", + "sha1": "5cfb6bca4177c45fefd571734576b55e3a127c08" + }, + "zxs:plus2-0.rom": { + "size": "16384", + "crc": "5d2e8c66", + "md5": "4ed7af4636308b8a48d7a35e6c5b546b", + "sha1": "72703f9a3e734f3c23ec34c0727aae4ccbef9a91" + }, + "zxs:plus2-1.rom": { + "size": "16384", + "crc": "98b1320b", + "md5": "b3db95931cc844efaeb82db9c171b9f3", + "sha1": "de8b0d2d0379cfe7c39322a086ca6da68c7f23cb" + }, + "zxs:plus3-0.rom": { + "size": "16384", + "crc": "a10230c0", + "md5": "3abdc20e72890a750dd3c745d286dfba", + "sha1": "a837f66977040f7b51ed053a2483c10f3d070ab7" + }, + "zxs:plus3-1.rom": { + "size": "16384", + "crc": "09b9c3ca", + "md5": "8361a1d9c8bcef89c0c39293776564ad", + "sha1": "6a4364f25513e4079f048f2de131a896d30edc64" + }, + "zxs:plus3-2.rom": { + "size": "16384", + "crc": "a60285a0", + "md5": "f36c5c2d1f2a682caadeaa6f947db0da", + "sha1": "0a747cc0b827a94b4fd74cfd818ca792437a38f7" + }, + "zxs:plus3-3.rom": { + "size": "16384", + "crc": "04448eaa", + "md5": "a148bcc575e51389e84fdf5d555c3196", + "sha1": "65f031caa8148a5493afe42c41f4929deab26b4e" + }, + "zxs:plus3e-0.rom": { + "size": "16384", + "crc": "a10230c0", + "md5": "3abdc20e72890a750dd3c745d286dfba", + "sha1": "a837f66977040f7b51ed053a2483c10f3d070ab7" + }, + "zxs:plus3e-1.rom": { + "size": "16384", + "crc": "09b9c3ca", + "md5": "8361a1d9c8bcef89c0c39293776564ad", + "sha1": "6a4364f25513e4079f048f2de131a896d30edc64" + }, + "zxs:plus3e-2.rom": { + "size": "16384", + "crc": "a60285a0", + "md5": "f36c5c2d1f2a682caadeaa6f947db0da", + "sha1": "0a747cc0b827a94b4fd74cfd818ca792437a38f7" + }, + "zxs:plus3e-3.rom": { + "size": "16384", + "crc": "04448eaa", + "md5": "a148bcc575e51389e84fdf5d555c3196", + "sha1": "65f031caa8148a5493afe42c41f4929deab26b4e" + }, + "zxs:plusd.rom": { + "size": "8192", + "crc": "569f7e55", + "md5": "42e5de16fb5e50082bb954ec7ce45851", + "sha1": "6b841dc5797ef7eb219ad455cd1e434ca3b9d30d" + }, + "zxs:se-0.rom": { + "size": "16384", + "crc": "8f1047d2", + "md5": "fb3f86eb1e5a695d9c50c124e7cfb875", + "sha1": "8608328d7dd66602a4846f046b24fed500f7d828" + }, + "zxs:se-1.rom": { + "size": "16384", + "crc": "16ed3a9b", + "md5": "88de4a3129086f34bb9ca559acc51e6c", + "sha1": "3be5de57dd3bd0a9d15c57cabe9179afe2906a52" + }, + "zxs:speccyboot-1.4.rom": { + "size": "8192", + "crc": "37c591b2", + "md5": "c54aa8f374b0971f51546c29d5d1eba1", + "sha1": "16af6f052b38a027dd49ba6e96e3a59d16b62672" + }, + "zxs:tape_128.szx": { + "size": "1464", + "crc": "8d1c41f4", + "md5": "8942b43b73ed4eb7f32bd1741709a4dc", + "sha1": "3b1287bfc6fec9c7dd838f6ea1706698cb96fd16" + }, + "zxs:tape_16.szx": { + "size": "591", + "crc": "ccda9cc2", + "md5": "fec97eb9ea1b017cae84de78508feb4a", + "sha1": "ec9e5607ce7faf2d6a5d71e5e21188ca86e963a1" + }, + "zxs:tape_2048.szx": { + "size": "720", + "crc": "dbc1a386", + "md5": "116f732bbae4e49d625aaf2f311474d0", + "sha1": "f2d2227dce697df8aac78883eaf966e71435caa3" + }, + "zxs:tape_2068.szx": { + "size": "1799", + "crc": "659b428d", + "md5": "0b0f267b95d556318bb652af2e8dc25c", + "sha1": "5af71025c02358b325bf8b4bfaa2662488abf1d2" + }, + "zxs:tape_48.szx": { + "size": "708", + "crc": "f56f230d", + "md5": "ee2ae810711594db3a134a7432baabff", + "sha1": "d6e092730f822c9e8828ca12f54eb8d65228f30c" + }, + "zxs:tape_pentagon.szx": { + "size": "1479", + "crc": "c7a272b6", + "md5": "bd7698603bd9079d337cdedfb04942d9", + "sha1": "7e1eb0e250cfe1f2f0e50f734378a738e8bf327f" + }, + "zxs:tape_plus2.szx": { + "size": "1571", + "crc": "93195e18", + "md5": "166d4aa1a5aa4fbd99cc963b4e7c19cc", + "sha1": "4a6d8941eee86d7e52452f5aaaa73d4bafe9bde1" + }, + "zxs:tape_plus2a.szx": { + "size": "1617", + "crc": "45727b82", + "md5": "445d4817d5557bb363a216fbd6eeaa84", + "sha1": "e0e0f6ebc8261ae9768a6be772eab4718fbc2395" + }, + "zxs:tape_plus3.szx": { + "size": "1856", + "crc": "1a825690", + "md5": "0dc8828ac1db2e0efa915ac55191e96f", + "sha1": "3850f7e5e6c90fd4dac988da77717d2647d9c021" + }, + "zxs:tape_plus3e.szx": { + "size": "1970", + "crc": "4ce6538f", + "md5": "bf07537f028bbcb3309464bd30da779c", + "sha1": "92ac0df41f3ea7f147f4d6bae6b8a7d79b4f7e92" + }, + "zxs:tape_scorpion.szx": { + "size": "3500", + "crc": "eb6a7a83", + "md5": "c10e677d3deb5a445689d3a599880745", + "sha1": "6abdeb434755d25a280954ce07b50b6a28b36957" + }, + "zxs:tape_se.szx": { + "size": "2146", + "crc": "92bc2f43", + "md5": "2518f9334bef8c44804a4185085579b5", + "sha1": "cc20a8e6fc8c493881b14e00545a42ef75b8aabe" + }, + "zxs:tape_ts2068.szx": { + "size": "1840", + "crc": "06ad712e", + "md5": "1d360c09d370bb52a9a44b30cc7c59e6", + "sha1": "562298f5b3a7ed28f0129b066e8ad098a10e2270" + }, + "zxs:tc2048.rom": { + "size": "16384", + "crc": "f1b5fa67", + "md5": "9dd7ecf784a6c04265c073c236f5fadb", + "sha1": "febb2d495b6eda7cdcb4074935d6e9d9f328972d" + }, + "zxs:tc2068-0.rom": { + "size": "16384", + "crc": "bf44ec3f", + "md5": "55d462fccc6c536037404ef4ced08bec", + "sha1": "1446cb2780a9dedf640404a639fa3ae518b2d8aa" + }, + "zxs:tc2068-1.rom": { + "size": "8192", + "crc": "ae16233a", + "md5": "575d203c6e15e679fba0b73f854ec7a2", + "sha1": "7e265a2c1f621ed365ea23bdcafdedbc79c1299c" + }, + + "neo-geo-cd:000-lo.lo": { + "size": "131072", + "crc": "5a86cff2", + "md5": "fc7599f3f871578fe9a0453662d1c966", + "sha1": "5992277debadeb64d1c1c64b0a92d9293eaf7e4a" + }, + "ps:scph1000.bin": { + "size": "524288", + "crc": "3b601fc8", + "md5": "239665b1a3dade1b5a52c06338011044", + "sha1": "343883a7b555646da8cee54aadd2795b6e7dd070" + }, + "ps:scph1001.bin": { + "size": "524288", + "crc": "37157331", + "md5": "924e392ed05558ffdb115408c263dccf", + "sha1": "10155d8d6e6e832d6ea66db9bc098321fb5e8ebf" + }, + "ps:scph1002.bin": { + "size": "524288", + "crc": "9bb87c4b", + "md5": "54847e693405ffeb0359c6287434cbef", + "sha1": "20b98f3d80f11cbf5a7bfd0779b0e63760ecc62c" + }, + "ps:scph100.bin": { + "size": "524288", + "crc": "f2af798b", + "md5": "8abc1b549a4a80954addc48ef02c4521", + "sha1": "339a48f4fcf63e10b5b867b8c93cfd40945faf6c" + }, + "ps:scph101.bin": { + "size": "524288", + "crc": "171bdcec", + "md5": "6e3735ff4c7dc899ee98981385f6f3d0", + "sha1": "dcffe16bd90a723499ad46c641424981338d8378" + }, + "ps:scph102A.bin": { + "size": "524288", + "crc": "0bad7ea9", + "md5": "b10f5e0e3d9eb60e5159690680b1e774", + "sha1": "beb0ac693c0dc26daf5665b3314db81480fa5c7c" + }, + "ps:scph102B.bin": { + "size": "524288", + "crc": "76b880e5", + "md5": "de93caec13d1a141a40a79f5c86168d6", + "sha1": "dbc7339e5d85827c095764fc077b41f78fd2ecae" + }, + "ps:scph102C.bin": { + "size": "524288", + "crc": "76b880e5", + "md5": "de93caec13d1a141a40a79f5c86168d6", + "sha1": "dbc7339e5d85827c095764fc077b41f78fd2ecae" + }, + "ps:scph3000.bin": { + "size": "524288", + "crc": "3539def6", + "md5": "849515939161e62f6b866f6853006780", + "sha1": "b06f4a861f74270be819aa2a07db8d0563a7cc4e" + }, + "ps:scph3500.bin": { + "size": "524288", + "crc": "bc190209", + "md5": "cba733ceeff5aef5c32254f1d617fa62", + "sha1": "e38466a4ba8005fba7e9e3c7b9efeba7205bee3f" + }, + "ps:scph5000.bin": { + "size": "524288", + "crc": "8c93a399", + "md5": "eb201d2d98251a598af467d4347bb62f", + "sha1": "e340db2696274dda5fdc25e434a914db71e8b02b" + }, + "psp:ppge_atlas.zim": { + "size": "666530", + "crc": "7b57fa78", + "md5": "866855cc330b9b95cc69135fb7b41d38", + "sha1": "30a33f3651f8e1b0967a5dfe6ff714baebcce41a" + }, + "wolfenstein:ecwolf.pk3": { + "size": "178755", + "crc": "26dc3fba", + "md5": "c011b428819eea4a80b455c245a5a04d", + "sha1": "9259b87edfe9b9f6d0749788a75a6ccf158f50aa" + }, + "scummvm:scummvm.zip": { + "size": "9523360", + "crc": "a93f1c4b", + "md5": "a17e0e0150155400d8cced329563d9c8", + "sha1": "718c1a00d38e0810a1ad0ffde79f73447f846f01" + }, + "acpc:cpc464.rom": { + "size": "32768", + "crc": "40852f25", + "md5": "a993f85b88ac4350cf4d41554e87fe4f", + "sha1": "56d39c463da60968d93e58b4ba0e675829412a20" + }, + "acpc:cpc664.rom": { + "size": "32768", + "crc": "9ab5a036", + "md5": "5a384a2310f472c7857888371c00ed66", + "sha1": "073a7665527b5bd8a148747a3947dbd3328682c8" + }, + "acpc:cpc6128.rom": { + "size": "32768", + "crc": "9e827fe1", + "md5": "b96280dc6c95a48857b4b8eb931533ae", + "sha1": "5977adbad3f7c1e0e082cd02fe76a700d9860c30" + }, + "acpc:cpc_amsdos.rom": { + "size": "16384", + "crc": "1fe22ecd", + "md5": "25629dfe870d097469c217b95fdc1c95", + "sha1": "39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb" + }, + "enterprise:hun.rom": { + "size": "16384", + "crc": "596ab6d6", + "md5": "22167938f142c222f40992839aa21a06", + "sha1": "325a5e28c2a0d896711f8829e7ff14fed5dd4103" + }, + "enterprise:brd.rom": { + "size": "16384", + "crc": "6999d6a3", + "md5": "6af0402906944fd134004b85097c8524", + "sha1": "f34f0c330b44dbf2548329bea954d5991dec30ca" + }, + "enterprise:exos20.rom": { + "size": "32768", + "crc": "d421795f", + "md5": "5ad3baaad3b5156d6b60b34229a676fb", + "sha1": "6033a0535136c40c47137e4d1cd9273c06d5fdff" + }, + "enterprise:exos21.rom": { + "size": "32768", + "crc": "982a3b44", + "md5": "f36f24cbb87745fbd2714e4df881db09", + "sha1": "55315b20fecb4441a07ee4bc5dc7153f396e0a2e" + }, + "enterprise:zt19uk.rom": { + "size": "32768", + "crc": "d6deedf1", + "md5": "228540b6be83ae2acd7569c8ff0f91d0", + "sha1": "b7af62f0bc95fdca4b31d236f8327dafc80f83b7" + }, + "enterprise:basic20.rom": { + "size": "16384", + "crc": "1228de34", + "md5": "8e18edce4a7acb2c33cc0ab18f988482", + "sha1": "61d0987b906146e21b94f265d5b51b4938c986a9" + }, + "enterprise:basic21.rom": { + "size": "16384", + "crc": "55f96251", + "md5": "e972fe42b398c9ff1d93ff014786aec6", + "sha1": "03bbb386cf530e804363acdfc1d13e64cf28af2e" + }, + "enterprise:exdos13.rom": { + "size": "32768", + "crc": "e0135929", + "md5": "ddff70c014d1958dc75378b6c9aab6f8", + "sha1": "cb43ab3676b93c279f1ed8ffcb0d4dcd4b34e631" + }, + "enterprise:epd19hft.rom": { + "size": "32768", + "crc": "bd503eeb", + "md5": "12cfc9c7e48c8a16c2e09edbd926d467", + "sha1": "8f28fe73d13e94dd1da02519908ecc6eebe104f6" + }, + "enterprise:zt18hfnt.rom": { + "size": "32768", + "crc": "76c9dbf6", + "md5": "3082dc488d32f30a612761b99074199b", + "sha1": "283be1ce417a759a3368bb4bbe72f692fd43ca6d" + }, + "enterprise:epfileio.rom": { + "size": "16384", + "crc": "60c79925", + "md5": "a68ebcbc73a4d2178d755b7755bf18fe", + "sha1": "2f9077bcd89b1ec42dbdcd55d335bdbaf361eff3" + }, + "enterprise:exos24uk.rom": { + "size": "65536", + "crc": "c099a5e3", + "md5": "55af78f877a21ca45eb2df68a74fcc60", + "sha1": "cf12e971623a54bf8c4f891ca3a36d969f205c49" + }, + "ps2:ps2-0100jd-20000117.bin": { + "size": "4194304", + "crc": "5a04500c", + "md5": "32f2e4d5ff5ee11072a6bc45530f5765", + "sha1": "5b33170323ed6344e2363fed8115dc3918bb96a4" + }, + "ps2:ps2-0100j-20000117.bin": { + "size": "4194304", + "crc": "b7ef81a9", + "md5": "acf4730ceb38ac9d8c7d8e21f2614600", + "sha1": "aea061e6e263fdcc1c4fdbd68553ef78dae74263" + }, + "ps2:ps2-0101jd-20000217.bin": { + "size": "4194304", + "crc": "4f8b4205", + "md5": "acf9968c8f596d2b15f42272082513d1", + "sha1": "16f4a284d0e760ee13a2aff2f7dda928255e3080" + }, + "ps2:ps2-0101j-20000217.bin": { + "size": "4194304", + "crc": "211dfb6a", + "md5": "b1459d7446c69e3e97e6ace3ae23dd1c", + "sha1": "916e02431bcd73140504da3355c9598143b77e11" + }, + "ps2:ps2-0101xd-20000224.bin": { + "size": "4194304", + "crc": "2fef9faf", + "md5": "d3f1853a16c2ec18f3cd1ae655213308", + "sha1": "4440b246bfde7bb31002c584a76c6ef384908e84" + }, + "ps2:ps2-0110ad-20000727.bin": { + "size": "4194304", + "crc": "795578c1", + "md5": "63e6fd9b3c72e0d7b920e80cf76645cd", + "sha1": "339c646cf0699268552df5b05f18f0a03a9f55ff" + }, + "ps2:ps2-0110a-20000727.bin": { + "size": "4194304", + "crc": "9678ad6a", + "md5": "a20c97c02210f16678ca3010127caf36", + "sha1": "20f6ce6693cf97e9494f8f0227f2b7988ffaf961" + }, + "ps2:ps2-0120a-20000902.bin": { + "size": "4194304", + "crc": "1ae71e5d", + "md5": "8db2fbbac7413bf3e7154c1e0715e565", + "sha1": "dbc2318a1029347b5af3a0c74b0bdf88d19efee6" + }, + "ps2:ps2-0120ed-20000902.bin": { + "size": "4194304", + "crc": "25495aa7", + "md5": "91c87cb2f2eb6ce529a2360f80ce2457", + "sha1": "3bb1eecd618ab5c973c7bc53671a4475a02e1d5b" + }, + "ps2:ps2-0120ed-20000902-20030110.bin": { + "size": "4194304", + "crc": "e2f78425", + "md5": "3016b3dd42148a67e2c048595ca4d7ce", + "sha1": "1b73dec999fcc2b92fa958110ff6bfe4d0af276e" + }, + "ps2:ps2-0120e-20000902.bin": { + "size": "4194304", + "crc": "7b08c33b", + "md5": "b7fa11e87d51752a98b38e3e691cbf17", + "sha1": "274c05fec654913a3f698d4b0d592085866a2cbd" + }, + "ps2:ps2-0120j-20001027-185015.bin": { + "size": "4194304", + "crc": "9b096622", + "md5": "f63bc530bd7ad7c026fcd6f7bd0d9525", + "sha1": "e481079eca752225555f0c26d14c9d0f94d9a8e9" + }, + "ps2:ps2-0120j-20001027-191435.bin": { + "size": "4194304", + "crc": "c1ccf3f6", + "md5": "cee06bd68c333fc5768244eae77e4495", + "sha1": "a9f5d8ed56cfff18add1b599010493461fa02448" + }, + "ps2:ps2-0150ad-20001228-20030520.bin": { + "size": "4194304", + "crc": "0380c2ce", + "md5": "0bf988e9c7aaa4c051805b0fa6eb3387", + "sha1": "7284b9d16df9935afc384318e024c87ef0574fe5" + }, + "ps2:ps2-0150a-20001228.bin": { + "size": "4194304", + "crc": "bce74746", + "md5": "8accc3c49ac45f5ae2c5db0adc854633", + "sha1": "5af5b5077d84a9c037ebe12bfab8a38b31d8a543" + }, + "ps2:ps2-0150ed-20001228-20030520.bin": { + "size": "4194304", + "crc": "60bc0031", + "md5": "6f9a6feb749f0533aaae2cc45090b0ed", + "sha1": "d004326c9d8060812b4433c3f07646b04854d6c4" + }, + "ps2:ps2-0150e-20001228.bin": { + "size": "4194304", + "crc": "1559fd43", + "md5": "838544f12de9b0abc90811279ee223c8", + "sha1": "e22ef231faf3661edd92f2ee449a71297c82a092" + }, + "ps2:ps2-0150jd-20010118.bin": { + "size": "4194304", + "crc": "0b3ec2bc", + "md5": "bb6bbc850458fff08af30e969ffd0175", + "sha1": "334e029fc7fd50222a399c50384ff42732652259" + }, + "ps2:ps2-0150j-20010118.bin": { + "size": "4194304", + "crc": "4fc3b495", + "md5": "815ac991d8bc3b364696bead3457de7d", + "sha1": "d6f365a0f07cd04ed28108e6ec5076e2f81e5f72" + }, + "ps2:ps2-0160a-20010427.bin": { + "size": "4194304", + "crc": "4008ac18", + "md5": "b107b5710042abe887c0f6175f6e94bb", + "sha1": "7331a40b4b4feb1b3f0f77b013b6d38483577baa" + }, + "ps2:ps2-0160j-20010427.bin": { + "size": "4194304", + "crc": "c268ef47", + "md5": "ab55cceea548303c22c72570cfd4dd71", + "sha1": "e525a0c900e37acf0ae5a655d82a0abcb07c6f1f" + }, + "ps2:ps2-0160a-20010704.bin": { + "size": "4194304", + "crc": "c506c693", + "md5": "18bcaadb9ff74ed3add26cdf709fff2e", + "sha1": "ce92e8e8c88665f2f645a9522e337823d47a914a" + }, + "ps2:ps2-0160e-20010704.bin": { + "size": "4194304", + "crc": "f1ac735f", + "md5": "491209dd815ceee9de02dbbc408c06d6", + "sha1": "3cbd048e437c785b5a05a0feced00117a8a42545" + }, + "ps2:ps2-0160a-20011004.bin": { + "size": "4194304", + "crc": "a01ec625", + "md5": "7200a03d51cacc4c14fcdfdbc4898431", + "sha1": "d257bce6ecaf3bafb704c75a1b4741b910bd2d49" + }, + "ps2:ps2-0160e-20011004.bin": { + "size": "4194304", + "crc": "82aa5055", + "md5": "8359638e857c8bc18c3c18ac17d9cc3c", + "sha1": "ee34c3a87c53c75ca2a37d77b0042ca24d07831f" + }, + "ps2:ps2-0160h-20010730.bin": { + "size": "4194304", + "crc": "75f83c67", + "md5": "352d2ff9b3f68be7e6fa7e6dd8389346", + "sha1": "ba15dcf7aac13864c08222037e9321d7468c87d1" + }, + "ps2:ps2-0160a-20020207.bin": { + "size": "4194304", + "crc": "a19e0bf5", + "md5": "d5ce2c7d119f563ce04bc04dbc3a323e", + "sha1": "f9a5d629a036b99128f7cb530c6e3ca016e9c8b7" + }, + "ps2:ps2-0160e-20020319.bin": { + "size": "4194304", + "crc": "2fe21e4d", + "md5": "0d2228e6fd4fb639c9c39d077a9ec10c", + "sha1": "bff2902bd0ce9729a060581132541e9fd1a9fab6" + }, + "ps2:ps2-0160j-20020426.bin": { + "size": "4194304", + "crc": "c9363baf", + "md5": "72da56fccb8fcd77bba16d1b6f479914", + "sha1": "003628c137dae577ff3b04b93ca1787b0c944702" + }, + "ps2:ps2-0160e-20020426.bin": { + "size": "4194304", + "crc": "dad0baec", + "md5": "5b1f47fbeb277c6be2fccdd6344ff2fd", + "sha1": "d106b757ae2544dfe63f7e1924e59d5ad44c0c29" + }, + "ps2:ps2-0160h-20020426.bin": { + "size": "4194304", + "crc": "3355623e", + "md5": "315a4003535dfda689752cb25f24785c", + "sha1": "e3a74125c426bcacabca00b513fab928665c8846" + }, + "ps2:ps2-0170j-20030206.bin": { + "size": "4194304", + "crc": "9457f64e", + "md5": "312ad4816c232a9606e56f946bc0678a", + "sha1": "d812ac65c357d392396ca9edee812dc41bed8bde" + }, + "ps2:ps2-0170ed-20030227.bin": { + "size": "4194304", + "crc": "970a9c56", + "md5": "666018ffec65c5c7e04796081295c6c7", + "sha1": "e220bb282378c1f48ea1b585b3675e51a6dca572" + }, + "ps2:ps2-0170e-20030227.bin": { + "size": "4194304", + "crc": "51b5fb8b", + "md5": "6e69920fa6eef8522a1d688a11e41bc6", + "sha1": "ad15bd7eabd5bd81ba011516a5be44947d6641aa" + }, + "ps2:ps2-0170ad-20030325.bin": { + "size": "4194304", + "crc": "0e1ece79", + "md5": "eb960de68f0c0f7f9fa083e9f79d0360", + "sha1": "c5bc6e893b4c43d528142e56c96073024de64157" + }, + "ps2:ps2-0170a-20030325.bin": { + "size": "4194304", + "crc": "9a99e3f4", + "md5": "8aa12ce243210128c5074552d3b86251", + "sha1": "d269d1ed513227f3ef7133c76cf1b3a64f97b15d" + }, + "ps2:ps2-0180cd-20030224.bin": { + "size": "4194304", + "crc": "8c1a04cf", + "md5": "240d4c5ddd4b54069bdc4a3cd2faf99d", + "sha1": "2de87767008fc4a303af64a46251156e965d9065" + }, + "ps2:ps2-0180j-20031028.bin": { + "size": "4194304", + "crc": "585fd27c", + "md5": "1c6cd089e6c83da618fbf2a081eb4888", + "sha1": "aa4a35c14ee342cf7a03b1dde294ca10e64889e1" + }, + "ps2:ps2-0190j-20030623.bin": { + "size": "4194304", + "crc": "7c10a967", + "md5": "463d87789c555a4a7604e97d7db545d1", + "sha1": "6a6ecfe6c10e42eff1ca056349def799b5629067" + }, + "ps2:ps2-0190a-20030623.bin": { + "size": "4194304", + "crc": "b3e87709", + "md5": "35461cecaa51712b300b2d6798825048", + "sha1": "c74d92a2952a2912b6698cbcf7742adac8f784d3" + }, + "ps2:ps2-0190e-20030623.bin": { + "size": "4194304", + "crc": "1752a52e", + "md5": "bd6415094e1ce9e05daabe85de807666", + "sha1": "18b9ba833c469c4683676cc20da5124080d980bb" + }, + "ps2:ps2-0190h-20030623.bin": { + "size": "4194304", + "crc": "41391dd3", + "md5": "2e70ad008d4ec8549aada8002fdf42fb", + "sha1": "caa18ed04854a91e68f2d61a782560edd6373bbf" + }, + "ps2:ps2-0190r-20030623.bin": { + "size": "4194304", + "crc": "25f6212a", + "md5": "b53d51edc7fc086685e31b811dc32aad", + "sha1": "34a81db03ab617fbfdd7f9b861692dd2ecd57b82" + }, + "ps2:ps2-0190c-20030623.bin": { + "size": "4194304", + "crc": "d2347ee7", + "md5": "1b6e631b536247756287b916f9396872", + "sha1": "92d9eb4b11cef97bb69a275b2851b72f7b0023d6" + }, + "ps2:ps2-0190j-20030822.bin": { + "size": "4194304", + "crc": "79d60546", + "md5": "00da1b177096cfd2532c8fa22b43e667", + "sha1": "0ea98a25a32145dda514de2f0d4bfbbd806bd00c" + }, + "ps2:ps2-0190e-20030822.bin": { + "size": "4194304", + "crc": "3afd1d1e", + "md5": "afde410bd026c16be605a1ae4bd651fd", + "sha1": "6e1f0eb4aec51a6288b3d802d3bcdb477cf52104" + }, + "ps2:ps2-0190a-20040329.bin": { + "size": "4194304", + "crc": "9ba4c32f", + "md5": "81f4336c1de607dd0865011c0447052e", + "sha1": "b68c05f5cd86bf03cb38a643a723b7a97b759531" + }, + "ps2:ps2-0200ed-20040614.bin": { + "size": "4194304", + "crc": "881c9aa9", + "md5": "63ead1d74893bf7f36880af81f68a82d", + "sha1": "902f4680b258abd40c0922f6b0d581cbd8f8a73e" + }, + "ps2:ps2-0200h-20040614.bin": { + "size": "4194304", + "crc": "b57201bf", + "md5": "3e3e030c0f600442fa05b94f87a1e238", + "sha1": "7f8e812cab7c7393c85eac6c42661e1fd0a642df" + }, + "ps2:ps2-0210j-20040917.bin": { + "size": "4194304", + "crc": "55710d11", + "md5": "1ad977bb539fc9448a08ab276a836bbc", + "sha1": "bbb1af3085e77599691ec430d147810157da934f" + }, + "ps2:ps2-0220j-20050620.bin": { + "size": "4194304", + "crc": "d27fc41d", + "md5": "eb4f40fcf4911ede39c1bbfe91e7a89a", + "sha1": "7ffa75d142cb8eeea6c777dbcf263143655275d5" + }, + "ps2:ps2-0220ad-20050620.bin": { + "size": "4194304", + "crc": "181f1bda", + "md5": "9959ad7a8685cad66206e7752ca23f8b", + "sha1": "7c7efdfcec7705f4e84bb47f45322104e39eed09" + }, + "ps2:ps2-0220a-20050620.bin": { + "size": "4194304", + "crc": "d305a97a", + "md5": "929a14baca1776b00869f983aa6e14d2", + "sha1": "48d0445dffd1e879c7ae752c5166ec3101921555" + }, + "ps2:ps2-0220e-20050620.bin": { + "size": "4194304", + "crc": "e2862e39", + "md5": "573f7d4a430c32b3cc0fd0c41e104bbd", + "sha1": "929a85e974faf4b40d0a7785023b758402c43bd9" + }, + "ps2:ps2-0220h-20050620.bin": { + "size": "4194304", + "crc": "e27c4a6c", + "md5": "df63a604e8bff5b0599bd1a6c2721bd0", + "sha1": "0a071d1b46607a7694770407606d8599f62a372b" + }, + "ps2:ps2-0220j-20060210.bin": { + "size": "4194304", + "crc": "1303918e", + "md5": "5b1ba4bb914406fae75ab8e38901684d", + "sha1": "0edf1fbb772a8e6a79ae00e977450e3ade25c4f3" + }, + "ps2:ps2-0220a-20060210.bin": { + "size": "4194304", + "crc": "1279fce9", + "md5": "cb801b7920a7d536ba07b6534d2433ca", + "sha1": "92e488d5b2705e4cca83d4d1efbc421012faf83e" + }, + "ps2:ps2-0220e-20060210.bin": { + "size": "4194304", + "crc": "23fa7baa", + "md5": "af60e6d1a939019d55e5b330d24b1c25", + "sha1": "28ad756d0cfd1e7b2e2de3de5d9e14207ee89761" + }, + "ps2:ps2-0220h-20060210.bin": { + "size": "4194304", + "crc": "23001fff", + "md5": "549a66d0c698635ca9fa3ab012da7129", + "sha1": "fce2a24e5e0400cc6d98c08f426405d19173813e" + }, + "ps2:ps2-0220j-20060905.bin": { + "size": "4194304", + "crc": "1d6d879b", + "md5": "5de9d0d730ff1e7ad122806335332524", + "sha1": "3baf847c1c217aa71ac6d298389c88edb3db32e2" + }, + "ps2:ps2-0220ad-20060905.bin": { + "size": "4194304", + "crc": "431d9b7f", + "md5": "21fe4cad111f7dc0f9af29477057f88d", + "sha1": "4191b5842f31a9985b5428bc9d2b733ce3abb583" + }, + "ps2:ps2-0220a-20060905.bin": { + "size": "4194304", + "crc": "1c17eafc", + "md5": "40c11c063b3b9409aa5e4058e984e30c", + "sha1": "8361d615cc895962e0f0838489337574dbdc9173" + }, + "ps2:ps2-0220e-20060905.bin": { + "size": "4194304", + "crc": "2d946dbf", + "md5": "80bbb237a6af9c611df43b16b930b683", + "sha1": "da5aacead2fb55807d6d4e70b1f10f4fdcfd3281" + }, + "ps2:ps2-0220h-20060905.bin": { + "size": "4194304", + "crc": "2d6e09ea", + "md5": "c37bce95d32b2be480f87dd32704e664", + "sha1": "a5a2ee0dd9a86ca35b94e97ca92476a584f755bf" + }, + "ps2:ps2-0230j-20080220.bin": { + "size": "4194304", + "crc": "2912faa5", + "md5": "80ac46fa7e77b8ab4366e86948e54f83", + "sha1": "fbd54bfc020af34008b317dcb80b812dd29b3759" + }, + "ps2:ps2-0230a-20080220.bin": { + "size": "4194304", + "crc": "286897c2", + "md5": "21038400dc633070a78ad53090c53017", + "sha1": "f9229fe159d0353b9f0632f3fdc66819c9030458" + }, + "ps2:ps2-0230e-20080220.bin": { + "size": "4194304", + "crc": "19eb1081", + "md5": "dc69f0643a3030aaa4797501b483d6c4", + "sha1": "9915b5ba56798f4027ac1bd8d10abe0c1c9c326a" + }, + "ps2:ps2-0230h-20080220.bin": { + "size": "4194304", + "crc": "191174d4", + "md5": "30d56e79d89fbddf10938fa67fe3f34e", + "sha1": "a277b456849697abec11285c6b35bc734598c220" + }, + "ps2:ps2-0250e-20100415.bin": { + "size": "4194304", + "crc": "7e75fc28", + "md5": "93ea3bcee4252627919175ff1b16a1d9", + "sha1": "b9cb5775af29cd4d1ec5521e8231f8b6636e2e44" + }, + "ps2:ps2-0250j-20100415.bin": { + "size": "4194304", + "crc": "4e8c160c", + "md5": "d3e81e95db25f5a86a7b7474550a2155", + "sha1": "4b5ef16b67e3b523d28ed2406106cb80470a06d0" + }, + "tvc:tvcfileio.rom": { + "size": "8192", + "crc": "950e32fd", + "md5": "a2cf86ba8e7fc58b242137fe59036832", + "sha1": "98889c3a56b11dedf077f866ed2e12d51b604113" + }, + "tvc:tvc22_ext.rom": { + "size": "8192", + "crc": "05e1c3a8", + "md5": "5ce95a26ceed5bec73995d83568da9cf", + "sha1": "abf119cf947ea32defd08b29a8a25d75f6bd4987" + }, + "tvc:tvc22_sys.rom": { + "size": "16384", + "crc": "79fa818c", + "md5": "8c54285f541930cde766069942bad0f2", + "sha1": "f2572ee83d09fc08f4de4a62f101c8bb301a9505" + }, + "tvc:tvc_dos12d.rom": { + "size": "16384", + "crc": "1466aed4", + "md5": "88dc7876d584f90e4106f91444ab23b7", + "sha1": "072c6160d4e7d406f5d8f5b1b66066c797d35561" + } +} From f0db59f67d5c5f1b1a608d4a19c113526f359f36 Mon Sep 17 00:00:00 2001 From: laz Date: Sat, 12 Oct 2024 13:06:31 +0200 Subject: [PATCH 72/74] fixed credit file --- .../reference_lists/retrodeck_credits.txt | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/config/retrodeck/reference_lists/retrodeck_credits.txt b/config/retrodeck/reference_lists/retrodeck_credits.txt index c2cf3ac2..9af028fa 100644 --- a/config/retrodeck/reference_lists/retrodeck_credits.txt +++ b/config/retrodeck/reference_lists/retrodeck_credits.txt @@ -1,31 +1,31 @@ The Team +Those that make RetroDECK happen + --- XargonWan RetroDECK project founder and also one of the founding members of AmberELEC. -Grand General of the IPL (Italian Pizza Legion) in the internal pizza war. --- Lazorne Community management/outreach, testing, documentation, emulator configurations, Steam Input and feature request / issue management. -Meme Lord of the Wiki and also the cult leader of the NPC (The Nordic Pizza Cult) also called by the others as "The Pizza Heresy Cult" or "Harbingers of Pizza Chaos". Instigator of the internal pizza war. --- jiannazzone -Web Development, Community management/outreach, testing, documentation. Have not choosen a side yet in the Pizza War. + +Web Development, Community management/outreach, testing, documentation. --- IceNine451 -Creator of the RetroDECK configurator, the RetroDECK Framework and various cool things. -Freedom loving leader of the MCCP (Murican Cheese Crust Patriots) in the internal pizza war. +Creator of the OG RetroDECK configurator, the RetroDECK Framework and bash god. --- @@ -33,27 +33,27 @@ Lx32 Develops various new features, functions and tools. -1st Commander of the IPL (Italian Pizza Legion) nicknamed Paladin al Taglio in the internal pizza war. --- WallK -Checks GODOT and other things. -Pizza Mercenary +Godot and scipting! + +--- + +MonkeyX +Godot, Emulators and more things! + --- dottormac -Does bleeding edge cooker testing (lives in the danger zone), some feature suggestions and design. +Help with testing --- -MonkeyX -Jack of all trades: mainly working on GODOT and Manifest - ---- We want give our special thanks to: @@ -70,3 +70,13 @@ We want give our special thanks to: - All the community creators who creates various art and assets for the community. You are all the ones that makes this project possible. + + + +--- + +RetroDECK Alumni + +Former members of the RetroDECK team have contributed to the project + +--- From ef14291d1abbc40bf98c3ed8d78042dccc73e8c6 Mon Sep 17 00:00:00 2001 From: laz Date: Sat, 12 Oct 2024 18:49:39 +0200 Subject: [PATCH 73/74] two dc bios experiment --- config/retrodeck/reference_lists/bios.json | 23 +++++++++++++++---- .../reference_lists/missing_bios_wip.json | 5 ++++ 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/config/retrodeck/reference_lists/bios.json b/config/retrodeck/reference_lists/bios.json index 04cddd17..ae27ff14 100644 --- a/config/retrodeck/reference_lists/bios.json +++ b/config/retrodeck/reference_lists/bios.json @@ -736,15 +736,28 @@ "path": "dc" }, "airlbios.zip": { - "md5": "09ef4b8dea6cd8db2de1c13d510a6a87", - "system": "dreamcast", + "md5": [ + "09ef4b8dea6cd8db2de1c13d510a6a87", + "7a11bfe0cc72886d032e386db68f890c", + ], + "system": [ + "dreamcast", + "arcade", + ], "description": "Naomi Airline Pilots Deluxe BIOS", "path": "dc" }, "awbios.zip": { - "md5": "b2f122e091da223beb824efafc3d6a36", - "system": "arcade", - "description": "Naomi Atomiswave BIOS" + "md5": [ + "b2f122e091da223beb824efafc3d6a36", + "85254fbe320ca82a768ec2c26bb08def", + ], + "system": [ + "dreamcast", + "arcade", + ], + "description": "Naomi Atomiswave BIOS", + "path": "dc" }, "bios.sms": { "md5": "840481177270d5642a14ca71ee72844c", diff --git a/config/retrodeck/reference_lists/missing_bios_wip.json b/config/retrodeck/reference_lists/missing_bios_wip.json index f89b8ec2..ebf507da 100644 --- a/config/retrodeck/reference_lists/missing_bios_wip.json +++ b/config/retrodeck/reference_lists/missing_bios_wip.json @@ -5,6 +5,9 @@ "md5": "7a11bfe0cc72886d032e386db68f890c", "sha1": "f2a730530f4989ca0e8860aa4e455b6a5fe69e1d" }, + + + "arcade:awbios.zip": { "size": "42296", "crc": "67a14ad5", @@ -12,6 +15,8 @@ "sha1": "7940c7bf29eee85a5b2fdec78750b19aa22895dc" }, + DONE + "arcade:f355bios.zip": { "size": "1394278", "crc": "17516536", From 19376f69ca629c0d52e45c1d5d7900db54a9002e Mon Sep 17 00:00:00 2001 From: XargonWan Date: Fri, 18 Oct 2024 14:55:32 +0900 Subject: [PATCH 74/74] Ryujinx: temp disabled [skip ci] --- net.retrodeck.retrodeck.yml | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/net.retrodeck.retrodeck.yml b/net.retrodeck.retrodeck.yml index 4bef5bd5..82c92952 100644 --- a/net.retrodeck.retrodeck.yml +++ b/net.retrodeck.retrodeck.yml @@ -488,21 +488,22 @@ modules: url: https://github.com/RetroDECK/org.zdoom.GZDoom/releases/latest/download/RetroDECK-gzdoom-Artifact.tar.gz sha256: RETRODECKGZDOOMLATEST + # TEMPORARLY DISABLED # Ryujinx Appimage # https://ryujinx.org/download # This version was reported as working with symlinks: https://discord.com/channels/951662718102962256/951715885968654418/1264882000658169866 - - name: Ryujinx-reported-working-version - buildsystem: simple - build-commands: - - | - tar -zxvf *.tar.gz - mv -v publish ${FLATPAK_DEST}/ryujinx - ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh - sources: - - type: file - url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1297/ryujinx-1.1.1297-linux_x64.tar.gz - sha256: 28b38754e7d2e92083b313b23278c180ae54ac025edbbd0276ec03baec0cec0f + # - name: Ryujinx-reported-working-version + # buildsystem: simple + # build-commands: + # - | + # tar -zxvf *.tar.gz + # mv -v publish ${FLATPAK_DEST}/ryujinx + # ln -sv ${FLATPAK_DEST}/ryujinx/Ryujinx ${FLATPAK_DEST}/bin/Ryujinx.sh + # sources: + # - type: file + # url: https://github.com/Ryujinx/release-channel-master/releases/download/1.1.1297/ryujinx-1.1.1297-linux_x64.tar.gz + # sha256: 28b38754e7d2e92083b313b23278c180ae54ac025edbbd0276ec03baec0cec0f # XEMU # https://xemu.app/docs/download/#download-for-linux