Improve transition animation from straight stairs
This commit is contained in:
@@ -9,6 +9,7 @@
|
|||||||
; Normal doors use $FE to store the trap door indicator
|
; Normal doors use $FE to store the trap door indicator
|
||||||
; Normal doors use $045e to store Y coordinate when transitioning to in-room stairs
|
; Normal doors use $045e to store Y coordinate when transitioning to in-room stairs
|
||||||
; Normal doors use $045f to determine the order in which supertile quadrants are drawn
|
; Normal doors use $045f to determine the order in which supertile quadrants are drawn
|
||||||
|
; Straight stairs use $046d to store X coordinate on animation start
|
||||||
; Spiral doors use $045e to store stair type
|
; Spiral doors use $045e to store stair type
|
||||||
; Gfx uses $b1 to for sub-sub-sub-module thing
|
; Gfx uses $b1 to for sub-sub-sub-module thing
|
||||||
|
|
||||||
|
|||||||
10
normal.asm
10
normal.asm
@@ -150,15 +150,14 @@ LoadRoomVert:
|
|||||||
.notEdge
|
.notEdge
|
||||||
lda $01 : and #$03 : cmp #$03 : bne .normal
|
lda $01 : and #$03 : cmp #$03 : bne .normal
|
||||||
jsr ScrollToInroomStairs
|
jsr ScrollToInroomStairs
|
||||||
|
stz $046d
|
||||||
bra .end
|
bra .end
|
||||||
.normal
|
.normal
|
||||||
ldy #$01 : jsr ShiftVariablesMainDir
|
ldy #$01 : jsr ShiftVariablesMainDir
|
||||||
jsr PrepScrollToNormal
|
jsr PrepScrollToNormal
|
||||||
.scroll
|
.scroll
|
||||||
lda $01 : and #$40 : pha
|
lda $01 : and #$40 : sta $046d
|
||||||
jsr ScrollX
|
jsr ScrollX
|
||||||
pla : beq .end
|
|
||||||
ldy #$00 : jsr ApplyScroll
|
|
||||||
.end
|
.end
|
||||||
plb ; restore db register
|
plb ; restore db register
|
||||||
rts
|
rts
|
||||||
@@ -291,6 +290,11 @@ StraightStairsAdj:
|
|||||||
stx $0464 : sty $012e ; what we wrote over
|
stx $0464 : sty $012e ; what we wrote over
|
||||||
lda.l DRMode : beq +
|
lda.l DRMode : beq +
|
||||||
lda $045e : bne .toInroom
|
lda $045e : bne .toInroom
|
||||||
|
lda $046d : beq .noScroll
|
||||||
|
sta $22
|
||||||
|
ldy #$00 : jsr ApplyScroll
|
||||||
|
stz $046d
|
||||||
|
.noScroll
|
||||||
jsr GetTileAttribute : tax
|
jsr GetTileAttribute : tax
|
||||||
lda $11 : cmp #$12 : beq .goingNorth
|
lda $11 : cmp #$12 : beq .goingNorth
|
||||||
lda $a2 : cmp #$51 : bne ++
|
lda $a2 : cmp #$51 : bne ++
|
||||||
|
|||||||
@@ -168,7 +168,11 @@ ScrollX: ;change the X offset variables
|
|||||||
|
|
||||||
pla : sta $00
|
pla : sta $00
|
||||||
sep #$30
|
sep #$30
|
||||||
lda $04 : sta $22
|
lda $04 : ldx $046d : bne .straight
|
||||||
|
sta $22 : bra +
|
||||||
|
.straight
|
||||||
|
sta $046d ; set X position later
|
||||||
|
+
|
||||||
lda $00 : sta $23 : sta $0609 : sta $060d
|
lda $00 : sta $23 : sta $0609 : sta $060d
|
||||||
lda $01 : sta $a9
|
lda $01 : sta $a9
|
||||||
lda $0e : asl : ora $ac : sta $ac
|
lda $0e : asl : ora $ac : sta $ac
|
||||||
|
|||||||
Reference in New Issue
Block a user