diff --git a/Autoload/Slabs.gd b/Autoload/Slabs.gd index 2d548a33..c53d6a6c 100644 --- a/Autoload/Slabs.gd +++ b/Autoload/Slabs.gd @@ -134,6 +134,22 @@ enum { FAKE_RECOGNIZED_AS, FAKE_WIBBLE_EDGES, } +enum { + DOORSLAB_THING = 0, + DOORSLAB_ORIENTATION = 1, +} +#Slabs.door_data[slabID][DOORSLAB_THING] +#Slabs.door_data[slabID][DOORSLAB_ORIENTATION] +var door_data = { # Refer to Things.DATA_DOOR for door subtypes + WOODEN_DOOR_1 : [1,1], + WOODEN_DOOR_2 : [1,0], + BRACED_DOOR_1 : [2,1], + BRACED_DOOR_2 : [2,0], + IRON_DOOR_1 : [3,1], + IRON_DOOR_2 : [3,0], + MAGIC_DOOR_1 : [4,1], + MAGIC_DOOR_2 : [4,0], +} var fake_extra_data = { # 1000: [cube_data, floor_data, recognized_as, wibble_edges] } diff --git a/Autoload/Things.gd b/Autoload/Things.gd index c2e749d7..fc1e5c0e 100644 --- a/Autoload/Things.gd +++ b/Autoload/Things.gd @@ -131,8 +131,7 @@ var DATA_EXTRA = { 1 : ["Action Point", null, null, preload("res://Art/ActionPoint.png"), null, TAB_ACTION], 2 : ["Light", null, null, preload("res://edited_images/GUIEDIT-1/PIC26.png"), null, TAB_EFFECTGEN], } - -var DATA_DOOR = { +var DATA_DOOR = { # 0 : [null, null, null, null, null, null], 1 : ["Wooden Door", null, null, preload("res://dk_images/trapdoor_64/door_pers_wood_std.png"), null, TAB_MISC], 2 : ["Braced Door", null, null, preload("res://dk_images/trapdoor_64/door_pers_braced_std.png"), null, TAB_MISC], diff --git a/Scenes/AddCustomSlabWindow.gd b/Scenes/AddCustomSlabWindow.gd index e4e0c3aa..46e8a84e 100644 --- a/Scenes/AddCustomSlabWindow.gd +++ b/Scenes/AddCustomSlabWindow.gd @@ -23,7 +23,12 @@ onready var oFakeCustomColumnsPanelContainer = Nodelist.list["oFakeCustomColumns onready var oSlabBitmaskOptionButton = Nodelist.list["oSlabBitmaskOptionButton"] onready var oSlabIsSolidOptionButton = Nodelist.list["oSlabIsSolidOptionButton"] onready var oSlabOwnableOptionButton = Nodelist.list["oSlabOwnableOptionButton"] +onready var oPassageLabel = Nodelist.list["oPassageLabel"] +onready var oCustomDoorThingLabel = Nodelist.list["oCustomDoorThingLabel"] +onready var oCustomDoorThing = Nodelist.list["oCustomDoorThing"] +onready var oCustomDoorThingEmptySpace = Nodelist.list["oCustomDoorThingEmptySpace"] +onready var oCustomDoorThingIDNameLabel = Nodelist.list["oCustomDoorThingIDNameLabel"] var scnColumnSetter = preload('res://Scenes/ColumnSetter.tscn') var customSlabArrayOfSpinbox = [] @@ -41,7 +46,7 @@ func _ready(): oGridContainerCustomColumns3x3.add_child(id) _on_CustomSlabID_value_changed(oCustomSlabID.value) - + _on_SlabBitmaskOptionButton_item_selected(0) func _on_AddCustomSlabWindow_visibility_changed(): if visible == true: @@ -106,15 +111,22 @@ func _on_AddCustomSlabButton_pressed(): "is_solid": bool(oSlabIsSolidOptionButton.get_selected_id()), "ownable": bool(oSlabOwnableOptionButton.get_selected_id()), } + if oSlabBitmaskOptionButton.get_selected_id() == Slabs.BITMASK_DOOR1: + slab_dict["door_thing"] = int(oCustomDoorThing.value) + slab_dict["door_orientation"] = 1 + oCustomSlabSystem.add_custom_slab(slab_dict) + # Add DOOR 2 automatically if oSlabBitmaskOptionButton.get_selected_id() == Slabs.BITMASK_DOOR1: var second_slab_dict = slab_dict.duplicate(true) var IdOfDoor2 = int(oCustomSlabID.value+1) - second_slab_dict.header_id = newID+1 - second_slab_dict.recognized_as = IdOfDoor2 + second_slab_dict["header_id"] = newID+1 + second_slab_dict["recognized_as"] = IdOfDoor2 + second_slab_dict["door_orientation"] = 0 + second_slab_dict["bitmask"] = Slabs.BITMASK_DOOR2 oCustomSlabSystem.add_custom_slab(second_slab_dict) - oMessage.big("Note", "ID: " + str(IdOfDoor2) + " was also added, it's assumed to be the other door direction.") + oMessage.big("Note", "Slab ID: " + str(IdOfDoor2) + " was also added, it's assumed to be the other door direction.") oPickSlabWindow.add_slabs() oSlabTabs.current_tab = Slabs.TAB_CUSTOM @@ -182,3 +194,32 @@ func _on_HelpCustomSlabsButton_pressed(): var helptext = "" helptext += "After adding a custom slab, right click on its portrait within the slab selection window to remove it from the editor." oMessage.big("Help",helptext) + + + +func _on_SlabBitmaskOptionButton_item_selected(index): + if index == Slabs.BITMASK_DOOR1: + oSlabIsSolidOptionButton.selected = 0 # Empty + + oSlabIsSolidOptionButton.visible = false + oPassageLabel.visible = false + + oCustomDoorThingLabel.visible = true + oCustomDoorThing.visible = true + oCustomDoorThingEmptySpace.visible = true + oCustomDoorThingIDNameLabel.visible = true + else: + oSlabIsSolidOptionButton.visible = true + oPassageLabel.visible = true + + oCustomDoorThingLabel.visible = false + oCustomDoorThing.visible = false + oCustomDoorThingEmptySpace.visible = false + oCustomDoorThingIDNameLabel.visible = false + +func _on_CustomDoorThing_value_changed(value): + var doorIDName = "Unknown" + value = int(value) + if Things.DATA_DOOR.has(value): + doorIDName = Things.DATA_DOOR[value][Slabs.NAME] + oCustomDoorThingIDNameLabel.text = doorIDName diff --git a/Scenes/CustomSlabSystem.gd b/Scenes/CustomSlabSystem.gd index 79dba086..a3ef73ca 100644 --- a/Scenes/CustomSlabSystem.gd +++ b/Scenes/CustomSlabSystem.gd @@ -45,52 +45,65 @@ func load_file(): "floor_data": slabFloorData, "bitmask": cfg.get_value(section, "bitmask", Slabs.BITMASK_FLOOR), "is_solid": cfg.get_value(section, "is_solid", Slabs.FLOOR_SLAB), - "ownable": cfg.get_value(section, "ownable", Slabs.OWNABLE) + "ownable": cfg.get_value(section, "ownable", Slabs.OWNABLE), } + var retrieve_value + retrieve_value = cfg.get_value(section, "door_thing", null) # Default = null + if retrieve_value != null: slab_dict["door_thing"] = retrieve_value + retrieve_value = cfg.get_value(section, "door_orientation", null) + if retrieve_value != null: slab_dict["door_orientation"] = retrieve_value + add_custom_slab(slab_dict) func add_custom_slab(slab_dict): - #var newID = slab_dict.id - #var section = 'slab'+str(newID) - Slabs.data[slab_dict.header_id] = [ - slab_dict.name, - slab_dict.is_solid, - slab_dict.bitmask, + var head_id = slab_dict["header_id"] + var section = 'slab'+str(head_id) + if head_id >= 1000: + Slabs.fake_extra_data[head_id] = [ + slab_dict["cube_data"], + slab_dict["floor_data"], + slab_dict["recognized_as"], + slab_dict["wibble_edges"], + ] + Slabs.data[head_id] = [ + slab_dict["name"], + slab_dict["is_solid"], + slab_dict["bitmask"], Slabs.PANEL_TOP_VIEW, 0, # SIDE_VIEW_Z_OFFSET Slabs.TAB_CUSTOM, - slab_dict.wibble_type, - slab_dict.liquid_type, - slab_dict.ownable, + slab_dict["wibble_type"], + slab_dict["liquid_type"], + slab_dict["ownable"], ] - if slab_dict.header_id >= 1000: - Slabs.fake_extra_data[slab_dict.header_id] = [ - slab_dict.cube_data, - slab_dict.floor_data, - slab_dict.recognized_as, - slab_dict.wibble_edges, - ] + cfg.set_value(section,"name", slab_dict["name"]) + cfg.set_value(section,"recognized_as", slab_dict["recognized_as"]) + cfg.set_value(section,"liquid_type", slab_dict["liquid_type"]) + cfg.set_value(section,"wibble_type", slab_dict["wibble_type"]) + cfg.set_value(section,"wibble_edges", slab_dict["wibble_edges"]) + cfg.set_value(section,"bitmask", slab_dict["bitmask"]) + cfg.set_value(section,"is_solid", slab_dict["is_solid"]) + cfg.set_value(section,"ownable", slab_dict["ownable"]) - var section = 'slab'+str(slab_dict.header_id) - cfg.set_value(section,"name", slab_dict.name) - cfg.set_value(section,"recognized_as", slab_dict.recognized_as) - cfg.set_value(section,"liquid_type", slab_dict.liquid_type) - cfg.set_value(section,"wibble_type", slab_dict.wibble_type) - cfg.set_value(section,"wibble_edges", slab_dict.wibble_edges) - cfg.set_value(section,"bitmask", slab_dict.bitmask) - cfg.set_value(section,"is_solid", slab_dict.is_solid) - cfg.set_value(section,"ownable", slab_dict.ownable) + if slab_dict.has("door_thing") and slab_dict.has("door_orientation"): + cfg.set_value(section,"door_thing", slab_dict["door_thing"]) + cfg.set_value(section,"door_orientation", slab_dict["door_orientation"]) + Slabs.door_data[head_id] = [ + slab_dict["door_thing"], + slab_dict["door_orientation"], + ] for i in 9: - if slab_dict.cube_data.size() > 0: - cfg.set_value(section,"cubes"+str(i),slab_dict.cube_data[i]) - if slab_dict.floor_data.size() > 0: - cfg.set_value(section,"floor"+str(i),slab_dict.floor_data[i]) + if slab_dict["cube_data"].size() > 0: + cfg.set_value(section,"cubes"+str(i),slab_dict["cube_data"][i]) + if slab_dict["floor_data"].size() > 0: + cfg.set_value(section,"floor"+str(i),slab_dict["floor_data"][i]) cfg.save(Settings.unearthdata.plus_file("custom_slabs.cfg")) + func remove_custom_slab(header_id): oPickSlabWindow.set_selection(null) var statusOfRemoval = Slabs.data.erase(header_id) diff --git a/Scenes/Instances.gd b/Scenes/Instances.gd index 5b26fdb7..76f07314 100644 --- a/Scenes/Instances.gd +++ b/Scenes/Instances.gd @@ -294,32 +294,11 @@ func place_new_thing(newThingType, newSubtype, newPosition, newOwnership): # Pla Things.TYPE.DOOR: id.index = get_free_index_number() id.doorLocked = oPlacingSettings.doorLocked - if newSubtype == 0: id.subtype = 1 #Depending on whether it was placed via autoslab or a hand placed Thing object. - match slabID: - Slabs.WOODEN_DOOR_1: - id.subtype = 1 - id.doorOrientation = 1 - Slabs.WOODEN_DOOR_2: - id.subtype = 1 - id.doorOrientation = 0 - Slabs.BRACED_DOOR_1: - id.subtype = 2 - id.doorOrientation = 1 - Slabs.BRACED_DOOR_2: - id.subtype = 2 - id.doorOrientation = 0 - Slabs.IRON_DOOR_1: - id.subtype = 3 - id.doorOrientation = 1 - Slabs.IRON_DOOR_2: - id.subtype = 3 - id.doorOrientation = 0 - Slabs.MAGIC_DOOR_1: - id.subtype = 4 - id.doorOrientation = 1 - Slabs.MAGIC_DOOR_2: - id.subtype = 4 - id.doorOrientation = 0 + if newSubtype == 0: + id.subtype = 1 #Depending on whether it was placed via autoslab or a hand placed Thing object. + if Slabs.door_data.has(slabID): + id.subtype = Slabs.door_data[slabID][Slabs.DOORSLAB_THING] + id.doorOrientation = Slabs.door_data[slabID][Slabs.DOORSLAB_ORIENTATION] add_child(id) #print('Thing placed in : '+str(OS.get_ticks_msec()-CODETIME_START)+'ms') diff --git a/Scenes/Main.tscn b/Scenes/Main.tscn index c37c9946..13ce4a1e 100644 --- a/Scenes/Main.tscn +++ b/Scenes/Main.tscn @@ -5189,19 +5189,19 @@ stretch_mode = 4 [node name="PanelContainer" type="PanelContainer" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2"] margin_top = 90.0 margin_right = 347.0 -margin_bottom = 354.0 +margin_bottom = 414.0 size_flags_horizontal = 3 [node name="VBoxContainer" type="VBoxContainer" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer"] margin_left = 9.0 margin_top = 9.0 margin_right = 338.0 -margin_bottom = 255.0 +margin_bottom = 315.0 size_flags_horizontal = 3 [node name="GridContainer" type="GridContainer" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer"] margin_right = 329.0 -margin_bottom = 246.0 +margin_bottom = 306.0 size_flags_horizontal = 3 columns = 2 __meta__ = { @@ -5225,6 +5225,7 @@ margin_bottom = 31.0 rect_min_size = Vector2( 150, 0 ) hint_tooltip = "The name to display inside slab picker window." size_flags_horizontal = 10 +text = "Unnamed" __meta__ = { "_edit_use_anchors_": false } @@ -5267,70 +5268,88 @@ text = "Test" align = 2 autowrap = true -[node name="Label" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +[node name="Label5" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] margin_top = 98.0 margin_right = 175.0 margin_bottom = 119.0 -hint_tooltip = ".wib value" -text = "Wibble" +text = "Slab type" __meta__ = { "_edit_use_anchors_": false } -[node name="SlabWibbleOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +[node name="SlabBitmaskOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] margin_left = 179.0 margin_top = 95.0 margin_right = 329.0 margin_bottom = 122.0 rect_min_size = Vector2( 150, 0 ) -hint_tooltip = "Sets whether the slab will have a clean appearance, a deformed appearance, or a wavy appearance." +hint_tooltip = "Editor placement rules" size_flags_horizontal = 10 -text = "On" -items = [ "Off", null, false, 0, null, "On", null, false, 1, null, "Animated", null, false, 2, null ] -selected = 1 +text = "Floor" +items = [ "Floor", null, false, 0, null, "Block", null, false, 1, null, "Simple", null, false, 2, null, "Reinforced", null, false, 3, null, "Claimed", null, false, 4, null, "Door EW", null, false, 5, null, "Door NS", null, true, 6, null ] +selected = 0 -[node name="WibbleEdgesSpacing" type="Control" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] -visible = false -margin_top = 188.0 +[node name="CustomDoorThingLabel" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +margin_top = 131.0 margin_right = 175.0 -margin_bottom = 209.0 +margin_bottom = 152.0 +hint_tooltip = ".wib value" +text = "Door thing" __meta__ = { "_edit_use_anchors_": false } -[node name="WibbleEdgesCheckBox" type="CheckBox" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] -visible = false -margin_top = 157.0 -margin_right = 148.0 -margin_bottom = 186.0 -hint_tooltip = "Set the wibble value of the position inbetween slabs as well." -text = "Include edges" +[node name="CustomDoorThing" type="SpinBox" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +margin_left = 255.0 +margin_top = 126.0 +margin_right = 329.0 +margin_bottom = 157.0 +hint_tooltip = "This is the Door Thing ID that spawns alongside the Door Slab" +mouse_filter = 1 +size_flags_horizontal = 8 +max_value = 255.0 +rounded = true +script = ExtResource( 81 ) __meta__ = { "_edit_use_anchors_": false } -[node name="Label7" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] -margin_top = 129.0 +[node name="CustomDoorThingEmptySpace" type="Control" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +margin_top = 161.0 margin_right = 175.0 -margin_bottom = 150.0 -text = "Ownable" +margin_bottom = 182.0 -[node name="SlabOwnableOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +[node name="CustomDoorThingIDNameLabel" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] margin_left = 179.0 -margin_top = 126.0 +margin_top = 161.0 +margin_right = 329.0 +margin_bottom = 182.0 +text = "Nodoor" +align = 2 +autowrap = true + +[node name="PassageLabel" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +margin_top = 189.0 +margin_right = 175.0 +margin_bottom = 210.0 +text = "Passage" + +[node name="SlabIsSolidOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +margin_left = 179.0 +margin_top = 186.0 margin_right = 329.0 -margin_bottom = 153.0 +margin_bottom = 213.0 rect_min_size = Vector2( 150, 0 ) hint_tooltip = "Editor placement rules" size_flags_horizontal = 10 -text = "Yes" -items = [ "No", null, false, 0, null, "Yes", null, false, 1, null ] -selected = 1 +text = "Empty" +items = [ "Empty", null, false, 0, null, "Blocked", null, false, 1, null ] +selected = 0 [node name="Label4" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] -margin_top = 160.0 +margin_top = 220.0 margin_right = 175.0 -margin_bottom = 181.0 +margin_bottom = 241.0 hint_tooltip = ".wlb value" text = "Liquid" __meta__ = { @@ -5339,9 +5358,9 @@ __meta__ = { [node name="SlabLiquidOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] margin_left = 179.0 -margin_top = 157.0 +margin_top = 217.0 margin_right = 329.0 -margin_bottom = 184.0 +margin_bottom = 244.0 rect_min_size = Vector2( 150, 0 ) hint_tooltip = "If a bridge is placed on this slab, this indicates what's underneath the bridge." size_flags_horizontal = 10 @@ -5349,49 +5368,70 @@ text = "No" items = [ "No", null, false, 0, null, "Lava", null, false, 1, null, "Water", null, false, 2, null ] selected = 0 -[node name="Label6" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] -margin_top = 191.0 +[node name="Label7" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +margin_top = 251.0 margin_right = 175.0 -margin_bottom = 212.0 -text = "Passage" +margin_bottom = 272.0 +text = "Ownable" -[node name="SlabIsSolidOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +[node name="SlabOwnableOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] margin_left = 179.0 -margin_top = 188.0 +margin_top = 248.0 margin_right = 329.0 -margin_bottom = 215.0 +margin_bottom = 275.0 rect_min_size = Vector2( 150, 0 ) hint_tooltip = "Editor placement rules" size_flags_horizontal = 10 -text = "Empty" -items = [ "Empty", null, false, 0, null, "Blocked", null, false, 1, null ] -selected = 0 +text = "Yes" +items = [ "No", null, false, 0, null, "Yes", null, false, 1, null ] +selected = 1 -[node name="Label5" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] -margin_top = 222.0 +[node name="Label" type="Label" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +margin_top = 282.0 margin_right = 175.0 -margin_bottom = 243.0 -text = "Bitmask" +margin_bottom = 303.0 +hint_tooltip = ".wib value" +text = "Wibble" __meta__ = { "_edit_use_anchors_": false } -[node name="SlabBitmaskOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +[node name="SlabWibbleOptionButton" type="OptionButton" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] margin_left = 179.0 -margin_top = 219.0 +margin_top = 279.0 margin_right = 329.0 -margin_bottom = 246.0 +margin_bottom = 306.0 rect_min_size = Vector2( 150, 0 ) -hint_tooltip = "Editor placement rules" +hint_tooltip = "Sets whether the slab will have a clean appearance, a deformed appearance, or a wavy appearance." size_flags_horizontal = 10 -text = "Floor" -items = [ "Floor", null, false, 0, null, "Block", null, false, 1, null, "Simple", null, false, 2, null, "Reinforced", null, false, 3, null, "Claimed", null, false, 4, null, "Door EW", null, false, 5, null, "Door NS", null, true, 6, null ] -selected = 0 +text = "On" +items = [ "Off", null, false, 0, null, "On", null, false, 1, null, "Animated", null, false, 2, null ] +selected = 1 + +[node name="WibbleEdgesSpacing" type="Control" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +visible = false +margin_top = 188.0 +margin_right = 175.0 +margin_bottom = 209.0 +__meta__ = { +"_edit_use_anchors_": false +} + +[node name="WibbleEdgesCheckBox" type="CheckBox" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer"] +visible = false +margin_top = 157.0 +margin_right = 148.0 +margin_bottom = 186.0 +hint_tooltip = "Set the wibble value of the position inbetween slabs as well." +text = "Include edges" +__meta__ = { +"_edit_use_anchors_": false +} [node name="FakeCustomColumnsPanelContainer" type="PanelContainer" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2"] -margin_top = 358.0 +margin_top = 418.0 margin_right = 347.0 -margin_bottom = 401.0 +margin_bottom = 461.0 [node name="VBoxContainer" type="VBoxContainer" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/FakeCustomColumnsPanelContainer"] margin_left = 9.0 @@ -5417,9 +5457,9 @@ size_flags_vertical = 4 columns = 3 [node name="PanelContainer3" type="PanelContainer" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2"] -margin_top = 405.0 +margin_top = 465.0 margin_right = 347.0 -margin_bottom = 455.0 +margin_bottom = 515.0 [node name="AddCustomSlabButton" type="Button" parent="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer3"] margin_left = 150.0 @@ -7168,6 +7208,8 @@ script = SubResource( 20 ) [connection signal="pressed" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer2/GridContainer/FakeSlabCheckBox" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_FakeSlabCheckBox_pressed"] [connection signal="pressed" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer2/GridContainer/FakeSlabHelpButton" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_FakeSlabHelpButton_pressed"] [connection signal="value_changed" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer/CustomSlabID" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_CustomSlabID_value_changed"] +[connection signal="item_selected" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer/SlabBitmaskOptionButton" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_SlabBitmaskOptionButton_item_selected"] +[connection signal="value_changed" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer/CustomDoorThing" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_CustomDoorThing_value_changed"] [connection signal="item_selected" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer/VBoxContainer/GridContainer/SlabWibbleOptionButton" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_SlabWibbleOptionButton_item_selected"] [connection signal="pressed" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer3/AddCustomSlabButton" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_AddCustomSlabButton_pressed"] [connection signal="pressed" from="Ui/UiSystem/AddCustomSlabWindow/MarginContainer/HBoxContainer/VBoxContainer2/PanelContainer3/HelpCustomSlabsButton" to="Ui/UiSystem/AddCustomSlabWindow" method="_on_HelpCustomSlabsButton_pressed"]