Fix ordering of several edges and spiral staircases

This commit is contained in:
2026-01-12 14:37:42 -06:00
parent 06aa3cb10f
commit fcf17a6dff
6 changed files with 68 additions and 40 deletions

View File

@@ -301,7 +301,7 @@ CheckCanSeeConnector:
LDA.b $0C : PHA
LDA.b $0A
CMP.w #$0003
CMP.w #$0001
BCS .yep
PHX
@@ -670,21 +670,29 @@ GetWhichDoorPosition:
XBA
PHX
PHA
PLX
LDA.b $00
BIT.w #$0001
BEQ .north_south
BEQ .north
DEC A : BEQ .west
DEC A : BEQ .south
.east_west
PLX
LDA.l EdgePositions_east_west, X
AND.w #$00FF
PLX
RTS
.east
LDA.l EdgePositions_east, X
BRA .done
.north_south
PLX
LDA.l EdgePositions_north_south, X
.north
LDA.l EdgePositions_north, X
BRA .done
.west
LDA.l EdgePositions_west, X
BRA .done
.south
LDA.l EdgePositions_south, X
.done
AND.w #$00FF
PLX
RTS
@@ -1100,6 +1108,7 @@ DrawDoorsMapBossRoom:
LDX.w DungeonID
XBA
CLC : ADC.l $8AEE6D, X
DEC A
XBA
STA.w OAMBuffer, Y

View File

@@ -80,11 +80,11 @@ NextCursorSlot:
db $06, $FF, $07, $00
db $07, $FF, $08, $00
; bottom
db $00, $E1, $C4, $0E
db $00, $0E, $C4, $0F
db $00, $0F, $C4, $E3
db $00, $0B, $C4, $0C
db $00, $0C, $C4, $0D
db $00, $E1, $85, $0E
db $00, $0E, $85, $0F
db $00, $0F, $85, $E3
db $00, $0B, $85, $0C
db $00, $0C, $85, $0D
; right
db $E0, $00, $13, $FF
db $13, $00, $14, $FF
@@ -105,8 +105,9 @@ NextCursorSpecial:
db $0C, $0E, $0F, $0B, $0D, $15, $16, $17, $18, $FF
db $11, $13, $14, $10, $12, $FF
db $0C, $0E, $0F, $0B, $0D, $00, $FF
db $17, $16, $15, $18, $FF
.center_offset
db $00, $06, $0C, $16, $1C
db $00, $06, $0C, $16, $1C, $23
.start_index
db $01, $06, $0B, $10, $15
.start_direction
@@ -206,19 +207,33 @@ MultiConnectorTiles:
db $02, $40
EdgePositions:
.north_south
.north
db $01, $00 ; HC Basement
db $02 ; Desert West Wing
db $00, $01, $02 ; Desert Lobby
db $00 ; Desert East Wing
db $01, $02 ; TT
db $00, $01 ; different TT
.east_west
.west
db $02 ; TT Attic
db $02, $02 ; Desert North Hall
db $02, $00 ; HC Basement
db $00 ; Desert East Wing
db $02, $00 ; TT Triple
db $02 ; TT Big Key Chest
.south
db $01, $00 ; HC Basement
db $02 ; Desert West Wing
db $00, $01, $02 ; Desert Lobby
db $00 ; Desert East Wing
db $01, $02 ; TT
db $00, $01 ; different TT
.east
db $02 ; TT Attic
db $02, $02 ; Desert North Hall
db $00, $02 ; HC Basement
db $00 ; Desert East Wing
db $00, $02 ; TT Triple
db $02, $00 ; TT Triple
db $02 ; TT Big Key Chest
EdgeConnectionIndices:
@@ -266,8 +281,8 @@ EdgeConnectionIndices:
dw $0981, $0066
dw $0B81, $0069
dw $0984, $006C
dw $09CB, $006F
dw $0BCB, $0072
dw $0BCB, $006F
dw $09CB, $0072
dw $0BDB, $0075
dw $FFFF

View File

@@ -24,29 +24,29 @@ db $01, $00, $02 ; ($07) Single Top-Right Staircase
db $01, $00, $05 ; ($0A) Single Staircase at Top of Bottom Left Quadrant
db $01, $00, $04 ; ($0D) Moldorm
db $02, $00, $00, $01, $02 ; ($10) Pod Basement
db $03, $00, $00, $01, $01, $02, $02 ; ($15) GT Entrance
db $02, $00, $02, $01, $00 ; ($10) Pod Basement
db $03, $01, $0A, $02, $01, $00, $0B ; ($15) GT Entrance
db $02, $00, $03, $01, $04 ; ($1C) Hera Below Moldorm
db $03, $00, $01, $01, $02 ; ($21) PoD Bridge
db $02, $00, $01, $01, $0B ; ($21) PoD Bridge
db $01, $00, $08 ; ($26) GT Ice Armos
db $03, $00, $01, $01, $02, $02, $09 ; ($29) Swamp Statue
db $03, $00, $01, $01, $0B, $02, $09 ; ($29) Swamp Statue
db $02, $00, $03, $01, $04 ; ($30) Hera Big Chest
db $02, $00, $04, $02, $09 ; ($35) Hera Startiles (middle value unused)
db $01, $00, $08 ; ($3A) West Swamp
db $01, $00, $05 ; ($3D) Ice Hamlift
db $01, $00, $07 ; ($40) Aga Guards
db $02, $00, $00, $01, $02 ; ($43) Pod Entrance
db $02, $01, $00, $00, $02 ; ($43) Pod Entrance
db $01, $00, $08 ; ($48) Swamp Attic
db $03, $03, $05, $04, $06 ; ($4B) Ice U (1st three values unused)
db $03, $03, $0C, $04, $06 ; ($4B) Ice U (1st three values unused)
db $01, $00, $05 ; ($50) TT Attic Left
db $02, $00, $01, $01, $02 ; ($53) Pod Rupees
db $02, $00, $01, $01, $0B ; ($53) Pod Rupees
db $01, $00, $04 ; ($58) Ice Gators
db $02, $01, $00, $02, $01 ; ($5B) HC Tiny (first value placeholder)
db $03, $00, $01, $01, $02, $02, $09 ; ($60) Swamp Sunken
db $03, $01, $00, $02, $08, $03, $09 ; ($67) Hera Entrance (first value unused)
db $02, $01, $0A, $02, $01 ; ($5B) HC Tiny (first value placeholder)
db $03, $00, $01, $01, $0B, $02, $09 ; ($60) Swamp Sunken
db $03, $01, $00, $02, $09, $03, $08 ; ($67) Hera Entrance (first value unused)
db $01, $00, $08 ; ($6E) Ice Hookshot
db $02, $01, $00, $03, $08 ; ($71) Hera Basement (first and third values unused)
db $03, $00, $00, $01, $02, $03, $08 ; ($76) GT Circle (third value unused)
db $03, $01, $00, $00, $02, $03, $08 ; ($76) GT Circle (third value unused)
db $01, $00, $07 ; ($7D) Mire Entrance
db $02, $00, $02, $02, $09 ; ($80) Tower Usains (2nd value unused)
db $02, $00, $02, $02, $09 ; ($85) Tower Dark2 (2nd value unused)
@@ -59,8 +59,12 @@ db 5, -9
db 9, -9
db -6, -1
db 15, -1
db 1, 0
db 5, 0
db 9, 0
db 1, -1
db 5, -1
db 9, -1
db -6, 7
db 15, 7
db -3, -9
db 13, -9
db -3, -1
db 13, -1

View File

@@ -21,7 +21,7 @@ dw $FFFF, $83B7, $FFFF, $03B7 ; 13
dw $012E, $012F, $013E, $013F ; 14
dw $C374, $8340, $4341, $0340 ; 15
dw $0108, $0109, $436B, $036B ; 16
dw $C114, $0104, $4114, $0114 ; 17
dw $4104, $0104, $4114, $0114 ; 17
dw $C3B5, $FFFF, $43B4, $FFFF ; 18 - useless fairy drop
dw $FFFF, $8369, $FFFF, $035A ; 19
dw $03E7, $03E8, $03F7, $0361 ; 1A
@@ -37,7 +37,7 @@ dw $FFFF, $FFFF, $FFFF, $039B ; 23
dw $4365, $0365, $0132, $0133 ; 24
dw $FFFF, $FFFF, $FFFF, $FFFF ; 25 - unused
dw $039B, $03E4, $4363, $0382 ; 26
dw $C114, $0104, $4114, $0114 ; 27
dw $4104, $0104, $4114, $0114 ; 27
dw $C3A5, $FFFF, $4358, $0348 ; 28
dw $FFFF, $FFFF, $FFFF, $0396 ; 29 - Mothula
dw $C350, $8352, $4350, $03F8 ; 2A
@@ -162,7 +162,7 @@ dw $839B, $C39C, $FFFF, $FFFF ; A0
dw $C3B0, $835D, $FFFF, $036A ; A1
dw $03EE, $03EF, $03FE, $03FF ; A2
dw $C35A, $FFFF, $436A, $FFFF ; A3
dw $FFFF, $FFFF, $438E, $FFFF ; A4
dw $FFFF, $FFFF, $438F, $FFFF ; A4
dw $039A, $0361, $C3B2, $83B2 ; A5
dw $C340, $8370, $4340, $0340 ; A6
dw $C396, $FFFF, $FFFF, $FFFF ; A7 - ToH fairy basement room

Binary file not shown.

Binary file not shown.