From 1776daa43de27e9a0bcdfc8bbbb0a8b87bab2a4a Mon Sep 17 00:00:00 2001 From: Kara Alexandra Date: Sat, 10 Jan 2026 14:44:15 -0600 Subject: [PATCH] Draw triple connections correctly --- dungeon_map/current_room_map.asm | 53 +++++++++++++++++++++++++ dungeon_map/data/doors_connections.asm | 4 +- dungeon_map/data/doors_display.asm | 1 + menu/door_connectors.3bpp | Bin 1536 -> 1536 bytes menu/door_connectors.3bppc | Bin 826 -> 657 bytes 5 files changed, 56 insertions(+), 2 deletions(-) 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 ea4836962ca0f5679de978035d28dc785b4d1a1f..10af1a0f4913938dfdca693a7974acd1a1a2434e 100644 GIT binary patch literal 1536 zcma)6y^a$x5FY=nH`x&10aC(|!%-HAD=8>~gl^$Iu1HMth7Qeae;MA>W z;53Ts%GZvgl)r^J);C!Hlx+5bk^gk+7gm|W7JHD35t<279~cyzb7W_`-n6J_*B*bp zSWFk_`fQJoDO@rN_BLb^zIng)PSKN#j0 zc}skf7f2^EVr9+)3zz93EgJ#lilU&8-NOrh^`yb^aQVqB z&uZ*fI`tC@)IX@XynB9q`Qnis8bMR}a`yOqfG%=7LUseM0J0?4UfHYWrny;uTeh$S t7>(-s1FohpT8A3$7kZ`i1(9{#6+zsDIt{~aThwr!>v}qket`aK`3C_3a2)^u literal 1536 zcmbtT&2AGh5FY<*?EDZX1u0c&+0|y7^vHo@$OeRXiXL*viD#&k2rh_op9if(4}FYC z%>zV&Ln|VM8IRp2q6i6QqOtvXc4B|ucm$(8FM=u9cNuI0`#uW>Xac`6;2?!Dt)#Zy zobYXMn$wDYyGHwLF_TA+Z8`q}Zea~es9@pYcb_}igs1p_X)|?c;u2>7(r2BchQ%Zy zq|!z@gOevoy=%QrnwY5K1N0%S2U(w30 zF0VcQNchwFiTyF&z#((Qcv0kCt7ZIuylv&3N-idoNmT1Kl-^0M)4^cCszi<|n9V#x zlUvlQ4E3poz3O)?vb1YUWR`7-JU!?|TC!fok|LX+0p)aVu54!s;FJ-HonUCyuu+hm zb+ufeW2`*>ayreXIQ7{c;ZUPwG*mWZGQONtep0LJrf$~i$h=QXj7j(l&O^?G6QnzU zlI?qadG{gi@=tf+{@L#JK5_d${m+V&z9vAKWy7MN6U46O)BIci)7j$7qdG;g(t5)c z6{?W7(^h$09wG~^?$iFz@8Ao-H;|~rG;xh9sVPRxH1S<{RFlw@f^6cekS?KxOp=C& zeQ<#9i*OXZ5pcZmiT7hf%RJBfe*cj$hoA5rZr~ey@_qjP%R&D3qm*>7$Q$?nFw4f= z|J?bp|10c%?*EuiV^IvT`(yt{hBny$vlTLQK}gJ}W9b#vFZT~fIcyvMzN23B9ru5k zMT|zW!@D~na5{QEK6&vZZ9BzXS>y-Z7EY1d9l%AZ5u?5L`@V-kuzQ^Iw*@#<5V#rxasC#LP^_e zOGRy(7zf>4bi&Ozo&QNqOvJ>5j!fW-%QHO5^W*b8-<_`gXgS4cmc?Os&v{&dLX#vt zOL#z$_8N^fx~sVJJflxc^%9PcKjeFUXnU>(e|+R*!mSGm zF+w3FO4YSM)b4h_X4X?UX){ElUgbGMxk~4SD5oe-(3yd6t}`sv=^Y`JOtyCU_)r+_;0}a7TL}hB70gcI9v3;*`y*!8h2^zwfe5t}o^8NN z+IC{|iZmsj-6%>Dk#C8Bn?a^_AA($t{2cC8p7WC*Y`i}8zoTiNqw_&@KZ)BDY|YU8 zqKucl)`nH&&9-W;8mqB{p-g0DNaxpXIAN7--YRrjbAvZQUY`}WRJ7I1e=|jEM f`ztR`UX#&NTLmIWmjZtpwV2Olo3Z`t90&gZ8=q$P delta 653 zcmWlXv1=1y7{;IX`@YK^SKGVRN~<=#aCc2=1*wB{Fy_);O(+%GL9~kyv4ajmDYz99 zy!(=3MH>q)y6WI0or*Xd*wH^C&+azf2Abif(4FPVl~_lSs#P&df3qct$re2~771*kDjAu$HdW1T?Jo#v}_HIGz5 zX;{z~!Bf8P4jY0s#)wcWA&K9UTP){+TO|aZk102MyNkvr@C57Y@d32rDY^*ik~|3G z(6bGBOw(X3bQ*sN_D%)SD&z)8H^Lqo-xX)tM~8;p0xYgKf1jUWNvkG5l0I9hWGV>| zFR&RP72RbqF(mbetp1NsRLI_Snw&o-#@W#JFT7hLwNf6a$X1c>+_X^+5av~|2r`+R z?{~_T{#@=t$@zX;2)WNkvGo wT+Y#;?~V+gLzG#*eeu^2d6P{G?h5p5s6{}{xTeE