Skip to content

Commit d711f30

Browse files
committed
fix bitmask issue
1 parent 991e630 commit d711f30

File tree

5 files changed

+44
-43
lines changed

5 files changed

+44
-43
lines changed

Autoload/Slabs.gd

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,8 @@ const OWNABLE = true
105105
const FLOOR_SLAB = false
106106
const BLOCK_SLAB = true
107107
enum {
108-
BITMASK_GENERAL
108+
BITMASK_FLOOR
109+
BITMASK_BLOCK
109110
BITMASK_SIMPLE
110111
BITMASK_CLAIMED
111112
BITMASK_REINFORCED
@@ -198,47 +199,47 @@ func fetch_name(slabID):
198199

199200

200201
var data = {
201-
00: ["HARD", BLOCK_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 0
202-
01: ["GOLD", BLOCK_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 1
203-
02: ["DIRT", BLOCK_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 2
204-
03: ["TORCH_DIRT", BLOCK_SLAB, BITMASK_GENERAL, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 3
202+
00: ["HARD", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 0
203+
01: ["GOLD", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 1
204+
02: ["DIRT", BLOCK_SLAB, BITMASK_BLOCK, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 2
205+
03: ["TORCH_DIRT", BLOCK_SLAB, BITMASK_BLOCK, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 3
205206
04: ["DRAPE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 4
206207
05: ["TORCH_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 5
207208
06: ["TWINS_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 6
208209
07: ["WOMAN_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 7
209210
08: ["PAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 8
210211
09: ["DAMAGED_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 9
211-
10: ["PATH", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 10
212+
10: ["PATH", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, NOT_OWNABLE], # 10
212213
11: ["PRETTY_PATH", FLOOR_SLAB, BITMASK_CLAIMED, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 11
213-
12: ["LAVA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_LAVA, NOT_OWNABLE], # 12
214-
13: ["WATER", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_WATER, NOT_OWNABLE], # 13
215-
14: ["ENTRANCE_ZONE", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 14
214+
12: ["LAVA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_LAVA, NOT_OWNABLE], # 12
215+
13: ["WATER", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ANIMATED, REMEMBER_WATER, NOT_OWNABLE], # 13
216+
14: ["ENTRANCE_ZONE", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 14
216217
15: ["ENTRANCE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 15
217-
16: ["TREASURY_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 16
218+
16: ["TREASURY_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 16
218219
17: ["TREASURY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 17
219-
18: ["BOOK_SHELVES", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 18
220+
18: ["BOOK_SHELVES", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 18
220221
19: ["LIBRARY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 19
221-
20: ["PRISON_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 20
222+
20: ["PRISON_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 20
222223
21: ["PRISON_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 21
223-
22: ["TORTURE_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 22
224+
22: ["TORTURE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 22
224225
23: ["TORTURE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 4, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 23
225-
24: ["TRAINING_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 24
226+
24: ["TRAINING_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 24
226227
25: ["TRAINING_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 25
227-
26: ["HEART_PEDESTAL", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 26
228+
26: ["HEART_PEDESTAL", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 26
228229
27: ["HEART_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 27
229-
28: ["WORKSHOP_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 28
230+
28: ["WORKSHOP_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 28
230231
29: ["WORKSHOP_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 29
231-
30: ["SCAVENGE_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 30
232+
30: ["SCAVENGE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 30
232233
31: ["SCAVENGER_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 31
233-
32: ["TEMPLE_POOL", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 32
234+
32: ["TEMPLE_POOL", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 32
234235
33: ["TEMPLE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 33
235-
34: ["GRAVE_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 34
236+
34: ["GRAVE_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 34
236237
35: ["GRAVE_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 35
237-
36: ["HATCHERY", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 36
238+
36: ["HATCHERY", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 36
238239
37: ["HATCHERY_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 37
239-
38: ["LAIR_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 38
240+
38: ["LAIR_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 38
240241
39: ["LAIR_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 39
241-
40: ["BARRACK_AREA", FLOOR_SLAB, BITMASK_GENERAL, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 40
242+
40: ["BARRACK_AREA", FLOOR_SLAB, BITMASK_FLOOR, PANEL_TOP_VIEW, 0, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 40
242243
41: ["BARRACK_WALL", BLOCK_SLAB, BITMASK_REINFORCED, PANEL_SIDE_VIEW, 3, TAB_OTHER, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 41
243244
42: ["DOOR_WOODEN", FLOOR_SLAB, BITMASK_DOOR1, PANEL_DOOR_VIEW, 3, TAB_NONE, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 42
244245
43: ["DOOR_WOODEN2", FLOOR_SLAB, BITMASK_DOOR2, PANEL_DOOR_VIEW, 3, TAB_MAINSLAB, WIBBLE_ON, REMEMBER_PATH, OWNABLE], # 43

Scenes/CfgLoader.gd

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ func load_terrain_data(path): # 4ms
126126
setIsOwnable = Slabs.OWNABLE
127127

128128

129-
var setBitmask = Slabs.BITMASK_GENERAL
129+
var setBitmask = Slabs.BITMASK_BLOCK
130130

131131
if slabSection.get("Animated", 0) == 1:
132132
setBitmask = Slabs.BITMASK_SIMPLE
@@ -137,15 +137,18 @@ func load_terrain_data(path): # 4ms
137137
else:
138138
match slabSection.get("Category", 0):
139139
0: # Unclaimed
140-
setBitmask = Slabs.BITMASK_GENERAL
140+
if setBlockType == Slabs.BLOCK_SLAB:
141+
setBitmask = Slabs.BITMASK_BLOCK
142+
elif setBlockType == Slabs.FLOOR_SLAB:
143+
setBitmask = Slabs.BITMASK_FLOOR
141144
1: # Diggable dirt
142-
setBitmask = Slabs.BITMASK_GENERAL
145+
setBitmask = Slabs.BITMASK_BLOCK
143146
2: # Claimed path
144147
setBitmask = Slabs.BITMASK_CLAIMED
145148
3: # Fortified wall
146149
setBitmask = Slabs.BITMASK_REINFORCED
147-
4: # Room interior
148-
setBitmask = Slabs.BITMASK_GENERAL
150+
4: # Room
151+
setBitmask = Slabs.BITMASK_FLOOR
149152
5: # Obstacle
150153
setBitmask = Slabs.BITMASK_SIMPLE
151154

Scenes/CustomSlabSystem.gd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func load_unearth_custom_slabs_file():
4040
"wibble_edges": cfg.get_value(section, "wibble_edges", false),
4141
"cube_data": slabCubeData,
4242
"floor_data": slabFloorData,
43-
"bitmask": cfg.get_value(section, "bitmask", Slabs.BITMASK_GENERAL),
43+
"bitmask": cfg.get_value(section, "bitmask", Slabs.BITMASK_FLOOR),
4444
"is_solid": cfg.get_value(section, "is_solid", Slabs.FLOOR_SLAB),
4545
"ownable": cfg.get_value(section, "ownable", Slabs.OWNABLE),
4646
}

Scenes/SlabPlacement.gd

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -569,12 +569,14 @@ func place_general(xSlab, ySlab, slabID, ownership, surrID, surrOwner, bitmaskTy
569569

570570
var bitmask
571571
match bitmaskType:
572-
Slabs.BITMASK_REINFORCED:
573-
bitmask = get_wall_bitmask(xSlab, ySlab, surrID, ownership)
574-
Slabs.BITMASK_GENERAL:
572+
Slabs.BITMASK_BLOCK:
573+
bitmask = get_tall_bitmask(surrID)
574+
Slabs.BITMASK_FLOOR:
575575
bitmask = get_general_bitmask(slabID, ownership, surrID, surrOwner)
576576
Slabs.BITMASK_CLAIMED:
577577
bitmask = get_claimed_bitmask(slabID, ownership, surrID, surrOwner)
578+
Slabs.BITMASK_REINFORCED:
579+
bitmask = get_wall_bitmask(xSlab, ySlab, surrID, ownership)
578580
Slabs.BITMASK_SIMPLE:
579581
bitmask = 1 # Always use south variation
580582
modifyForLiquid = false
@@ -753,13 +755,13 @@ func set_columns(xSlab, ySlab, constructedColumns, constructedFloor):
753755
var xSubtile = i - (ySubtile*3)
754756
oDataClmPos.set_cell_clmpos((xSlab*3)+xSubtile, (ySlab*3)+ySubtile, clmIndex)
755757

756-
#func get_tall_bitmask(surrID):
757-
# var bitmask = 0
758-
# if Slabs.data[ surrID[dir.s] ][Slabs.IS_SOLID] == false: bitmask += 1
759-
# if Slabs.data[ surrID[dir.w] ][Slabs.IS_SOLID] == false: bitmask += 2
760-
# if Slabs.data[ surrID[dir.n] ][Slabs.IS_SOLID] == false: bitmask += 4
761-
# if Slabs.data[ surrID[dir.e] ][Slabs.IS_SOLID] == false: bitmask += 8
762-
# return bitmask
758+
func get_tall_bitmask(surrID):
759+
var bitmask = 0
760+
if Slabs.data[ surrID[dir.s] ][Slabs.IS_SOLID] == false: bitmask += 1
761+
if Slabs.data[ surrID[dir.w] ][Slabs.IS_SOLID] == false: bitmask += 2
762+
if Slabs.data[ surrID[dir.n] ][Slabs.IS_SOLID] == false: bitmask += 4
763+
if Slabs.data[ surrID[dir.e] ][Slabs.IS_SOLID] == false: bitmask += 8
764+
return bitmask
763765

764766
func get_general_bitmask(slabID, ownership, surrID, surrOwner):
765767
var bitmask = 0 # Center

Scenes/UndoStates.gd

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,13 @@ func _process(delta):
3838
if undo_save_queued == true:
3939
set_process(false)
4040
while true:
41-
print("a")
4241
if Input.is_mouse_button_pressed(BUTTON_LEFT) or \
4342
oLoadingBar.visible == true or \
4443
oNewMapWindow.currently_creating_new_map == true or \
4544
performing_undo == true:
46-
print("b")
4745
yield(get_tree(), "idle_frame")
48-
print("c")
4946
else:
50-
print("d")
5147
break
52-
print("oThreadedSaveUndo.semaphore.post()")
5348
oThreadedSaveUndo.semaphore.post()
5449

5550
undo_save_queued = false

0 commit comments

Comments
 (0)