cleanup zora baby jump table

This commit is contained in:
scawful
2024-07-09 21:54:18 -04:00
parent 97ed0e0412
commit 900eb1b783

View File

@@ -189,6 +189,8 @@ pushpc
org $09AA5E org $09AA5E
JSL CheckForZoraBabyFollower JSL CheckForZoraBabyFollower
; Follower_BasicMover
; Jump to ZoraBaby sprite on star tile
org $09A19C org $09A19C
JSL CheckForZoraBabyTransitionToSprite JSL CheckForZoraBabyTransitionToSprite
@@ -196,9 +198,11 @@ org $09A19C
org $09A902 org $09A902
db $02 db $02
; Zora Baby char data offset
org $09A8CF org $09A8CF
org $00C0 org $00C0
; Zora Baby Sprite Idle OAM data
org $06BD9C org $06BD9C
dw 0, -8 : db $20, $03, $00, $02 dw 0, -8 : db $20, $03, $00, $02
dw 0, 0 : db $22, $03, $00, $02 dw 0, 0 : db $22, $03, $00, $02
@@ -208,26 +212,20 @@ SpritePrep_Locksmith:
{ {
INC.w $0BA0, X INC.w $0BA0, X
; Clear sprite if we already have Zora baby
LDA.l $7EF3CC : CMP.b #$09 : BNE .not_already_following LDA.l $7EF3CC : CMP.b #$09 : BNE .not_already_following
STZ.w SprState, X
STZ.w SprState, X RTS
RTS
.not_already_following .not_already_following
CMP.b #$0C
BNE .no_purple_chest
LDA.b #$02 : STA.w SprAction, X
CMP.b #$0C : BNE .no_purple_chest
LDA.b #$02 : STA.w SprAction, X
.no_purple_chest .no_purple_chest
JSL UploadZoraBabyGraphicsPrep
AND.b #$10
BEQ .exit
LDA.b #$04 : STA.w SprAction, X
JSL UploadZoraBabyGraphicsPrep : AND.b #$10 : BEQ .exit
LDA.b #$04 : STA.w SprAction, X
.exit .exit
RTS RTS
} }
warnpc $068D7F warnpc $068D7F
@@ -235,8 +233,9 @@ warnpc $068D7F
SpriteDraw_Locksmith = $06BDAC SpriteDraw_Locksmith = $06BDAC
Sprite_CheckIfActive_Bank06 = $06D9EC Sprite_CheckIfActive_Bank06 = $06D9EC
; Overrides Sprite_39_Locksmith
org $06BCAC org $06BCAC
Sprite_39_Locksmith: Sprite_39_ZoraBaby:
{ {
JSR SpriteDraw_Locksmith JSR SpriteDraw_Locksmith
JSR Sprite_CheckIfActive_Bank06 JSR Sprite_CheckIfActive_Bank06
@@ -246,10 +245,10 @@ Sprite_39_Locksmith:
JSL JumpTableLocal JSL JumpTableLocal
dw LockSmith_Chillin dw LockSmith_Chillin
dw LockSmith_FollowLink dw ZoraBaby_FollowLink ; Becomes Follower
dw LockSmith_OfferService dw ZoraBaby_OfferService ; I can help! (Follow/Stay)
dw LockSmith_RespondToAnswer dw ZoraBaby_RespondToAnswer ; Goto FollowLink or JustPromiseOkay
dw LockSmith_JustPromiseOkay dw ZoraBaby_AgreeToWait
dw LockSmith_SilentDismay dw LockSmith_SilentDismay
; ======================================================= ; =======================================================
@@ -292,14 +291,13 @@ Sprite_39_Locksmith:
; ======================================================= ; =======================================================
LockSmith_FollowLink: ZoraBaby_FollowLink:
LDA.b #$09 ; FOLLOWER 09 {
STA.l $7EF3CC LDA.b #$09 : STA.l $7EF3CC
PHX PHX
STZ.w $02F9 STZ.w $02F9
JSL LoadFollowerGraphics JSL LoadFollowerGraphics
JSL Follower_Initialize JSL Follower_Initialize
@@ -312,80 +310,71 @@ Sprite_39_Locksmith:
STZ.w SprState, X STZ.w SprState, X
RTS RTS
}
; ======================================================= ; =======================================================
LockSmith_OfferService: ZoraBaby_OfferService:
JSL CheckIfLinkIsBusy {
BCS .exit JSL CheckIfLinkIsBusy : BCS .exit
LDA.b #$09 ; MESSAGE 0109
LDA.b #$09 ; MESSAGE 0109 LDY.b #$01
LDY.b #$01 JSL Sprite_ShowSolicitedMessage : BCC .exit
JSL Sprite_ShowSolicitedMessage INC.w SprAction, X
BCC .exit
.continue
INC.w SprAction, X
.exit .exit
RTS RTS
}
; ======================================================= ; =======================================================
LockSmith_RespondToAnswer: ZoraBaby_RespondToAnswer:
LDA.w $1CE8 {
BNE .rejected LDA.w $1CE8 : BNE .rejected
LDA.b #$0C ; MESSAGE 010C
LDY.b #$01
JSL Sprite_ShowMessageUnconditional
LDA.b #$01 : STA.w SprAction, X
RTS
LDA.b #$0C ; MESSAGE 010C ; -------------------------------------------------------
LDY.b #$01 ; LDA.l $7EF3C9
JSL Sprite_ShowMessageUnconditional ; ORA.b #$10
; STA.l $7EF3C9
; -------------------------------------------------------
LDA.b #$01 .rejected
STA.w SprAction, X
RTS
; -------------------------------------------------------
; LDA.l $7EF3C9
; ORA.b #$10
; STA.l $7EF3C9
; -------------------------------------------------------
.rejected
LDA.b #$0A ; MESSAGE 010A LDA.b #$0A ; MESSAGE 010A
LDY.b #$01 LDY.b #$01
JSL Sprite_ShowMessageUnconditional JSL Sprite_ShowMessageUnconditional
; LDA.b #$02 LDA.b #$FF : STA.w SprTimerB, X
; STA.w SprAction, X
LDA.b #$FF : STA.w SprTimerB, X
INC.w SprAction, X INC.w SprAction, X
RTS RTS
}
; ======================================================= ; =======================================================
LockSmith_JustPromiseOkay: ZoraBaby_AgreeToWait:
{
LDA.b #$0B ; MESSAGE 010B LDA.b #$0B ; MESSAGE 010B
LDY.b #$01 LDY.b #$01
JSL Sprite_ShowSolicitedMessage JSL Sprite_ShowSolicitedMessage
LDA.w SprTimerB, X : BNE + LDA.w SprTimerB, X : BNE +
STZ.w SprAction, X STZ.w SprAction, X
+ +
RTS RTS
}
; ======================================================= ; =======================================================
LockSmith_SilentDismay: LockSmith_SilentDismay:
{
LDA.b #$07 ; MESSAGE 0107 LDA.b #$07 ; MESSAGE 0107
LDY.b #$01 LDY.b #$01
JSL Sprite_ShowSolicitedMessage JSL Sprite_ShowSolicitedMessage
RTS RTS
}
} }
print "End of Sprite 39 Locksmith ", pc print "End of Sprite 39 Locksmith ", pc
warnpc $06BD9C warnpc $06BD9C