[gd_scene load_steps=3 format=3 uid="uid://b5mj3cq2bcesd"] [ext_resource type="Theme" uid="uid://7w454egydi41" path="res://assets/themes/baseUI.tres" id="1_mw3f1"] [sub_resource id=2 type="GDScript"] script/source = "extends Node2D const CACHE_PATH = \"user://apworld_path.txt\" func _ready(): if FileAccess.file_exists(CACHE_PATH): var file = FileAccess.open(CACHE_PATH, FileAccess.READ) $Panel/HBoxContainer/LineEdit.text = file.get_as_text() file.close() func _browse_pressed(): $FileDialog.popup_centered() func _file_selected(path): $Panel/HBoxContainer/LineEdit.text = path func _start_pressed(): var apworld_path = $Panel/HBoxContainer/LineEdit.text if not FileAccess.file_exists(apworld_path): $AcceptDialog.popup_centered() return var zip_reader = ZIPReader.new() zip_reader.open(apworld_path) var inner_path = \"lingo2/client/apworld_runtime.gd\" if not zip_reader.file_exists(inner_path): zip_reader.close() $AcceptDialog.popup_centered() return var cache_file = FileAccess.open(CACHE_PATH, FileAccess.WRITE) cache_file.store_string(apworld_path) cache_file.close() var runtime_script = GDScript.new() runtime_script.source_code = zip_reader.read_file(inner_path).get_string_from_utf8() runtime_script.reload() zip_reader.close() var runtime = runtime_script.new(apworld_path) runtime.name = \"Runtime\" global.add_child(runtime) runtime.load_script_as_scene.call_deferred(\"settings_screen.gd\", \"settings_screen\") func _quit_pressed(): get_tree().change_scene_to_file(\"res://objects/scenes/menus/main_menu.tscn\") " [node name="Node2D" type="Node2D"] script = SubResource( 2 ) [node name="Panel" type="Panel" parent="."] anchors_preset = -1 offset_right = 1920.0 offset_bottom = 1080.0 [node name="Label" type="Label" parent="Panel"] layout_mode = 1 anchors_preset = -1 offset_top = 75.0 offset_right = 1920.0 offset_bottom = 225.0 theme = ExtResource("1_mw3f1") text = "archipelago" horizontal_alignment = 1 vertical_alignment = 1 [node name="Label2" type="Label" parent="Panel"] layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 offset_left = 80.0 offset_top = 300.0 offset_right = -80.0 offset_bottom = 388.0 theme = ExtResource("1_mw3f1") theme_override_font_sizes/font_size = 56 text = "Put the path to your lingo2.apworld in the below field and click start. Then, open the archipelago launcher and click \"Lingo 2 Client\"." horizontal_alignment = 1 autowrap_mode = 3 [node name="HBoxContainer" type="HBoxContainer" parent="Panel"] layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 offset_left = 80.0 offset_top = 595.0 offset_right = -80.0 offset_bottom = 755.0 theme_override_constants/separation = 32 [node name="LineEdit" type="LineEdit" parent="Panel/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 [node name="Button" type="Button" parent="Panel/HBoxContainer"] layout_mode = 2 theme = ExtResource("1_mw3f1") text = "browse" [node name="StartButton" type="Button" parent="Panel"] layout_mode = 1 anchors_preset = -1 offset_left = 255.0 offset_top = 875.0 offset_right = 891.0 offset_bottom = 1025.0 theme = ExtResource("1_mw3f1") text = "start" [node name="QuitButton" type="Button" parent="Panel"] layout_mode = 1 anchors_preset = -1 offset_left = 1102.0 offset_top = 875.0 offset_right = 1738.0 offset_bottom = 1025.0 theme = ExtResource("1_mw3f1") text = "back" [node name="FileDialog" type="FileDialog" parent="."] title = "Open a File" size = Vector2i(512, 512) ok_button_text = "Open" file_mode = 0 access = 2 filters = PackedStringArray("*.apworld;Archipelago Worlds") show_hidden_files = true use_native_dialog = true [node name="AcceptDialog" type="AcceptDialog" parent="."] dialog_text = "Could not open Lingo 2 apworld. Please check that the path is correct." [connection signal="pressed" from="Panel/HBoxContainer/Button" to="." method="_browse_pressed"] [connection signal="pressed" from="Panel/StartButton" to="." method="_start_pressed"] [connection signal="pressed" from="Panel/QuitButton" to="." method="_quit_pressed"] [connection signal="file_selected" from="FileDialog" to="." method="_file_selected"]