cleanup follower code

This commit is contained in:
scawful
2024-07-09 18:06:37 -04:00
parent e419c779e1
commit 95959f8692

View File

@@ -77,14 +77,14 @@ ZoraBaby_RevertToSprite:
PHX PHX
TAX TAX
LDA.w $1A64,X : AND.b #$03 : STA.w $0EB0,Y : STA.w $0DE0,Y LDA.w $1A64, X : AND.b #$03 : STA.w $0EB0,Y : STA.w $0DE0,Y
LDA.w $1A00,X : CLC : ADC.b #$02 : STA.w $0D00,Y LDA.w $1A00, X : CLC : ADC.b #$02 : STA.w $0D00,Y
LDA.w $1A14,X : ADC.b #$00 : STA.w $0D20,Y LDA.w $1A14, X : ADC.b #$00 : STA.w $0D20,Y
LDA.w $1A28,X : CLC : ADC.b #$10 : STA.w $0D10,Y LDA.w $1A28, X : CLC : ADC.b #$10 : STA.w $0D10,Y
LDA.w $1A3C,X : ADC.b #$00 : STA.w $0D30,Y LDA.w $1A3C, X : ADC.b #$00 : STA.w $0D30,Y
LDA.b $EE : STA.w $0F20,Y LDA.b $EE : STA.w $0F20,Y
LDA.b #$01 : STA.w $0BA0,Y : STA.w $0E80,Y LDA.b #$01 : STA.w $0BA0,Y : STA.w $0E80,Y
LDA.b #$04 : STA.w $0D80, Y LDA.b #$04 : STA.w SprAction, Y
LDA.b #$FF : STA.w SprTimerB, Y LDA.b #$FF : STA.w SprTimerB, Y
PLX PLX
@@ -164,46 +164,45 @@ org $06BD9C
org $068D59 org $068D59
SpritePrep_Locksmith: SpritePrep_Locksmith:
{ {
INC.w $0BA0,X INC.w $0BA0, X
LDA.l $7EF3CC LDA.l $7EF3CC : CMP.b #$09 : BNE .not_already_following
CMP.b #$09 ; FOLLOWER 09
BNE .not_already_following
STZ.w $0DD0,X STZ.w SprState, X
RTS RTS
.not_already_following .not_already_following
CMP.b #$0C ; FOLLOWER 0C CMP.b #$0C
BNE .no_purple_chest BNE .no_purple_chest
LDA.b #$02 LDA.b #$02 : STA.w SprAction, X
STA.w $0D80,X
.no_purple_chest .no_purple_chest
JSL UploadZoraBabyGraphicsPrep JSL UploadZoraBabyGraphicsPrep
AND.b #$10 AND.b #$10
BEQ .exit BEQ .exit
LDA.b #$04 LDA.b #$04 : STA.w SprAction, X
STA.w $0D80,X
.exit .exit
RTS RTS
} }
warnpc $068D7F
SpriteDraw_Locksmith = $06BDAC SpriteDraw_Locksmith = $06BDAC
Sprite_CheckIfActive_Bank06 = $06D9EC Sprite_CheckIfActive_Bank06 = $06D9EC
org $06BCAC org $06BCAC
Sprite_39_Locksmith: Sprite_39_Locksmith:
{
JSR SpriteDraw_Locksmith JSR SpriteDraw_Locksmith
JSR Sprite_CheckIfActive_Bank06 JSR Sprite_CheckIfActive_Bank06
JSL ZoraBaby_GlobalBehavior JSL ZoraBaby_GlobalBehavior
LDA.w $0D80,X LDA.w SprAction, X
JSL JumpTableLocal JSL JumpTableLocal
dw LockSmith_Chillin dw LockSmith_Chillin
dw LockSmith_FollowLink dw LockSmith_FollowLink
dw LockSmith_OfferService dw LockSmith_OfferService
@@ -211,47 +210,47 @@ Sprite_39_Locksmith:
dw LockSmith_JustPromiseOkay dw LockSmith_JustPromiseOkay
dw LockSmith_SilentDismay dw LockSmith_SilentDismay
; ========================================================= ; =======================================================
LockSmith_Chillin: LockSmith_Chillin:
LDA.b #$07 ; MESSAGE 0107 LDA.b #$07 ; MESSAGE 0107
LDY.b #$01 LDY.b #$01
JSL Sprite_ShowSolicitedMessage JSL Sprite_ShowSolicitedMessage
LDA.w $0D10,X LDA.w $0D10, X
PHA PHA
SEC SEC
SBC.b #$10 SBC.b #$10
STA.w $0D10,X STA.w $0D10, X
JSR Sprite_Get16BitCoords_Local JSR Sprite_Get16BitCoords_Local
LDA.b #$01 LDA.b #$01
STA.w $0D50,X STA.w $0D50, X
STA.w $0D40,X STA.w $0D40, X
JSL Sprite_CheckTileCollision_long JSL Sprite_CheckTileCollision_long
BNE .dont_stalk_link BNE .dont_stalk_link
INC.w $0D80,X INC.w SprAction, X
LDA.l $7EF3CC LDA.l $7EF3CC
CMP.b #$00 CMP.b #$00
BEQ .dont_stalk_link BEQ .dont_stalk_link
LDA.b #$05 LDA.b #$05
STA.w $0D80,X STA.w SprAction, X
.dont_stalk_link .dont_stalk_link
PLA PLA
STA.w $0D10,X STA.w $0D10, X
RTS RTS
; ========================================================= ; =======================================================
LockSmith_FollowLink: LockSmith_FollowLink:
LDA.b #$09 ; FOLLOWER 09 LDA.b #$09 ; FOLLOWER 09
STA.l $7EF3CC STA.l $7EF3CC
@@ -268,13 +267,13 @@ LockSmith_FollowLink:
STA.w $02CD STA.w $02CD
STZ.w $02CE STZ.w $02CE
STZ.w $0DD0,X STZ.w SprState, X
RTS RTS
; ========================================================= ; =======================================================
LockSmith_OfferService: LockSmith_OfferService:
JSL CheckIfLinkIsBusy JSL CheckIfLinkIsBusy
BCS .exit BCS .exit
@@ -284,14 +283,14 @@ LockSmith_OfferService:
BCC .exit BCC .exit
.continue .continue
INC.w $0D80,X INC.w SprAction, X
.exit .exit
RTS RTS
; ========================================================= ; =======================================================
LockSmith_RespondToAnswer: LockSmith_RespondToAnswer:
LDA.w $1CE8 LDA.w $1CE8
BNE .rejected BNE .rejected
@@ -300,34 +299,33 @@ LockSmith_RespondToAnswer:
JSL Sprite_ShowMessageUnconditional JSL Sprite_ShowMessageUnconditional
LDA.b #$01 LDA.b #$01
STA.w $0D80,X STA.w SprAction, X
RTS RTS
; --------------------------------------------------------- ; -------------------------------------------------------
; LDA.l $7EF3C9 ; LDA.l $7EF3C9
; ORA.b #$10 ; ORA.b #$10
; STA.l $7EF3C9 ; STA.l $7EF3C9
; -------------------------------------------------------
; --------------------------------------------------------- .rejected
.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 #$02
; STA.w $0D80,X ; STA.w SprAction, X
LDA.b #$FF : STA.w SprTimerB, X LDA.b #$FF : STA.w SprTimerB, X
INC.w $0D80,X INC.w SprAction, X
RTS RTS
; ========================================================= ; =======================================================
LockSmith_JustPromiseOkay: LockSmith_JustPromiseOkay:
LDA.b #$0B ; MESSAGE 010B LDA.b #$0B ; MESSAGE 010B
LDY.b #$01 LDY.b #$01
JSL Sprite_ShowSolicitedMessage JSL Sprite_ShowSolicitedMessage
@@ -338,20 +336,21 @@ LockSmith_JustPromiseOkay:
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
warnpc $06BD9C warnpc $06BD9C
pullpc pullpc
; ================================================= ; =========================================================
; Old Man Follower Sprite ; Old Man Follower Sprite
; Old man sprite wont spawn in his home room ; Old man sprite wont spawn in his home room
@@ -387,20 +386,18 @@ org $02D98B
org $1EE8F1 org $1EE8F1
SpritePrep_OldMan: SpritePrep_OldMan:
{ {
PHB PHB : PHK : PLB
PHK
PLB
JSR .main JSR .main
PLB PLB
RTL RTL
.main .main
INC.w $0BA0,X INC.w $0BA0, X
; LDA.b $A0 : CMP.b #$E4 ; ROOM 00E4 ; LDA.b $A0 : CMP.b #$E4 ; ROOM 00E4
JSL OldMan_ExpandedPrep : BCS .not_home JSL OldMan_ExpandedPrep : BCS .not_home
LDA.b #$02 : STA.w $0E80,X LDA.b #$02 : STA.w $0E80, X
RTS RTS
.not_home .not_home
@@ -409,7 +406,7 @@ SpritePrep_OldMan:
; Check for lv2 hookshot instead of mirror ; Check for lv2 hookshot instead of mirror
LDA.l $7EF342 : CMP.b #$02 : BNE .spawn LDA.l $7EF342 : CMP.b #$02 : BNE .spawn
STZ.w $0DD0,X STZ.w SprState, X
.spawn .spawn
; FOLLOWER 04 ; FOLLOWER 04
@@ -424,7 +421,7 @@ SpritePrep_OldMan:
RTS RTS
.dont_spawn .dont_spawn
STZ.w $0DD0,X STZ.w SprState, X
PHX PHX
JSL LoadFollowerGraphics JSL LoadFollowerGraphics
@@ -465,7 +462,7 @@ Follower_HandleTriggerData:
dw $05AC, $04FC, $0001, $0029, $0001 ; Zelda - MESSAGE 0029 dw $05AC, $04FC, $0001, $0029, $0001 ; Zelda - MESSAGE 0029
; --------------------------------------------------------- ; -------------------------------------------------------
.overworld_id .overworld_id
dw $0005 ; OW 05 - West DM (Updated) dw $0005 ; OW 05 - West DM (Updated)
@@ -481,7 +478,7 @@ Follower_HandleTriggerData:
dw $00E8, $0090, $0000, $0028, $000E ; MS telepathy - MESSAGE 0028 dw $00E8, $0090, $0000, $0028, $000E ; MS telepathy - MESSAGE 0028
; --------------------------------------------------------- ; -------------------------------------------------------
.room_boundaries_check .room_boundaries_check
dw $0000, $001E, $003C, $0046 dw $0000, $001E, $003C, $0046