diff --git a/dungeon_map/current_room_map.asm b/dungeon_map/current_room_map.asm index ee9073d..f00e42f 100644 --- a/dungeon_map/current_room_map.asm +++ b/dungeon_map/current_room_map.asm @@ -209,6 +209,7 @@ DrawSide: BRA .done .three + JSR DrawTripleConnectorRoot JSR DrawTripleConnector .done @@ -270,6 +271,10 @@ GetWhichDoorPosition: BMI .edge AND.w #$0300 XBA + CMP.w #$0003 + BNE + + LDA.w #$0002 ++ RTS .edge @@ -389,6 +394,22 @@ DrawDoubleConnectorRoot: PLY RTS +DrawTripleConnectorRoot: + LDA.w #$0013 + ASL A : ASL A + PHY + TAY + LDX.w #!CenterTile + LDA.b $00 + BNE + : %Draw2TileConnector(-$40, -$3E, $0000, vertical) : BRA ++ ++ DEC A : BNE + : %Draw2TileConnector(-$02, $3E, $0000, horizontal) : BRA ++ ++ DEC A : BNE + : %Draw2TileConnector($80, $82, $8000, vertical) : BRA ++ ++ DEC A : BNE + : %Draw2TileConnector($04, $44, $4000, horizontal) : BRA ++ ++ +++ + PLY + RTS + DrawEastConnectors: LDA.b $06 : DEC A BNE + @@ -511,6 +532,38 @@ DrawDoubleConnector: RTS DrawTripleConnector: + LDA.b $00 + AND.w #$0001 + TAY + LDA.w MultiConnectorTiles_increment, Y + AND.w #$00FF + STA.b $0C + + LDA.b $00 + ASL A + TAY + LDA.w MultiConnectorTiles_start_offset_three, Y + CLC : ADC.w #!CenterTile + TAX + + LDY.b $00 + LDA.w MultiConnectorTiles_direction_index, Y + AND.w #$00FF + TAY + + LDA.w #$0005 + STA.b $0E +- + LDA.w MultiConnectorTiles+8, Y + ORA.w #!ConnectorPalette + STA.l $7F0000, X + TXA + CLC : ADC.b $0C + TAX + INY : INY + DEC.b $0E + BPL - + RTS DrawBlinkerFancyMode: diff --git a/dungeon_map/data/doors_connections.asm b/dungeon_map/data/doors_connections.asm index 0541cdf..b9906ea 100644 --- a/dungeon_map/data/doors_connections.asm +++ b/dungeon_map/data/doors_connections.asm @@ -23,7 +23,7 @@ DoorConnectionTiles: .horizontal dw $0300, $0300 ; $00 dw $01C4, $0300 ; $01 top -> top - dw $C1D5, $C1D4 ; $02 top -> middle + dw $C1D4, $C1D5 ; $02 top -> middle dw $81C7, $41C7 ; $03 top -> bottom dw $81D4, $81D5 ; $04 middle -> top dw $01C5, $41C5 ; $05 middle -> middle @@ -40,4 +40,4 @@ DoorConnectionTiles: dw $C1D7, $01D7 ; $10 middle-bottom -> top-middle dw $81D4, $C1D6 ; $11 middle-bottom -> top-bottom dw $01C5, $01C6 ; $12 middle-bottom -> middle-bottom - dw $41C6, $01C6 ; $13 triple -> triple + dw $81C6, $01C6 ; $13 triple -> triple diff --git a/dungeon_map/data/doors_display.asm b/dungeon_map/data/doors_display.asm index fbabfcf..7c13de9 100644 --- a/dungeon_map/data/doors_display.asm +++ b/dungeon_map/data/doors_display.asm @@ -93,6 +93,7 @@ MultiConnectorTiles: ..two dw $FF7E, $FFBC, $00BE, $FFC6 ..three + dw $FF7C, $FF7C, $00BC, $FF86 .increment db $02, $40 diff --git a/menu/door_connectors.3bpp b/menu/door_connectors.3bpp index ea48369..10af1a0 100644 Binary files a/menu/door_connectors.3bpp and b/menu/door_connectors.3bpp differ diff --git a/menu/door_connectors.3bppc b/menu/door_connectors.3bppc index 6becac2..88441ec 100644 Binary files a/menu/door_connectors.3bppc and b/menu/door_connectors.3bppc differ