diff --git a/dungeon_map/current_room_map.asm b/dungeon_map/current_room_map.asm index 8a7d232..104867c 100644 --- a/dungeon_map/current_room_map.asm +++ b/dungeon_map/current_room_map.asm @@ -703,6 +703,22 @@ DrawDoorsMapSprites: JSR DrawDoorsMapBlinker + JSR DrawDoorsMapCursor + + REP #$20 + LDX.w DungeonID + LDA.l DungeonMask, X + AND.l CompassField + BEQ + + LDA.l DungeonMapBossRooms, X + ASL A + TAX + LDA.l SaveDataWRAM, X + AND.w #$8000 + BNE + + JSR DrawDoorsMapBossRoom + JSR DrawDoorsMapBossIcon ++ + SEP #$20 RTL DrawDoorsMapBlinker: @@ -742,6 +758,68 @@ DrawDoorsMapBlinker: INC.b $00 RTS +DrawDoorsMapBossRoom: + LDX.w DungeonID + LDA.l DungeonMapBossRooms, X + STA.b $0E + + LDX.b #$28 +- + LDA.l DoorSlots, X + AND.w #$00FF + CMP.b $0E + BEQ .found + DEX : DEX + BPL - + RTS + +.found + SEP #$20 + LDA.b FrameCounter + AND.b #$10 + BNE .draw + REP #$20 + RTS + +.draw + LDY.b $00 + LDA.b #$00 + STA.w OAMBufferAux, Y + TYA + ASL A : ASL A + TAY + + REP #$20 + LDA.l DoorSlotsSprites, X + LDX.w DungeonID + CLC : ADC.l $8AEE6D, X + STA.w OAMBuffer, Y + + LDA.w #$3331 + STA.w OAMBuffer+2, Y + + INC.b $00 + RTS + +DrawDoorsMapBossIcon: + SEP #$20 + LDY.b $00 + LDA.b #$02 + STA.w OAMBufferAux, Y + TYA + ASL A : ASL A + TAY + + REP #$20 + LDA.w #$3048 + STA.w OAMBuffer, Y + + LDA.w #$3103 + STA.w OAMBuffer+2, Y + + INC.b $00 + RTS + DrawDoorsMapCursor: LDA.l DoorSlotCursor ASL A diff --git a/dungeon_map/data/doors_display.asm b/dungeon_map/data/doors_display.asm index 6c69230..b60a362 100644 --- a/dungeon_map/data/doors_display.asm +++ b/dungeon_map/data/doors_display.asm @@ -187,7 +187,7 @@ EdgePositions: .east_west db $02 ; TT Attic db $02, $02 ; Desert North Hall - db $02, $00 ; HC Basement + db $00, $02 ; HC Basement db $00 ; Desert East Wing db $00, $02 ; TT Triple db $02 ; TT Big Key Chest @@ -223,8 +223,8 @@ EdgeConnectionIndices: dw $0565, $0042 dw $0574, $0045 dw $0575, $0048 - dw $0582, $004B - dw $0382, $004E + dw $0382, $004B + dw $0582, $004E dw $0385, $0051 dw $03CC, $0054 dw $05CC, $0057 @@ -234,8 +234,8 @@ EdgeConnectionIndices: dw $0B64, $005D dw $0B73, $0060 dw $0B74, $0063 - dw $0B81, $0066 - dw $0981, $0069 + dw $0981, $0066 + dw $0B81, $0069 dw $0984, $006C dw $09CB, $006F dw $0BCB, $0072 diff --git a/dungeon_map/settings.asm b/dungeon_map/settings.asm index bd7484a..b3b593c 100644 --- a/dungeon_map/settings.asm +++ b/dungeon_map/settings.asm @@ -129,7 +129,7 @@ pad $B9FB00 ; $B9FB00 DungeonLabels: dw $2550, $2579 ; Sewers -dw $2550, $2578 ; Hyrule Castle +dw $2564, $255F ; Hyrule Castle dw $2561, $256C ; Eastern Palace dw $2560, $256C ; Desert Palace dw $255D, $2570 ; Agahnim's Tower