Draw triple connections correctly
This commit is contained in:
@@ -209,6 +209,7 @@ DrawSide:
|
|||||||
BRA .done
|
BRA .done
|
||||||
|
|
||||||
.three
|
.three
|
||||||
|
JSR DrawTripleConnectorRoot
|
||||||
JSR DrawTripleConnector
|
JSR DrawTripleConnector
|
||||||
|
|
||||||
.done
|
.done
|
||||||
@@ -270,6 +271,10 @@ GetWhichDoorPosition:
|
|||||||
BMI .edge
|
BMI .edge
|
||||||
AND.w #$0300
|
AND.w #$0300
|
||||||
XBA
|
XBA
|
||||||
|
CMP.w #$0003
|
||||||
|
BNE +
|
||||||
|
LDA.w #$0002
|
||||||
|
+
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
.edge
|
.edge
|
||||||
@@ -389,6 +394,22 @@ DrawDoubleConnectorRoot:
|
|||||||
PLY
|
PLY
|
||||||
RTS
|
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:
|
DrawEastConnectors:
|
||||||
LDA.b $06 : DEC A
|
LDA.b $06 : DEC A
|
||||||
BNE +
|
BNE +
|
||||||
@@ -511,6 +532,38 @@ DrawDoubleConnector:
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
DrawTripleConnector:
|
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
|
RTS
|
||||||
|
|
||||||
DrawBlinkerFancyMode:
|
DrawBlinkerFancyMode:
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ DoorConnectionTiles:
|
|||||||
.horizontal
|
.horizontal
|
||||||
dw $0300, $0300 ; $00
|
dw $0300, $0300 ; $00
|
||||||
dw $01C4, $0300 ; $01 top -> top
|
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 $81C7, $41C7 ; $03 top -> bottom
|
||||||
dw $81D4, $81D5 ; $04 middle -> top
|
dw $81D4, $81D5 ; $04 middle -> top
|
||||||
dw $01C5, $41C5 ; $05 middle -> middle
|
dw $01C5, $41C5 ; $05 middle -> middle
|
||||||
@@ -40,4 +40,4 @@ DoorConnectionTiles:
|
|||||||
dw $C1D7, $01D7 ; $10 middle-bottom -> top-middle
|
dw $C1D7, $01D7 ; $10 middle-bottom -> top-middle
|
||||||
dw $81D4, $C1D6 ; $11 middle-bottom -> top-bottom
|
dw $81D4, $C1D6 ; $11 middle-bottom -> top-bottom
|
||||||
dw $01C5, $01C6 ; $12 middle-bottom -> middle-bottom
|
dw $01C5, $01C6 ; $12 middle-bottom -> middle-bottom
|
||||||
dw $41C6, $01C6 ; $13 triple -> triple
|
dw $81C6, $01C6 ; $13 triple -> triple
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ MultiConnectorTiles:
|
|||||||
..two
|
..two
|
||||||
dw $FF7E, $FFBC, $00BE, $FFC6
|
dw $FF7E, $FFBC, $00BE, $FFC6
|
||||||
..three
|
..three
|
||||||
|
dw $FF7C, $FF7C, $00BC, $FF86
|
||||||
.increment
|
.increment
|
||||||
db $02, $40
|
db $02, $40
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user