cleanup follower code
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user