diff --git a/.gitignore b/.gitignore index 01778bf..6186357 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,4 @@ # Godot 4+ specific ignores .godot/ /android/ -/LoadedModContent/ export_presets.cfg diff --git a/Scenes/GUI/EditorScreen.tscn b/Scenes/GUI/EditorScreen.tscn index 9b269de..34d9c8f 100644 --- a/Scenes/GUI/EditorScreen.tscn +++ b/Scenes/GUI/EditorScreen.tscn @@ -2,16 +2,16 @@ [ext_resource type="Script" uid="uid://dfiwoln8mdwm8" path="res://Scripts/EditorScreen.gd" id="1_sd512"] [ext_resource type="Theme" uid="uid://dbgs4id7y5d1c" path="res://UI/Themes/EditorDark.tres" id="1_v0ton"] -[ext_resource type="Texture2D" uid="uid://xllpr3qc064c" path="res://UI/Play.png" id="3_g6u4d"] -[ext_resource type="Texture2D" uid="uid://dgacnkv2dc65s" path="res://UI/PlayBackwards.png" id="3_mr8sb"] -[ext_resource type="Texture2D" uid="uid://dts4eh6hyt8p3" path="res://UI/SkipBackwards.png" id="3_r4ytj"] -[ext_resource type="Texture2D" uid="uid://bwhgy4u37jmo1" path="res://UI/Pause.png" id="4_ba3jn"] +[ext_resource type="Texture2D" uid="uid://xllpr3qc064c" path="res://UI/TransportControls/Play.png" id="3_g6u4d"] +[ext_resource type="Texture2D" uid="uid://dgacnkv2dc65s" path="res://UI/TransportControls/PlayBackwards.png" id="3_mr8sb"] +[ext_resource type="Texture2D" uid="uid://dts4eh6hyt8p3" path="res://UI/TransportControls/SkipBackwards.png" id="3_r4ytj"] +[ext_resource type="Texture2D" uid="uid://bwhgy4u37jmo1" path="res://UI/TransportControls/Pause.png" id="4_ba3jn"] [ext_resource type="Texture2D" uid="uid://s3yr2wasxv03" path="res://UI/BlankCam.png" id="4_v0ton"] -[ext_resource type="Texture2D" uid="uid://dhx2v2fd0egxd" path="res://UI/FastBackwards.png" id="4_wy7jo"] -[ext_resource type="Texture2D" uid="uid://cttgtbu1xllwq" path="res://UI/Stop.png" id="8_20noo"] -[ext_resource type="Texture2D" uid="uid://dsr03w7r667fw" path="res://UI/FastForward.png" id="8_v0ton"] -[ext_resource type="Texture2D" uid="uid://bphwtliq2ahus" path="res://UI/SkipForward.png" id="9_20noo"] -[ext_resource type="Texture2D" uid="uid://ckg2ihy105ttj" path="res://UI/Record.png" id="10_wy7jo"] +[ext_resource type="Texture2D" uid="uid://dhx2v2fd0egxd" path="res://UI/TransportControls/FastBackwards.png" id="4_wy7jo"] +[ext_resource type="Texture2D" uid="uid://cttgtbu1xllwq" path="res://UI/TransportControls/Stop.png" id="8_20noo"] +[ext_resource type="Texture2D" uid="uid://dsr03w7r667fw" path="res://UI/TransportControls/FastForward.png" id="8_v0ton"] +[ext_resource type="Texture2D" uid="uid://bphwtliq2ahus" path="res://UI/TransportControls/SkipForward.png" id="9_20noo"] +[ext_resource type="Texture2D" uid="uid://ckg2ihy105ttj" path="res://UI/TransportControls/Record.png" id="10_wy7jo"] [ext_resource type="ButtonGroup" uid="uid://bij2tonqeslpt" path="res://Scenes/GUI/FlyoutButtonGroup.tres" id="13_wy7jo"] [sub_resource type="ViewportTexture" id="ViewportTexture_g6u4d"] @@ -141,6 +141,10 @@ dialog_text = "This showtape is not compatible with the currently selected stage [node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."] [node name="SubViewport" type="SubViewport" parent="."] +msaa_3d = 1 +screen_space_aa = 1 +use_debanding = true +use_occlusion_culling = true mesh_lod_threshold = 0.0 size = Vector2i(1280, 720) @@ -153,7 +157,7 @@ grow_horizontal = 2 grow_vertical = 2 color = Color(0.187176, 0.187176, 0.187176, 1) -[node name="Label" type="Label" parent="."] +[node name="InstructionsLabel" type="Button" parent="."] layout_mode = 1 anchors_preset = -1 anchor_right = 0.5 @@ -166,17 +170,18 @@ grow_horizontal = 2 grow_vertical = 2 text = "Welcome to the Pneumatic Plaything Editor! -You can use the buttons on the top bar to change the -stage, load a showtape, or exit to the menu. +You can use the menu button on the top bar to +create a new Showtape, load an existing Showtape, +or exit to the menu. The buttons on the side can be used to manually control aspects of the show, such as flows, the camera, and cosmetics. -Open the Controls menu (under the Menu button) to see -all of the keybinds." -horizontal_alignment = 1 -vertical_alignment = 1 +Controls can be viewed from the main menu + +Click on this message to dismiss it." +flat = true [node name="CameraPlaceholder" type="TextureRect" parent="."] layout_mode = 1 @@ -224,7 +229,7 @@ offset_top = 4.0 offset_right = 260.0 offset_bottom = 36.0 selected = 1 -item_count = 15 +item_count = 16 popup/item_0/text = "Official Stages" popup/item_0/id = 0 popup/item_0/separator = true @@ -238,32 +243,34 @@ popup/item_4/text = "3-Stage" popup/item_4/id = 4 popup/item_5/text = "Prototype Road Stage" popup/item_5/id = 5 -popup/item_6/text = "2-Stage" +popup/item_6/text = "Road Stage" popup/item_6/id = 6 -popup/item_7/text = "1-Stage" +popup/item_7/text = "2-Stage" popup/item_7/id = 7 -popup/item_8/text = "Turntable 1-Stage" +popup/item_8/text = "1-Stage" popup/item_8/id = 8 -popup/item_9/text = "Cyberamic 3-Stage" +popup/item_9/text = "Turntable 1-Stage" popup/item_9/id = 9 -popup/item_10/text = "CU-1 Stage" +popup/item_10/text = "Cyberamic 3-Stage" popup/item_10/id = 10 -popup/item_11/text = "Custom Stages" +popup/item_11/text = "CU-1 Stage" popup/item_11/id = 11 -popup/item_11/separator = true -popup/item_12/text = "Helen House" +popup/item_12/text = "Custom Stages" popup/item_12/id = 12 -popup/item_13/text = "Chuck E's Corner" +popup/item_12/separator = true +popup/item_13/text = "Helen House" popup/item_13/id = 13 -popup/item_14/text = "Modded" +popup/item_14/text = "Chuck E's Corner" popup/item_14/id = 14 -popup/item_14/separator = true +popup/item_15/text = "Modded Stages" +popup/item_15/id = 15 +popup/item_15/separator = true [node name="EditingLabel" type="Label" parent="MenuBar"] layout_mode = 0 -offset_left = 264.0 +offset_left = 268.0 offset_top = 4.0 -offset_right = 520.0 +offset_right = 524.0 offset_bottom = 36.0 text = "No showtape loaded." vertical_alignment = 1 @@ -634,135 +641,6 @@ offset_bottom = 388.0 max_value = 0.0 step = 1.0 -[node name="ControlsScreen" type="Control" parent="."] -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="InputEater" type="Button" parent="ControlsScreen"] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/focus = SubResource("StyleBoxEmpty_wy7jo") -theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_v0ton") -theme_override_styles/disabled = SubResource("StyleBoxEmpty_20noo") -theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_mch36") -theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_fxi2g") -theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_bdf35") -theme_override_styles/hover = SubResource("StyleBoxEmpty_j2w5p") -theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_bv2rw") -theme_override_styles/pressed = SubResource("StyleBoxEmpty_gx718") -theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_gu086") -theme_override_styles/normal = SubResource("StyleBoxEmpty_othvt") - -[node name="DialogPanel" type="Panel" parent="ControlsScreen"] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -256.0 -offset_top = -192.0 -offset_right = 256.0 -offset_bottom = 192.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="Label" type="Label" parent="ControlsScreen/DialogPanel"] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -text = "Fullscreen camera view: ESC -Fullscreen program: F11 or Alt+Enter -Play/Pause: Space -Play Reverse: Shift + Space -Fast Forward: Shift + Right Arrow -Fast Reverse: Shift + Left -Step Forward: Right Arrow -Step Backward: Left Arrow -Stop: Home -Change Camera Angle: Tab" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="CreditsScreen" type="Control" parent="."] -visible = false -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="InputEater" type="Button" parent="CreditsScreen"] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_styles/focus = SubResource("StyleBoxEmpty_wy7jo") -theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_v0ton") -theme_override_styles/disabled = SubResource("StyleBoxEmpty_20noo") -theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_mch36") -theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_fxi2g") -theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_bdf35") -theme_override_styles/hover = SubResource("StyleBoxEmpty_j2w5p") -theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_bv2rw") -theme_override_styles/pressed = SubResource("StyleBoxEmpty_gx718") -theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_gu086") -theme_override_styles/normal = SubResource("StyleBoxEmpty_othvt") - -[node name="DialogPanel" type="Panel" parent="CreditsScreen"] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 0.5 -anchor_top = 0.5 -anchor_right = 0.5 -anchor_bottom = 0.5 -offset_left = -256.0 -offset_top = -256.0 -offset_right = 256.0 -offset_bottom = 256.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="Label" type="Label" parent="CreditsScreen/DialogPanel"] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -text = "Pneumatic Plaything Animatronic Simulator - -Project Oversight: Persephone (KawaiiZenbo) - -Interface Design: Persephone -Simulator Backend: Persephone -3-Stage Bot Models: Persephone -Cyberamic Bot Models: Persephone -C-Stage Model: Persephone -Iris Textures: Avery -Chuck E's Corner Stage: Luigigamin212 -Balcony Stage Model: ToastHQ - -This project is not associated with CEC Entertainment LLC. -or Creative Engineering Inc." -horizontal_alignment = 1 -vertical_alignment = 1 - [node name="ShowtapeNewScreen" type="Control" parent="."] visible = false layout_mode = 1 @@ -1121,6 +999,7 @@ expand_mode = 2 [connection signal="confirmed" from="StageChangeOverwriteConfirmationDialog" to="." method="_on_stage_change_overwrite_confirmation_dialog_confirmed"] [connection signal="confirmed" from="ExitMenuOverwriteConfirmationDialog" to="." method="_on_exit_menu_overwrite_confirmation_dialog_confirmed"] [connection signal="confirmed" from="ExitDesktopOverwriteConfirmationDialog" to="." method="_on_exit_desktop_overwrite_confirmation_dialog_2_confirmed"] +[connection signal="pressed" from="InstructionsLabel" to="." method="_on_instructions_label_pressed"] [connection signal="item_selected" from="MenuBar/StageSelector" to="." method="_on_stage_selector_item_selected"] [connection signal="pressed" from="SequencerPanel/TransportControls/Centered/StepBackwardsButton" to="." method="_on_step_backwards_button_pressed"] [connection signal="pressed" from="SequencerPanel/TransportControls/Centered/FastBackwardsButton" to="." method="_on_fast_backwards_button_pressed"] @@ -1139,8 +1018,6 @@ expand_mode = 2 [connection signal="value_changed" from="FlyoutPanel/Movements/VScrollBar" to="." method="_on_movement_v_scroll_bar_value_changed"] [connection signal="value_changed" from="FlyoutPanel/FlowControls/VScrollBar" to="." method="_on_flow_v_scroll_bar_value_changed"] [connection signal="value_changed" from="FlyoutPanel/Cosmetics/VScrollBar" to="." method="_on_cosmetics_v_scroll_bar_value_changed"] -[connection signal="pressed" from="ControlsScreen/InputEater" to="." method="_on_input_eater_pressed"] -[connection signal="pressed" from="CreditsScreen/InputEater" to="." method="_on_input_eater_pressed"] [connection signal="pressed" from="ShowtapeNewScreen/InputEater" to="." method="_on_input_eater_pressed"] [connection signal="pressed" from="ShowtapeNewScreen/DialogPanel/AudioBrowseButton" to="." method="_on_showtape_new_audio_browse_button_pressed"] [connection signal="pressed" from="ShowtapeNewScreen/DialogPanel/CancelButton" to="." method="_on_showtape_new_cancel_button_pressed"] diff --git a/Scenes/GUI/MainMenu.tscn b/Scenes/GUI/MainMenu.tscn index 9d05fbd..c2826f8 100644 --- a/Scenes/GUI/MainMenu.tscn +++ b/Scenes/GUI/MainMenu.tscn @@ -1,30 +1,578 @@ -[gd_scene load_steps=3 format=3 uid="uid://1ikkb4b8mw1w"] +[gd_scene load_steps=19 format=3 uid="uid://1ikkb4b8mw1w"] +[ext_resource type="Theme" uid="uid://dbgs4id7y5d1c" path="res://UI/Themes/EditorDark.tres" id="1_dkd36"] [ext_resource type="Script" uid="uid://b5nh5td5bdsfd" path="res://Scripts/MainMenu.gd" id="1_ocgay"] +[ext_resource type="Texture2D" uid="uid://dbh0vh85wks2l" path="res://UI/logo.png" id="2_6d82g"] +[ext_resource type="Texture2D" uid="uid://6mf6wucl3y6k" path="res://UI/MenuBG/BalconyBG.png" id="2_j6v32"] +[ext_resource type="Texture2D" uid="uid://dr6ir8mgbjrs7" path="res://UI/MenuBG/CStageBG.png" id="3_vaoig"] +[ext_resource type="Texture2D" uid="uid://dyyyg85g3jwip" path="res://UI/MenuBG/ProtoRoadBG.png" id="4_dkd36"] -[sub_resource type="LabelSettings" id="LabelSettings_6d82g"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_dkd36"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ha2rd"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wdeli"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_wyv1s"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_drn21"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_pcbci"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_he4sq"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rsjs4"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_rj3vb"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_pocyv"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8uhic"] + +[sub_resource type="LabelSettings" id="LabelSettings_dkd36"] font_size = 48 [node name="MainMenu" type="Control"] layout_mode = 3 -anchors_preset = 0 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme = ExtResource("1_dkd36") script = ExtResource("1_ocgay") -[node name="Label" type="Label" parent="."] -layout_mode = 0 -offset_left = 103.0 -offset_top = 100.0 -offset_right = 580.0 -offset_bottom = 167.0 -text = "Pneumatic Plaything" -label_settings = SubResource("LabelSettings_6d82g") +[node name="PleaseRestart" type="AcceptDialog" parent="."] +auto_translate_mode = 1 +initial_position = 2 +dialog_text = "Please restart the game for any changes to apply." -[node name="Button" type="Button" parent="."] +[node name="Backgrounds" type="Control" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="BalconyBG" type="TextureRect" parent="Backgrounds"] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_j6v32") +expand_mode = 1 + +[node name="CStageBG" type="TextureRect" parent="Backgrounds"] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("3_vaoig") +expand_mode = 1 + +[node name="ProtoRoadBG" type="TextureRect" parent="Backgrounds"] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("4_dkd36") +expand_mode = 1 + +[node name="TextureRect" type="TextureRect" parent="."] layout_mode = 0 -offset_left = 303.0 -offset_top = 349.0 -offset_right = 579.0 -offset_bottom = 506.0 +offset_left = 64.0 +offset_top = 64.0 +offset_right = 576.0 +offset_bottom = 160.0 +texture = ExtResource("2_6d82g") + +[node name="Buttons" type="Panel" parent="."] +layout_mode = 1 +anchors_preset = 2 +anchor_top = 1.0 +anchor_bottom = 1.0 +offset_left = 60.0 +offset_top = -380.0 +offset_right = 324.0 +offset_bottom = -64.0 +grow_vertical = 0 + +[node name="EditorButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 4.0 +offset_right = 260.0 +offset_bottom = 52.0 text = "Editor" -[connection signal="pressed" from="Button" to="." method="_on_button_pressed"] +[node name="FreeRoamButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 56.0 +offset_right = 260.0 +offset_bottom = 104.0 +text = "Free Roam +" + +[node name="ModsButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 108.0 +offset_right = 260.0 +offset_bottom = 156.0 +text = "Manage Mods" + +[node name="ControlsButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 160.0 +offset_right = 260.0 +offset_bottom = 208.0 +text = "Controls" + +[node name="CreditsButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 212.0 +offset_right = 260.0 +offset_bottom = 260.0 +text = "Credits" + +[node name="ExitButton" type="Button" parent="Buttons"] +layout_mode = 0 +offset_left = 4.0 +offset_top = 264.0 +offset_right = 260.0 +offset_bottom = 312.0 +text = "Exit to Desktop" + +[node name="FreeRoamChooseScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ColorRect" type="ColorRect" parent="FreeRoamChooseScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.121569, 0.121569, 0.121569, 0.501961) + +[node name="InputEater" type="Button" parent="FreeRoamChooseScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_dkd36") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_ha2rd") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_wdeli") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_wyv1s") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_drn21") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_pcbci") +theme_override_styles/hover = SubResource("StyleBoxEmpty_he4sq") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rsjs4") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_rj3vb") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_pocyv") +theme_override_styles/normal = SubResource("StyleBoxEmpty_8uhic") + +[node name="DialogPanel" type="Panel" parent="FreeRoamChooseScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 64.0 +offset_right = -64.0 +offset_bottom = -64.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="FreeRoamChooseScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = 112.0 +grow_horizontal = 2 +text = "Free Roam" +label_settings = SubResource("LabelSettings_dkd36") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ModsScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ColorRect" type="ColorRect" parent="ModsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.121569, 0.121569, 0.121569, 0.501961) + +[node name="InputEater" type="Button" parent="ModsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_dkd36") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_ha2rd") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_wdeli") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_wyv1s") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_drn21") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_pcbci") +theme_override_styles/hover = SubResource("StyleBoxEmpty_he4sq") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rsjs4") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_rj3vb") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_pocyv") +theme_override_styles/normal = SubResource("StyleBoxEmpty_8uhic") + +[node name="DialogPanel" type="Panel" parent="ModsScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 64.0 +offset_right = -64.0 +offset_bottom = -64.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="ModsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = 112.0 +grow_horizontal = 2 +text = "Mods" +label_settings = SubResource("LabelSettings_dkd36") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ModList" type="ItemList" parent="ModsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = 8.0 +offset_top = 128.0 +offset_right = -8.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ModNameText" type="Label" parent="ModsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = 8.0 +offset_top = 8.0 +offset_bottom = 40.0 +text = "Select a mod to view its information" +vertical_alignment = 1 +clip_text = true +text_overrun_behavior = 3 + +[node name="ModAuthorText" type="Label" parent="ModsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 0.5 +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = 40.0 +vertical_alignment = 1 +clip_text = true +text_overrun_behavior = 3 + +[node name="ModVersionText" type="Label" parent="ModsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_top = 1.0 +anchor_right = 0.25 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_top = -40.0 +offset_bottom = -8.0 +vertical_alignment = 1 +clip_text = true +text_overrun_behavior = 3 + +[node name="ModDescriptionText" type="Label" parent="ModsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_top = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_top = 48.0 +offset_right = -8.0 +offset_bottom = -48.0 +grow_horizontal = 2 +grow_vertical = 2 +autowrap_mode = 2 +clip_text = true +text_overrun_behavior = 3 + +[node name="OpenFolderButton" type="Button" parent="ModsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 1.0 +anchor_top = 1.0 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = -264.0 +offset_top = -40.0 +offset_right = -8.0 +offset_bottom = -8.0 +grow_horizontal = 0 +grow_vertical = 0 +text = "Open Mods Folder" + +[node name="ControlsScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ColorRect" type="ColorRect" parent="ControlsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.121569, 0.121569, 0.121569, 0.501961) + +[node name="InputEater" type="Button" parent="ControlsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_dkd36") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_ha2rd") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_wdeli") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_wyv1s") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_drn21") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_pcbci") +theme_override_styles/hover = SubResource("StyleBoxEmpty_he4sq") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rsjs4") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_rj3vb") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_pocyv") +theme_override_styles/normal = SubResource("StyleBoxEmpty_8uhic") + +[node name="DialogPanel" type="Panel" parent="ControlsScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 64.0 +offset_right = -64.0 +offset_bottom = -64.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="ControlsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = 112.0 +grow_horizontal = 2 +text = "Controls" +label_settings = SubResource("LabelSettings_dkd36") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="EditorLabel" type="Label" parent="ControlsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_top = 128.0 +offset_bottom = -8.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "Global: +Fullscreen: F11 or Alt+Enter + +In Editor: +Fullscreen camera view: ESC +Play/Pause: Space +Play Reverse: Shift + Space +Fast Forward: Shift + Right Arrow +Fast Reverse: Shift + Left +Step Forward: Right Arrow +Step Backward: Left Arrow +Stop: Home +Change Camera Angle: Tab" + +[node name="FreeRoamLabel" type="Label" parent="ControlsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 128.0 +offset_right = -8.0 +offset_bottom = -8.0 +grow_horizontal = 2 +grow_vertical = 2 +text = " + + +In Free Roam: +Move: W, A, S, D +Jump: Space +Open Menu: ESC" + +[node name="CreditsScreen" type="Control" parent="."] +visible = false +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="ColorRect" type="ColorRect" parent="CreditsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.121569, 0.121569, 0.121569, 0.501961) + +[node name="InputEater" type="Button" parent="CreditsScreen"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_dkd36") +theme_override_styles/disabled_mirrored = SubResource("StyleBoxEmpty_ha2rd") +theme_override_styles/disabled = SubResource("StyleBoxEmpty_wdeli") +theme_override_styles/hover_pressed_mirrored = SubResource("StyleBoxEmpty_wyv1s") +theme_override_styles/hover_pressed = SubResource("StyleBoxEmpty_drn21") +theme_override_styles/hover_mirrored = SubResource("StyleBoxEmpty_pcbci") +theme_override_styles/hover = SubResource("StyleBoxEmpty_he4sq") +theme_override_styles/pressed_mirrored = SubResource("StyleBoxEmpty_rsjs4") +theme_override_styles/pressed = SubResource("StyleBoxEmpty_rj3vb") +theme_override_styles/normal_mirrored = SubResource("StyleBoxEmpty_pocyv") +theme_override_styles/normal = SubResource("StyleBoxEmpty_8uhic") + +[node name="DialogPanel" type="Panel" parent="CreditsScreen"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_top = 64.0 +offset_right = -64.0 +offset_bottom = -64.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="CreditsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +offset_left = 8.0 +offset_top = 8.0 +offset_right = -8.0 +offset_bottom = 112.0 +grow_horizontal = 2 +text = "Credits" +label_settings = SubResource("LabelSettings_dkd36") +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="CreditsLabel" type="Label" parent="CreditsScreen/DialogPanel"] +layout_mode = 1 +anchors_preset = -1 +anchor_right = 1.0 +anchor_bottom = 1.0 +offset_left = 8.0 +offset_top = 128.0 +offset_right = -8.0 +offset_bottom = -8.0 +grow_horizontal = 2 +grow_vertical = 2 +text = "Pneumatic Plaything Animatronic Simulator + +Project Oversight: Persephone (KawaiiZenbo) + +Interface Design: Persephone +Simulator Backend: Persephone + +3-Stage Bot Models: Persephone +Cyberamic Bot Models: Persephone +C-Stage Model: Persephone +Cyberamic Iris Textures: Avery +Chuck E's Corner Stage: Luigigamin212 +Balcony Stage Model: ToastHQ + +This project is not associated with CEC Entertainment LLC. +or Creative Engineering Inc." +horizontal_alignment = 1 + +[connection signal="pressed" from="Buttons/EditorButton" to="." method="_on_button_pressed"] +[connection signal="pressed" from="Buttons/FreeRoamButton" to="." method="_on_free_roam_button_pressed"] +[connection signal="pressed" from="Buttons/ModsButton" to="." method="_on_mods_button_pressed"] +[connection signal="pressed" from="Buttons/ControlsButton" to="." method="_on_controls_button_pressed"] +[connection signal="pressed" from="Buttons/CreditsButton" to="." method="_on_credits_button_pressed"] +[connection signal="pressed" from="Buttons/ExitButton" to="." method="_on_exit_button_pressed"] +[connection signal="pressed" from="FreeRoamChooseScreen/InputEater" to="." method="_on_input_eater_pressed"] +[connection signal="pressed" from="ModsScreen/InputEater" to="." method="_on_input_eater_pressed"] +[connection signal="item_selected" from="ModsScreen/DialogPanel/ModList" to="." method="_on_mod_list_item_selected"] +[connection signal="pressed" from="ModsScreen/DialogPanel/OpenFolderButton" to="." method="_on_open_folder_button_pressed"] +[connection signal="pressed" from="ControlsScreen/InputEater" to="." method="_on_input_eater_pressed"] +[connection signal="pressed" from="CreditsScreen/InputEater" to="." method="_on_input_eater_pressed"] diff --git a/Scripts/Configs/Stages.gd b/Scripts/Configs/Stages.gd index 3e55084..78ba819 100644 --- a/Scripts/Configs/Stages.gd +++ b/Scripts/Configs/Stages.gd @@ -374,3 +374,14 @@ var Cyber3Stage = { ], "cosmetic_defaults": [ 4, 4, 1, 1, 1, 2, 1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 3 ] } + +var stages_info = { + "Helen House": HelenHouse, + "Chuck E's Corner": ChuckEsCorner, + "Balcony Stage": BalconyStage, + "C-Stage": CStage, + "Prototype Road Stage": ProtoRoadStage, + "Cyberamic 3-Stage": Cyber3Stage, +} + +var loaded_mods = { } diff --git a/Scripts/EditorScreen.gd b/Scripts/EditorScreen.gd index 7cbdfce..11de104 100644 --- a/Scripts/EditorScreen.gd +++ b/Scripts/EditorScreen.gd @@ -7,22 +7,12 @@ var playback_rate : int = 1 var transport_enabled : bool = false var erase_validated : bool = false var cam_index : int = 0 -var fullscreen : bool = false var showtape_loaded : bool = false var show_name : String var current_stage : String -var stages_info = { - "Helen House": Stages.HelenHouse, - "Chuck E's Corner": Stages.ChuckEsCorner, - "Balcony Stage": Stages.BalconyStage, - "C-Stage": Stages.CStage, - "Prototype Road Stage": Stages.ProtoRoadStage, - "Cyberamic 3-Stage": Stages.Cyber3Stage, -} - signal step(amount: int) signal start_recording() signal end_recording() @@ -47,14 +37,14 @@ func reload_stage() -> void: if ($SubViewport.get_child_count() > 0): $SubViewport.get_child(0).queue_free() cam_index = 0 - var stage = load(stages_info[current_stage]["scene"]).instantiate() + var stage = load(Stages.stages_info[current_stage]["scene"]).instantiate() $SubViewport.add_child(stage) var cam_offset = 4 - for i in range(1, stages_info[current_stage]["camera_count"]+1): + for i in range(1, Stages.stages_info[current_stage]["camera_count"]+1): var camera_button = load("res://Scenes/GUI/Controls/CameraButton.tscn").instantiate() camera_button.camera = "Angle " + str(i) - camera_button.base_scene_path = "../../../" + stages_info[current_stage]["scene_ref_base"] + camera_button.base_scene_path = "../../../" + Stages.stages_info[current_stage]["scene_ref_base"] camera_button.position.y = cam_offset cam_offset += 36 $FlyoutPanel/Camera.add_child(camera_button) @@ -62,13 +52,13 @@ func reload_stage() -> void: var cosmetics_offset = 0 var cosmetics_count = 0 - for cosmetic_subtable in stages_info[current_stage]["cosmetics"]: + for cosmetic_subtable in Stages.stages_info[current_stage]["cosmetics"]: for cosmetic in cosmetic_subtable: var cosmetic_adjustment = load("res://Scenes/GUI/Controls/CosmeticAdjustment.tscn").instantiate() cosmetic_adjustment.vis_name = cosmetic cosmetic_adjustment.options = cosmetic_subtable[cosmetic] - cosmetic_adjustment.scene_handle = "../../../../../" + stages_info[current_stage]["scene_ref_base"] - cosmetic_adjustment.drop_index = stages_info[current_stage]["cosmetic_defaults"][cosmetics_count] + cosmetic_adjustment.scene_handle = "../../../../../" + Stages.stages_info[current_stage]["scene_ref_base"] + cosmetic_adjustment.drop_index = Stages.stages_info[current_stage]["cosmetic_defaults"][cosmetics_count] cosmetic_adjustment.position.y = cosmetics_offset cosmetics_offset += 44 cosmetics_count += 1 @@ -78,12 +68,12 @@ func reload_stage() -> void: var rows_offset = 0 var flows_offset = 0 var flow_count = 0 - for bit_number in stages_info[current_stage]["bit_mapping"]: - var bot = stages_info[current_stage]["bit_mapping"][bit_number]["bot"] - var movement = stages_info[current_stage]["bit_mapping"][bit_number]["movement"] + for bit_number in Stages.stages_info[current_stage]["bit_mapping"]: + var bot = Stages.stages_info[current_stage]["bit_mapping"][bit_number]["bot"] + var movement = Stages.stages_info[current_stage]["bit_mapping"][bit_number]["movement"] - var in_flow = stages_info[current_stage]["bit_mapping"][bit_number]["flow_in"] - var out_flow = stages_info[current_stage]["bit_mapping"][bit_number]["flow_out"] + var in_flow = Stages.stages_info[current_stage]["bit_mapping"][bit_number]["flow_in"] + var out_flow = Stages.stages_info[current_stage]["bit_mapping"][bit_number]["flow_out"] if (in_flow is not String): var flow_control = load("res://Scenes/GUI/Controls/FlowControl.tscn").instantiate() flow_control.position.y = flows_offset @@ -98,7 +88,7 @@ func reload_stage() -> void: var row = load("res://Scenes/GUI/Controls/MovementRow.tscn").instantiate() row.name = str(bit_number) + " Bit" row.position.y = rows_offset - row.base_scene_path = "../../../../../" + stages_info[current_stage]["scene_ref_base"] + row.base_scene_path = "../../../../../" + Stages.stages_info[current_stage]["scene_ref_base"] row.animatronic = bot row.current_stage = current_stage if (in_flow is String): row.flow_path = "None" @@ -108,7 +98,7 @@ func reload_stage() -> void: var movement_button = load("res://Scenes/GUI/Controls/MovementButton.tscn").instantiate() movement_button.position.y = rows_offset - movement_button.base_scene_path = "../../../../../" + stages_info[current_stage]["scene_ref_base"] + movement_button.base_scene_path = "../../../../../" + Stages.stages_info[current_stage]["scene_ref_base"] movement_button.animatronic = bot movement_button.movement_bit = bit_number movement_button.current_stage = current_stage @@ -116,8 +106,8 @@ func reload_stage() -> void: movement_button.movement_name = movement $FlyoutPanel/Movements/InvisibleMask/MovementHandle.add_child(movement_button) rows_offset += 44 - $SequencerPanel/TimelinePanel/VScrollBar.max_value = stages_info[current_stage]["bits"] - 1 - $FlyoutPanel/Movements/VScrollBar.max_value = stages_info[current_stage]["bits"] - 1 + $SequencerPanel/TimelinePanel/VScrollBar.max_value = Stages.stages_info[current_stage]["bits"] - 1 + $FlyoutPanel/Movements/VScrollBar.max_value = Stages.stages_info[current_stage]["bits"] - 1 $FlyoutPanel/FlowControls/VScrollBar.max_value = flow_count - 1 $CameraPreview.visible = true @@ -149,7 +139,9 @@ func _ready() -> void: get_tree().get_root().size_changed.connect(_on_size_changed) erase_all.connect(_erase_all) $MenuBar/MenuButton.get_popup().id_pressed.connect(_showtape_menu_button_pressed) - OS.request_permissions() + for mod in Stages.loaded_mods: + for moddedStage in Stages.loaded_mods[mod]["implements_stages"]: + $MenuBar/StageSelector.add_item(moddedStage) current_stage = $MenuBar/StageSelector.get_item_text($MenuBar/StageSelector.selected) reload_stage() @@ -232,8 +224,8 @@ func _on_showtape_load_open_button_pressed() -> void: $IncorrectShowtapeDialog.dialog_text = "This showtape is not the correct version!" $IncorrectShowtapeDialog.show() return - if (header[3] != stages_info[current_stage]["ust_type"]): - $IncorrectShowtapeDialog.dialog_text = "This showtape is not compatible with the currently selected stage.\nShowtape stage type: %s\n Current stage type: %s" % [ header[3], stages_info[current_stage]["ust_type"] ] + if (header[3] != Stages.stages_info[current_stage]["ust_type"]): + $IncorrectShowtapeDialog.dialog_text = "This showtape is not compatible with the currently selected stage.\nShowtape stage type: %s\n Current stage type: %s" % [ header[3], Stages.stages_info[current_stage]["ust_type"] ] $IncorrectShowtapeDialog.show() return show_name = header[2] @@ -257,7 +249,7 @@ func _on_showtape_save_create_button_pressed() -> void: if ($ShowtapeSaveScreen/DialogPanel/OutFilePath.text == ""): $NoFileSpecified.show() return - var header = "UST,2,"+show_name.replace(",", "_").replace(";", "_")+","+stages_info[current_stage]["ust_type"]+";" + var header = "UST,2,"+show_name.replace(",", "_").replace(";", "_")+","+Stages.stages_info[current_stage]["ust_type"]+";" var data_out_string = save_data() var file = FileAccess.open($ShowtapeSaveScreen/DialogPanel/OutFilePath.text, FileAccess.WRITE) file.store_string(header+data_out_string+";"+Marshalls.raw_to_base64($AudioStreamPlayer.stream.data)) @@ -273,34 +265,32 @@ func _on_save_showtape_file_dialog_file_selected(path: String) -> void: $ShowtapeSaveScreen/DialogPanel/OutFilePath.text = path func _input(event: InputEvent) -> void: - if event.is_action_pressed("toggle_editor_screen"): + if event.is_action_pressed("editor_toggle_full_camera"): $CameraPreview.visible = !$CameraPreview.visible; $CameraFullScreen.visible = !$CameraFullScreen.visible; if event.is_action_pressed("fullscreen"): - if (!fullscreen): - fullscreen = true + if (!DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN): DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) else: - fullscreen = false DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) - if (event.is_action_pressed("cycle_camera_angle")): + if (event.is_action_pressed("editor_cycle_camera_angle")): cam_index += 1 - get_node(stages_info[current_stage]["scene_ref_base"] + "Angle " + str((cam_index % stages_info[current_stage]["camera_count"])+1)).current = true + get_node(Stages.stages_info[current_stage]["scene_ref_base"] + "Angle " + str((cam_index % Stages.stages_info[current_stage]["camera_count"])+1)).current = true if (transport_enabled): - if event.is_action_pressed("sequencer_play_pause"): + if event.is_action_pressed("editor_sequencer_play_pause"): if (playing): _on_pause_button_pressed() else: _on_play_button_pressed() - elif event.is_action_pressed("sequencer_play_reverse"): + elif event.is_action_pressed("editor_sequencer_play_reverse"): _on_play_backwards_button_pressed() - elif event.is_action_pressed("sequencer_fast_reverse"): + elif event.is_action_pressed("editor_sequencer_fast_reverse"): _on_fast_backwards_button_pressed() - elif event.is_action_pressed("sequencer_fast_forward"): + elif event.is_action_pressed("editor_sequencer_fast_forward"): _on_fast_forward_button_pressed() - elif event.is_action_pressed("sequencer_step_backward"): + elif event.is_action_pressed("editor_sequencer_step_backward"): _on_step_backwards_button_pressed() - elif event.is_action_pressed("sequencer_step_forward"): + elif event.is_action_pressed("editor_sequencer_step_forward"): _on_step_forward_button_pressed() - elif event.is_action_pressed("sequencer_home"): + elif event.is_action_pressed("editor_sequencer_home"): _on_stop_button_pressed() func _physics_process(_delta: float) -> void: @@ -342,8 +332,6 @@ func _on_credits_button_pressed() -> void: $CreditsScreen.visible = true func _on_input_eater_pressed() -> void: - $ControlsScreen.visible = false - $CreditsScreen.visible = false $ShowtapeNewScreen.visible = false $ShowtapeLoadScreen.visible = false $ShowtapeSaveScreen.visible = false @@ -478,7 +466,7 @@ func plot_data(data: String): if (frame_string == ""): continue var check_frame_split = frame_string.split() check_frame_split.reverse() - for i in stages_info[current_stage]["bit_mapping"]: + for i in Stages.stages_info[current_stage]["bit_mapping"]: var er = false if ((check_frame_split[(i - 1) / 4].hex_to_int() & int(pow(2, ((i - 1) % 4)))) == int(pow(2, ((i - 1) % 4)))): er = true @@ -512,3 +500,7 @@ func _on_exit_menu_overwrite_confirmation_dialog_confirmed() -> void: func _on_exit_desktop_overwrite_confirmation_dialog_2_confirmed() -> void: get_tree().quit() + + +func _on_instructions_label_pressed() -> void: + $InstructionsLabel.visible = false diff --git a/Scripts/MainMenu.gd b/Scripts/MainMenu.gd index 0dd626e..4709dc4 100644 --- a/Scripts/MainMenu.gd +++ b/Scripts/MainMenu.gd @@ -1,5 +1,79 @@ extends Control +func _ready(): + OS.request_permissions() + randomize() + $Backgrounds.get_child(randi() % $Backgrounds.get_child_count()).visible = true + + var moddir = DirAccess.open("user://Mods") + if moddir == null: + print("Mod folder was not found. Creating.") + var temp = DirAccess.open("user://") + temp.make_dir("Mods") + moddir = DirAccess.open("user://Mods") + moddir.list_dir_begin() + for file: String in moddir.get_files(): + if (!file.ends_with(".pck")): return + ProjectSettings.load_resource_pack("user://Mods/%s" % file, false) + + var dir = DirAccess.open("res://LoadedModContent/ModManifest") + if dir == null: + print("No mods were found.") + return + dir.list_dir_begin() + var tempLoadedList = [] + for file: String in dir.get_files(): + var modManifest = load(dir.get_current_dir() + "/" + file.trim_suffix(".remap")).new() + if (Stages.loaded_mods.get(modManifest.ModInfo["mod_name"]) != null): + if (tempLoadedList.find(modManifest.ModInfo["mod_name"]) == -1): + $ModsScreen/DialogPanel/ModList.add_item(modManifest.ModInfo["mod_name"], null, true) + return + Stages.loaded_mods[modManifest.ModInfo["mod_name"]] = modManifest.ModInfo + for stage in modManifest.ModInfo["implements_stages"]: + Stages.stages_info[stage] = modManifest.ModInfo["implements_stages"][stage] + $ModsScreen/DialogPanel/ModList.add_item(modManifest.ModInfo["mod_name"], null, true) + tempLoadedList.append(modManifest.ModInfo["mod_name"]) + print("Loaded Mod \"%s\"" % modManifest.ModInfo["mod_name"]) func _on_button_pressed() -> void: get_tree().change_scene_to_file("res://Scenes/GUI/EditorScreen.tscn") + +func _on_exit_button_pressed() -> void: + get_tree().quit() + +func _on_credits_button_pressed() -> void: + $CreditsScreen.visible = true + +func _on_controls_button_pressed() -> void: + $ControlsScreen.visible = true + +func _on_free_roam_button_pressed() -> void: + $FreeRoamChooseScreen.visible = true + +func _on_mods_button_pressed() -> void: + $ModsScreen.visible = true + +func _on_input_eater_pressed() -> void: + $CreditsScreen.visible = false + $ControlsScreen.visible = false + $FreeRoamChooseScreen.visible = false + $ModsScreen.visible = false + +func _input(event: InputEvent) -> void: + if event.is_action_pressed("fullscreen"): + if (!DisplayServer.window_get_mode() == DisplayServer.WINDOW_MODE_FULLSCREEN): + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) + else: + DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED) + +func _on_mod_list_item_selected(index: int) -> void: + var itext = $ModsScreen/DialogPanel/ModList.get_item_text(index) + $ModsScreen/DialogPanel/ModNameText.text = Stages.loaded_mods[itext]["mod_name"] + $ModsScreen/DialogPanel/ModAuthorText.text = "by %s" % Stages.loaded_mods[itext]["mod_creator"] + $ModsScreen/DialogPanel/ModVersionText.text = "Mod version %s" % Stages.loaded_mods[itext]["mod_version"] + $ModsScreen/DialogPanel/ModDescriptionText.text = Stages.loaded_mods[itext]["mod_description"] + + +func _on_open_folder_button_pressed() -> void: + OS.shell_open(ProjectSettings.globalize_path("user://Mods")) + $PleaseRestart.show() diff --git a/UI/MenuBG/BalconyBG.png b/UI/MenuBG/BalconyBG.png new file mode 100644 index 0000000..57354d3 Binary files /dev/null and b/UI/MenuBG/BalconyBG.png differ diff --git a/UI/MenuBG/BalconyBG.png.import b/UI/MenuBG/BalconyBG.png.import new file mode 100644 index 0000000..8e5cbeb --- /dev/null +++ b/UI/MenuBG/BalconyBG.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6mf6wucl3y6k" +path="res://.godot/imported/BalconyBG.png-77fc3cb12985ad4aa4c7a07719c902d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/MenuBG/BalconyBG.png" +dest_files=["res://.godot/imported/BalconyBG.png-77fc3cb12985ad4aa4c7a07719c902d3.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/UI/MenuBG/CStageBG.png b/UI/MenuBG/CStageBG.png new file mode 100644 index 0000000..411c286 Binary files /dev/null and b/UI/MenuBG/CStageBG.png differ diff --git a/UI/MenuBG/CStageBG.png.import b/UI/MenuBG/CStageBG.png.import new file mode 100644 index 0000000..10033b9 --- /dev/null +++ b/UI/MenuBG/CStageBG.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr6ir8mgbjrs7" +path="res://.godot/imported/CStageBG.png-e353155e38aa74a5eeb8ad8bbf0ca97f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/MenuBG/CStageBG.png" +dest_files=["res://.godot/imported/CStageBG.png-e353155e38aa74a5eeb8ad8bbf0ca97f.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/UI/MenuBG/ProtoRoadBG.png b/UI/MenuBG/ProtoRoadBG.png new file mode 100644 index 0000000..b1b9267 Binary files /dev/null and b/UI/MenuBG/ProtoRoadBG.png differ diff --git a/UI/MenuBG/ProtoRoadBG.png.import b/UI/MenuBG/ProtoRoadBG.png.import new file mode 100644 index 0000000..77deea5 --- /dev/null +++ b/UI/MenuBG/ProtoRoadBG.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dyyyg85g3jwip" +path="res://.godot/imported/ProtoRoadBG.png-14030153324591d805d6a4c6283133d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/MenuBG/ProtoRoadBG.png" +dest_files=["res://.godot/imported/ProtoRoadBG.png-14030153324591d805d6a4c6283133d9.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/UI/FastBackwards.png b/UI/TransportControls/FastBackwards.png similarity index 100% rename from UI/FastBackwards.png rename to UI/TransportControls/FastBackwards.png diff --git a/UI/FastBackwards.png.import b/UI/TransportControls/FastBackwards.png.import similarity index 70% rename from UI/FastBackwards.png.import rename to UI/TransportControls/FastBackwards.png.import index a9eb6b8..4ad90ca 100644 --- a/UI/FastBackwards.png.import +++ b/UI/TransportControls/FastBackwards.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dhx2v2fd0egxd" -path="res://.godot/imported/FastBackwards.png-f55ba91d8d237cb6919d5f2a056db594.ctex" +path="res://.godot/imported/FastBackwards.png-baafc41184f250c6fa4ffe3e374078aa.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/FastBackwards.png" -dest_files=["res://.godot/imported/FastBackwards.png-f55ba91d8d237cb6919d5f2a056db594.ctex"] +source_file="res://UI/TransportControls/FastBackwards.png" +dest_files=["res://.godot/imported/FastBackwards.png-baafc41184f250c6fa4ffe3e374078aa.ctex"] [params] diff --git a/UI/FastForward.png b/UI/TransportControls/FastForward.png similarity index 100% rename from UI/FastForward.png rename to UI/TransportControls/FastForward.png diff --git a/UI/FastForward.png.import b/UI/TransportControls/FastForward.png.import similarity index 70% rename from UI/FastForward.png.import rename to UI/TransportControls/FastForward.png.import index f24b413..51f5e19 100644 --- a/UI/FastForward.png.import +++ b/UI/TransportControls/FastForward.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dsr03w7r667fw" -path="res://.godot/imported/FastForward.png-acbfeb2710bea5385ca8ad13fa6699e8.ctex" +path="res://.godot/imported/FastForward.png-fb55633376434284021e6fcb868d095e.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/FastForward.png" -dest_files=["res://.godot/imported/FastForward.png-acbfeb2710bea5385ca8ad13fa6699e8.ctex"] +source_file="res://UI/TransportControls/FastForward.png" +dest_files=["res://.godot/imported/FastForward.png-fb55633376434284021e6fcb868d095e.ctex"] [params] diff --git a/UI/Pause.png b/UI/TransportControls/Pause.png similarity index 100% rename from UI/Pause.png rename to UI/TransportControls/Pause.png diff --git a/UI/Pause.png.import b/UI/TransportControls/Pause.png.import similarity index 72% rename from UI/Pause.png.import rename to UI/TransportControls/Pause.png.import index 1d6d8e3..201668c 100644 --- a/UI/Pause.png.import +++ b/UI/TransportControls/Pause.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bwhgy4u37jmo1" -path="res://.godot/imported/Pause.png-90c47ed988bd7d26b746eb81a6aaeedf.ctex" +path="res://.godot/imported/Pause.png-6e00544a0fac9a91b2c20976bb7ce799.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/Pause.png" -dest_files=["res://.godot/imported/Pause.png-90c47ed988bd7d26b746eb81a6aaeedf.ctex"] +source_file="res://UI/TransportControls/Pause.png" +dest_files=["res://.godot/imported/Pause.png-6e00544a0fac9a91b2c20976bb7ce799.ctex"] [params] diff --git a/UI/Play.png b/UI/TransportControls/Play.png similarity index 100% rename from UI/Play.png rename to UI/TransportControls/Play.png diff --git a/UI/Play.png.import b/UI/TransportControls/Play.png.import similarity index 72% rename from UI/Play.png.import rename to UI/TransportControls/Play.png.import index e17e752..09fb1a9 100644 --- a/UI/Play.png.import +++ b/UI/TransportControls/Play.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://xllpr3qc064c" -path="res://.godot/imported/Play.png-eec0d54380d32c59b84e7db5fa226d5e.ctex" +path="res://.godot/imported/Play.png-afe759610dc1045a62cd8cc2e725ba25.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/Play.png" -dest_files=["res://.godot/imported/Play.png-eec0d54380d32c59b84e7db5fa226d5e.ctex"] +source_file="res://UI/TransportControls/Play.png" +dest_files=["res://.godot/imported/Play.png-afe759610dc1045a62cd8cc2e725ba25.ctex"] [params] diff --git a/UI/PlayBackwards.png b/UI/TransportControls/PlayBackwards.png similarity index 100% rename from UI/PlayBackwards.png rename to UI/TransportControls/PlayBackwards.png diff --git a/UI/PlayBackwards.png.import b/UI/TransportControls/PlayBackwards.png.import similarity index 70% rename from UI/PlayBackwards.png.import rename to UI/TransportControls/PlayBackwards.png.import index 2e32746..6f5a61f 100644 --- a/UI/PlayBackwards.png.import +++ b/UI/TransportControls/PlayBackwards.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dgacnkv2dc65s" -path="res://.godot/imported/PlayBackwards.png-52f3d5b871717feab369f20308dd695c.ctex" +path="res://.godot/imported/PlayBackwards.png-fa19f96c52d7ee8953d0dc88bd9de225.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/PlayBackwards.png" -dest_files=["res://.godot/imported/PlayBackwards.png-52f3d5b871717feab369f20308dd695c.ctex"] +source_file="res://UI/TransportControls/PlayBackwards.png" +dest_files=["res://.godot/imported/PlayBackwards.png-fa19f96c52d7ee8953d0dc88bd9de225.ctex"] [params] diff --git a/UI/Record.png b/UI/TransportControls/Record.png similarity index 100% rename from UI/Record.png rename to UI/TransportControls/Record.png diff --git a/UI/Record.png.import b/UI/TransportControls/Record.png.import similarity index 72% rename from UI/Record.png.import rename to UI/TransportControls/Record.png.import index 2d19281..481e8d9 100644 --- a/UI/Record.png.import +++ b/UI/TransportControls/Record.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://ckg2ihy105ttj" -path="res://.godot/imported/Record.png-52d5a1455899304e32054af5c940c434.ctex" +path="res://.godot/imported/Record.png-feac6691f8b44c91b371c385fd49720a.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/Record.png" -dest_files=["res://.godot/imported/Record.png-52d5a1455899304e32054af5c940c434.ctex"] +source_file="res://UI/TransportControls/Record.png" +dest_files=["res://.godot/imported/Record.png-feac6691f8b44c91b371c385fd49720a.ctex"] [params] diff --git a/UI/SkipBackwards.png b/UI/TransportControls/SkipBackwards.png similarity index 100% rename from UI/SkipBackwards.png rename to UI/TransportControls/SkipBackwards.png diff --git a/UI/SkipBackwards.png.import b/UI/TransportControls/SkipBackwards.png.import similarity index 70% rename from UI/SkipBackwards.png.import rename to UI/TransportControls/SkipBackwards.png.import index 0e46ac4..86b0bd7 100644 --- a/UI/SkipBackwards.png.import +++ b/UI/TransportControls/SkipBackwards.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dts4eh6hyt8p3" -path="res://.godot/imported/SkipBackwards.png-dfebc48054bc60d9671fc8d69c696237.ctex" +path="res://.godot/imported/SkipBackwards.png-07ed2723ebfa991c5eb7dd5b04bbdcc5.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/SkipBackwards.png" -dest_files=["res://.godot/imported/SkipBackwards.png-dfebc48054bc60d9671fc8d69c696237.ctex"] +source_file="res://UI/TransportControls/SkipBackwards.png" +dest_files=["res://.godot/imported/SkipBackwards.png-07ed2723ebfa991c5eb7dd5b04bbdcc5.ctex"] [params] diff --git a/UI/SkipForward.png b/UI/TransportControls/SkipForward.png similarity index 100% rename from UI/SkipForward.png rename to UI/TransportControls/SkipForward.png diff --git a/UI/SkipForward.png.import b/UI/TransportControls/SkipForward.png.import similarity index 70% rename from UI/SkipForward.png.import rename to UI/TransportControls/SkipForward.png.import index eef54cb..ae0a6b9 100644 --- a/UI/SkipForward.png.import +++ b/UI/TransportControls/SkipForward.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bphwtliq2ahus" -path="res://.godot/imported/SkipForward.png-ca36b20fa5c982368f6b620245865f56.ctex" +path="res://.godot/imported/SkipForward.png-d4be5716d356f8b0d5ac15243372a7e3.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/SkipForward.png" -dest_files=["res://.godot/imported/SkipForward.png-ca36b20fa5c982368f6b620245865f56.ctex"] +source_file="res://UI/TransportControls/SkipForward.png" +dest_files=["res://.godot/imported/SkipForward.png-d4be5716d356f8b0d5ac15243372a7e3.ctex"] [params] diff --git a/UI/SmallLock.png b/UI/TransportControls/SmallLock.png similarity index 100% rename from UI/SmallLock.png rename to UI/TransportControls/SmallLock.png diff --git a/UI/SmallLock.png.import b/UI/TransportControls/SmallLock.png.import similarity index 71% rename from UI/SmallLock.png.import rename to UI/TransportControls/SmallLock.png.import index ea363c7..5b47640 100644 --- a/UI/SmallLock.png.import +++ b/UI/TransportControls/SmallLock.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://d007317123e27" -path="res://.godot/imported/SmallLock.png-0c9e5ce04a7421f0922124b2fb1d8696.ctex" +path="res://.godot/imported/SmallLock.png-c01b2981fa753e94bcf44ea7af0f5dc4.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/SmallLock.png" -dest_files=["res://.godot/imported/SmallLock.png-0c9e5ce04a7421f0922124b2fb1d8696.ctex"] +source_file="res://UI/TransportControls/SmallLock.png" +dest_files=["res://.godot/imported/SmallLock.png-c01b2981fa753e94bcf44ea7af0f5dc4.ctex"] [params] diff --git a/UI/SmallX.png b/UI/TransportControls/SmallX.png similarity index 100% rename from UI/SmallX.png rename to UI/TransportControls/SmallX.png diff --git a/UI/SmallX.png.import b/UI/TransportControls/SmallX.png.import similarity index 72% rename from UI/SmallX.png.import rename to UI/TransportControls/SmallX.png.import index 7b9fa19..aaff952 100644 --- a/UI/SmallX.png.import +++ b/UI/TransportControls/SmallX.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cn5xdrxdv622h" -path="res://.godot/imported/SmallX.png-fca237bd1b13d37241a1ac9e982c446b.ctex" +path="res://.godot/imported/SmallX.png-3e04f0094c67e8b6434dfe5dacc07c39.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/SmallX.png" -dest_files=["res://.godot/imported/SmallX.png-fca237bd1b13d37241a1ac9e982c446b.ctex"] +source_file="res://UI/TransportControls/SmallX.png" +dest_files=["res://.godot/imported/SmallX.png-3e04f0094c67e8b6434dfe5dacc07c39.ctex"] [params] diff --git a/UI/Stop.png b/UI/TransportControls/Stop.png similarity index 100% rename from UI/Stop.png rename to UI/TransportControls/Stop.png diff --git a/UI/Stop.png.import b/UI/TransportControls/Stop.png.import similarity index 72% rename from UI/Stop.png.import rename to UI/TransportControls/Stop.png.import index 9659f7c..3c8ca50 100644 --- a/UI/Stop.png.import +++ b/UI/TransportControls/Stop.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cttgtbu1xllwq" -path="res://.godot/imported/Stop.png-28cf49bd72d354d073c38f19027d6ddb.ctex" +path="res://.godot/imported/Stop.png-fb014661ae7c7c34a81ed967c5cf7ad4.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://UI/Stop.png" -dest_files=["res://.godot/imported/Stop.png-28cf49bd72d354d073c38f19027d6ddb.ctex"] +source_file="res://UI/TransportControls/Stop.png" +dest_files=["res://.godot/imported/Stop.png-fb014661ae7c7c34a81ed967c5cf7ad4.ctex"] [params] diff --git a/UI/logo.png b/UI/logo.png new file mode 100644 index 0000000..11ffc6a Binary files /dev/null and b/UI/logo.png differ diff --git a/UI/logo.png.import b/UI/logo.png.import new file mode 100644 index 0000000..61ad969 --- /dev/null +++ b/UI/logo.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbh0vh85wks2l" +path="res://.godot/imported/logo.png-51af639b546fa143c715ebb74d0509d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://UI/logo.png" +dest_files=["res://.godot/imported/logo.png-51af639b546fa143c715ebb74d0509d5.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/project.godot b/project.godot index 6ef7e8b..bca1735 100644 --- a/project.godot +++ b/project.godot @@ -338,55 +338,55 @@ ui_swap_input_direction={ "deadzone": 0.5, "events": [] } -toggle_editor_screen={ +editor_toggle_full_camera={ "deadzone": 0.2, "events": [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":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null) ] } -sequencer_play_pause={ +editor_sequencer_play_pause={ "deadzone": 0.2, "events": [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":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null) ] } -sequencer_play_reverse={ +editor_sequencer_play_reverse={ "deadzone": 0.2, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":1,"pressure":0.0,"pressed":true,"script":null) ] } -sequencer_fast_forward={ +editor_sequencer_fast_forward={ "deadzone": 0.2, "events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } -sequencer_fast_reverse={ +editor_sequencer_fast_reverse={ "deadzone": 0.2, "events": [Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } -sequencer_step_forward={ +editor_sequencer_step_forward={ "deadzone": 0.2, "events": [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":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null) ] } -sequencer_step_backward={ +editor_sequencer_step_backward={ "deadzone": 0.2, "events": [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":4194319,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null) ] } -cycle_camera_angle={ +editor_cycle_camera_angle={ "deadzone": 0.2, "events": [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":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":false,"script":null) ] } -sequencer_home={ +editor_sequencer_home={ "deadzone": 0.2, "events": [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":4194317,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) , Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":false,"script":null) @@ -401,8 +401,9 @@ fullscreen={ [rendering] -renderer/rendering_method="gl_compatibility" -renderer/rendering_method.mobile="gl_compatibility" textures/vram_compression/import_etc2_astc=true +anti_aliasing/quality/msaa_3d=1 limits/opengl/max_renderable_lights=128 limits/opengl/max_lights_per_object=128 +anti_aliasing/quality/screen_space_aa=1 +anti_aliasing/quality/use_debanding=true