[gd_scene load_steps=12 format=3 uid="uid://d0w4cbu1jgqnx"] [ext_resource type="Script" path="res://scripts/xmle/xml_editor_window.gd" id="1_gspou"] [ext_resource type="StyleBox" uid="uid://bdkv45xc5lotp" path="res://assets/config/bg.tres" id="1_j0s65"] [ext_resource type="LabelSettings" uid="uid://c2s3eclr25ots" path="res://assets/config/body.tres" id="2_m7ywi"] [ext_resource type="LabelSettings" uid="uid://55elphqx3dqw" path="res://assets/config/section_header.tres" id="2_mi1pb"] [ext_resource type="Script" path="res://scripts/xmle/load.gd" id="3_0whnd"] [ext_resource type="Texture2D" uid="uid://eudnts7c3nxy" path="res://assets/background_checker.png" id="3_06msg"] [ext_resource type="Script" path="res://scripts/xmle/form_handler.gd" id="3_aomrl"] [ext_resource type="Script" path="res://scripts/xmle/save.gd" id="4_ye3qr"] [sub_resource type="AtlasTexture" id="AtlasTexture_k1djj"] [sub_resource type="AtlasTexture" id="AtlasTexture_3qyg2"] [sub_resource type="AtlasTexture" id="AtlasTexture_iddor"] [node name="PanelContainer" type="PanelContainer"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 theme_override_styles/panel = ExtResource("1_j0s65") script = ExtResource("1_gspou") [node name="VBoxContainer" type="VBoxContainer" parent="."] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 3 theme_override_constants/separation = 0 [node name="Menu" type="MarginContainer" parent="VBoxContainer"] z_index = 1 layout_mode = 2 theme_override_constants/margin_left = 8 theme_override_constants/margin_top = 4 theme_override_constants/margin_right = 8 theme_override_constants/margin_bottom = 4 [node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/Menu"] layout_mode = 2 theme_override_constants/separation = 8 [node name="Load" type="MenuButton" parent="VBoxContainer/Menu/HBoxContainer"] layout_mode = 2 text = "Load..." item_count = 2 popup/item_0/text = "Load XML" popup/item_1/text = "Load reference image" popup/item_1/id = 1 script = ExtResource("3_0whnd") [node name="Edit" type="MenuButton" parent="VBoxContainer/Menu/HBoxContainer"] visible = false layout_mode = 2 text = "Edit..." item_count = 1 popup/item_0/text = "Image atlas wizard" popup/item_0/id = 1 [node name="Save" type="Button" parent="VBoxContainer/Menu/HBoxContainer"] layout_mode = 2 text = "Save" flat = true script = ExtResource("4_ye3qr") [node name="Spacer" type="Control" parent="VBoxContainer/Menu/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 3 [node name="Exit" type="Button" parent="VBoxContainer/Menu/HBoxContainer"] layout_mode = 2 text = "Exit" flat = true [node name="Editor" type="MarginContainer" parent="VBoxContainer"] layout_mode = 2 size_flags_vertical = 3 theme_override_constants/margin_left = 8 theme_override_constants/margin_top = 8 theme_override_constants/margin_right = 8 theme_override_constants/margin_bottom = 8 script = ExtResource("3_aomrl") [node name="HSplitContainer" type="HSplitContainer" parent="VBoxContainer/Editor"] layout_mode = 2 size_flags_vertical = 3 theme_override_constants/separation = 0 theme_override_constants/autohide = 0 [node name="VSplitContainer" type="VSplitContainer" parent="VBoxContainer/Editor/HSplitContainer"] layout_mode = 2 theme_override_constants/separation = 0 theme_override_constants/autohide = 0 [node name="Frames" type="VBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer"] layout_mode = 2 size_flags_vertical = 3 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "How big the character's sprites are allowed to get. To FunkPanion, this is the window's size. To Sparrow, Flixel, and FNF, this is the \"frame_\" properties on each frame." mouse_filter = 0 text = "Frames" label_settings = ExtResource("2_mi1pb") vertical_alignment = 1 [node name="Tree" type="Tree" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames"] custom_minimum_size = Vector2(200, 50) layout_mode = 2 size_flags_vertical = 3 columns = 2 allow_search = false hide_folding = true enable_recursive_folding = false select_mode = 1 scroll_horizontal_enabled = false [node name="align_all" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 [node name="preset" type="MenuButton" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames/align_all"] layout_mode = 2 size_flags_horizontal = 3 tooltip_text = "Align all frames in the animation." text = "Align All..." flat = false item_count = 9 popup/item_0/text = "Top Left" popup/item_1/text = "Top" popup/item_1/id = 1 popup/item_2/text = "Top Right" popup/item_2/id = 2 popup/item_3/text = "Left" popup/item_3/id = 3 popup/item_4/text = "Center" popup/item_4/id = 4 popup/item_5/text = "Right" popup/item_5/id = 5 popup/item_6/text = "Bottom Left" popup/item_6/id = 6 popup/item_7/text = "Bottom" popup/item_7/id = 7 popup/item_8/text = "Bottom Right" popup/item_8/id = 8 [node name="autocrop" type="Button" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames/align_all"] layout_mode = 2 size_flags_horizontal = 3 tooltip_text = "Crop out transparent pixels in all frames of the animation." text = "Autocrop All" [node name="oskin" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames/oskin"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "How many frames each animation will have." mouse_filter = 0 text = "Onion Skin" label_settings = ExtResource("2_m7ywi") vertical_alignment = 1 [node name="prev" type="CheckBox" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames/oskin"] layout_mode = 2 text = "Previous" [node name="next" type="CheckBox" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Frames/oskin"] layout_mode = 2 text = "Next" [node name="Animations" type="VBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 size_flags_vertical = 3 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "How big the character's sprites are allowed to get. To FunkPanion, this is the window's size. To Sparrow, Flixel, and FNF, this is the \"frame_\" properties on each frame." mouse_filter = 0 text = "Animations" label_settings = ExtResource("2_mi1pb") vertical_alignment = 1 [node name="Tree" type="Tree" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations"] layout_mode = 2 size_flags_vertical = 3 allow_search = false hide_folding = true enable_recursive_folding = false hide_root = true select_mode = 1 scroll_horizontal_enabled = false [node name="AddNew" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations"] layout_mode = 2 [node name="name" type="LineEdit" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations/AddNew"] layout_mode = 2 size_flags_horizontal = 3 placeholder_text = "Animation Name" [node name="switch" type="Button" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations/AddNew"] layout_mode = 2 text = "Add" [node name="sprite_size" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations/sprite_size"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "How big the character's sprites are allowed to get. To FunkPanion, this is the window's size. To Sparrow, Flixel, and FNF, this is the \"frame_width/height\" properties on each frame." mouse_filter = 0 text = "Sprite Size" label_settings = ExtResource("2_m7ywi") vertical_alignment = 1 [node name="value_w" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations/sprite_size"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [node name="value_h" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations/sprite_size"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [node name="frame_count" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations/frame_count"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "How many frames each animation will have." mouse_filter = 0 text = "Frame Count" label_settings = ExtResource("2_m7ywi") vertical_alignment = 1 [node name="value" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/VSplitContainer/Animations/frame_count"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 240.0 value = 10.0 select_all_on_focus = true [node name="Region" type="VBoxContainer" parent="VBoxContainer/Editor/HSplitContainer"] layout_mode = 2 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/Region"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "How big the character's sprites are allowed to get. To FunkPanion, this is the window's size. To Sparrow, Flixel, and FNF, this is the \"frame_\" properties on each frame." mouse_filter = 0 text = "Region" label_settings = ExtResource("2_mi1pb") vertical_alignment = 2 [node name="RegionView" type="SubViewportContainer" parent="VBoxContainer/Editor/HSplitContainer/Region"] custom_minimum_size = Vector2(250, 250) layout_mode = 2 size_flags_vertical = 3 stretch = true [node name="Viewport" type="SubViewport" parent="VBoxContainer/Editor/HSplitContainer/Region/RegionView"] disable_3d = true handle_input_locally = false size = Vector2i(363, 298) render_target_update_mode = 4 [node name="BG" type="TextureRect" parent="VBoxContainer/Editor/HSplitContainer/Region/RegionView/Viewport"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 texture = ExtResource("3_06msg") stretch_mode = 1 [node name="ReferenceRect" type="ReferenceRect" parent="VBoxContainer/Editor/HSplitContainer/Region/RegionView/Viewport"] border_width = 2.0 editor_only = false [node name="OSPrevCharacter" type="TextureRect" parent="VBoxContainer/Editor/HSplitContainer/Region/RegionView/Viewport/ReferenceRect"] visible = false modulate = Color(0, 0, 1, 0.501961) layout_mode = 0 offset_right = 1.0 offset_bottom = 1.0 size_flags_horizontal = 4 size_flags_vertical = 4 texture = SubResource("AtlasTexture_k1djj") stretch_mode = 2 [node name="Character" type="TextureRect" parent="VBoxContainer/Editor/HSplitContainer/Region/RegionView/Viewport/ReferenceRect"] layout_mode = 0 offset_right = 1.0 offset_bottom = 1.0 size_flags_horizontal = 4 size_flags_vertical = 4 texture = SubResource("AtlasTexture_3qyg2") stretch_mode = 2 [node name="OSNextCharacter" type="TextureRect" parent="VBoxContainer/Editor/HSplitContainer/Region/RegionView/Viewport/ReferenceRect"] visible = false modulate = Color(1, 0, 0, 0.501961) layout_mode = 0 offset_right = 1.0 offset_bottom = 1.0 size_flags_horizontal = 4 size_flags_vertical = 4 texture = SubResource("AtlasTexture_iddor") stretch_mode = 2 [node name="ReferenceRect" type="ReferenceRect" parent="VBoxContainer/Editor/HSplitContainer/Region/RegionView/Viewport/ReferenceRect"] layout_mode = 0 border_color = Color(0, 0, 1, 1) border_width = 2.0 editor_only = false [node name="Controls" type="VBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/Region"] layout_mode = 2 [node name="region_pos" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/region_pos"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "Position of the frame on the spritesheet." mouse_filter = 0 text = "Region Position" label_settings = ExtResource("2_m7ywi") vertical_alignment = 1 [node name="value_w" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/region_pos"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [node name="value_h" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/region_pos"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [node name="region_size" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/region_size"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "Size of the frame on the spritesheet." mouse_filter = 0 text = "Region Size" label_settings = ExtResource("2_m7ywi") vertical_alignment = 1 [node name="autocrop" type="Button" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/region_size"] layout_mode = 2 tooltip_text = "Crop out transparent pixels." text = "Autocrop" [node name="value_w" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/region_size"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [node name="value_h" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/region_size"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [node name="sprite_offset" type="HBoxContainer" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls"] custom_minimum_size = Vector2(0, 32) layout_mode = 2 [node name="Label" type="Label" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/sprite_offset"] layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 1 tooltip_text = "Where the sprite is relative to the character size. To FunkPanion, this is a margin. To Sparrow, Flixel, and FNF, this is the inverse of the \"frame_x/y\" properties on each frame." mouse_filter = 0 text = "Sprite Offset" label_settings = ExtResource("2_m7ywi") vertical_alignment = 1 [node name="preset" type="MenuButton" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/sprite_offset"] layout_mode = 2 text = "Align..." item_count = 9 popup/item_0/text = "Top Left" popup/item_1/text = "Top" popup/item_1/id = 1 popup/item_2/text = "Top Right" popup/item_2/id = 2 popup/item_3/text = "Left" popup/item_3/id = 3 popup/item_4/text = "Center" popup/item_4/id = 4 popup/item_5/text = "Right" popup/item_5/id = 5 popup/item_6/text = "Bottom Left" popup/item_6/id = 6 popup/item_7/text = "Bottom" popup/item_7/id = 7 popup/item_8/text = "Bottom Right" popup/item_8/id = 8 [node name="value_w" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/sprite_offset"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [node name="value_h" type="SpinBox" parent="VBoxContainer/Editor/HSplitContainer/Region/Controls/sprite_offset"] layout_mode = 2 size_flags_horizontal = 8 size_flags_vertical = 4 max_value = 8192.0 value = 500.0 select_all_on_focus = true [connection signal="pressed" from="VBoxContainer/Menu/HBoxContainer/Exit" to="." method="_on_exit_pressed"]