diff --git a/addons/escoria-wizard/CharacterCreator.gd b/addons/escoria-wizard/CharacterCreator.gd index cf2b6cbd..0e144c71 100644 --- a/addons/escoria-wizard/CharacterCreator.gd +++ b/addons/escoria-wizard/CharacterCreator.gd @@ -42,6 +42,7 @@ const ANIMATION_SPEED_LABEL = "Animation speed" # Make the code more readable by shortening node references using constants const NAME_NODE = "VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer" const DIR_COUNT_NODE = "VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer" +const CHAR_TYPE_NODE = "VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer" const ANIM_TYPE_NODE = "VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer" const MIRROR_NODE = "VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer3/mirror_checkbox" const ARROWS_NODE = "VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer" @@ -1248,13 +1249,23 @@ func export_player(scene_name) -> void: else: num_directions = 1 - var new_character = ESCPlayer.new() + var new_character + # NPCs can't be ESCPlayers or the player won't walk up to them when + # you interact with them + if get_node(CHAR_TYPE_NODE).get_node("npc").pressed: + new_character = ESCItem.new() + else: + new_character = ESCPlayer.new() + new_character.selectable = true new_character.name = get_node(NAME_NODE).get_node("node_name").text if get_node(NAME_NODE).get_node("global_id").text == null: new_character.global_id = new_character.name new_character.global_id = get_node(NAME_NODE).get_node("global_id").text + new_character.tooltip_name = get_node(NAME_NODE).get_node("node_name").text + + new_character.default_action = "look" var animations_resource = ESCAnimationResource.new() @@ -1272,7 +1283,7 @@ func export_player(scene_name) -> void: dirnames = DIR_LIST_4 elif get_node(DIR_COUNT_NODE).get_node("eight_directions").pressed: num_directions = 8 - start_angle_array = [338, 22, 69, 114, 159, 204, 249, 294] + start_angle_array = [337, 22, 67, 112, 157, 202, 247, 292] angle_size = 45 dirnames = DIR_LIST_8 elif get_node(DIR_COUNT_NODE).get_node("two_directions").pressed: @@ -1332,6 +1343,14 @@ func export_player(scene_name) -> void: dialog_position.position.y = -(export_largest_sprite.y * 1.2) new_character.add_child(dialog_position) + if get_node(CHAR_TYPE_NODE).get_node("npc").pressed: + # Add Interaction Position to an NPC + var interaction_position = ESCLocation.new() + interaction_position.name = "interact_position" + interaction_position.position.y = +(export_largest_sprite.y * 1.2) + new_character.add_child(interaction_position) + interaction_position.set_owner(new_character) + progress_bar_update("Configuring animations") yield(get_tree(), "idle_frame") # Make it so all the nodes can be seen in the scene tree @@ -1391,7 +1410,10 @@ func export_generate_animations(character_node, num_directions) -> void: var loaded_spritesheet: String var largest_frame_dimensions: Vector2 = Vector2.ZERO var sprite_frames = SpriteFrames.new() - + var default_anim_length = 0 + var default_anim_speed = 1 + var texture + var frame_counter: int = 0 match num_directions: 1: direction_names = DIR_LIST_1 @@ -1420,10 +1442,8 @@ func export_generate_animations(character_node, num_directions) -> void: if metadata[METADATA_IS_MIRROR]: continue - var texture var rect_location var frame_being_copied = Image.new() - var frame_counter: int = 0 sprite_frames.add_animation(anim_name) if metadata[METADATA_SPRITESHEET_SOURCE_FILE] != loaded_spritesheet: @@ -1438,7 +1458,10 @@ func export_generate_animations(character_node, num_directions) -> void: largest_frame_dimensions.y = frame_size.y frame_being_copied.create(frame_size.x, frame_size.y, false, source_image.get_format()) -# str(metadata[METADATA_SPRITESHEET_LAST_FRAME])) + if animtype == TYPE_IDLE and anim_dir == "down": + default_anim_length = metadata[METADATA_SPRITESHEET_LAST_FRAME] - metadata[METADATA_SPRITESHEET_FIRST_FRAME] + 1 + default_anim_speed = metadata[METADATA_SPEED] + for loop in range(metadata[METADATA_SPRITESHEET_LAST_FRAME] - metadata[METADATA_SPRITESHEET_FIRST_FRAME] + 1): texture = ImageTexture.new() rect_location = calc_frame_coords(metadata[METADATA_SPRITESHEET_FIRST_FRAME] + loop) @@ -1450,7 +1473,18 @@ func export_generate_animations(character_node, num_directions) -> void: sprite_frames.add_frame (anim_name, texture, frame_counter ) sprite_frames.set_animation_speed(anim_name, metadata[METADATA_SPEED]) frame_counter += 1 - sprite_frames.remove_animation("default") + + # Generate default animation. This is used by the object manager to set the + # state when the object is registered. If there's no current state, the + # default animation will be used. + for loop in range(default_anim_length): + texture = ImageTexture.new() + texture = sprite_frames.get_frame("idle_down", loop) + + # Remove "filter" flag so it's pixel perfect + texture.set_flags(2) + sprite_frames.add_frame ("default", texture, loop ) + sprite_frames.set_animation_speed("default", default_anim_speed) var animated_sprite = AnimatedSprite.new() @@ -1461,6 +1495,8 @@ func export_generate_animations(character_node, num_directions) -> void: else: animated_sprite.animation = "%s_%s" % [TYPE_IDLE, DIR_DOWN] animated_sprite.position.y = -(largest_frame_dimensions.y / 2) # Place feet at (0,0) + animated_sprite.animation = "default" + animated_sprite.playing = true character_node.add_child(animated_sprite) # Making the owner "character_node" rather than "get_tree().edited_scene_root" means that # when saving as a packed scene, the child nodes get saved under the parent (as the parent @@ -1678,5 +1714,20 @@ func animation_on_idle_checkbox_pressed() -> void: change_animation_type("idle") +# When Auto storage checkbox is checked func _on_AutoStoreCheckBox_toggled(button_pressed: bool) -> void: autostore = button_pressed + + +# When player checkbox selected +func _on_player_pressed(): +# If player button was already selected, don't let it be unselected. + get_node(CHAR_TYPE_NODE).get_node("player").pressed = true + get_node(CHAR_TYPE_NODE).get_node("npc").pressed = false + + +# When NPC checkbox selected +func _on_npc_pressed(): +# If npc button was already selected, don't let it be unselected. + get_node(CHAR_TYPE_NODE).get_node("npc").pressed = true + get_node(CHAR_TYPE_NODE).get_node("player").pressed = false diff --git a/addons/escoria-wizard/CharacterCreator.tscn b/addons/escoria-wizard/CharacterCreator.tscn index d7ec57f9..db8fbb86 100644 --- a/addons/escoria-wizard/CharacterCreator.tscn +++ b/addons/escoria-wizard/CharacterCreator.tscn @@ -231,12 +231,64 @@ margin_right = 357.0 margin_bottom = 80.0 text = "Change" -[node name="directions" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] +[node name="charactertype" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] margin_top = 134.0 margin_right = 400.0 margin_bottom = 186.0 rect_min_size = Vector2( 400, 50 ) +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype"] +margin_right = 400.0 +margin_bottom = 24.0 + +[node name="directions_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="direction_number_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 395.0 +margin_bottom = 19.0 +text = "Player or NPC?" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype"] +margin_top = 28.0 +margin_right = 400.0 +margin_bottom = 52.0 +custom_constants/separation = 50 +alignment = 1 + +[node name="player" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer"] +margin_left = 116.0 +margin_right = 183.0 +margin_bottom = 24.0 +hint_tooltip = "Create a user-controlled character" +pressed = true +text = "player" + +[node name="npc" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer"] +margin_left = 233.0 +margin_right = 284.0 +margin_bottom = 24.0 +hint_tooltip = "Create a non-player character" +text = "npc" + +[node name="directions" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] +margin_top = 190.0 +margin_right = 400.0 +margin_bottom = 242.0 +rect_min_size = Vector2( 400, 50 ) + [node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions"] margin_right = 400.0 margin_bottom = 24.0 @@ -298,9 +350,9 @@ hint_tooltip = "Create 8 directions of animation" text = "8" [node name="animation" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] -margin_top = 190.0 +margin_top = 246.0 margin_right = 400.0 -margin_bottom = 628.0 +margin_bottom = 684.0 rect_min_size = Vector2( 400, 200 ) [node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation"] @@ -1403,9 +1455,13 @@ or below their feet. * The CollisionShape child node defines the bounds of the character. You may want to resize or change the shape assigned to this node. -* You should move the character's sprite and collision shape down so the -crosshairs are directly between their feet. This ensures that where you click -lines up with where the character walks to. +* You should move all child nodes down so the crosshairs are directly between +the character's feet. This ensures that where you click lines up with where the +character walks to. + +* If you want to swap a player character to an NPC, change the parent node +from an ESCPlayer to an ESCItem. Similarly, change an NPC to a player +character by changing the parent node to an ESCPlayer node. " [node name="help_window" parent="InformationWindows" instance=ExtResource( 38 )] @@ -1435,6 +1491,8 @@ you will lose your current character. [connection signal="text_changed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer/node_name" to="." method="nodename_on_node_name_text_changed"] [connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer/character_path_change_button" to="." method="_on_character_path_change_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer/player" to="." method="_on_player_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer/npc" to="." method="_on_npc_pressed"] [connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer/one_direction" to="." method="directions_on_one_direction_pressed"] [connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer/two_directions" to="." method="directions_on_two_directions_pressed"] [connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer/four_directions" to="." method="directions_on_four_directions_pressed"] diff --git a/addons/escoria-wizard/CharacterCreator.tscn.bak b/addons/escoria-wizard/CharacterCreator.tscn.bak new file mode 100644 index 00000000..9b01bf2f --- /dev/null +++ b/addons/escoria-wizard/CharacterCreator.tscn.bak @@ -0,0 +1,1544 @@ +[gd_scene load_steps=40 format=2] + +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_down.png" type="Texture" id=1] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_r.png" type="Texture" id=2] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_right.png" type="Texture" id=3] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_right.png" type="Texture" id=4] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_down.png" type="Texture" id=5] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_ul.png" type="Texture" id=6] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_dl.png" type="Texture" id=7] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_d.png" type="Texture" id=8] +[ext_resource path="res://addons/escoria-wizard/graphics/no_animation.png" type="Texture" id=9] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_downleft.png" type="Texture" id=10] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_downleft.png" type="Texture" id=11] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_left.png" type="Texture" id=12] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_l.png" type="Texture" id=13] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_ur.png" type="Texture" id=14] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_ul.png" type="Texture" id=15] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_upright.png" type="Texture" id=16] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_ur.png" type="Texture" id=17] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_u.png" type="Texture" id=18] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_r.png" type="Texture" id=19] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_u.png" type="Texture" id=20] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_l.png" type="Texture" id=21] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_dr.png" type="Texture" id=22] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_up.png" type="Texture" id=23] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_upright.png" type="Texture" id=24] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_downright.png" type="Texture" id=25] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_left.png" type="Texture" id=26] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_upleft.png" type="Texture" id=27] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreenarrow_up.png" type="Texture" id=28] +[ext_resource path="res://addons/escoria-wizard/graphics/no_spritesheet.png" type="Texture" id=29] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_upleft.png" type="Texture" id=30] +[ext_resource path="res://addons/escoria-wizard/graphics/greenarrow_downright.png" type="Texture" id=31] +[ext_resource path="res://addons/escoria-wizard/graphics/icon.png" type="Texture" id=32] +[ext_resource path="res://addons/escoria-wizard/graphics/greyarrow_d.png" type="Texture" id=33] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_dr.png" type="Texture" id=34] +[ext_resource path="res://addons/escoria-wizard/graphics/darkgreyarrow_dl.png" type="Texture" id=35] +[ext_resource path="res://addons/escoria-wizard/draw_frame_rects.gd" type="Script" id=36] +[ext_resource path="res://addons/escoria-wizard/CharacterCreator.gd" type="Script" id=37] +[ext_resource path="res://addons/escoria-wizard/help_window.tscn" type="PackedScene" id=38] + +[sub_resource type="SpriteFrames" id=1] +animations = [ { +"frames": [ ], +"loop": true, +"name": "default", +"speed": 5.0 +}, { +"frames": [ ], +"loop": true, +"name": "in_progress", +"speed": 5.0 +} ] + +[node name="CharacterCreator" type="MarginContainer"] +margin_right = 1290.0 +margin_bottom = 900.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/margin_right = 50 +custom_constants/margin_top = 50 +custom_constants/margin_left = 50 +custom_constants/margin_bottom = 50 +script = ExtResource( 37 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +margin_left = 50.0 +margin_top = 50.0 +margin_right = 1240.0 +margin_bottom = 850.0 + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer"] +margin_right = 1190.0 +margin_bottom = 14.0 + +[node name="node_name_colorrect2" type="ColorRect" parent="VBoxContainer/MarginContainer"] +margin_right = 1190.0 +margin_bottom = 14.0 +rect_min_size = Vector2( 400, 0 ) +color = Color( 0.235294, 0.341176, 0.290196, 1 ) + +[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer/MarginContainer"] +margin_right = 1190.0 +margin_bottom = 14.0 + +[node name="Label" type="Label" parent="VBoxContainer/MarginContainer/CenterContainer"] +margin_left = 527.0 +margin_right = 663.0 +margin_bottom = 14.0 +custom_colors/font_color = Color( 0.921569, 1, 0, 1 ) +custom_colors/font_color_shadow = Color( 0, 0, 0, 1 ) +text = "Character Creator" +uppercase = true + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"] +margin_top = 18.0 +margin_right = 1190.0 +margin_bottom = 800.0 +rect_min_size = Vector2( 1190, 550 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/separation = 20 + +[node name="configuration" type="MarginContainer" parent="VBoxContainer/HBoxContainer"] +margin_right = 400.0 +margin_bottom = 782.0 +rect_min_size = Vector2( 400, 550 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="node_name_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration"] +margin_right = 400.0 +margin_bottom = 782.0 +rect_min_size = Vector2( 400, 0 ) +color = Color( 0.235294, 0.341176, 0.290196, 1 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration"] +margin_right = 400.0 +margin_bottom = 782.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="node_name" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] +margin_right = 400.0 +margin_bottom = 130.0 +rect_min_size = Vector2( 400, 130 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name"] +margin_right = 400.0 +margin_bottom = 24.0 + +[node name="name_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +size_flags_vertical = 3 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 395.0 +margin_bottom = 19.0 +size_flags_vertical = 6 +text = "Node Details" + +[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name"] +margin_top = 28.0 +margin_right = 400.0 +margin_bottom = 108.0 +custom_constants/margin_left = 5 + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2"] +margin_left = 5.0 +margin_right = 400.0 +margin_bottom = 80.0 +columns = 3 + +[node name="node_name_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_top = 5.0 +margin_right = 91.0 +margin_bottom = 19.0 +text = "Name:" + +[node name="node_name" type="LineEdit" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_left = 95.0 +margin_right = 295.0 +margin_bottom = 24.0 +rect_min_size = Vector2( 200, 0 ) +hint_tooltip = "The will be the name of the node in your scene tree." +text = "replace_me" +caret_blink = true +caret_blink_speed = 0.5 + +[node name="Spacer" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_left = 299.0 +margin_right = 357.0 +margin_bottom = 24.0 + +[node name="global_id_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_top = 33.0 +margin_right = 91.0 +margin_bottom = 47.0 +text = "Global ID:" + +[node name="global_id" type="LineEdit" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_left = 95.0 +margin_top = 28.0 +margin_right = 295.0 +margin_bottom = 52.0 +rect_min_size = Vector2( 200, 0 ) +hint_tooltip = "The global id for the character to be used in ESC scripts." +caret_blink = true +caret_blink_speed = 0.5 + +[node name="Spacer2" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_left = 299.0 +margin_top = 28.0 +margin_right = 357.0 +margin_bottom = 52.0 + +[node name="character_path_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_top = 61.0 +margin_right = 91.0 +margin_bottom = 75.0 +text = "Save to folder:" + +[node name="character_path" type="LineEdit" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_left = 95.0 +margin_top = 56.0 +margin_right = 295.0 +margin_bottom = 80.0 +rect_min_size = Vector2( 200, 0 ) +hint_tooltip = "The directory on disk where the character scene will be saved." +text = "res://" +editable = false +caret_blink = true +caret_blink_speed = 0.5 + +[node name="character_path_change_button" type="Button" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer"] +margin_left = 299.0 +margin_top = 56.0 +margin_right = 357.0 +margin_bottom = 80.0 +text = "Change" + +[node name="charactertype" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] +margin_top = 134.0 +margin_right = 400.0 +margin_bottom = 186.0 +rect_min_size = Vector2( 400, 50 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype"] +margin_right = 400.0 +margin_bottom = 24.0 + +[node name="directions_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="direction_number_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 395.0 +margin_bottom = 19.0 +text = "Player or NPC?" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype"] +margin_top = 28.0 +margin_right = 400.0 +margin_bottom = 52.0 +custom_constants/separation = 50 +alignment = 1 + +[node name="player" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer"] +margin_left = 116.0 +margin_right = 183.0 +margin_bottom = 24.0 +hint_tooltip = "Create a user-controlled character" +pressed = true +text = "player" + +[node name="npc" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer"] +margin_left = 233.0 +margin_right = 284.0 +margin_bottom = 24.0 +hint_tooltip = "Create a non-player character" +text = "npc" + +[node name="directions" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] +margin_top = 190.0 +margin_right = 400.0 +margin_bottom = 242.0 +rect_min_size = Vector2( 400, 50 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions"] +margin_right = 400.0 +margin_bottom = 24.0 + +[node name="directions_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="direction_number_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 395.0 +margin_bottom = 19.0 +text = "Number of Directions" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions"] +margin_top = 28.0 +margin_right = 400.0 +margin_bottom = 52.0 +custom_constants/separation = 50 +alignment = 1 + +[node name="one_direction" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer"] +margin_left = 53.0 +margin_right = 89.0 +margin_bottom = 24.0 +hint_tooltip = "Create 4 directions of animation" +text = "1" + +[node name="two_directions" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer"] +margin_left = 139.0 +margin_right = 175.0 +margin_bottom = 24.0 +hint_tooltip = "Create 4 directions of animation" +text = "2" + +[node name="four_directions" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer"] +margin_left = 225.0 +margin_right = 261.0 +margin_bottom = 24.0 +hint_tooltip = "Create 4 directions of animation" +pressed = true +text = "4" + +[node name="eight_directions" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer"] +margin_left = 311.0 +margin_right = 347.0 +margin_bottom = 24.0 +hint_tooltip = "Create 8 directions of animation" +text = "8" + +[node name="animation" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer"] +margin_top = 246.0 +margin_right = 400.0 +margin_bottom = 684.0 +rect_min_size = Vector2( 400, 200 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation"] +margin_right = 400.0 +margin_bottom = 24.0 + +[node name="animation_type_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="animation_type_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 395.0 +margin_bottom = 19.0 +text = "Animation" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation"] +margin_top = 28.0 +margin_right = 400.0 +margin_bottom = 52.0 +custom_constants/separation = 20 +alignment = 1 + +[node name="walk_checkbox" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer"] +margin_left = 100.0 +margin_right = 156.0 +margin_bottom = 24.0 +hint_tooltip = "Configure walk animations" +pressed = true +text = "walk" + +[node name="talk_checkbox" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer"] +margin_left = 176.0 +margin_right = 227.0 +margin_bottom = 24.0 +hint_tooltip = "Configure talk animations" +text = "talk" + +[node name="idle_checkbox" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer"] +margin_left = 247.0 +margin_right = 299.0 +margin_bottom = 24.0 +hint_tooltip = "Configure idle animations" +text = "idle" + +[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation"] +margin_top = 56.0 +margin_right = 400.0 +margin_bottom = 106.0 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/MarginContainer2"] +margin_right = 400.0 +margin_bottom = 50.0 +rect_min_size = Vector2( 0, 50 ) + +[node name="HBoxContainer2" type="GridContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation"] +margin_top = 110.0 +margin_right = 400.0 +margin_bottom = 328.0 +columns = 5 + +[node name="Control" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_right = 50.0 +margin_bottom = 200.0 +rect_min_size = Vector2( 50, 0 ) + +[node name="HBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 54.0 +margin_right = 164.0 +margin_bottom = 200.0 + +[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer"] +margin_right = 110.0 +margin_bottom = 92.0 +custom_constants/margin_left = 5 + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2"] +margin_left = 5.0 +margin_right = 110.0 +margin_bottom = 92.0 +columns = 3 + +[node name="Container_upleft" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_right = 28.0 +margin_bottom = 28.0 + +[node name="set_dir_upleft" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upleft" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Up left animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 27 ) +texture_pressed = ExtResource( 30 ) +texture_hover = ExtResource( 30 ) + +[node name="unset_dir_upleft" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upleft" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Up left animation (unconfigured)" +toggle_mode = true +texture_normal = ExtResource( 15 ) +texture_pressed = ExtResource( 6 ) +texture_hover = ExtResource( 6 ) + +[node name="Container_up" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_left = 32.0 +margin_right = 60.0 +margin_bottom = 28.0 + +[node name="set_dir_up" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_up" groups=["direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Up animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 28 ) +texture_pressed = ExtResource( 23 ) +texture_hover = ExtResource( 23 ) + +[node name="unset_dir_up" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_up" groups=["direction_buttons"]] +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Up animation (unconfigured)" +toggle_mode = true +pressed = true +texture_normal = ExtResource( 20 ) +texture_pressed = ExtResource( 18 ) +texture_hover = ExtResource( 18 ) + +[node name="ColorRectSpacer" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_up"] +visible = false +modulate = Color( 0.235294, 0.341176, 0.290196, 1 ) +margin_right = 28.0 +margin_bottom = 28.0 +rect_min_size = Vector2( 28, 28 ) + +[node name="Container_upright" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_left = 64.0 +margin_right = 92.0 +margin_bottom = 28.0 + +[node name="unset_dir_upright" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upright" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Up right animation (unconfigured)" +toggle_mode = true +texture_normal = ExtResource( 14 ) +texture_pressed = ExtResource( 17 ) +texture_hover = ExtResource( 17 ) + +[node name="set_dir_upright" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upright" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Up right animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 16 ) +texture_pressed = ExtResource( 24 ) +texture_hover = ExtResource( 24 ) + +[node name="Container_left" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_top = 32.0 +margin_right = 28.0 +margin_bottom = 60.0 + +[node name="set_dir_left" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_left" groups=["direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Left animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 12 ) +texture_pressed = ExtResource( 26 ) +texture_hover = ExtResource( 26 ) + +[node name="unset_dir_left" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_left" groups=["direction_buttons"]] +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Left animation (unconfigured)" +toggle_mode = true +texture_normal = ExtResource( 21 ) +texture_pressed = ExtResource( 13 ) +texture_hover = ExtResource( 13 ) + +[node name="ColorRectSpacer" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_left"] +visible = false +modulate = Color( 0.235294, 0.341176, 0.290196, 1 ) +margin_right = 28.0 +margin_bottom = 28.0 +rect_min_size = Vector2( 28, 28 ) + +[node name="Container_centre" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_left = 32.0 +margin_top = 32.0 +margin_right = 60.0 +margin_bottom = 60.0 + +[node name="Container_right" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_left = 64.0 +margin_top = 32.0 +margin_right = 92.0 +margin_bottom = 60.0 + +[node name="set_dir_right" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_right" groups=["direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Right animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 3 ) +texture_pressed = ExtResource( 4 ) +texture_hover = ExtResource( 4 ) + +[node name="unset_dir_right" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_right" groups=["direction_buttons"]] +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Right animation (unconfigured)" +toggle_mode = true +texture_normal = ExtResource( 19 ) +texture_pressed = ExtResource( 2 ) +texture_hover = ExtResource( 2 ) + +[node name="Container_downleft" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_top = 64.0 +margin_right = 28.0 +margin_bottom = 92.0 + +[node name="unset_dir_downleft" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downleft" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Down left animation (unconfigured)" +toggle_mode = true +texture_normal = ExtResource( 35 ) +texture_pressed = ExtResource( 7 ) +texture_hover = ExtResource( 7 ) + +[node name="set_dir_downleft" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downleft" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Down left animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 11 ) +texture_pressed = ExtResource( 10 ) +texture_hover = ExtResource( 10 ) + +[node name="Container_down" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_left = 32.0 +margin_top = 64.0 +margin_right = 60.0 +margin_bottom = 92.0 + +[node name="set_dir_down" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_down" groups=["direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Down animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 1 ) +texture_pressed = ExtResource( 5 ) +texture_hover = ExtResource( 5 ) + +[node name="unset_dir_down" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_down" groups=["direction_buttons"]] +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Down animation (unconfigured)" +toggle_mode = true +texture_normal = ExtResource( 8 ) +texture_pressed = ExtResource( 33 ) +texture_hover = ExtResource( 33 ) + +[node name="ColorRectSpacer" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_down"] +visible = false +modulate = Color( 0.235294, 0.341176, 0.290196, 1 ) +margin_right = 28.0 +margin_bottom = 28.0 +rect_min_size = Vector2( 28, 28 ) + +[node name="Container_downright" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer"] +margin_left = 64.0 +margin_top = 64.0 +margin_right = 92.0 +margin_bottom = 92.0 + +[node name="set_dir_downright" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downright" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Down right animation (configured)" +toggle_mode = true +texture_normal = ExtResource( 25 ) +texture_pressed = ExtResource( 31 ) +texture_hover = ExtResource( 31 ) + +[node name="unset_dir_downright" type="TextureButton" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downright" groups=["8_direction_buttons", "direction_buttons"]] +visible = false +margin_right = 28.0 +margin_bottom = 28.0 +hint_tooltip = "Down right animation (unconfigured)" +toggle_mode = true +texture_normal = ExtResource( 34 ) +texture_pressed = ExtResource( 22 ) +texture_hover = ExtResource( 22 ) + +[node name="MarginContainer3" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer"] +margin_top = 96.0 +margin_right = 110.0 +margin_bottom = 161.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/margin_left = 15 + +[node name="mirror_checkbox" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer3"] +visible = false +margin_left = 15.0 +margin_right = 110.0 +margin_bottom = 65.0 +hint_tooltip = "Mirror opposite direction's animation" +text = "Mirror" + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer"] +margin_top = 165.0 +margin_right = 110.0 +margin_bottom = 200.0 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer"] +margin_right = 110.0 +margin_bottom = 35.0 +rect_min_size = Vector2( 0, 35 ) + +[node name="Control2" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 168.0 +margin_right = 218.0 +margin_bottom = 200.0 +rect_min_size = Vector2( 50, 0 ) + +[node name="preview" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 222.0 +margin_right = 342.0 +margin_bottom = 200.0 +rect_min_size = Vector2( 100, 200 ) + +[node name="anim_preview_background" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/preview"] +margin_right = 120.0 +margin_bottom = 200.0 +hint_tooltip = "Animation preview based on current animation settings" +color = Color( 0.215686, 0.207843, 0.207843, 1 ) + +[node name="MarginContainer" type="CenterContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/preview"] +margin_right = 120.0 +margin_bottom = 200.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="anim_preview_sprite" type="AnimatedSprite" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/preview/MarginContainer"] +visible = false +scale = Vector2( 0.05, 0.05 ) +frames = SubResource( 1 ) +animation = "in_progress" +playing = true +centered = false + +[node name="no_anim_found_sprite" type="TextureRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/preview/MarginContainer"] +margin_left = 10.0 +margin_right = 110.0 +margin_bottom = 200.0 +texture = ExtResource( 9 ) + +[node name="Control3" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 346.0 +margin_right = 396.0 +margin_bottom = 200.0 +rect_min_size = Vector2( 50, 0 ) + +[node name="Control4" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_top = 204.0 +margin_right = 50.0 +margin_bottom = 218.0 +rect_min_size = Vector2( 50, 0 ) + +[node name="current_direction_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 54.0 +margin_top = 204.0 +margin_right = 164.0 +margin_bottom = 218.0 +text = "Current Direction" + +[node name="Control5" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 168.0 +margin_top = 204.0 +margin_right = 218.0 +margin_bottom = 218.0 +rect_min_size = Vector2( 50, 0 ) + +[node name="anim_preview_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 222.0 +margin_top = 204.0 +margin_right = 342.0 +margin_bottom = 218.0 +text = "Animation Preview" + +[node name="Control6" type="Control" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2"] +margin_left = 346.0 +margin_top = 204.0 +margin_right = 396.0 +margin_bottom = 218.0 +rect_min_size = Vector2( 50, 0 ) + +[node name="MarginContainer3" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation"] +margin_top = 332.0 +margin_right = 400.0 +margin_bottom = 382.0 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/MarginContainer3"] +margin_right = 400.0 +margin_bottom = 50.0 +rect_min_size = Vector2( 0, 50 ) + +[node name="autosave" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation"] +margin_top = 386.0 +margin_right = 400.0 +margin_bottom = 438.0 +rect_min_size = Vector2( 400, 50 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave"] +margin_right = 400.0 +margin_bottom = 24.0 + +[node name="autosave_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="Autosave_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 395.0 +margin_bottom = 19.0 +text = "Autosave changes" + +[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave/MarginContainer"] +margin_right = 400.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="Autosave_label" type="Label" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave/MarginContainer/MarginContainer2"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 395.0 +margin_bottom = 19.0 +text = "Autosave changes" + +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave"] +margin_top = 28.0 +margin_right = 400.0 +margin_bottom = 52.0 +custom_constants/separation = 50 +alignment = 1 + +[node name="AutoStoreCheckBox" type="CheckBox" parent="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave/HBoxContainer"] +margin_left = 60.0 +margin_right = 339.0 +margin_bottom = 24.0 +hint_tooltip = "All changes in this tool are automatically saved for a quicker workflow." +text = "Auto-store all changes to this character" + +[node name="spritesheet" type="MarginContainer" parent="VBoxContainer/HBoxContainer"] +margin_left = 420.0 +margin_right = 870.0 +margin_bottom = 782.0 +rect_min_size = Vector2( 440, 550 ) +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="spritesheet_background" type="ColorRect" parent="VBoxContainer/HBoxContainer/spritesheet"] +margin_right = 450.0 +margin_bottom = 782.0 +mouse_filter = 1 +color = Color( 0.235294, 0.341176, 0.290196, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet"] +margin_right = 450.0 +margin_bottom = 782.0 +rect_min_size = Vector2( 450, 550 ) +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 445.0 +margin_bottom = 777.0 + +[node name="spritesheet_scroll_container" type="ScrollContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer"] +margin_right = 440.0 +margin_bottom = 714.0 +hint_tooltip = "Loaded spritesheet" +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="control" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/spritesheet_scroll_container"] +margin_right = 440.0 +margin_bottom = 714.0 +rect_min_size = Vector2( 192, 210 ) +mouse_filter = 1 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="spritesheet_area" type="ColorRect" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/spritesheet_scroll_container/control"] +margin_right = 440.0 +margin_bottom = 714.0 +mouse_filter = 1 +color = Color( 0.203922, 0.184314, 0.184314, 1 ) + +[node name="spritesheet_sprite" type="TextureRect" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/spritesheet_scroll_container/control"] +margin_right = 240.0 +margin_bottom = 25.0 +rect_min_size = Vector2( 240, 25 ) +size_flags_horizontal = 0 +size_flags_vertical = 0 +expand = true + +[node name="frame_rectangles" type="Control" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/spritesheet_scroll_container/control"] +margin_right = 440.0 +margin_bottom = 714.0 +mouse_filter = 1 +script = ExtResource( 36 ) +total_num_rows = 1 +total_num_columns = 1 +cell_size = Vector2( 1, 1 ) +zoom_factor = 0.01 + +[node name="MarginContainer" type="CenterContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/spritesheet_scroll_container/control"] +margin_right = 440.0 +margin_bottom = 714.0 +mouse_filter = 1 + +[node name="no_spritesheet_found_sprite" type="TextureRect" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/spritesheet_scroll_container/control/MarginContainer"] +margin_left = 20.0 +margin_top = 157.0 +margin_right = 420.0 +margin_bottom = 557.0 +texture = ExtResource( 29 ) + +[node name="zoom_scroll" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer"] +margin_top = 718.0 +margin_right = 440.0 +margin_bottom = 738.0 +rect_min_size = Vector2( 440, 0 ) + +[node name="zoom_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_scroll"] +margin_top = 3.0 +margin_right = 80.0 +margin_bottom = 17.0 +rect_min_size = Vector2( 80, 0 ) +text = "Zoom: 1x" + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_scroll"] +margin_left = 84.0 +margin_right = 388.0 +margin_bottom = 20.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="zoom_scrollbar" type="HScrollBar" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_scroll/MarginContainer"] +margin_right = 304.0 +margin_bottom = 20.0 +hint_tooltip = "Current spritesheet zoom level" +size_flags_horizontal = 3 +size_flags_vertical = 3 +min_value = 0.1 +max_value = 5.0 +value = 1.0 + +[node name="zoom_reset_button" type="Button" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_scroll"] +margin_left = 392.0 +margin_right = 440.0 +margin_bottom = 20.0 +hint_tooltip = "Reset spritesheet zoom" +text = "Reset" + +[node name="zoom_current" type="HBoxContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer"] +margin_top = 742.0 +margin_right = 440.0 +margin_bottom = 772.0 +rect_min_size = Vector2( 440, 30 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_current"] +margin_right = 128.0 +margin_bottom = 30.0 + +[node name="current_spritesheet" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_current/MarginContainer"] +margin_top = 8.0 +margin_right = 128.0 +margin_bottom = 22.0 +text = "Current spritesheet:" + +[node name="MarginContainer2" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_current"] +margin_left = 132.0 +margin_right = 440.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="current_spritesheet_label" type="TextEdit" parent="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_current/MarginContainer2"] +margin_right = 308.0 +margin_bottom = 30.0 +size_flags_horizontal = 3 +text = "No spritesheet loaded." +readonly = true + +[node name="spritesheet_controls" type="MarginContainer" parent="VBoxContainer/HBoxContainer"] +margin_left = 890.0 +margin_right = 1190.0 +margin_bottom = 782.0 +rect_min_size = Vector2( 300, 450 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 + +[node name="background_colorrect" type="ColorRect" parent="VBoxContainer/HBoxContainer/spritesheet_controls"] +margin_right = 300.0 +margin_bottom = 782.0 +color = Color( 0.235294, 0.341176, 0.290196, 1 ) + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls"] +margin_right = 300.0 +margin_bottom = 782.0 + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +margin_right = 300.0 +margin_bottom = 30.0 +custom_constants/margin_bottom = 6 + +[node name="name_colorrect3" type="ColorRect" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer"] +margin_right = 300.0 +margin_bottom = 24.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer"] +margin_right = 300.0 +margin_bottom = 24.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 +custom_constants/margin_bottom = 5 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 295.0 +margin_bottom = 19.0 +text = "Spritesheet Details" + +[node name="CenterContainer" type="CenterContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +margin_top = 34.0 +margin_right = 300.0 +margin_bottom = 54.0 + +[node name="load_spritesheet_button" type="Button" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/CenterContainer"] +margin_left = 90.0 +margin_right = 209.0 +margin_bottom = 20.0 +hint_tooltip = "Load a new spritesheet to create animations" +text = "Load spritesheet" + +[node name="spritesheet_details_container" type="CenterContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +margin_top = 58.0 +margin_right = 300.0 +margin_bottom = 256.0 + +[node name="GridContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container"] +margin_left = 20.0 +margin_right = 280.0 +margin_bottom = 198.0 +rect_min_size = Vector2( 260, 0 ) +custom_constants/vseparation = 10 +custom_constants/hseparation = 8 +columns = 2 + +[node name="h_frames_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_top = 5.0 +margin_right = 154.0 +margin_bottom = 19.0 +text = "Horizontal frames:" +align = 2 + +[node name="h_frames_spin_box" type="SpinBox" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_left = 162.0 +margin_right = 236.0 +margin_bottom = 24.0 +hint_tooltip = "Divide spritesheet into this many horizontal frames" +min_value = 1.0 +value = 1.0 +exp_edit = true +rounded = true + +[node name="v_frames_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_top = 39.0 +margin_right = 154.0 +margin_bottom = 53.0 +text = "Vertical frames:" +align = 2 + +[node name="v_frames_spin_box" type="SpinBox" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_left = 162.0 +margin_top = 34.0 +margin_right = 236.0 +margin_bottom = 58.0 +hint_tooltip = "Divide spritesheet into this many vertical frames" +min_value = 1.0 +value = 1.0 +rounded = true + +[node name="start_frame_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_top = 73.0 +margin_right = 154.0 +margin_bottom = 87.0 +text = "Start frame:" +align = 2 + +[node name="start_frame" type="SpinBox" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_left = 162.0 +margin_top = 68.0 +margin_right = 236.0 +margin_bottom = 92.0 +hint_tooltip = "Start frame to use for this animation" +max_value = 1000.0 +rounded = true + +[node name="end_frame_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_top = 107.0 +margin_right = 154.0 +margin_bottom = 121.0 +text = "End frame:" +align = 2 + +[node name="end_frame" type="SpinBox" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_left = 162.0 +margin_top = 102.0 +margin_right = 236.0 +margin_bottom = 126.0 +hint_tooltip = "End frame to use for this animation" +max_value = 1000.0 +rounded = true + +[node name="anim_speed_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_top = 136.0 +margin_right = 154.0 +margin_bottom = 150.0 +text = "Animation speed: 5 FPS" +align = 2 + +[node name="anim_speed_scroll_bar" type="HScrollBar" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_left = 162.0 +margin_top = 136.0 +margin_right = 236.0 +margin_bottom = 148.0 +hint_tooltip = "Speed of the current animation" +min_value = 1.0 +max_value = 60.0 +step = 1.0 +value = 5.0 +rounded = true + +[node name="original_size_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_top = 160.0 +margin_right = 154.0 +margin_bottom = 174.0 +text = "Source sprite size: (0, 0)" +align = 2 + +[node name="empty_node2" type="Control" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_left = 162.0 +margin_top = 160.0 +margin_right = 236.0 +margin_bottom = 174.0 + +[node name="frame_size_label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_top = 184.0 +margin_right = 154.0 +margin_bottom = 198.0 +text = "Frame size: (0, 0)" +align = 2 + +[node name="empty_node3" type="Control" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer"] +margin_left = 162.0 +margin_top = 184.0 +margin_right = 236.0 +margin_bottom = 198.0 + +[node name="empty_node" type="Control" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +margin_top = 260.0 +margin_right = 300.0 +margin_bottom = 310.0 +rect_min_size = Vector2( 0, 50 ) + +[node name="store_anim" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +visible = false +margin_top = 314.0 +margin_right = 300.0 +margin_bottom = 414.0 +rect_min_size = Vector2( 300, 100 ) +custom_constants/separation = 10 + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/store_anim"] +margin_right = 300.0 +margin_bottom = 36.0 + +[node name="name_colorrect2" type="ColorRect" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/store_anim/MarginContainer"] +margin_right = 300.0 +margin_bottom = 36.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/store_anim/MarginContainer"] +margin_right = 300.0 +margin_bottom = 36.0 +custom_constants/margin_right = 5 +custom_constants/margin_top = 5 +custom_constants/margin_left = 5 + +[node name="Label" type="Label" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/store_anim/MarginContainer/MarginContainer"] +margin_left = 5.0 +margin_top = 5.0 +margin_right = 295.0 +margin_bottom = 36.0 +size_flags_vertical = 6 +text = "Store Animation +" +valign = 1 + +[node name="CenterContainer2" type="CenterContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/store_anim"] +margin_top = 46.0 +margin_right = 300.0 +margin_bottom = 66.0 + +[node name="anim_store_button" type="Button" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/store_anim/CenterContainer2"] +margin_left = 92.0 +margin_right = 207.0 +margin_bottom = 20.0 +text = "Store Animation" + +[node name="MarginContainer2" type="CenterContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +margin_top = 314.0 +margin_right = 300.0 +margin_bottom = 379.0 + +[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer2"] +margin_left = 17.0 +margin_right = 283.0 +margin_bottom = 65.0 + +[node name="export_button" type="Button" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer2/VBoxContainer"] +margin_right = 266.0 +margin_bottom = 61.0 +hint_tooltip = "Export all animations to a Godot scene" +custom_colors/font_color = Color( 0, 1, 0.0392157, 1 ) +text = "Export Character to Godot Scene" +icon = ExtResource( 32 ) + +[node name="name_colorrect4" type="ColorRect" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer2/VBoxContainer"] +margin_top = 65.0 +margin_right = 266.0 +margin_bottom = 65.0 +color = Color( 0.215686, 0.478431, 0.235294, 1 ) + +[node name="empty_node2" type="Control" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +margin_top = 383.0 +margin_right = 300.0 +margin_bottom = 663.0 +rect_min_size = Vector2( 0, 280 ) + +[node name="MarginContainer3" type="CenterContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer"] +margin_top = 667.0 +margin_right = 300.0 +margin_bottom = 687.0 + +[node name="HBoxContainer" type="GridContainer" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer3"] +margin_left = 48.0 +margin_right = 251.0 +margin_bottom = 20.0 +custom_constants/hseparation = 15 +columns = 3 + +[node name="help_button" type="Button" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer3/HBoxContainer"] +margin_right = 42.0 +margin_bottom = 20.0 +hint_tooltip = "Export all animations to a Godot scene" +text = "Help" + +[node name="reset_button" type="Button" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer3/HBoxContainer"] +margin_left = 57.0 +margin_right = 105.0 +margin_bottom = 20.0 +text = "Reset" + +[node name="main_menu" type="Button" parent="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer3/HBoxContainer"] +margin_left = 120.0 +margin_right = 203.0 +margin_bottom = 20.0 +text = "Main Menu" + +[node name="ImageFileDialog" type="FileDialog" parent="."] +margin_left = 50.0 +margin_top = 50.0 +margin_right = 1240.0 +margin_bottom = 850.0 +popup_exclusive = true +window_title = "Open a File" +mode = 0 +access = 2 +filters = PoolStringArray( "*.png, *.jpg, *.jpeg ; Supported Images" ) + +[node name="CharacterPathFileDialog" type="FileDialog" parent="."] +margin_left = 50.0 +margin_top = 50.0 +margin_right = 1240.0 +margin_bottom = 850.0 +window_title = "Open a Directory" +mode = 2 + +[node name="InformationWindows" type="Control" parent="."] +visible = false +margin_left = 50.0 +margin_top = 50.0 +margin_right = 1240.0 +margin_bottom = 850.0 + +[node name="unstored_changes_window" type="WindowDialog" parent="InformationWindows"] +margin_left = 295.0 +margin_top = 154.0 +margin_right = 985.0 +margin_bottom = 454.0 +popup_exclusive = true +window_title = "WARNING : Unstored changes" + +[node name="Label" type="Label" parent="InformationWindows/unstored_changes_window"] +margin_left = 86.0 +margin_top = 57.0 +margin_right = 605.0 +margin_bottom = 156.0 +text = "WARNING : You have made changes to this animation which haven't been stored. + +You can +* Commit the changes, and then change to the selected direction. +* Lose the changes, and then change to the selected direction. +* Cancel the request to change directions and keep editing this direction." + +[node name="commit_button" type="Button" parent="InformationWindows/unstored_changes_window"] +margin_left = 45.0 +margin_top = 250.0 +margin_right = 215.0 +margin_bottom = 270.0 +text = "Commit changes" + +[node name="lose_button" type="Button" parent="InformationWindows/unstored_changes_window"] +margin_left = 260.0 +margin_top = 250.0 +margin_right = 430.0 +margin_bottom = 270.0 +text = "Lose changes" + +[node name="cancel_button" type="Button" parent="InformationWindows/unstored_changes_window"] +margin_left = 475.0 +margin_top = 250.0 +margin_right = 645.0 +margin_bottom = 270.0 +text = "Cancel and keep editing" + +[node name="unstored_changes_window_anim_change" type="WindowDialog" parent="InformationWindows"] +margin_left = 295.0 +margin_top = 154.0 +margin_right = 985.0 +margin_bottom = 454.0 +popup_exclusive = true +window_title = "WARNING : Unstored changes" + +[node name="Label" type="Label" parent="InformationWindows/unstored_changes_window_anim_change"] +margin_left = 86.0 +margin_top = 57.0 +margin_right = 605.0 +margin_bottom = 156.0 +text = "WARNING : You have made changes to this animation which haven't been stored. + +You can +* Commit the changes, and then change to the selected direction. +* Lose the changes, and then change to the selected direction. +* Cancel the request to change directions and keep editing this direction." + +[node name="commit_button" type="Button" parent="InformationWindows/unstored_changes_window_anim_change"] +margin_left = 45.0 +margin_top = 250.0 +margin_right = 215.0 +margin_bottom = 270.0 +text = "Commit changes" + +[node name="lose_button" type="Button" parent="InformationWindows/unstored_changes_window_anim_change"] +margin_left = 260.0 +margin_top = 250.0 +margin_right = 430.0 +margin_bottom = 270.0 +text = "Lose changes" + +[node name="cancel_button" type="Button" parent="InformationWindows/unstored_changes_window_anim_change"] +margin_left = 475.0 +margin_top = 250.0 +margin_right = 645.0 +margin_bottom = 270.0 +text = "Cancel and keep editing" + +[node name="generic_error_window" type="AcceptDialog" parent="InformationWindows"] +margin_left = 343.0 +margin_top = 242.0 +margin_right = 943.0 +margin_bottom = 402.0 +input_pass_on_modal_close_click = false +popup_exclusive = true +dialog_text = "Please load a spritesheet to begin." + +[node name="export_progress" type="WindowDialog" parent="InformationWindows"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -151.0 +margin_top = -87.0 +margin_right = 249.0 +margin_bottom = 113.0 +size_flags_horizontal = 3 +popup_exclusive = true +window_title = "Export Status" + +[node name="progress_label" type="Label" parent="InformationWindows/export_progress"] +anchor_left = 0.5 +anchor_right = 0.5 +margin_left = -200.0 +margin_top = 30.0 +margin_right = 200.0 +margin_bottom = 78.0 +size_flags_horizontal = 3 +size_flags_vertical = 5 +text = "Exporting animations to ESCPlayer node." +align = 1 + +[node name="progress_bar" type="ProgressBar" parent="InformationWindows/export_progress"] +margin_left = 50.0 +margin_top = 100.0 +margin_right = 350.0 +margin_bottom = 130.0 +max_value = 31.0 +rounded = true + +[node name="export_complete" type="AcceptDialog" parent="InformationWindows"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -208.0 +margin_top = -132.0 +margin_right = 309.0 +margin_bottom = 147.0 +window_title = "Export complete" +dialog_text = "The new ESCPlayer node has now been exported. +For your convenience, it has been automatically opened in the Godot editor. + +Some actions you may now want to perform: + +* A dialog position node has been created. This is where text will appear when +the player talks. You will want to move this either above the character's head +or below their feet. + +* The CollisionShape child node defines the bounds of the character. You may +want to resize or change the shape assigned to this node. + +* You should move all child nodes down so the crosshairs are directly between +the character's feet. This ensures that where you click lines up with where the +character walks to. + +* If you want to swap a player character to an NPC, change the parent node +from an ESCPlayer to an ESCItem. Similarly, change an NPC to a player +character by changing the parent node to an ESCPlayer node. +" + +[node name="help_window" parent="InformationWindows" instance=ExtResource( 38 )] + +[node name="ConfirmationDialog" type="ConfirmationDialog" parent="InformationWindows"] +margin_left = 479.0 +margin_top = 312.0 +margin_right = 817.0 +margin_bottom = 404.0 +popup_exclusive = true +dialog_text = "WARNING! + +If you continue you will lose the current character." + +[node name="MainMenuConfirmation" type="ConfirmationDialog" parent="InformationWindows"] +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +margin_left = -122.5 +margin_top = -46.0 +margin_right = 122.5 +margin_bottom = 46.0 +dialog_text = "If you return to the main menu +you will lose your current character. +" + +[connection signal="text_changed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer/node_name" to="." method="nodename_on_node_name_text_changed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/node_name/MarginContainer2/GridContainer/character_path_change_button" to="." method="_on_character_path_change_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer/player" to="." method="_on_player_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/charactertype/HBoxContainer/npc" to="." method="_on_npc_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer/one_direction" to="." method="directions_on_one_direction_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer/two_directions" to="." method="directions_on_two_directions_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer/four_directions" to="." method="directions_on_four_directions_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/directions/HBoxContainer/eight_directions" to="." method="directions_on_eight_directions_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer/walk_checkbox" to="." method="animation_on_walk_checkbox_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer/talk_checkbox" to="." method="animation_on_talk_checkbox_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer/idle_checkbox" to="." method="animation_on_idle_checkbox_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upleft/set_dir_upleft" to="." method="animation_on_dir_upleft_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upleft/unset_dir_upleft" to="." method="animation_on_dir_upleft_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_up/set_dir_up" to="." method="animation_on_dir_up_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_up/unset_dir_up" to="." method="animation_on_dir_up_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upright/unset_dir_upright" to="." method="animation_on_dir_upright_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_upright/set_dir_upright" to="." method="animation_on_dir_upright_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_left/set_dir_left" to="." method="animation_on_dir_left_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_left/unset_dir_left" to="." method="animation_on_dir_left_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_right/set_dir_right" to="." method="animation_on_dir_right_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_right/unset_dir_right" to="." method="animation_on_dir_right_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downleft/unset_dir_downleft" to="." method="animation_on_dir_downleft_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downleft/set_dir_downleft" to="." method="animation_on_dir_downleft_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_down/set_dir_down" to="." method="animation_on_dir_down_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_down/unset_dir_down" to="." method="animation_on_dir_down_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downright/set_dir_downright" to="." method="animation_on_dir_downright_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer2/GridContainer/Container_downright/unset_dir_downright" to="." method="animation_on_dir_downright_pressed"] +[connection signal="toggled" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/HBoxContainer2/HBoxContainer/MarginContainer3/mirror_checkbox" to="." method="animation_on_mirror_checkbox_toggled"] +[connection signal="toggled" from="VBoxContainer/HBoxContainer/configuration/VBoxContainer/animation/autosave/HBoxContainer/AutoStoreCheckBox" to="." method="_on_AutoStoreCheckBox_toggled"] +[connection signal="gui_input" from="VBoxContainer/HBoxContainer/spritesheet" to="." method="_on_spritesheet_gui_input"] +[connection signal="gui_input" from="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/spritesheet_scroll_container/control" to="." method="_on_control_gui_input"] +[connection signal="value_changed" from="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_scroll/MarginContainer/zoom_scrollbar" to="." method="spritesheet_on_zoom_scrollbar_value_changed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/spritesheet/MarginContainer/VBoxContainer/zoom_scroll/zoom_reset_button" to="." method="spritesheet_on_zoom_reset_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/CenterContainer/load_spritesheet_button" to="." method="spritesheet_on_load_spritesheet_button_pressed"] +[connection signal="changed" from="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/spritesheet_details_container/GridContainer/anim_speed_scroll_bar" to="." method="controls_on_anim_speed_scroll_bar_value_changed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/store_anim/CenterContainer2/anim_store_button" to="." method="store_on_anim_store_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer2/VBoxContainer/export_button" to="." method="spritesheet_on_export_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer3/HBoxContainer/help_button" to="." method="spritesheet_on_help_button_pressed"] +[connection signal="pressed" from="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer3/HBoxContainer/reset_button" to="." method="spritesheet_on_reset_button_pressed"] +[connection signal="button_up" from="VBoxContainer/HBoxContainer/spritesheet_controls/VBoxContainer/MarginContainer3/HBoxContainer/main_menu" to="." method="spritesheet_on_main_menu_button_up"] +[connection signal="file_selected" from="ImageFileDialog" to="." method="controls_on_FileDialog_file_selected"] +[connection signal="dir_selected" from="CharacterPathFileDialog" to="." method="_on_CharacterPathFileDialog_dir_selected"] +[connection signal="pressed" from="InformationWindows/unstored_changes_window/commit_button" to="." method="unstored_warning_on_commit_button_pressed"] +[connection signal="pressed" from="InformationWindows/unstored_changes_window/lose_button" to="." method="unstored_warning_on_lose_button_pressed"] +[connection signal="pressed" from="InformationWindows/unstored_changes_window/cancel_button" to="." method="unstored_warning_on_cancel_button_pressed"] +[connection signal="pressed" from="InformationWindows/unstored_changes_window_anim_change/commit_button" to="." method="unstored_animchange_warning_on_commit_button_pressed"] +[connection signal="pressed" from="InformationWindows/unstored_changes_window_anim_change/lose_button" to="." method="unstored_animchange_warning_on_lose_button_pressed"] +[connection signal="pressed" from="InformationWindows/unstored_changes_window_anim_change/cancel_button" to="." method="unstored_animchange_warning_on_cancel_button_pressed"] +[connection signal="confirmed" from="InformationWindows/ConfirmationDialog" to="." method="spritesheet_on_reset_confirmed"] +[connection signal="confirmed" from="InformationWindows/MainMenuConfirmation" to="." method="spritesheet_on_MainMenuConfirmation_confirmed"] diff --git a/addons/escoria-wizard/item_creator.gd b/addons/escoria-wizard/item_creator.gd index 53d81c1d..14439d32 100644 --- a/addons/escoria-wizard/item_creator.gd +++ b/addons/escoria-wizard/item_creator.gd @@ -158,10 +158,16 @@ func _on_CreateButton_pressed() -> void: item.global_id = get_node(GLOBAL_ID_NODE).text item.is_interactive = get_node(INTERACTIVE_NODE).pressed item.tooltip_name = get_node(ITEM_NAME_NODE).text - + var selected_index = get_node(ACTION_NODE).selected item.default_action = get_node(ACTION_NODE).get_item_text(selected_index) + # Make the item by default it's usable straight out of the inventory + if inventory_mode == true: + var new_pool_array: PoolStringArray = item.combine_when_selected_action_is_in + new_pool_array.append("use") + item.combine_when_selected_action_is_in = new_pool_array + # Add Dialog Position to the background item var interact_position = ESCLocation.new() interact_position.name = "interact_position"