A dungeon delver roguelike using Pathfinder 2nd edition rules

Working on door

+69 -8
+69 -8
gb/src/main/states/gameplay/gameplay-state.asm
··· 17 17 ld hl, $9800 18 18 ld bc, room_Tilemap_end - room_Tilemap 19 19 call CopyDEIntoMemoryAtHL 20 + call SetRoomDoors 20 21 ret 21 - ; ld de, roomTileData 22 - ; ld hl, $9340 23 - ; ld bc, roomTileDataEnd - roomTileData 24 - ; call CopyDEIntoMemoryAtHL 25 - ; ld de, roomTileMap 26 - ; ld hl, $9800 27 - ; ld bc, roomTileMapEnd - roomTileMap 28 - ; jp CopyDEintoMemoryAtHL_With520Offset 22 + 23 + SetRoomDoors:: 24 + ld a, [wEntrance] 25 + ld e, a 26 + ld hl, wDungeonGrid 27 + ld a, l 28 + add e 29 + ld l, a 30 + ld a, [hl] 31 + and $04 32 + jp z, .FuncBody2 33 + ; set north door 34 + push hl 35 + ld hl, $9800+$08 36 + ld a, $37+$0f ; Row 1 37 + ld [hli], a 38 + ld a, $38+$0f 39 + ld [hli], a 40 + ld a, $39+$0f 41 + ld [hli], a 42 + ld a, $32+$0f 43 + ld [hli], a 44 + ld de, $001c 45 + add hl, de ; Row 2 46 + ld a, $43+$0f 47 + ld [hli], a 48 + ld a, $44+$0f 49 + ld [hli], a 50 + ld a, $45+$0f 51 + ld [hli], a 52 + ld a, $3e+$0f 53 + ld [hli], a 54 + add hl, de ; Row 3 55 + ld a, $4f+$0f 56 + ld [hli], a 57 + ld a, $50+$0f 58 + ld [hli], a 59 + ld a, $51+$0f 60 + ld [hli], a 61 + ld a, $4a+$0f 62 + ld [hli], a 63 + add hl, de ; Row 4 64 + .FuncBody2 65 + ld a, [hl] 66 + and $08 67 + jp z, .FuncBody3 68 + ; set east door 69 + .FuncBody3 70 + ld a, [hl] 71 + and $10 72 + jp z, .FuncBody4 73 + ; set south door 74 + .FuncBody4 75 + ld a, [hl] 76 + and $20 77 + jp z, .FuncBody5 78 + ; set west door 79 + .FuncBody5 80 + ld a, [hl] 81 + and $40 82 + jp z, .FuncBody6 83 + ; set stair down 84 + .FuncBody6 85 + ld a, [hl] 86 + and $80 87 + jp z, .FuncBody7 88 + .FuncBody7 89 + ret 29 90 30 91 UpdateGameplayState:: 31 92 call WaitForOneVBlank