From 90190513ce0f5fb8cf98ef5443c4b34336546dfa Mon Sep 17 00:00:00 2001 From: rainlizard <15337628+rainlizard@users.noreply.github.com> Date: Mon, 27 Jan 2025 13:02:43 +1100 Subject: [PATCH] fixed new slabs in slab window --- Autoload/Slabs.gd | 119 ++++++++++++++---------------- Scenes/CfgLoader.gd | 2 - Scenes/CustomSlabSystem.gd | 2 - Scenes/PickSlabWindow.gd | 3 +- Scenes/SlabDisplay.gd | 49 +++++++----- Shaders/display_texture_2d.shader | 2 +- 6 files changed, 87 insertions(+), 90 deletions(-) diff --git a/Autoload/Slabs.gd b/Autoload/Slabs.gd index 771fe5b3..67358d41 100644 --- a/Autoload/Slabs.gd +++ b/Autoload/Slabs.gd @@ -20,8 +20,6 @@ enum { NAME IS_SOLID # Whether units can walk there, and how fortified walls do their bitmask, AND for 3D generation optimization BITMASK_TYPE - PANEL_VIEW - SIDE_VIEW_Z_OFFSET EDITOR_TAB WIBBLE_TYPE REMEMBER_TYPE @@ -131,11 +129,6 @@ enum { TAB_OWNER = 4 TAB_NONE = 5 } -enum { - PANEL_TOP_VIEW = 0 - PANEL_SIDE_VIEW = 1 - PANEL_DOOR_VIEW = 2 -} ######################################################################## enum { FAKE_CUBE_DATA, @@ -204,62 +197,62 @@ func fetch_idname(slabID): return "" var data = { -00: ["HARD", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 0 -01: ["GOLD", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 1 -02: ["DIRT", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 2 -03: ["TORCH_DIRT", BLOCK_SLAB, BITMASK_BLOCK, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 3 -04: ["DRAPE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 4 -05: ["TORCH_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 5 -06: ["TWINS_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 6 -07: ["WOMAN_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 7 -08: ["PAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 8 -09: ["DAMAGED_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 9 -10: ["PATH", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 10 -11: ["PRETTY_PATH", FLOOR_SLAB, BITMASK_CLAIMED, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 11 -12: ["LAVA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_LAVA, NOT_OWNABLE], # 12 -13: ["WATER", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_WATER, NOT_OWNABLE], # 13 -14: ["ENTRANCE_ZONE", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 14 -15: ["ENTRANCE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 15 -16: ["TREASURY_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 16 -17: ["TREASURY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 17 -18: ["BOOK_SHELVES", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 18 -19: ["LIBRARY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 19 -20: ["PRISON_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 20 -21: ["PRISON_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 21 -22: ["TORTURE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 22 -23: ["TORTURE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 23 -24: ["TRAINING_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 24 -25: ["TRAINING_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 25 -26: ["HEART_PEDESTAL", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 26 -27: ["HEART_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 27 -28: ["WORKSHOP_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 28 -29: ["WORKSHOP_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 29 -30: ["SCAVENGE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 30 -31: ["SCAVENGER_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 31 -32: ["TEMPLE_POOL", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 32 -33: ["TEMPLE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 33 -34: ["GRAVE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 34 -35: ["GRAVE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 35 -36: ["HATCHERY", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 36 -37: ["HATCHERY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 37 -38: ["LAIR_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 38 -39: ["LAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 39 -40: ["BARRACK_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 40 -41: ["BARRACK_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 41 -42: ["DOOR_WOODEN", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 42 -43: ["DOOR_WOODEN2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 43 -44: ["DOOR_BRACE", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 44 -45: ["DOOR_BRACE2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 45 -46: ["DOOR_STEEL", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 46 -47: ["DOOR_STEEL2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 47 -48: ["DOOR_MAGIC", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 48 -49: ["DOOR_MAGIC2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 49 -50: ["SLAB50", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, OWNABLE], # 50 -51: ["BRIDGE_FRAME", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 51 -52: ["GEMS", BLOCK_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 52 -53: ["GUARD_AREA", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 53 -54: ["PURPLE_PATH", FLOOR_SLAB, BITMASK_SIMPLE, PANEL_TOP_VIEW, 0, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, NOT_OWNABLE], # 54 -999: ["AUTOMATIC_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 999 +00: ["HARD", BLOCK_SLAB, BITMASK_BLOCK, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 0 +01: ["GOLD", BLOCK_SLAB, BITMASK_BLOCK, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 1 +02: ["DIRT", BLOCK_SLAB, BITMASK_BLOCK, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 2 +03: ["TORCH_DIRT", BLOCK_SLAB, BITMASK_BLOCK, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 3 +04: ["DRAPE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 4 +05: ["TORCH_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 5 +06: ["TWINS_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 6 +07: ["WOMAN_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 7 +08: ["PAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 8 +09: ["DAMAGED_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 9 +10: ["PATH", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 10 +11: ["PRETTY_PATH", FLOOR_SLAB, BITMASK_CLAIMED, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 11 +12: ["LAVA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_LAVA, NOT_OWNABLE], # 12 +13: ["WATER", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_WATER, NOT_OWNABLE], # 13 +14: ["ENTRANCE_ZONE", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 14 +15: ["ENTRANCE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 15 +16: ["TREASURY_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 16 +17: ["TREASURY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 17 +18: ["BOOK_SHELVES", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 18 +19: ["LIBRARY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 19 +20: ["PRISON_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 20 +21: ["PRISON_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 21 +22: ["TORTURE_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 22 +23: ["TORTURE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 23 +24: ["TRAINING_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 24 +25: ["TRAINING_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 25 +26: ["HEART_PEDESTAL", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 26 +27: ["HEART_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 27 +28: ["WORKSHOP_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 28 +29: ["WORKSHOP_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 29 +30: ["SCAVENGE_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 30 +31: ["SCAVENGER_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 31 +32: ["TEMPLE_POOL", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 32 +33: ["TEMPLE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 33 +34: ["GRAVE_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 34 +35: ["GRAVE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 35 +36: ["HATCHERY", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 36 +37: ["HATCHERY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 37 +38: ["LAIR_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 38 +39: ["LAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 39 +40: ["BARRACK_AREA", FLOOR_SLAB, BITMASK_FLOOR, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 40 +41: ["BARRACK_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 41 +42: ["DOOR_WOODEN", FLOOR_SLAB, BITMASK_DOOR1, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 42 +43: ["DOOR_WOODEN2", FLOOR_SLAB, BITMASK_DOOR2, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 43 +44: ["DOOR_BRACE", FLOOR_SLAB, BITMASK_DOOR1, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 44 +45: ["DOOR_BRACE2", FLOOR_SLAB, BITMASK_DOOR2, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 45 +46: ["DOOR_STEEL", FLOOR_SLAB, BITMASK_DOOR1, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 46 +47: ["DOOR_STEEL2", FLOOR_SLAB, BITMASK_DOOR2, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 47 +48: ["DOOR_MAGIC", FLOOR_SLAB, BITMASK_DOOR1, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 48 +49: ["DOOR_MAGIC2", FLOOR_SLAB, BITMASK_DOOR2, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 49 +50: ["SLAB50", FLOOR_SLAB, BITMASK_SIMPLE, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, OWNABLE], # 50 +51: ["BRIDGE_FRAME", FLOOR_SLAB, BITMASK_SIMPLE, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 51 +52: ["GEMS", BLOCK_SLAB, BITMASK_SIMPLE, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 52 +53: ["GUARD_AREA", FLOOR_SLAB, BITMASK_SIMPLE, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 53 +54: ["PURPLE_PATH", FLOOR_SLAB, BITMASK_SIMPLE, TAB_OTHER, WIBBLE_OFF, REMEMBER_PATH, NOT_OWNABLE], # 54 +999: ["AUTOMATIC_WALL", BLOCK_SLAB, BITMASK_REINFORCED, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 999 } diff --git a/Scenes/CfgLoader.gd b/Scenes/CfgLoader.gd index 5a0fc0eb..4d73907c 100644 --- a/Scenes/CfgLoader.gd +++ b/Scenes/CfgLoader.gd @@ -183,8 +183,6 @@ func load_terrain_data(cfg): # 4ms setName, setBlockType, setBitmask, - Slabs.PANEL_TOP_VIEW, # Affects appearance in slab window - 0, # Affects appearance in slab window Slabs.TAB_MAINSLAB, # Good slabSection.get("Wibble", 0), slabSection.get("WlbType", 0), diff --git a/Scenes/CustomSlabSystem.gd b/Scenes/CustomSlabSystem.gd index 25d56333..ce15de27 100644 --- a/Scenes/CustomSlabSystem.gd +++ b/Scenes/CustomSlabSystem.gd @@ -71,8 +71,6 @@ func add_custom_slab(slab_dict): 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"], diff --git a/Scenes/PickSlabWindow.gd b/Scenes/PickSlabWindow.gd index 57965ead..d6ec3fad 100644 --- a/Scenes/PickSlabWindow.gd +++ b/Scenes/PickSlabWindow.gd @@ -84,7 +84,7 @@ func add_slabs(): var doorSlabData = Slabs.fetch_doorslab_data(slabID) if doorSlabData: - if doorSlabData[Slabs.DOORSLAB_ORIENTATION] == 0: + if doorSlabData[Slabs.DOORSLAB_ORIENTATION] == 1: continue allSlabIDs.append(slabID) @@ -116,7 +116,6 @@ func add_slabs(): # Fake Slab pass id.set_meta("ID_of_slab", slabID) - id.panelView = Slabs.data[slabID][Slabs.PANEL_VIEW] id.set_visual(columnArray) var useName = Slabs.fetch_name(slabID) add_child_to_grid(tabs[putIntoTab][GRIDCON_PATH], id, useName) diff --git a/Scenes/SlabDisplay.gd b/Scenes/SlabDisplay.gd index 54e456a2..89488ccf 100644 --- a/Scenes/SlabDisplay.gd +++ b/Scenes/SlabDisplay.gd @@ -5,7 +5,6 @@ var dataImage = Image.new() var dataTexture = ImageTexture.new() #var columns = [0,0,0, 0,0,0, 0,0,0] -var panelView = Slabs.PANEL_TOP_VIEW func _ready(): add_to_group("SlabDisplay") #Important for when changing texture pack var iconSize = 0.35 @@ -35,31 +34,41 @@ func set_visual(columnArray): dataTexture.create_from_image(dataImage, 0) dataImage.lock() - if panelView == Slabs.PANEL_TOP_VIEW: - for y in 3: - for x in 3: - var cubeFace = 0 - if slabID >= 1000: - # Fake slab - if Slabs.fake_extra_data.has(slabID) == true: - var oCustomSlabSystem = Nodelist.list["oCustomSlabSystem"] - cubeFace = oCustomSlabSystem.get_top_fake_cube_face((y*3) + x, slabID) - else: - # Slabset slab (normal slab) - cubeFace = Columnset.get_top_cube_face(columnArray[(y*3) + x], slabID) - - dataImage.set_pixel(x, y, Color8(cubeFace >> 16 & 255, cubeFace >> 8 & 255, cubeFace & 255)) + for y in 3: + for x in 3: + var cubeFace = 0 + if slabID >= 1000: + # Fake slab + if Slabs.fake_extra_data.has(slabID) == true: + var oCustomSlabSystem = Nodelist.list["oCustomSlabSystem"] + cubeFace = oCustomSlabSystem.get_top_fake_cube_face((y*3) + x, slabID) + else: + # Slabset slab (normal slab) + cubeFace = Columnset.get_top_cube_face(columnArray[(y*3) + x], slabID) + + dataImage.set_pixel(x, y, Color8(cubeFace >> 16 & 255, cubeFace >> 8 & 255, cubeFace & 255)) + + # Handle side view for doors and other tab slabs + var isOtherTab = Slabs.data[slabID][Slabs.EDITOR_TAB] == Slabs.TAB_OTHER + var isDoor = Slabs.is_door(slabID) - if panelView == Slabs.PANEL_SIDE_VIEW or panelView == Slabs.PANEL_DOOR_VIEW: - var y = 2 - if panelView == Slabs.PANEL_DOOR_VIEW: y = 1 + if (isOtherTab and slabID < 50) or isDoor: + var y + var sideViewZoffset - var sideViewZoffset = Slabs.data[slabID][Slabs.SIDE_VIEW_Z_OFFSET] + if isOtherTab: + y = 2 + sideViewZoffset = 4 + elif isDoor: + y = 1 + sideViewZoffset = 3 + if slabID == 56: #SecretDoor2 + y = 0 + sideViewZoffset = 3 for x in 3: for z in range(0, 3): var clmIndex = columnArray[(y*3) + x] - var cubeID = Columnset.cubes[clmIndex][sideViewZoffset-z] var cubeFace = Cube.tex[cubeID][Cube.SIDE_SOUTH] dataImage.set_pixel(x, z, Color8(cubeFace >> 16 & 255, cubeFace >> 8 & 255, cubeFace & 255)) diff --git a/Shaders/display_texture_2d.shader b/Shaders/display_texture_2d.shader index d0f0a469..7fdcb1f4 100644 --- a/Shaders/display_texture_2d.shader +++ b/Shaders/display_texture_2d.shader @@ -23,7 +23,7 @@ uniform sampler2DArray dkTextureMap_Split_B2; uniform vec2 fieldSizeInSubtiles = vec2(0.0, 0.0); -const float DARKENING_FACTOR = 0.35; +const float DARKENING_FACTOR = 0.333; // Exact same function as in Godot Source Code float calc_mip_level(vec2 texture_coord) {