bulk replace SprX/SprY labels to all sprites, .w qualifiers on STAs

This commit is contained in:
scawful
2024-06-30 12:34:42 -04:00
parent 7c4e1841ec
commit 61dffd7017
26 changed files with 348 additions and 362 deletions

View File

@@ -490,8 +490,8 @@ Sprite_DarkLink_Main:
JSL GetRandomInt
AND #$03
TAY
LDA speedTableX, Y : STA SprXSpeed, X
LDA speedTableY, Y : STA SprYSpeed, X
LDA speedTableX, Y : STA.w SprXSpeed, X
LDA speedTableY, Y : STA.w SprYSpeed, X
RTS
}
@@ -1527,11 +1527,11 @@ GanonInit:
LDA #$C1
JSL Sprite_SpawnDynamically
LDA #$05 : STA.w SprSubtype, Y
LDA $00 : STA $0D10, Y
LDA $01 : STA.w $0D30, Y
LDA $00 : STA.w SprX, Y
LDA $01 : STA.w SprXH, Y
LDA $02 : STA.w $0D00, Y
LDA $03 : STA.w $0D20, Y
LDA $02 : STA.w SprY, Y
LDA $03 : STA.w SprYH, Y
LDA.b #$30 : STA.w SprTimerA, Y
LDA #$1C : STA.w $012C

View File

@@ -104,7 +104,7 @@ Sprite_Kydreeok_CheckIfDead:
RTS
.dead
LDA.b #$60 : STA.w SprTimerA, X
LDA.b #$05 : STA SprAction, X
LDA.b #$05 : STA.w SprAction, X
LDA.b #$13 : STA $012C
.not_dead
RTS
@@ -153,7 +153,7 @@ Sprite_Kydreeok_Main:
LDY #$00
JSR ApplyKydreeokGraphics
JSR ApplyPalette
LDA.b #$01 : STA SprMiscD, X
LDA.b #$01 : STA.w SprMiscD, X
.go
JSL Sprite_PlayerCantPassThrough
@@ -290,10 +290,10 @@ Sprite_Kydreeok_Main:
LDA.b #$04 : STA.w $0DD0,Y
LDA.b #$03 : STA.w $0E40,Y
LDA.b #$0C : STA.w $0F50,Y
LDA.w $0FD8 : STA.w $0D10,Y
LDA.w $0FD9 : STA.w $0D30,Y
LDA.w $0FDA : STA.w $0D00,Y
LDA.w $0FDB : STA.w $0D20,Y
LDA.w $0FD8 : STA.w SprX,Y
LDA.w $0FD9 : STA.w SprXH,Y
LDA.w $0FDA : STA.w SprY,Y
LDA.w $0FDB : STA.w SprYH,Y
LDA.b #$1F
STA.w $0DF0,Y
@@ -543,7 +543,7 @@ StopIfOutOfBounds:
LDA SprCachedX : CMP.w #$0118 : BCS .not_out_of_bounds_Left
SEP #$20
LDA.w SprXSpeed : CMP.b #$7F : BCC .not_out_of_bounds_Left
LDA.b #-10 : STA.w SprXSpeed : STA SprXRound
LDA.b #-10 : STA.w SprXSpeed : STA.w SprXRound
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
@@ -559,7 +559,7 @@ StopIfOutOfBounds:
LDA SprCachedX : CMP.w #$01D8 : BCC .not_out_of_bounds_Right
SEP #$20
LDA.w SprXSpeed : CMP.b #$80 : BCS .not_out_of_bounds_Right
LDA.b #$00 : STA.w SprXSpeed : STA SprXRound
LDA.b #$00 : STA.w SprXSpeed : STA.w SprXRound
LDA $19EA : CLC : ADC #$04 : STA $19EA
LDA $19EC : CLC : ADC #$04 : STA $19EC
LDA $19EE : CLC : ADC #$04 : STA $19EE
@@ -576,7 +576,7 @@ StopIfOutOfBounds:
LDA SprCachedY : CMP.w #$0020 : BCS .not_out_of_bounds_Up
SEP #$20
LDA.w SprYSpeed : CMP.b #$7F : BCC .not_out_of_bounds_Up
LDA.b #$00 : STA.w SprYSpeed : STA SprYRound
LDA.b #$00 : STA.w SprYSpeed : STA.w SprYRound
LDA $19EA : SEC : SBC #$04 : STA $19EA
LDA $19EC : SEC : SBC #$04 : STA $19EC
LDA $19EE : SEC : SBC #$04 : STA $19EE
@@ -588,7 +588,7 @@ StopIfOutOfBounds:
LDA SprCachedY : CMP.w #$00D0 : BCC .not_out_of_bounds_Down
SEP #$20
LDA.w SprYSpeed : CMP.b #$80 : BCS .not_out_of_bounds_Down
LDA.b #-10 : STA.w SprYSpeed : STA SprYRound ; Reverse the direction
LDA.b #-10 : STA.w SprYSpeed : STA.w SprYRound ; Reverse the direction
; Modify the neck position
; Makes them move away from each other a bit

View File

@@ -400,8 +400,8 @@ MoveWithBody:
Neck1_Control:
{
; Set head pos
LDA $19EE : STA SprX, X
LDA $19EF : STA SprY, X
LDA $19EE : STA.w SprX, X
LDA $19EF : STA.w SprY, X
LDA.w SprX, X : STA.w SprMiscC, X
LDA.w SprY, X : STA.w SprMiscD, X
@@ -503,8 +503,8 @@ Neck1_Control:
Neck2_Control:
{
; Set head pos
LDA $19F4 : STA SprX, X
LDA $19F5 : STA SprY, X
LDA $19F4 : STA.w SprX, X
LDA $19F5 : STA.w SprY, X
LDA.w SprX, X : STA.w SprMiscC, X
LDA.w SprY, X : STA.w SprMiscD, X

View File

@@ -196,7 +196,7 @@ Sprite_Kydrog_Draw:
TYA : LSR #2 : TAY
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
LDA.b #$02 : ORA $0F : STA ($92), Y ; store size in oam buffer
PLY : INY
@@ -220,6 +220,4 @@ Sprite_Kydrog_Draw:
db $CC, $CE, $EE, $EC, $E8, $EA
.properties
db $39, $39, $39, $39, $39, $39
.sizes
db $02, $02, $02, $02, $02, $02
}

View File

@@ -94,7 +94,7 @@ Sprite_KydrogBoss_Prep:
LDA.b #$80 : STA $0CAA, X
LDA.b #$03 : STA $0F60, X ; hitbox settings
LDA.b #$07 : STA SprBump, X ; bump damage type
LDA.b #$07 : STA.w SprBump, X ; bump damage type
LDA $0E60, X : AND.b #$BF : STA $0E60, X ; Not invincible
JSR KydrogBoss_Set_Damage ; Set the damage table
@@ -103,7 +103,7 @@ Sprite_KydrogBoss_Prep:
%SetSpriteSpeedX(15)
%SetHarmless(00)
LDA #$80 : STA SprTimerD, X ; intro timer
LDA #$80 : STA.w SprTimerD, X ; intro timer
PLB
RTL
@@ -423,9 +423,9 @@ Sprite_KydrogBoss_Main:
; Increase the Z for a bit until he is off screen
LDA SprHeight, X : CLC : ADC.b #$04
STA SprHeight, X : CMP.b #$B0 : BCC .not_off_screen
STA.w SprHeight, X : CMP.b #$B0 : BCC .not_off_screen
;
LDA #$40 : STA SprTimerD, X
LDA #$40 : STA.w SprTimerD, X
%GotoAction($0B)
.not_off_screen
@@ -441,15 +441,15 @@ Sprite_KydrogBoss_Main:
LDA SprTimerD, X : BEQ .no_track_player
LDA $20 : STA SprY, X
LDA $22 : STA SprX, X
LDA $20 : STA.w SprY, X
LDA $22 : STA.w SprX, X
; PHX : JSL $01F3EC : PLX ; Light Torch
LDA SprTimerD, X : BNE .wait_a_second
.no_track_player
; Decrease the Z for a bit until he is at level with Link
LDA SprHeight, X : SEC : SBC.b #$04 : STA SprHeight, X
LDA SprHeight, X : SEC : SBC.b #$04 : STA.w SprHeight, X
CMP.b #$04 : BCS .not_off_screen
%GotoAction(1)
.not_off_screen
@@ -669,8 +669,8 @@ Kydrog_ThrowBoneAtPlayer:
TYX
LDA SprX, X : CLC : ADC.b #$10 : STA SprX, X
LDA SprY, X : SEC : SBC.b #$04 : STA SprY, X
LDA SprX, X : CLC : ADC.b #$10 : STA.w SprX, X
LDA SprY, X : SEC : SBC.b #$04 : STA.w SprY, X
LDA.b #$20 : JSL Sprite_ApplySpeedTowardsPlayer
@@ -680,13 +680,13 @@ Kydrog_ThrowBoneAtPlayer:
LDA.b #$48 : STA $0CAA, X
LDA.b #$10 : STA SprTimerC, X
LDA.b #$10 : STA.w SprTimerC, X
LDA.b #$14 : STA $0F60, X
LDA.b #$07 : STA $0F50, X
LDA.b #$20 : STA SprBump, X
LDA.b #$20 : STA.w SprBump, X
PLX

View File

@@ -147,11 +147,11 @@ Lanmola_Mound: ;0x01
; ALTERNATE ENTRY POINT
.Lanmola_SetScatterSandPosition
LDA $0D30, X : STA $0DC0, X
LDA $0D20, X : STA $0EB0, X
LDA SprXH, X : STA $0DC0, X
LDA SprYH, X : STA $0EB0, X
LDA $0D10, X : STA $0DE0, X
LDA $0D00, X : STA $0E70, X
LDA SprX, X : STA $0DE0, X
LDA SprY, X : STA $0E70, X
LDA.b #$4A : STA $0E00, X
@@ -196,13 +196,13 @@ Lanmola_Fly: ;0x02
.dontSwitchDirections
LDA $0DA0, X : STA $04
LDA $0D30, X : STA $05
LDA SprXH, X : STA $05
LDA $0DB0, X : STA $06
LDA $0D20, X : STA $07
LDA $0D10, X : STA $00
LDA $0D30, X : STA $01
LDA $0D00, X : STA $02
LDA $0D20, X : STA $03
LDA SprYH, X : STA $07
LDA SprX, X : STA $00
LDA SprXH, X : STA $01
LDA SprY, X : STA $02
LDA SprYH, X : STA $03
REP #$20
@@ -272,10 +272,10 @@ Lanmola_Reset: ;0x04
TXY
JSL GetRandomInt : AND.b #$07 : TAX
LDA $7EEAA8, X : STA $0D10, Y ; Get random X pos to have the lanmola fly to. ;.randXPos
LDA $7EEAA8, X : STA.w SprX, Y ; Get random X pos to have the lanmola fly to. ;.randXPos
JSL GetRandomInt : AND.b #$07 : TAX
LDA $7EEAB0, X : STA $0D00, Y ; Get random Y pos to have the lanmola fly to. ;.randYPos
LDA $7EEAB0, X : STA.w SprY, Y ; Get random Y pos to have the lanmola fly to. ;.randYPos
TYX
.wait
@@ -348,10 +348,10 @@ Lanmola_Death: ;0x05
LDA.b #$1F : STA $0DF0, Y : STA $0D90, Y
LDA $0A : STA $0D10, Y
LDA $0B : STA $0D30, Y
LDA $0C : STA $0D00, Y
LDA $0D : STA $0D20, Y
LDA $0A : STA.w SprX, Y
LDA $0B : STA.w SprXH, Y
LDA $0C : STA.w SprY, Y
LDA $0D : STA.w SprYH, Y
LDA.b #$03 : STA $0E40, Y

View File

@@ -292,10 +292,10 @@ Lanmola_MoveSegment:
; Store the current position, angle, and hieght of the sprite
; so that we can set the other segments to them later.
LDA $0D30, X : PHA ;high x
LDA $0D20, X : PHA ;high y
LDA $0D10, X : PHA ;lower x
LDA $0D00, X : PHA ;lower y
LDA SprXH, X : PHA ;high x
LDA SprYH, X : PHA ;high y
LDA SprX, X : PHA ;lower x
LDA SprY, X : PHA ;lower y
LDA $0F70, X : PHA ;height
LDA $0F : PHA ;angle

View File

@@ -493,7 +493,7 @@ Manhandla_StopIfOutOfBounds:
LDA SprCachedX : CMP.w #$153A : BCS .not_out_of_bounds_Left
SEP #$20
LDA.w SprXSpeed : CMP.b #$7F : BCC .not_out_of_bounds_Left
LDA.b #-08 : STA.w SprXSpeed : STA SprXRound
LDA.b #-08 : STA.w SprXSpeed : STA.w SprXRound
.not_out_of_bounds_Left
SEP #$20
@@ -502,7 +502,7 @@ Manhandla_StopIfOutOfBounds:
LDA SprCachedX : CMP.w #$15C8 : BCC .not_out_of_bounds_Right
SEP #$20
LDA.w SprXSpeed : CMP.b #$80 : BCS .not_out_of_bounds_Right
LDA.b #$08 : STA.w SprXSpeed : STA SprXRound
LDA.b #$08 : STA.w SprXSpeed : STA.w SprXRound
.not_out_of_bounds_Right
SEP #$20
@@ -512,7 +512,7 @@ Manhandla_StopIfOutOfBounds:
LDA SprCachedY : CMP.w #$0B3A : BCS .not_out_of_bounds_Up
SEP #$20
LDA.w SprYSpeed : CMP.b #$7F : BCC .not_out_of_bounds_Up
LDA.b #$08 : STA.w SprYSpeed : STA SprYRound
LDA.b #$08 : STA.w SprYSpeed : STA.w SprYRound
.not_out_of_bounds_Up
SEP #$20
@@ -521,7 +521,7 @@ Manhandla_StopIfOutOfBounds:
LDA SprCachedY : CMP.w #$0BA6 : BCC .not_out_of_bounds_Down
SEP #$20
LDA.w SprYSpeed : CMP.b #$80 : BCS .not_out_of_bounds_Down
LDA.b #-08 : STA.w SprYSpeed : STA SprYRound ; Reverse the direction
LDA.b #-08 : STA.w SprYSpeed : STA.w SprYRound ; Reverse the direction
.not_out_of_bounds_Down
SEP #$20
@@ -817,7 +817,7 @@ Mothula_SpawnBeams:
LDA.b $02 : SEC : SBC.b $04
CLC : ADC.b #$03 : STA.w $0D00,Y
CLC : ADC.b #$03 : STA.w SprY,Y
LDA.b #$10 : STA.w $0DF0,Y : STA.w $0BA0,Y
@@ -826,7 +826,7 @@ Mothula_SpawnBeams:
LDX.w $0FB5
LDA.b $00 : CLC : ADC.w .speed_and_offset_x,X
STA.w $0D10,Y
STA.w SprX,Y
LDA.w .speed_and_offset_x,X : STA.w $0D50,Y

View File

@@ -180,7 +180,7 @@ Sprite_Octoboss_Main:
LDA.b #$49
LDY.b #$00
JSL Sprite_ShowMessageUnconditional
LDA #$16 : STA SprTimerC, X
LDA #$16 : STA.w SprTimerC, X
INC.w SprAction, X
+
RTS
@@ -919,20 +919,20 @@ SpawnBossPoof:
LDA.b $00
CLC
ADC.b #$10
STA.w $0D10,Y
STA.w SprX,Y
LDA.b $01
ADC.b #$00
STA.w $0D30,Y
STA.w SprXH,Y
LDA.b $02
CLC
ADC.b #$08
STA.w $0D00,Y
STA.w SprY,Y
LDA.b $03
ADC.b #$00
STA.w $0D20,Y
STA.w SprYH,Y
LDA.b #$0F
STA.w $0DC0,Y
@@ -978,18 +978,18 @@ HandleMovingSplash:
STA.l $7FF800,X
STA.w $0FB4
LDA.w $0D10,Y
LDA.w SprX,Y
STA.l $7FF83C,X
LDA.w $0D30,Y
LDA.w SprXH,Y
STA.l $7FF878,X
LDA.w $0D00,Y
LDA.w SprY,Y
CLC
ADC.b #$18
STA.l $7FF81E,X
LDA.w $0D20,Y
LDA.w SprYH,Y
STA.l $7FF85A,X
LDA.b #$0F

View File

@@ -61,13 +61,13 @@ Sprite_Twinrova_CheckIfDead:
LDA SprAction, X : CMP.b #$0A : BEQ .not_dead
; If health is negative, set back to zero
LDA SprHealth, X : CMP.b #$C3 : BCC .health_not_negative
LDA.b #$00 : STA SprHealth, X
LDA.b #$00 : STA.w SprHealth, X
.health_not_negative
LDA SprHealth, X : BNE .not_dead
PHX
LDA.b #$04 : STA $0DD0, X ; Kill sprite boss style
LDA.b #$0A : STA SprAction, X ; Go to Twinrova_Dead stage
LDA.b #$0A : STA.w SprAction, X ; Go to Twinrova_Dead stage
LDA.b #$10 : STA.w $0D90, X
PLX
.not_dead
@@ -85,7 +85,7 @@ Sprite_Twinrova_Prep:
STZ.w $0DD0, X
.prep_twinrova
LDA.b #$5A : STA SprHealth, X ; Health
LDA.b #$5A : STA.w SprHealth, X ; Health
LDA.b #$80 : STA $0CAA, X
LDA.b #$04 : STA $0CD2, X ; Bump damage type (4 hearts, green tunic)
LDA $0E60, X : AND.b #$BF : STA $0E60, X ; Not invincible
@@ -192,11 +192,11 @@ Sprite_Twinrova_Main:
; -------------------------------------------
; Phase 2
LDA SprTimerE, X : BNE .kotake
LDA #$70 : STA SprTimerD, X
LDA #$70 : STA.w SprTimerD, X
%GotoAction(8) ; Koume Mode
RTS
.kotake
LDA #$70 : STA SprTimerD, X
LDA #$70 : STA.w SprTimerD, X
%GotoAction(9) ; Kotake Mode
RTS
@@ -228,11 +228,11 @@ Sprite_Twinrova_Main:
RTS
.random_strafe
JSL GetRandomInt : AND.b #$01 : BEQ .strafe_left
LDA #$10 : STA SprXSpeed, X
LDA #$10 : STA.w SprXSpeed, X
%GotoAction(2) ; Move Forwards with strafe
RTS
.strafe_left
LDA #$F0 : STA SprXSpeed, X
LDA #$F0 : STA.w SprXSpeed, X
%GotoAction(2) ; Move Forwards with strafe
RTS
@@ -375,7 +375,7 @@ Sprite_Twinrova_Main:
.PerformDodge
JSR DoRandomStrafe
LDA.b #$20 : STA.w SprTimerA, X ; Set timer for dodge duration
LDA.b #$02 : STA SprMiscA, X ; Set state to random strafe
LDA.b #$02 : STA.w SprMiscA, X ; Set state to random strafe
RTS
.PerformRetaliate
@@ -431,7 +431,7 @@ Sprite_Twinrova_Main:
JSR RageModeMove
LDA SprTimerD, X : BNE +
LDA #$70 : STA SprTimerE, X
LDA #$70 : STA.w SprTimerE, X
%GotoAction(1)
+
RTS
@@ -511,24 +511,24 @@ RageModeMove:
CMP.b #$0E
BCC .SetRandomDodge ; 11-14 -> Random dodge
; 15 -> Stay in place
LDA.b #$04 : STA SprMiscA, X
LDA.b #$30 : STA SprTimerA, X ; Set timer for 48 frames
LDA.b #$04 : STA.w SprMiscA, X
LDA.b #$30 : STA.w SprTimerA, X ; Set timer for 48 frames
RTS
BRA .StayInPlace
.SetMoveTowardsPlayer
LDA.b #$01 : STA SprMiscA, X
LDA.b #$30 : STA SprTimerA, X ; Set timer for 48 frames
LDA.b #$01 : STA.w SprMiscA, X
LDA.b #$30 : STA.w SprTimerA, X ; Set timer for 48 frames
BRA .MoveTowardsPlayer
.SetRandomStrafe
LDA.b #$02 : STA SprMiscA, X
LDA.b #$30 : STA SprTimerA, X ; Set timer for 48 frames
LDA.b #$02 : STA.w SprMiscA, X
LDA.b #$30 : STA.w SprTimerA, X ; Set timer for 48 frames
BRA .RandomStrafe
.SetRandomDodge
LDA.b #$03 : STA SprMiscA, X
LDA.b #$30 : STA SprTimerA, X ; Set timer for 48 frames
LDA.b #$03 : STA.w SprMiscA, X
LDA.b #$30 : STA.w SprTimerA, X ; Set timer for 48 frames
BRA .RandomDodge
.MoveTowardsPlayer
@@ -547,9 +547,9 @@ RageModeMove:
JSL GetRandomInt
AND.b #$03
TAY
LDA VelocityOffsets+4, Y : STA SprXSpeed, X
LDA VelocityOffsets+4, Y : STA.w SprXSpeed, X
INY
LDA VelocityOffsets, Y : STA SprYSpeed, X
LDA VelocityOffsets, Y : STA.w SprYSpeed, X
LDA.b #$10 : STA.w SprHeight, X ; Set height
BRA .UpdatePosition
@@ -565,9 +565,9 @@ RageModeMove:
JSL GetRandomInt
AND.b #$03
TAY
LDA VelocityOffsets, Y : EOR #$FF : INC : STA SprXSpeed, X
LDA VelocityOffsets, Y : EOR #$FF : INC : STA.w SprXSpeed, X
INY
LDA VelocityOffsets+4, Y : EOR #$FF : INC : STA SprYSpeed, X
LDA VelocityOffsets+4, Y : EOR #$FF : INC : STA.w SprYSpeed, X
LDA.b #$10 : STA.w SprHeight, X ; Set height
BRA .UpdatePosition
@@ -595,9 +595,9 @@ DoRandomStrafe:
JSL GetRandomInt
AND.b #$03
TAY
LDA VelocityOffsets, Y : STA SprXSpeed, X
LDA VelocityOffsets, Y : STA.w SprXSpeed, X
INY
LDA VelocityOffsets+4, Y : STA SprYSpeed, X
LDA VelocityOffsets+4, Y : STA.w SprYSpeed, X
LDA.b #$10 : STA.w SprHeight, X ; Set height
RTS
}
@@ -1085,23 +1085,23 @@ ReleaseFireballs:
LDA.w .speed_y,Y
STA.w $0D40,X
LDA.w $0D10,X
LDA.w SprX,X
CLC
ADC.w .offset_x_low,Y
STA.w $0D10,X
STA.w SprX,X
LDA.w $0D30,X
LDA.w SprXH,X
ADC.w .offset_x_high,Y
STA.w $0D30,X
STA.w SprXH,X
LDA.w $0D00,X
LDA.w SprY,X
CLC
ADC.w .offset_y_low,Y
STA.w $0D00,X
STA.w SprY,X
LDA.w $0D20,X
LDA.w SprYH,X
ADC.w .offset_y_high,Y
STA.w $0D20,X
STA.w SprYH,X
PLX
@@ -1243,10 +1243,10 @@ Blind_SpawnFromMaiden:
LDA.b #$CE : STA.w $0E20,X
; Load the position cache from the maiden follower
LDA.b $00 : STA.w $0D10,X
LDA.b $01 : STA.w $0D30,X
LDA.b $02 : SEC : SBC.b #$10 : STA.w $0D00,X
LDA.b $03 : STA.w $0D20,X
LDA.b $00 : STA.w SprX,X
LDA.b $01 : STA.w SprXH,X
LDA.b $02 : SEC : SBC.b #$10 : STA.w SprY,X
LDA.b $03 : STA.w SprYH,X
; Removed because it was causing the sprite to disappear
; JSL SpritePrep_LoadProperties
@@ -1360,18 +1360,18 @@ BlindLaser_SpawnTrailGarnish:
TYA
STA.l $7FF92C,X
LDA.w $0D10,Y
LDA.w SprX,Y
STA.l $7FF83C,X
LDA.w $0D30,Y
LDA.w SprXH,Y
STA.l $7FF878,X
LDA.w $0D00,Y
LDA.w SprY,Y
CLC
ADC.b #$10
STA.l $7FF81E,X
LDA.w $0D20,Y
LDA.w SprYH,Y
ADC.b #$00
STA.l $7FF85A,X
@@ -1409,11 +1409,11 @@ pullpc
NewMantlePrep:
{
LDA $0D00, X : CLC : ADC.b #$07 : STA $0D00, X
LDA $0D10, X : CLC : ADC.b #$08 : STA $0D10, X
LDA SprY, X : CLC : ADC.b #$07 : STA.w SprY, X
LDA SprX, X : CLC : ADC.b #$08 : STA.w SprX, X
LDA $7EF0DA : AND #$0F : BEQ +
LDA $0D10, X : CLC : ADC.b #$28 : STA $0D10, X
LDA SprX, X : CLC : ADC.b #$28 : STA.w SprX, X
+
RTL

View File

@@ -73,9 +73,9 @@ Sprite_Wolfos_Prep:
Sprite_Wolfos_CheckIfDefeated:
{
LDA.w SprHealth, X : CMP.b #$10 : BCS .not_defeated
LDA.b #$06 : STA SprAction, X ; Set to defeated
LDA.b #$09 : STA SprState, X
LDA.b #$40 : STA SprHealth, X ; Refill the health of the sprite
LDA.b #$06 : STA.w SprAction, X ; Set to defeated
LDA.b #$09 : STA.w SprState, X
LDA.b #$40 : STA.w SprHealth, X ; Refill the health of the sprite
STZ.w SprMiscD, X
RTS
.not_defeated
@@ -104,9 +104,9 @@ Wolfos_DecideAction:
JSL Sprite_DirectionToFacePlayer
LDA $0E ; y distance from player
STA SprMiscC, X
STA.w SprMiscC, X
LDA $0F ; x distance from player
STA SprMiscB, X
STA.w SprMiscB, X
LDA SprMiscC, X
CMP #$10 ; Check if y distance is significant
@@ -165,7 +165,7 @@ Sprite_Wolfos_Main:
STA.w SprYSpeed, X
LDA #$30
STA SprTimerA, X
STA.w SprTimerA, X
RTS
}
@@ -179,7 +179,7 @@ Sprite_Wolfos_Main:
STA.w SprYSpeed, X
LDA #$30
STA SprTimerA, X
STA.w SprTimerA, X
RTS
}
@@ -199,7 +199,7 @@ Sprite_Wolfos_Main:
+
LDA #$30
STA SprTimerA, X
STA.w SprTimerA, X
RTS
}
@@ -219,7 +219,7 @@ Sprite_Wolfos_Main:
+
LDA #$30
STA SprTimerA, X
STA.w SprTimerA, X
RTS
}
@@ -274,7 +274,7 @@ Sprite_Wolfos_Main:
; Run the dialogue and wait for a song of healing flag to be set
LDA SprMiscD, X : BNE .wait
%ShowUnconditionalMessage($0F)
LDA.b #$01 : STA SprMiscD, X
LDA.b #$01 : STA.w SprMiscD, X
.wait
LDA $FE : BEQ .ninguna_cancion
STZ $FE