Intro Cutscene warp, organize bank07 free space

This commit is contained in:
scawful
2023-05-17 22:36:35 -05:00
parent 2026c0f2e1
commit 2bf1b4dea5
8 changed files with 348 additions and 282 deletions

View File

@@ -1,10 +1,26 @@
; =============================================================================
; Minish Form Link
;
; Reacts to Tile ID 64 to transform into Minish Link
; =============================================================================
org $3A8000
incbin gfx/minish_link.4bpp
; =============================================================================
org $07DA2A
TileDetection_OverworldAttributeJumpTable:
; Tile ID 64
org $07DAF2
dw LinkState_CheckForMinishForm
dw LinkState_CheckMinishTile
; =============================================================================
; Start of free space in bank 07
org $07F89D
LinkState_CheckForMinishForm:
{
SEP #$30
@@ -15,24 +31,38 @@ LinkState_CheckForMinishForm:
LDA $02B2 : CMP.b #$05 : BEQ .already_minish
LDA.l $7EF359 : STA $0AA5 ; Store the current sword
LDA.l $7EF35A : STA $0AAF ; Store the current shield
LDA.b #$00 : STA $7EF359 : STA $7EF35A ; Clear the sword and shield
LDA #$3A : STA $BC ; change link's sprite
LDA #$05 : STA $02B2 ; Set the current mask form
REP #$30
RTS
.already_minish
LDA #$10 : STA $BC : STZ $02B2
STZ $02B2
LDA $0AA5 : STA.l $7EF359
LDA $0AAF : STA.l $7EF35A
LDA #$10 : STA $BC
REP #$30
RTS
}
org $07DA2A
TileDetection_OverworldAttributeJumpTable:
print "==> LinkState_CheckForMinishForm ", pc
; Tile ID 64
org $07DAF2
dw $F89D
LinkState_CheckMinishTile:
{
LDA $02B2 : BEQ .blocked ; no form
CMP.b #$05 : BNE .blocked ; not minish
LDA $0A : TSB $0343
RTS
org $3A8000
incbin gfx/minish_link.4bpp
.blocked
LDA $0A : TSB $0E ; Blocked
RTS
}
print "==> LinkState_CheckMinishTile ", pc