Improved door landing
This commit is contained in:
@@ -526,6 +526,9 @@ Overworld_ActualScreenID:
|
|||||||
org $02B861
|
org $02B861
|
||||||
Dungeon_SaveRoomQuadrantData:
|
Dungeon_SaveRoomQuadrantData:
|
||||||
|
|
||||||
|
org $02C11D
|
||||||
|
CalculateTransitionLanding:
|
||||||
|
|
||||||
org $02C176
|
org $02C176
|
||||||
Overworld_FinalizeEntryOntoScreen_Data:
|
Overworld_FinalizeEntryOntoScreen_Data:
|
||||||
|
|
||||||
@@ -694,6 +697,9 @@ OverworldMap_DarkWorldTilemap:
|
|||||||
org $0ABAB9
|
org $0ABAB9
|
||||||
OverworldMap_LoadSprGfx:
|
OverworldMap_LoadSprGfx:
|
||||||
|
|
||||||
|
org $8AE817
|
||||||
|
DungeonMapBossRooms:
|
||||||
|
|
||||||
org $0CD7D1
|
org $0CD7D1
|
||||||
NameFile_MakeScreenVisible:
|
NameFile_MakeScreenVisible:
|
||||||
org $0CDB3E
|
org $0CDB3E
|
||||||
|
|||||||
@@ -54,6 +54,13 @@ org $82941a ; <- Bank02.asm : 3748 module 7.12.11 (LDA $0464 : BNE BRANCH_$11513
|
|||||||
jsl StraightStairsTrapDoor : rts
|
jsl StraightStairsTrapDoor : rts
|
||||||
org $828b54 ; <- Bank02.asm : 2200 (JSL UseImplicitRegIndexedLocalJumpTable)
|
org $828b54 ; <- Bank02.asm : 2200 (JSL UseImplicitRegIndexedLocalJumpTable)
|
||||||
jsl InroomStairsTrapDoor
|
jsl InroomStairsTrapDoor
|
||||||
|
org $82c146
|
||||||
|
jsl HandleSpecialDoorLanding
|
||||||
|
org $82c23a
|
||||||
|
HandleIncomingDoorStateLocal:
|
||||||
|
jsl HandleIncomingDoorState : rts
|
||||||
|
org $82c172
|
||||||
|
jsr HandleIncomingDoorStateLocal
|
||||||
|
|
||||||
org $8289a0 ; JSL $0091C4
|
org $8289a0 ; JSL $0091C4
|
||||||
jsl QuadrantLoadOrderBeforeScroll
|
jsl QuadrantLoadOrderBeforeScroll
|
||||||
|
|||||||
@@ -296,6 +296,7 @@ StraightStairsAdj:
|
|||||||
stz $046d
|
stz $046d
|
||||||
.noScroll
|
.noScroll
|
||||||
jsr GetTileAttribute : tax
|
jsr GetTileAttribute : tax
|
||||||
|
jsl HandleIncomingDoorState
|
||||||
lda $11 : cmp #$12 : beq .goingNorth
|
lda $11 : cmp #$12 : beq .goingNorth
|
||||||
lda $a2 : cmp #$51 : bne ++
|
lda $a2 : cmp #$51 : bne ++
|
||||||
rep #$20 : lda #$0018 : !add $20 : sta $20 : sep #$20 ; special fix for throne room
|
rep #$20 : lda #$0018 : !add $20 : sta $20 : sep #$20 ; special fix for throne room
|
||||||
@@ -324,7 +325,7 @@ GetTileAttribute:
|
|||||||
{
|
{
|
||||||
phk : pea.w .jslrtsreturn-1
|
phk : pea.w .jslrtsreturn-1
|
||||||
pea.w $02802c
|
pea.w $02802c
|
||||||
jml $02c11d ; mucks with x/y sets a to Tile Attribute, I think
|
jml CalculateTransitionLanding ; mucks with x/y sets a to Tile Attribute, I think
|
||||||
.jslrtsreturn
|
.jslrtsreturn
|
||||||
rts
|
rts
|
||||||
}
|
}
|
||||||
@@ -417,3 +418,24 @@ InroomStairsTrapDoor:
|
|||||||
jsl StraightStairsTrapDoor_reset
|
jsl StraightStairsTrapDoor_reset
|
||||||
jml $028b15 ; just some RTS in bank 02
|
jml $028b15 ; just some RTS in bank 02
|
||||||
}
|
}
|
||||||
|
|
||||||
|
HandleSpecialDoorLanding: {
|
||||||
|
LDA.l $7F2000,X ; what we wrote over
|
||||||
|
SEP #$30
|
||||||
|
CMP #$34 : bne + ; inroom stairs
|
||||||
|
PHA : LDA #$26 : STA $045E : PLA
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
; Y = tiletype, also written to $4E
|
||||||
|
HandleIncomingDoorState:
|
||||||
|
{
|
||||||
|
PHA
|
||||||
|
LDA.l DRMode : BEQ .noDoor
|
||||||
|
CPY.b #$01 : !bge .noDoor
|
||||||
|
LDA.w $0418 : AND.b #$02 : BNE + : INC
|
||||||
|
+ STA.b $6C
|
||||||
|
.noDoor
|
||||||
|
STY.b $4E : TYA ; what we wrote over
|
||||||
|
PLY : RTL
|
||||||
|
}
|
||||||
@@ -207,19 +207,16 @@ InroomStairsWarp: {
|
|||||||
.normal
|
.normal
|
||||||
lda $01 : sta $fe ; trap door
|
lda $01 : sta $fe ; trap door
|
||||||
lda $07 : sta $03 : beq +
|
lda $07 : sta $03 : beq +
|
||||||
ldy $a0 : cpy #$51 : beq .specialFix ; throne room
|
lda $01 : and #$04 : bne .specialFix
|
||||||
cpy #$02 : beq .specialFix ; sewers pull switch
|
lda #$e0 : bra ++
|
||||||
cpy #$71 : beq .specialFix ; castle armory
|
|
||||||
lda #$e0
|
|
||||||
bra ++
|
|
||||||
.specialFix
|
.specialFix
|
||||||
lda #$c8
|
lda #$c8 : bra ++
|
||||||
bra ++
|
|
||||||
+
|
+
|
||||||
%StonewallCheck($43)
|
%StonewallCheck($43)
|
||||||
lda #$1b
|
lda $01 : and #$04 : bne +
|
||||||
++
|
lda #$1b : bra ++
|
||||||
sta $20
|
+ lda #$33
|
||||||
|
++ sta $20
|
||||||
inc $07 : stz $02 : lda #$78 : sta $22
|
inc $07 : stz $02 : lda #$78 : sta $22
|
||||||
lda $01 : and #$03 : beq ++
|
lda $01 : and #$03 : beq ++
|
||||||
cmp #$02 : !bge +
|
cmp #$02 : !bge +
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ DoDungeonMapBossIcon:
|
|||||||
|
|
||||||
; get dungeon boss room
|
; get dungeon boss room
|
||||||
++ REP #$30
|
++ REP #$30
|
||||||
LDA.l $8AE817,X
|
LDA.l DungeonMapBossRooms, X
|
||||||
ASL
|
ASL
|
||||||
TAX
|
TAX
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user