From 2b452cc04cc885c7d280bf3eb9d9d0331c6754b3 Mon Sep 17 00:00:00 2001 From: scawful Date: Wed, 18 Sep 2024 18:43:47 -0400 Subject: [PATCH] add more explicit length suffices --- Dreams/all_dreams.asm | 2 +- Dungeons/house_tag.asm | 4 +- Items/bottle_net.asm | 6 +-- Sprites/Bosses/kydreeok.asm | 50 ++++++++++++------------- Sprites/Bosses/kydreeok_head.asm | 26 ++++++------- Sprites/Bosses/kydrog.asm | 2 +- Sprites/Bosses/kydrog_boss.asm | 28 +++++++------- Sprites/Bosses/lanmola.asm | 20 +++++----- Sprites/Bosses/lanmola_expanded.asm | 8 ++-- Sprites/Bosses/manhandla.asm | 44 +++++++++++----------- Sprites/Bosses/twinrova.asm | 30 +++++++-------- Sprites/Bosses/wolfos.asm | 16 ++++---- Sprites/Enemies/anti_kirby.asm | 8 ++-- Sprites/Enemies/booki.asm | 2 +- Sprites/Enemies/business_scrub.asm | 22 +++++------ Sprites/Enemies/eon_scrub.asm | 20 +++++----- Sprites/Enemies/goriya.asm | 2 +- Sprites/Enemies/helmet_chuchu.asm | 10 ++--- Sprites/Enemies/pols_voice.asm | 2 +- Sprites/NPCs/eon_owl.asm | 10 ++--- Sprites/NPCs/farore.asm | 6 +-- Sprites/NPCs/followers.asm | 12 +++--- Sprites/NPCs/korok.asm | 8 ++-- Sprites/NPCs/maku_tree.asm | 8 ++-- Sprites/NPCs/ranch_girl.asm | 2 +- Sprites/Objects/ice_block.asm | 22 +++++------ Sprites/Objects/minecart.asm | 44 +++++++++++----------- Sprites/Objects/mineswitch.asm | 6 +-- Sprites/Objects/portal_sprite.asm | 50 ++++++++++++------------- Sprites/Objects/switch_track.asm | 12 +++--- Sprites/ZSpriteLib/sprite_functions.asm | 18 ++++----- 31 files changed, 250 insertions(+), 250 deletions(-) diff --git a/Dreams/all_dreams.asm b/Dreams/all_dreams.asm index ebe5178..04e4067 100644 --- a/Dreams/all_dreams.asm +++ b/Dreams/all_dreams.asm @@ -82,7 +82,7 @@ Link_FallIntoDungeon: STZ.w $010F LDA.b #$20 : STA.b $5C - LDA.b #$01 : STA LinkState + LDA.b #$01 : STA.b LinkState LDA.b #$11 : STA.b $10 STZ.b $11 : STZ.b $B0 diff --git a/Dungeons/house_tag.asm b/Dungeons/house_tag.asm index ff6b5ea..ba5530a 100644 --- a/Dungeons/house_tag.asm +++ b/Dungeons/house_tag.asm @@ -27,7 +27,7 @@ HouseTag: HouseTag_Main: { - LDA StoryState + LDA.w StoryState JSL $008781 @@ -103,7 +103,7 @@ HouseTag_WakeUpPlayer: HouseTag_End: { LDA $B6 : BNE .hasMetFarore - LDA #$00 : STA StoryState + LDA #$00 : STA.w StoryState .hasMetFarore RTS diff --git a/Items/bottle_net.asm b/Items/bottle_net.asm index fd38ab1..e51420f 100644 --- a/Items/bottle_net.asm +++ b/Items/bottle_net.asm @@ -66,7 +66,7 @@ LinkItem_CatchBottle: LDA $2F : LSR A : TAY LDX pose_offset, Y - LDA pose_id, X : STA $0300 + LDA.w pose_id, X : STA $0300 LDA.b #$03 : STA $3D STZ $030D, X @@ -86,8 +86,8 @@ LinkItem_CatchBottle: LDX $030D : INX : STX $030D LDA.b #$03 : STA $3D LDA $2F : LSR A : TAY - LDA pose_offset, Y : CLC : ADC $030D : TAY - LDA pose_id, Y : STA $0300 + LDA.w pose_offset, Y : CLC : ADC $030D : TAY + LDA.w pose_id, Y : STA $0300 CPX.b #$0A : BNE .bottle_exit STZ $030D diff --git a/Sprites/Bosses/kydreeok.asm b/Sprites/Bosses/kydreeok.asm index 36462f3..0abe3b7 100644 --- a/Sprites/Bosses/kydreeok.asm +++ b/Sprites/Bosses/kydreeok.asm @@ -64,8 +64,8 @@ Sprite_Kydreeok_Prep: LDA.b #$09 : STA.w SprBump, X ; bump damage type ; Cache the origin position of the sprite. - LDA SprX, X : STA.w SprMiscA, X - LDA SprY, X : STA.w SprMiscB, X + LDA.w SprX, X : STA.w SprMiscA, X + LDA.w SprY, X : STA.w SprMiscB, X JSR SpawnLeftHead ; JSR SpawnCenterHead @@ -86,12 +86,12 @@ Sprite_Kydreeok_Prep: Sprite_Kydreeok_CheckIfDead: { - LDA Offspring1_Id : TAY + LDA.w Offspring1_Id : TAY LDA.w SprState, Y : BEQ .offspring1_dead JMP .not_dead .offspring1_dead - LDA Offspring2_Id : TAY + LDA.w Offspring2_Id : TAY LDA.w SprState, Y : BEQ .offspring2_dead JMP .not_dead .offspring2_dead @@ -149,7 +149,7 @@ Sprite_Kydreeok_Main: %StartOnFrame(0) %PlayAnimation(0, 2, 10) - LDA SprMiscD, X : BNE .go + LDA.w SprMiscD, X : BNE .go LDY #$00 JSR ApplyKydreeokGraphics JSR ApplyPalette @@ -158,8 +158,8 @@ Sprite_Kydreeok_Main: JSL Sprite_PlayerCantPassThrough - LDA SprTimerA, X : BNE .continue - TXA : STA Kydreeok_Id + LDA.w SprTimerA, X : BNE .continue + TXA : STA.w Kydreeok_Id LDA #$40 : STA.w SprTimerA, X %GotoAction(1) .continue @@ -178,7 +178,7 @@ Sprite_Kydreeok_Main: JSL MoveBody JSR StopIfOutOfBounds - LDA SprTimerA, X : BNE .continue + LDA.w SprTimerA, X : BNE .continue %GotoAction(2) .continue @@ -241,14 +241,14 @@ Sprite_Kydreeok_Main: REP #$20 ; Use a range of + 0x05 because being exact equal didnt trigger consistently - LDA $20 : SBC SprCachedY : CMP.w #$FFFB : BCC .notEqualY + LDA $20 : SBC.w SprCachedY : CMP.w #$FFFB : BCC .notEqualY SEP #$20 %GotoAction(2) ; Kydreeok_MoveXandY BRA .notEqualX .notEqualY ; Use a range of + 0x05 because being exact equal didnt trigger consistently - LDA $22 : SBC SprCachedX : CMP.w #$FFFB : BCC .notEqualX + LDA $22 : SBC.w SprCachedX : CMP.w #$FFFB : BCC .notEqualX SEP #$20 %GotoAction(2) ; Kydreeok_MoveXandY .notEqualX @@ -277,7 +277,7 @@ Sprite_Kydreeok_Main: LDA $1C : ORA.b #$01 : STA $1C ;turn on BG2 (Body) ; Flicker the body every other frame using the timer - LDA SprTimerA, X : AND.b #$01 : BEQ .flicker + LDA.w SprTimerA, X : AND.b #$01 : BEQ .flicker LDA $1C : AND.b #$FE : STA $1C ;turn off BG2 (Body) .flicker @@ -303,7 +303,7 @@ Sprite_Kydreeok_Main: .no_space - LDA SprTimerA, X : BNE .continue + LDA.w SprTimerA, X : BNE .continue STZ.w $0422 STZ.w $0424 LDA $1C : ORA.b #$01 : STA $1C ;turn on BG2 (Body) @@ -369,19 +369,19 @@ SpawnLeftHead: LDA #$CF JSL Sprite_SpawnDynamically : BMI .return - TYA : STA Offspring1_Id + TYA : STA.w Offspring1_Id ;store the sub-type LDA.b #$00 : STA $0E30, Y PHX ; code that controls where to spawn the offspring. REP #$20 - LDA SprCachedX : SEC : SBC.w #$0010 + LDA.w SprCachedX : SEC : SBC.w #$0010 SEP #$20 STA.w SprX, Y : XBA : STA.w SprXH, Y REP #$20 - LDA SprCachedY : SEC : SBC.w #$000F + LDA.w SprCachedY : SEC : SBC.w #$000F SEP #$20 STA.w SprY, Y : XBA : STA.w SprYH, Y @@ -407,7 +407,7 @@ SpawnLeftHead: ; LDA #$CF ; JSL Sprite_SpawnDynamically : BMI .return -; TYA : STA Offspring3_Id +; TYA : STA.w Offspring3_Id ; ;store the sub-type ; LDA.b #$02 : STA $0E30, Y @@ -415,12 +415,12 @@ SpawnLeftHead: ; PHX ; ; code that controls where to spawn the offspring. ; REP #$20 -; LDA SprCachedX : CLC : ADC.w #$0004 +; LDA.w SprCachedX : CLC : ADC.w #$0004 ; SEP #$20 ; STA.w SprX, Y : XBA : STA.w SprXH, Y ; REP #$20 -; LDA SprCachedY : SEC : SBC.w #$000F +; LDA.w SprCachedY : SEC : SBC.w #$000F ; SEP #$20 ; STA.w SprY, Y : XBA : STA.w SprYH, Y @@ -445,19 +445,19 @@ SpawnRightHead: { LDA #$CF JSL Sprite_SpawnDynamically : BMI .return - TYA : STA Offspring2_Id + TYA : STA.w Offspring2_Id ;store the sub-type LDA.b #$01 : STA $0E30, Y PHX ; code that controls where to spawn the offspring. REP #$20 - LDA SprCachedX : CLC : ADC.w #$000D + LDA.w SprCachedX : CLC : ADC.w #$000D SEP #$20 STA.w SprX, Y : XBA : STA.w SprXH, Y REP #$20 - LDA SprCachedY : SEC : SBC.w #$000F + LDA.w SprCachedY : SEC : SBC.w #$000F SEP #$20 STA.w SprY, Y : XBA : STA.w SprYH, Y @@ -540,7 +540,7 @@ StopIfOutOfBounds: { ; Set A to 00 if outside of certain bounds REP #$20 - LDA SprCachedX : CMP.w #$0118 : BCS .not_out_of_bounds_Left + LDA.w 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.w SprXRound @@ -556,7 +556,7 @@ StopIfOutOfBounds: SEP #$20 REP #$20 - LDA SprCachedX : CMP.w #$01D8 : BCC .not_out_of_bounds_Right + LDA.w 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.w SprXRound @@ -573,7 +573,7 @@ StopIfOutOfBounds: ; Upper bound REP #$20 - LDA SprCachedY : CMP.w #$0020 : BCS .not_out_of_bounds_Up + LDA.w 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.w SprYRound @@ -585,7 +585,7 @@ StopIfOutOfBounds: SEP #$20 REP #$20 - LDA SprCachedY : CMP.w #$00D0 : BCC .not_out_of_bounds_Down + LDA.w 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.w SprYRound ; Reverse the direction diff --git a/Sprites/Bosses/kydreeok_head.asm b/Sprites/Bosses/kydreeok_head.asm index 934fc39..94b4771 100644 --- a/Sprites/Bosses/kydreeok_head.asm +++ b/Sprites/Bosses/kydreeok_head.asm @@ -38,7 +38,7 @@ Sprite_KydreeokHead_Long: { PHB : PHK : PLB - LDA SprAction, X : CMP #$05 : BEQ .no_head + LDA.w SprAction, X : CMP #$05 : BEQ .no_head JSR Sprite_KydreeokHead_Draw .no_head @@ -168,7 +168,7 @@ Sprite_KydreeokHead_Main: JSR KydreeokHead_RotationMove JSR RandomlyAttack - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done %GotoAction(0) .not_done RTS @@ -188,7 +188,7 @@ Sprite_KydreeokHead_Main: JSR KydreeokHead_RotationMove JSR RandomlyAttack - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done %GotoAction(0) .not_done RTS @@ -204,7 +204,7 @@ Sprite_KydreeokHead_Main: JSR Sprite_Twinrova_FireAttack JSL Sprite_Move - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done LDA #$00 : STA $0DD0, X .not_done RTS @@ -267,19 +267,19 @@ Sprite_KydreeokHead_Damage_Flash: CoordinateBasedRotation: { - LDA Neck_Index : TAY + LDA.w Neck_Index : TAY ; JSL GetRandomInt : AND #$04 : TAY - LDA X_Coords, Y : STA Neck1_OffsetX - LDA X_Coords, Y : STA Neck2_OffsetX - LDA X_Coords, Y : STA Neck3_OffsetX - LDA Y_Coords, Y : STA Neck1_OffsetY - LDA Y_Coords, Y : STA Neck2_OffsetY - LDA Y_Coords, Y : STA Neck3_OffsetY + LDA.w X_Coords, Y : STA.w Neck1_OffsetX + LDA.w X_Coords, Y : STA.w Neck2_OffsetX + LDA.w X_Coords, Y : STA.w Neck3_OffsetX + LDA.w Y_Coords, Y : STA.w Neck1_OffsetY + LDA.w Y_Coords, Y : STA.w Neck2_OffsetY + LDA.w Y_Coords, Y : STA.w Neck3_OffsetY JSL GetRandomInt : AND #$3F : BNE .dont_increment INC.w Neck_Index .dont_increment CPY #15 : BNE .not_full - LDA #0 : STA Neck_Index + LDA #0 : STA.w Neck_Index .not_full RTS } @@ -357,7 +357,7 @@ RandomlyAttack: MoveWithBody: { - LDA Kydreeok_Id : TAY + LDA.w Kydreeok_Id : TAY CPX.w Offspring2_Id : BEQ .neck2_move LDA.w SprX, Y : SEC : SBC #$0F diff --git a/Sprites/Bosses/kydrog.asm b/Sprites/Bosses/kydrog.asm index 6b8ed46..1b58023 100644 --- a/Sprites/Bosses/kydrog.asm +++ b/Sprites/Bosses/kydrog.asm @@ -79,7 +79,7 @@ Sprite_Kydrog_Main: Kydrog_StartCutscene: { LDA #$03 : STA $012C ; Play music - LDA WALKSPEED : STA.b $57 ; Slow Link down for the cutscene + LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene LDA.b #$08 : STA.b $49 ; Auto-movement north LDA.b $20 ; Link's Y Position diff --git a/Sprites/Bosses/kydrog_boss.asm b/Sprites/Bosses/kydrog_boss.asm index 6663dd2..b787123 100644 --- a/Sprites/Bosses/kydrog_boss.asm +++ b/Sprites/Bosses/kydrog_boss.asm @@ -421,7 +421,7 @@ Sprite_KydrogBoss_Main: %RandomStalfosOffspring() ; Increase the Z for a bit until he is off screen - LDA SprHeight, X : CLC : ADC.b #$04 + LDA.w SprHeight, X : CLC : ADC.b #$04 STA.w SprHeight, X : CMP.b #$B0 : BCC .not_off_screen LDA #$40 : STA.w SprTimerD, X %GotoAction($0B) @@ -437,17 +437,17 @@ Sprite_KydrogBoss_Main: %RandomStalfosOffspring() - LDA SprTimerD, X : BEQ .no_track_player + LDA.w SprTimerD, X : BEQ .no_track_player 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 + LDA.w 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.w SprHeight, X + LDA.w SprHeight, X : SEC : SBC.b #$04 : STA.w SprHeight, X CMP.b #$04 : BCS .not_off_screen %GotoAction(1) .not_off_screen @@ -465,13 +465,13 @@ Sprite_KydrogBoss_Main: JSL GetRandomInt : AND.b #$3F : BNE + LDA.b $0D50 : CLC : ADC.b #$08 : STA $0D50 LDA.b $0D70 : CLC : ADC.b #$02 : STA $0D70 - LDA SprTimerD, X : BNE .not_done + LDA.w SprTimerD, X : BNE .not_done %GotoAction(1) RTS + LDA.b $0D40 : CLC : ADC.b #$08 : STA $0D40 LDA.b $0D60 : CLC : ADC.b #$02 : STA $0D60 - LDA SprTimerD, X : BNE .not_done + LDA.w SprTimerD, X : BNE .not_done %GotoAction(1) .not_done @@ -494,29 +494,29 @@ CheckForNextPhase: .phase_one ; Check for phase two - LDA SprHealth,X : CMP.b #$20 : BCC .phase_two + LDA.w SprHealth,X : CMP.b #$20 : BCC .phase_two RTS .phase_two - LDA SprHealth,X : CMP.b #$20 : BCC .phase_three + LDA.w SprHealth,X : CMP.b #$20 : BCC .phase_three LDA !KydrogPhase : CMP.b #$01 : BEQ .return LDA #$80 : STA $0E50, X - LDA #$01 : STA SprAction, X + LDA #$01 : STA.w SprAction, X STA !KydrogPhase INC.w SprFlash, X RTS .phase_three - LDA SprHealth,X : CMP.b #$20 : BCC .phase_four + LDA.w SprHealth,X : CMP.b #$20 : BCC .phase_four LDA !KydrogPhase : CMP.b #$02 : BEQ .return LDA #$80 : STA $0E50, X - LDA #$02 : STA SprAction, X + LDA #$02 : STA.w SprAction, X STA !KydrogPhase RTS .phase_four - LDA #$03 : STA SprAction, X + LDA #$03 : STA.w SprAction, X STA !KydrogPhase .return RTS @@ -635,8 +635,8 @@ Kydrog_ThrowBoneAtPlayer: TYX - LDA SprX, X : CLC : ADC.b #$10 : STA.w SprX, X - LDA SprY, X : SEC : SBC.b #$04 : STA.w SprY, X + LDA.w SprX, X : CLC : ADC.b #$10 : STA.w SprX, X + LDA.w SprY, X : SEC : SBC.b #$04 : STA.w SprY, X LDA.b #$20 : JSL Sprite_ApplySpeedTowardsPlayer diff --git a/Sprites/Bosses/lanmola.asm b/Sprites/Bosses/lanmola.asm index 8450316..56cc6b9 100644 --- a/Sprites/Bosses/lanmola.asm +++ b/Sprites/Bosses/lanmola.asm @@ -147,11 +147,11 @@ Lanmola_Mound: ;0x01 ; ALTERNATE ENTRY POINT .Lanmola_SetScatterSandPosition - LDA SprXH, X : STA $0DC0, X - LDA SprYH, X : STA $0EB0, X + LDA.w SprXH, X : STA $0DC0, X + LDA.w SprYH, X : STA $0EB0, X - LDA SprX, X : STA $0DE0, X - LDA SprY, X : STA $0E70, X + LDA.w SprX, X : STA $0DE0, X + LDA.w 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 SprXH, X : STA $05 + LDA.w SprXH, X : STA $05 LDA $0DB0, X : STA $06 - 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 + LDA.w SprYH, X : STA $07 + LDA.w SprX, X : STA $00 + LDA.w SprXH, X : STA $01 + LDA.w SprY, X : STA $02 + LDA.w SprYH, X : STA $03 REP #$20 diff --git a/Sprites/Bosses/lanmola_expanded.asm b/Sprites/Bosses/lanmola_expanded.asm index c2464fd..987971a 100644 --- a/Sprites/Bosses/lanmola_expanded.asm +++ b/Sprites/Bosses/lanmola_expanded.asm @@ -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 SprXH, X : PHA ;high x - LDA SprYH, X : PHA ;high y - LDA SprX, X : PHA ;lower x - LDA SprY, X : PHA ;lower y + LDA.w SprXH, X : PHA ;high x + LDA.w SprYH, X : PHA ;high y + LDA.w SprX, X : PHA ;lower x + LDA.w SprY, X : PHA ;lower y LDA $0F70, X : PHA ;height LDA $0F : PHA ;angle diff --git a/Sprites/Bosses/manhandla.asm b/Sprites/Bosses/manhandla.asm index e0e13e2..5ec5aac 100644 --- a/Sprites/Bosses/manhandla.asm +++ b/Sprites/Bosses/manhandla.asm @@ -86,19 +86,19 @@ Sprite_Manhandla_Prep: Sprite_Manhandla_CheckForNextPhaseOrDeath: { ; All three heads need to be dead before we become big chuchu - LDA Offspring1_Id : TAY + LDA.w Offspring1_Id : TAY LDA.w SprState, Y : BEQ .offspring1_dead JMP .not_dead .offspring1_dead LDA.b #$05 : STA.w $36 - LDA Offspring2_Id : TAY + LDA.w Offspring2_Id : TAY LDA.w SprState, Y : BEQ .offspring2_dead JMP .not_dead .offspring2_dead LDA.b #$06 : STA.w $36 - LDA Offspring3_Id : TAY + LDA.w Offspring3_Id : TAY LDA.w SprState, Y : BEQ .offspring3_dead JMP .not_dead .offspring3_dead @@ -131,36 +131,36 @@ Sprite_Manhandla_CheckForNextPhaseOrDeath: macro SetLeftHeadPos() REP #$20 - LDA SprCachedX : SEC : SBC.w #$0016 + LDA.w SprCachedX : SEC : SBC.w #$0016 SEP #$20 STA.w SprX, Y : XBA : STA.w SprXH, Y REP #$20 - LDA SprCachedY : SEC : SBC.w #$000F + LDA.w SprCachedY : SEC : SBC.w #$000F SEP #$20 STA.w SprY, Y : XBA : STA.w SprYH, Y endmacro macro SetRightHeadPos() REP #$20 - LDA SprCachedX : CLC : ADC.w #$0016 + LDA.w SprCachedX : CLC : ADC.w #$0016 SEP #$20 STA.w SprX, Y : XBA : STA.w SprXH, Y REP #$20 - LDA SprCachedY : SEC : SBC.w #$000F + LDA.w SprCachedY : SEC : SBC.w #$000F SEP #$20 STA.w SprY, Y : XBA : STA.w SprYH, Y endmacro macro SetCenterHeadPos() REP #$20 - LDA SprCachedX + LDA.w SprCachedX SEP #$20 STA.w SprX, Y : XBA : STA.w SprXH, Y REP #$20 - LDA SprCachedY + LDA.w SprCachedY SEP #$20 STA.w SprY, Y : XBA : STA.w SprYH, Y endmacro @@ -277,11 +277,11 @@ Sprite_Manhandla_Main: %PlayAnimation(11, 12, 10) LDA $1C : ORA.b #$01 : STA $1C ;turn on BG2 (Body) ; Flicker the body every other frame using the timer - LDA SprTimerA, X : AND.b #$01 : BEQ .flicker + LDA.w SprTimerA, X : AND.b #$01 : BEQ .flicker LDA $1C : AND.b #$FE : STA $1C ;turn off BG2 (Body) .flicker - LDA SprTimerA, X : BNE .continue + LDA.w SprTimerA, X : BNE .continue STZ.w $0422 STZ.w $0424 LDA $1C : AND.b #$FE : STA $1C ;turn off BG2 (Body) @@ -292,7 +292,7 @@ Sprite_Manhandla_Main: LDA #$88 JSL Sprite_SpawnDynamically : BMI .return - TYA : STA Offspring3_Id + TYA : STA.w Offspring3_Id PHX %SetCenterHeadPos() @@ -423,7 +423,7 @@ Sprite_Manhandla_Move: STZ.w SprYSpeed : STZ.w SprXSpeed ;set velocitys to 0 JSL MoveBody JSR Manhandla_StopIfOutOfBounds - LDA SprTimerA, X : BNE .continue + LDA.w SprTimerA, X : BNE .continue INC.w SprMiscC, X .continue RTS @@ -457,7 +457,7 @@ Sprite_Manhandla_Move: REP #$20 ; Use a range of + 0x05 because being exact equal didnt trigger consistently - LDA $20 : SBC SprCachedY : CMP.w #$FFFB : BCC .notEqualY + LDA $20 : SBC.w SprCachedY : CMP.w #$FFFB : BCC .notEqualY SEP #$20 LDA.b #$02 : STA.w SprMiscC, X @@ -465,7 +465,7 @@ Sprite_Manhandla_Move: .notEqualY ; Use a range of + 0x05 because being exact equal didnt trigger consistently - LDA $22 : SBC SprCachedX : CMP.w #$FFFB : BCC .notEqualX + LDA $22 : SBC.w SprCachedX : CMP.w #$FFFB : BCC .notEqualX SEP #$20 LDA.b #$02 : STA.w SprMiscC, X .notEqualX @@ -490,7 +490,7 @@ Manhandla_StopIfOutOfBounds: { ; Set A to 00 if outside of certain bounds REP #$20 - LDA SprCachedX : CMP.w #$153A : BCS .not_out_of_bounds_Left + LDA.w 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.w SprXRound @@ -499,7 +499,7 @@ Manhandla_StopIfOutOfBounds: SEP #$20 REP #$20 - LDA SprCachedX : CMP.w #$15C8 : BCC .not_out_of_bounds_Right + LDA.w 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.w SprXRound @@ -509,7 +509,7 @@ Manhandla_StopIfOutOfBounds: ; Upper bound REP #$20 - LDA SprCachedY : CMP.w #$0B3A : BCS .not_out_of_bounds_Up + LDA.w 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.w SprYRound @@ -518,7 +518,7 @@ Manhandla_StopIfOutOfBounds: SEP #$20 REP #$20 - LDA SprCachedY : CMP.w #$0BA6 : BCC .not_out_of_bounds_Down + LDA.w 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.w SprYRound ; Reverse the direction @@ -854,7 +854,7 @@ SpawnLeftManhandlaHead: { LDA #$88 JSL Sprite_SpawnDynamically : BMI .return - TYA : STA Offspring1_Id + TYA : STA.w Offspring1_Id PHX %SetLeftHeadPos() @@ -878,7 +878,7 @@ SpawnRightManhandlaHead: { LDA #$88 JSL Sprite_SpawnDynamically : BMI .return - TYA : STA Offspring2_Id + TYA : STA.w Offspring2_Id PHX %SetRightHeadPos() @@ -901,7 +901,7 @@ SpawnCenterMandhandlaHead: { LDA #$88 JSL Sprite_SpawnDynamically : BMI .return - TYA : STA Offspring3_Id + TYA : STA.w Offspring3_Id PHX %SetCenterHeadPos() diff --git a/Sprites/Bosses/twinrova.asm b/Sprites/Bosses/twinrova.asm index 32d8045..a5fefe2 100644 --- a/Sprites/Bosses/twinrova.asm +++ b/Sprites/Bosses/twinrova.asm @@ -58,13 +58,13 @@ Sprite_Twinrova_Long: Sprite_Twinrova_CheckIfDead: { - LDA SprAction, X : CMP.b #$0A : BEQ .not_dead + LDA.w 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.w SprHealth, X : CMP.b #$C3 : BCC .health_not_negative LDA.b #$00 : STA.w SprHealth, X .health_not_negative - LDA SprHealth, X : BNE .not_dead + LDA.w SprHealth, X : BNE .not_dead PHX LDA.b #$04 : STA $0DD0, X ; Kill sprite boss style LDA.b #$0A : STA.w SprAction, X ; Go to Twinrova_Dead stage @@ -191,10 +191,10 @@ Sprite_Twinrova_Main: Twinrova_MoveState: { STZ.w $0360 - LDA SprHealth, X : CMP.b #$20 : BCS .phase_1 + LDA.w SprHealth, X : CMP.b #$20 : BCS .phase_1 ; ------------------------------------------- ; Phase 2 - LDA SprTimerE, X : BNE .kotake + LDA.w SprTimerE, X : BNE .kotake LDA #$70 : STA.w SprTimerD, X %GotoAction(8) ; Koume Mode RTS @@ -293,7 +293,7 @@ Sprite_Twinrova_Main: LDA #$01 : STA $0360 LDA $0CAA : AND.b #$03 : STA $0CAA - LDA SprTimerD, X : BNE + + LDA.w SprTimerD, X : BNE + LDA $0CAA : ORA.b #$03 : STA $0CAA LDA.b #$40 : STA.w SprTimerD, X LDA $AC : BEQ .fire @@ -421,7 +421,7 @@ Sprite_Twinrova_Main: JSR RageModeMove - LDA SprTimerD, X : BNE + + LDA.w SprTimerD, X : BNE + LDA #$70 : STA.w SprTimerE, X %GotoAction(1) + @@ -455,7 +455,7 @@ Sprite_Twinrova_Main: JSR RestoreFloorTile +++ - LDA SprTimerD, X : BNE + + LDA.w SprTimerD, X : BNE + %GotoAction(1) + RTS @@ -479,10 +479,10 @@ Sprite_Twinrova_Main: RageModeMove: { ; If timer is zero, determine a new movement mode - LDA SprTimerA, X : BEQ .DetermineMovementMode + LDA.w SprTimerA, X : BEQ .DetermineMovementMode ; Execute current movement mode - LDA SprMiscA, X + LDA.w SprMiscA, X CMP #$01 : BEQ .MoveTowardsPlayer CMP #$02 : BEQ .RandomStrafe CMP #$03 : BEQ .RandomDodge @@ -660,7 +660,7 @@ Sprite_Twinrova_FireAttack: ; $1DBDD6 - TrinexxFire_AddFireGarnish AddFireGarnish: { - INC.w SprDelay, X : LDA SprDelay, X : AND.b #$07 : BNE .return + INC.w SprDelay, X : LDA.w SprDelay, X : AND.b #$07 : BNE .return LDA.b #$2A : JSL Sound_SetSfx2PanLong LDA.b #$1D : PHX : TXY : TAX : STA $00 @@ -699,7 +699,7 @@ Sprite_Twinrova_IceAttack: ; $1DBD65 - TrinexxBreath_ice_add_ice_garnish AddIceGarnishV2: { - INC.w SprDelay, X : LDA SprDelay, X : AND.b #$07 : BNE .return + INC.w SprDelay, X : LDA.w SprDelay, X : AND.b #$07 : BNE .return LDA.b #$14 : JSL Sound_SetSfx3PanLong LDA.b #$1D : PHX : TXY : TAX : STA $00 @@ -1397,11 +1397,11 @@ pullpc NewMantlePrep: { - LDA SprY, X : CLC : ADC.b #$07 : STA.w SprY, X - LDA SprX, X : CLC : ADC.b #$08 : STA.w SprX, X + LDA.w SprY, X : CLC : ADC.b #$07 : STA.w SprY, X + LDA.w SprX, X : CLC : ADC.b #$08 : STA.w SprX, X LDA $7EF0DA : AND #$0F : BEQ + - LDA SprX, X : CLC : ADC.b #$28 : STA.w SprX, X + LDA.w SprX, X : CLC : ADC.b #$28 : STA.w SprX, X + RTL diff --git a/Sprites/Bosses/wolfos.asm b/Sprites/Bosses/wolfos.asm index 3003618..99465c1 100644 --- a/Sprites/Bosses/wolfos.asm +++ b/Sprites/Bosses/wolfos.asm @@ -102,7 +102,7 @@ endmacro Wolfos_DecideAction: { - LDA SprTimerA, X : BNE .decide_new_action + LDA.w SprTimerA, X : BNE .decide_new_action RTS .decide_new_action @@ -112,10 +112,10 @@ Wolfos_DecideAction: LDA $0F ; x distance from player STA.w SprMiscB, X - LDA SprMiscC, X + LDA.w SprMiscC, X CMP #$10 ; Check if y distance is significant BCS .adjust_y - LDA SprMiscB, X + LDA.w SprMiscB, X CMP #$10 ; Check if x distance is significant BCS .adjust_x @@ -242,7 +242,7 @@ Sprite_Wolfos_Main: LDA #!AttackSpeed STA.w SprXSpeed, X - LDA SprTimerA, X : BNE + + LDA.w SprTimerA, X : BNE + %GotoAction(2) + @@ -259,7 +259,7 @@ Sprite_Wolfos_Main: LDA #-!AttackSpeed STA.w SprXSpeed, X - LDA SprTimerA, X : BNE + + LDA.w SprTimerA, X : BNE + %GotoAction(3) + @@ -273,7 +273,7 @@ Sprite_Wolfos_Main: STZ.w SprYSpeed, X ; Run the dialogue and wait for a song of healing flag to be set - LDA SprMiscD, X : BNE .wait + LDA.w SprMiscD, X : BNE .wait %ShowUnconditionalMessage($23) LDA.b #$01 : STA.w SprMiscD, X .wait @@ -295,7 +295,7 @@ Sprite_Wolfos_Main: { LDA.b #16 : STA.w SprFrame, X - LDA SprTimerD, X : BNE .wait + LDA.w SprTimerD, X : BNE .wait LDA.b #$01 : STA.w BRANDISH %ShowUnconditionalMessage($10F) LDA.b #$01 : STA.l $7EF358 @@ -309,7 +309,7 @@ Sprite_Wolfos_Main: STZ.w SprXSpeed, X STZ.w SprYSpeed, X - LDA SprTimerD, X : BNE .dismiss + LDA.w SprTimerD, X : BNE .dismiss LDA.b #$00 : STA $0DD0, X ; kill sprite normal style STZ.w SprAction, X STZ.w SprHealth, X diff --git a/Sprites/Enemies/anti_kirby.asm b/Sprites/Enemies/anti_kirby.asm index c13ea4b..faae3fe 100644 --- a/Sprites/Enemies/anti_kirby.asm +++ b/Sprites/Enemies/anti_kirby.asm @@ -108,7 +108,7 @@ Sprite_AntiKirby_Main: AntiKirby_Main: { ; Check health - LDA SprHealth, X : CMP.b #$01 : BCS .NotDead + LDA.w SprHealth, X : CMP.b #$01 : BCS .NotDead %GotoAction(4) RTS .NotDead @@ -141,7 +141,7 @@ Sprite_AntiKirby_Main: { %PlayAnimation(3, 3, 10) ; Hurt - LDA SprTimerA, X : BNE .NotDone + LDA.w SprTimerA, X : BNE .NotDone %GotoAction(0) .NotDone @@ -245,7 +245,7 @@ Sprite_AntiKirby_Main: AntiKirby_HattedHurt: { %PlayAnimation(9, 9, 10) - LDA SprTimerA, X : BNE .NotDone + LDA.w SprTimerA, X : BNE .NotDone %GotoAction(5) .NotDone RTS @@ -333,7 +333,7 @@ Sprite_AntiKirby_Draw: JSL Sprite_PrepOamCoord JSL Sprite_OAM_AllocateDeferToPlayer - LDA SprGfx, X : CLC : ADC SprFrame, X : TAY;Animation Frame + LDA.w SprGfx, X : CLC : ADC.w SprFrame, X : TAY;Animation Frame LDA .start_index, Y : STA $06 LDA.w SprFlash, X : STA $08 diff --git a/Sprites/Enemies/booki.asm b/Sprites/Enemies/booki.asm index b290476..446f99e 100644 --- a/Sprites/Enemies/booki.asm +++ b/Sprites/Enemies/booki.asm @@ -191,7 +191,7 @@ Sprite_Booki_Draw: JSL Sprite_PrepOamCoord JSL Sprite_OAM_AllocateDeferToPlayer - LDA SprGfx, X : CLC : ADC SprFrame, X : TAY;Animation Frame + LDA.w SprGfx, X : CLC : ADC.w SprFrame, X : TAY;Animation Frame LDA .start_index, Y : STA $06 LDA.w SprFlash, X : STA $08 diff --git a/Sprites/Enemies/business_scrub.asm b/Sprites/Enemies/business_scrub.asm index 2c78fa1..e730c52 100644 --- a/Sprites/Enemies/business_scrub.asm +++ b/Sprites/Enemies/business_scrub.asm @@ -55,7 +55,7 @@ Sprite_DekuScrubEnemy_Prep: { PHB : PHK : PLB - LDA SprSubtype, X : CMP.b #$01 : BEQ .pea_shot + LDA.w SprSubtype, X : CMP.b #$01 : BEQ .pea_shot CMP.b #$02 : BEQ .cutscene_scrub JMP + .pea_shot @@ -109,8 +109,8 @@ Sprite_DekuScrubEnemy_Main: ; Check if the player is too close LDA $22 : STA $02 LDA $20 : STA $03 - LDA SprX, X : STA $04 - LDA SprY, X : STA $05 + LDA.w SprX, X : STA $04 + LDA.w SprY, X : STA $05 JSL GetDistance8bit_Long : CMP.b #$24 : BCC .too_close ; The player is below the scrub, so it should pop up LDA #$20 : STA.w SprTimerA, X @@ -129,16 +129,16 @@ Sprite_DekuScrubEnemy_Main: JSL Sprite_PlayerCantPassThrough JSR CheckForPeaShotRedirect - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done JSR SpawnPeaShot LDA #$F0 : STA.w SprTimerA, X INC.w SprAction, X .not_done - LDA POSX : STA $02 - LDA POSY : STA $03 - LDA SprX, X : STA $04 - LDA SprY, X : STA $05 + LDA.w POSX : STA $02 + LDA.w POSY : STA $03 + LDA.w SprX, X : STA $04 + LDA.w SprY, X : STA $05 JSL GetDistance8bit_Long : CMP #$18 : BCS .not_too_close %GotoAction(0) .not_too_close @@ -170,7 +170,7 @@ Sprite_DekuScrubEnemy_Main: JSL Sprite_PlayerCantPassThrough ; Play the spinning animation for a bit before proceeding - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done LDA #$40 : STA.w SprTimerA, X INC.w SprAction, X .not_done @@ -186,7 +186,7 @@ Sprite_DekuScrubEnemy_Main: JSL Sprite_PlayerCantPassThrough - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done %SetHarmless(1) INC.w SprAction, X .not_done @@ -306,7 +306,7 @@ KillPeaShot: { ; Kill the pea shot PHX - LDA Offspring1_Id : TAX + LDA.w Offspring1_Id : TAX STZ.w $0DD0, X PLX RTS diff --git a/Sprites/Enemies/eon_scrub.asm b/Sprites/Enemies/eon_scrub.asm index 28a9b47..582b7b1 100644 --- a/Sprites/Enemies/eon_scrub.asm +++ b/Sprites/Enemies/eon_scrub.asm @@ -57,7 +57,7 @@ Sprite_EonScrub_Prep: { PHB : PHK : PLB - LDA SprSubtype, X : CMP #$01 : BNE .normal_scrub + LDA.w SprSubtype, X : CMP #$01 : BNE .normal_scrub LDA.b #$06 : STA.w SprAction, X ; Pea Shot State LDA.b #$20 : STA.b SprPrize, X .normal_scrub @@ -101,8 +101,8 @@ Sprite_EonScrub_Main: ; Check if the player is too close LDA $22 : STA $02 LDA $20 : STA $03 - LDA SprX, X : STA $04 - LDA SprY, X : STA $05 + LDA.w SprX, X : STA $04 + LDA.w SprY, X : STA $05 JSL GetDistance8bit_Long : CMP.b #$24 : BCC .too_close ; The player is below the scrub, so it should pop up LDA #$20 : STA.w SprTimerA, X @@ -120,16 +120,16 @@ Sprite_EonScrub_Main: JSL Sprite_PlayerCantPassThrough JSR CheckForPeaShotRedirect - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done JSR EonScrub_SpawnPeaShot LDA #$F0 : STA.w SprTimerA, X INC.w SprAction, X .not_done - LDA POSX : STA $02 - LDA POSY : STA $03 - LDA SprX, X : STA $04 - LDA SprY, X : STA $05 + LDA.w POSX : STA $02 + LDA.w POSY : STA $03 + LDA.w SprX, X : STA $04 + LDA.w SprY, X : STA $05 JSL GetDistance8bit_Long : CMP #$18 : BCS .not_too_close %GotoAction(0) .not_too_close @@ -156,7 +156,7 @@ Sprite_EonScrub_Main: JSL Sprite_PlayerCantPassThrough ; Play the spinning animation for a bit before proceeding - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done LDA #$40 : STA.w SprTimerA, X INC.w SprAction, X .not_done @@ -170,7 +170,7 @@ Sprite_EonScrub_Main: JSL Sprite_PlayerCantPassThrough - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done %SetHarmless(1) INC.w SprAction, X .not_done diff --git a/Sprites/Enemies/goriya.asm b/Sprites/Enemies/goriya.asm index f61845c..ee2aba7 100644 --- a/Sprites/Enemies/goriya.asm +++ b/Sprites/Enemies/goriya.asm @@ -387,7 +387,7 @@ Sprite_Boomerang_Draw: JSL Sprite_PrepOamCoord JSL Sprite_OAM_AllocateDeferToPlayer - LDA SprGfx, X : CLC : ADC SprFrame, X : TAY;Animation Frame + LDA.w SprGfx, X : CLC : ADC.w SprFrame, X : TAY;Animation Frame LDA .start_index, Y : STA $06 LDA.w SprFlash, X : STA $08 diff --git a/Sprites/Enemies/helmet_chuchu.asm b/Sprites/Enemies/helmet_chuchu.asm index 2cca902..f99daef 100644 --- a/Sprites/Enemies/helmet_chuchu.asm +++ b/Sprites/Enemies/helmet_chuchu.asm @@ -279,10 +279,10 @@ Sprite_Chuchu_Move: RecoilFromPlayer: { JSL GetRandomInt : AND.b #$02 : STA $09 ; Speed - LDA SprX, X : CLC : ADC $09 : STA $04 - LDA SprY, X : SEC : SBC $09 : STA $06 - LDA SprXH, X : ADC #$00 : STA $05 - LDA SprYH, X : ADC #$00 : STA $07 + LDA.w SprX, X : CLC : ADC $09 : STA $04 + LDA.w SprY, X : SEC : SBC $09 : STA $06 + LDA.w SprXH, X : ADC #$00 : STA $05 + LDA.w SprYH, X : ADC #$00 : STA $07 LDA $09 : STA $00 : STA $01 JSL Sprite_ProjectSpeedTowardsEntityLong @@ -302,7 +302,7 @@ Sprite_HelmetChuchu_Draw: JSL Sprite_PrepOamCoord JSL Sprite_OAM_AllocateDeferToPlayer - LDA SprGfx, X : CLC : ADC SprFrame, X : TAY;Animation Frame + LDA.w SprGfx, X : CLC : ADC.w SprFrame, X : TAY;Animation Frame LDA .start_index, Y : STA $06 LDA.w SprFlash, X : STA $08 diff --git a/Sprites/Enemies/pols_voice.asm b/Sprites/Enemies/pols_voice.asm index f365dde..909871b 100644 --- a/Sprites/Enemies/pols_voice.asm +++ b/Sprites/Enemies/pols_voice.asm @@ -125,7 +125,7 @@ Sprite_PolsVoice_Main: %DoDamageToPlayerSameLayerOnContact() - LDA SprTimerA, X : BNE .not_done + LDA.w SprTimerA, X : BNE .not_done %GotoAction(0) .not_done JSL Sprite_CheckDamageFromPlayer : BCC .no_damage diff --git a/Sprites/NPCs/eon_owl.asm b/Sprites/NPCs/eon_owl.asm index 3c6442e..b3696e1 100644 --- a/Sprites/NPCs/eon_owl.asm +++ b/Sprites/NPCs/eon_owl.asm @@ -54,7 +54,7 @@ Sprite_EonOwl_Prep: { PHB : PHK : PLB - LDA AreaIndex : CMP.b #$50 : BNE .not_intro + LDA.w AreaIndex : CMP.b #$50 : BNE .not_intro ; If Map 0x50, don't spawn after meeting Maku Tree LDA.l OOSPROG : AND.b #$02 : BEQ .continue STZ.w SprState, X @@ -83,10 +83,10 @@ Sprite_EonOwl_Main: { %PlayAnimation(0,1,16) - LDA POSX : STA $02 - LDA POSY : STA $03 - LDA SprX, X : STA $04 - LDA SprY, X : STA $05 + LDA.w POSX : STA $02 + LDA.w POSY : STA $03 + LDA.w SprX, X : STA $04 + LDA.w SprY, X : STA $05 JSL GetDistance8bit_Long : CMP #$28 : BCS .not_too_close %GotoAction(1) .not_too_close diff --git a/Sprites/NPCs/farore.asm b/Sprites/NPCs/farore.asm index 7047368..564c0c9 100644 --- a/Sprites/NPCs/farore.asm +++ b/Sprites/NPCs/farore.asm @@ -113,7 +113,7 @@ Sprite_Farore_Main: ; 01 MoveUpTowardsFarore: { - LDA WALKSPEED : STA.b $57 ; Slow Link down for the cutscene + LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene LDA.b #$08 : STA.b $49 ; Auto-movement north LDA.b $20 ; Link's Y Position @@ -130,7 +130,7 @@ Sprite_Farore_Main: MoveLeftTowardsFarore: { ; Move Link Left - LDA WALKSPEED : STA.b $57 ; Slow Link down for the cutscene + LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene LDA.b #$02 : STA.b $49 LDA.b $22 ; Link's X position @@ -178,7 +178,7 @@ Sprite_Farore_Main: FaroreFollowPlayer: { LDA #$01 : STA InCutScene - LDA WALKSPEED : STA.b $57 ; Slow Link down for the cutscene + LDA.w WALKSPEED : STA.b $57 ; Slow Link down for the cutscene LDA.b #$08 : STA.b $49 ; Auto-movement north %PlayAnimation(3, 4, 8) diff --git a/Sprites/NPCs/followers.asm b/Sprites/NPCs/followers.asm index 300a2b9..6a73811 100644 --- a/Sprites/NPCs/followers.asm +++ b/Sprites/NPCs/followers.asm @@ -825,15 +825,15 @@ DrawMinecartFollower: JSL Sprite_SetSpawnedCoords LDA.w !MinecartDirection : CMP.b #$00 : BEQ .vert_adjust CMP.b #$02 : BEQ .vert_adjust - LDA POSY : CLC : ADC #$08 : STA.w SprY, X - LDA POSX : STA.w SprX, X + LDA.w POSY : CLC : ADC #$08 : STA.w SprY, X + LDA.w POSX : STA.w SprX, X JMP .finish_prep .vert_adjust - LDA POSY : STA.w SprY, X - LDA POSX : CLC : ADC #$02 : STA.w SprX, X + LDA.w POSY : STA.w SprY, X + LDA.w POSX : CLC : ADC #$02 : STA.w SprX, X .finish_prep - LDA POSYH : STA.w SprYH, X - LDA POSXH : STA.w SprXH, X + LDA.w POSYH : STA.w SprYH, X + LDA.w POSXH : STA.w SprXH, X LDA.w !MinecartDirection : CLC : ADC.b #$03 : STA.w SprSubtype, X LDA .direction_to_anim, X : STA $0D90, X diff --git a/Sprites/NPCs/korok.asm b/Sprites/NPCs/korok.asm index 078498c..a831a0e 100644 --- a/Sprites/NPCs/korok.asm +++ b/Sprites/NPCs/korok.asm @@ -108,7 +108,7 @@ Sprite_Korok_Main: Sprite_Korok_WalkingDown: { %PlayAnimation(0, 2, 10) - LDA.b #KorokWalkSpeed : STA SprYSpeed, X + LDA.b #KorokWalkSpeed : STA.w SprYSpeed, X JSL Sprite_Move LDA.w SprTimerB, X : BNE + JSL GetRandomInt : AND.b #$03 : STA.w SprAction, X @@ -119,7 +119,7 @@ Sprite_Korok_Main: Sprite_Korok_WalkingUp: { %PlayAnimation(3, 5, 10) - LDA.b #-KorokWalkSpeed : STA SprYSpeed, X + LDA.b #-KorokWalkSpeed : STA.w SprYSpeed, X JSL Sprite_Move LDA.w SprTimerB, X : BNE + JSL GetRandomInt : AND.b #$03 : STA.w SprAction, X @@ -130,7 +130,7 @@ Sprite_Korok_Main: Sprite_Korok_WalkingLeft: { %PlayAnimation(6, 8, 10) - LDA.b #KorokWalkSpeed : STA SprXSpeed, X + LDA.b #KorokWalkSpeed : STA.w SprXSpeed, X JSL Sprite_Move LDA.w SprTimerB, X : BNE + JSL GetRandomInt : AND.b #$03 : STA.w SprAction, X @@ -141,7 +141,7 @@ Sprite_Korok_Main: Sprite_Korok_WalkingRight: { %PlayAnimation(9, 11, 10) - LDA.b #-KorokWalkSpeed : STA SprXSpeed, X + LDA.b #-KorokWalkSpeed : STA.w SprXSpeed, X JSL Sprite_Move LDA.w SprTimerB, X : BNE + diff --git a/Sprites/NPCs/maku_tree.asm b/Sprites/NPCs/maku_tree.asm index 2e74e87..a37187c 100644 --- a/Sprites/NPCs/maku_tree.asm +++ b/Sprites/NPCs/maku_tree.asm @@ -96,10 +96,10 @@ Sprite_MakuTree_Main: MakuTree_MeetLink: { - LDA POSX : STA $02 - LDA POSY : STA $03 - LDA SprX, X : STA $04 - LDA SprY, X : STA $05 + LDA.w POSX : STA $02 + LDA.w POSY : STA $03 + LDA.w SprX, X : STA $04 + LDA.w SprY, X : STA $05 JSL GetDistance8bit_Long : CMP #$28 : BCS .not_too_close %ShowUnconditionalMessage($20) LDA.b #$01 : STA.l $7EF3D4 diff --git a/Sprites/NPCs/ranch_girl.asm b/Sprites/NPCs/ranch_girl.asm index fadeacb..ed3cc78 100644 --- a/Sprites/NPCs/ranch_girl.asm +++ b/Sprites/NPCs/ranch_girl.asm @@ -27,7 +27,7 @@ RanchGirl_Message: RanchGirl_TeachSong: { - LDA SprMiscD, X : CMP.b #$01 : BNE .not_started + LDA.w SprMiscD, X : CMP.b #$01 : BNE .not_started LDA $10 : CMP.b #$0E : BEQ .running_dialog LDA $7EF34C : CMP.b #$01 : BCS .has_song diff --git a/Sprites/Objects/ice_block.asm b/Sprites/Objects/ice_block.asm index 94af008..148216f 100644 --- a/Sprites/Objects/ice_block.asm +++ b/Sprites/Objects/ice_block.asm @@ -60,10 +60,10 @@ Sprite_IceBlock_Prep: PHB : PHK : PLB ; Cache Sprite position - LDA SprX, X : STA.w SprMiscD, X - LDA SprY, X : STA.w SprMiscE, X - LDA SprXH, X : STA.w SprMiscF, X - LDA SprYH, X : STA.w SprMiscG, X + LDA.w SprX, X : STA.w SprMiscD, X + LDA.w SprY, X : STA.w SprMiscE, X + LDA.w SprXH, X : STA.w SprMiscF, X + LDA.w SprYH, X : STA.w SprMiscG, X STZ.w $0CAA, X @@ -101,10 +101,10 @@ Sprite_IceBlock_Main: JSL Sprite_CheckDamageFromPlayer BCC .no_damage - LDA SprMiscD, X : STA.w SprX, X - LDA SprMiscE, X : STA.w SprY, X - LDA SprMiscF, X : STA.w SprXH, X - LDA SprMiscG, X : STA.w SprYH, X + LDA.w SprMiscD, X : STA.w SprX, X + LDA.w SprMiscE, X : STA.w SprY, X + LDA.w SprMiscF, X : STA.w SprXH, X + LDA.w SprMiscG, X : STA.w SprYH, X STZ.w SprXSpeed, X : STZ.w SprYSpeed, X .no_damage @@ -135,8 +135,8 @@ Sprite_IceBlock_Main: ; STA.w SprYSpeed,X ; JSR Statue_HandleGrab - LDA SprX, X : AND #$F0 : STA.w SprX, X - LDA SprY, X : AND #$F0 : STA.w SprY, X + LDA.w SprX, X : AND #$F0 : STA.w SprX, X + LDA.w SprY, X : AND #$F0 : STA.w SprY, X RTS .not_in_contact %GotoAction(1) @@ -392,7 +392,7 @@ Sprite_IceBlock_Draw: JSL Sprite_PrepOamCoord JSL Sprite_OAM_AllocateDeferToPlayer - LDA $0DC0, X : CLC : ADC SprFrame, X : TAY;Animation Frame + LDA $0DC0, X : CLC : ADC.w SprFrame, X : TAY;Animation Frame LDA .start_index, Y : STA $06 diff --git a/Sprites/Objects/minecart.asm b/Sprites/Objects/minecart.asm index 4922878..4c75b84 100644 --- a/Sprites/Objects/minecart.asm +++ b/Sprites/Objects/minecart.asm @@ -101,7 +101,7 @@ Sprite_Minecart_Prep: STZ.w !MinecartDirection - LDA SprSubtype, X : CMP.b #$00 : BEQ .north + LDA.w SprSubtype, X : CMP.b #$00 : BEQ .north CMP.b #$01 : BEQ .east CMP.b #$02 : BEQ .south CMP.b #$03 : BEQ .west @@ -226,8 +226,8 @@ HandleTossedCart: .low_enough LDA.w SprTimerC, X : BNE .not_tossed - LDA SprX, X : AND.b #$F8 : STA.w SprX, X - LDA SprY, X : AND.b #$F8 : STA.w SprY, X + LDA.w SprX, X : AND.b #$F8 : STA.w SprX, X + LDA.w SprY, X : AND.b #$F8 : STA.w SprY, X STZ.w SprMiscG, X STZ.w SprYSpeed, X STZ.w SprXSpeed, X @@ -256,8 +256,8 @@ Sprite_Minecart_Main: Minecart_WaitHoriz: { %PlayAnimation(0,1,8) - LDA LinkCarryOrToss : AND #$03 : BNE .lifting - LDA SprTimerA, X : BNE .not_ready + LDA.w LinkCarryOrToss : AND #$03 : BNE .lifting + LDA.w SprTimerA, X : BNE .not_ready JSR CheckIfPlayerIsOn : BCC .not_ready LDA.w SprMiscF, X : BNE .active_cart LDA $F4 : AND.b #$80 : BEQ .not_ready ; Check for B button @@ -268,7 +268,7 @@ Sprite_Minecart_Main: LDA #$01 : STA !LinkInCart ; Set Link in cart flag ; Check if the cart is facing east or west - LDA SprSubtype, X : CMP.b #$03 : BNE .opposite_direction + LDA.w SprSubtype, X : CMP.b #$03 : BNE .opposite_direction STA.w !MinecartDirection LDA #$02 : STA !SpriteDirection, X %GotoAction(5) ; Minecart_MoveWest @@ -292,8 +292,8 @@ Sprite_Minecart_Main: Minecart_WaitVert: { %PlayAnimation(2,3,8) - LDA LinkCarryOrToss : AND #$03 : BNE .lifting - LDA SprTimerA, X : BNE .not_ready + LDA.w LinkCarryOrToss : AND #$03 : BNE .lifting + LDA.w SprTimerA, X : BNE .not_ready JSR CheckIfPlayerIsOn : BCC .not_ready LDA.w SprMiscF, X : BNE .active_cart LDA $F4 : AND.b #$80 : BEQ .not_ready ; Check for B button @@ -304,7 +304,7 @@ Sprite_Minecart_Main: LDA #$01 : STA !LinkInCart ; Set Link in cart flag ; Check if the cart is facing north or south - LDA SprSubtype, X : BEQ .opposite_direction + LDA.w SprSubtype, X : BEQ .opposite_direction STA.w !MinecartDirection LDA #$01 : STA !SpriteDirection, X %GotoAction(4) ; Minecart_MoveSouth @@ -430,7 +430,7 @@ Sprite_Minecart_Main: { %StopCart() - LDA SprTimerD, X : BNE .not_ready + LDA.w SprTimerD, X : BNE .not_ready LDA #$40 : STA.w SprTimerA, X LDA.w !SpriteDirection, X : CMP.b #$00 : BEQ .vert CMP.b #$02 : BEQ .vert @@ -449,7 +449,7 @@ Sprite_Minecart_Main: HandleTileDirections: { - LDA SprTimerA, X : BEQ + + LDA.w SprTimerA, X : BEQ + RTS + @@ -533,7 +533,7 @@ HandleTileDirections: .horiz ; Are we moving left or right? - LDA SprSubtype, X : CMP.b #$03 : BEQ .inverse_horiz_velocity + LDA.w SprSubtype, X : CMP.b #$03 : BEQ .inverse_horiz_velocity LDA.b #!MinecartSpeed : STA.w SprXSpeed, X LDA.b #East : STA !MinecartDirection JMP .done @@ -543,7 +543,7 @@ HandleTileDirections: JMP .done .vert ; Are we moving up or down? - LDA SprSubtype, X : CMP.b #$00 : BEQ .inverse_vert_velocity + LDA.w SprSubtype, X : CMP.b #$00 : BEQ .inverse_vert_velocity LDA.b #!MinecartSpeed : STA.w SprYSpeed, X JMP .done .inverse_vert_velocity @@ -551,7 +551,7 @@ HandleTileDirections: JMP .done .check_direction - LDA SprSubtype, X + LDA.w SprSubtype, X ASL #2 ; Multiply by 4 (shifting left by 2 bits) to offset rows in the lookup table STA $07 ; Store the action index in $07 @@ -571,25 +571,25 @@ HandleTileDirections: LDA #$00 : STA.w SprSubtype, X : STA !MinecartDirection STA !SpriteDirection, X %GotoAction(2) ; Minecart_MoveNorth - LDA SprX, X : AND #$F8 : STA.w SprX, X + LDA.w SprX, X : AND #$F8 : STA.w SprX, X JMP .done .move_east LDA #$01 : STA.w SprSubtype, X : STA !MinecartDirection STA !MinecartDirection LDA #$03 : STA !SpriteDirection, X - LDA SprY, X : AND #$F8 : STA.w SprY, X + LDA.w SprY, X : AND #$F8 : STA.w SprY, X %GotoAction(3) ; Minecart_MoveEast JMP .done .move_south LDA #$02 : STA.w SprSubtype, X : STA !MinecartDirection LDA #$01 : STA !SpriteDirection, X %GotoAction(4) ; Minecart_MoveSouth - LDA SprX, X : AND #$F8 : STA.w SprX, X + LDA.w SprX, X : AND #$F8 : STA.w SprX, X JMP .done .move_west LDA #$03 : STA.w SprSubtype, X : STA !MinecartDirection LDA #$02 : STA !SpriteDirection, X - LDA SprY, X : AND #$F8 : STA.w SprY, X + LDA.w SprY, X : AND #$F8 : STA.w SprY, X %GotoAction(5) ; Minecart_MoveWest .done LDA #$0F : STA.w SprTimerA, X @@ -634,7 +634,7 @@ HandleDynamicSwitchTileDirections: RTS .east_or_west - LDA SwitchRam : BNE .go_west + LDA.w SwitchRam : BNE .go_west LDA #$01 : STA.w SprSubtype, X STA.w !MinecartDirection LDA #$03 : STA !SpriteDirection, X @@ -649,7 +649,7 @@ HandleDynamicSwitchTileDirections: RTS .north_or_south - LDA SwitchRam : BNE .go_south + LDA.w SwitchRam : BNE .go_south LDA #$00 : STA.w SprSubtype, X STA.w !MinecartDirection STA !SpriteDirection, X @@ -717,7 +717,7 @@ CheckForPlayerInput: LDA $F0 : AND .d_pad_press, Y : STA $00 : AND.b #$08 : BEQ .not_pressing_up LDA.b #$00 : STA !SpriteDirection, X ; Moving Up LDA.b #North : STA !MinecartDirection - STA SprSubtype, X + STA.w SprSubtype, X %GotoAction(2) ; Minecart_MoveNorth BRA .return @@ -741,7 +741,7 @@ CheckForPlayerInput: LDA.b $00 : AND.b #$01 : BEQ .return LDA.b #$03 : STA !SpriteDirection, X LDA.b #East : STA !MinecartDirection - STA SprSubtype, X + STA.w SprSubtype, X %GotoAction(3) ; Minecart_MoveEast .return .cant_input diff --git a/Sprites/Objects/mineswitch.asm b/Sprites/Objects/mineswitch.asm index 554f8a8..5c4270b 100644 --- a/Sprites/Objects/mineswitch.asm +++ b/Sprites/Objects/mineswitch.asm @@ -56,7 +56,7 @@ Sprite_LeverSwitch_Prep: PHB : PHK : PLB LDA.b #$00 : STA.w SprDefl, X - LDA SprSubtype, X : STA.w SprAction, X + LDA.w SprSubtype, X : STA.w SprAction, X LDA.b #$00 : STA.w SprTileDie, X STZ.w SprBulletproof, X @@ -81,7 +81,7 @@ Sprite_LeverSwitch_Main: SwitchOff: { %PlayAnimation(0,0,4) - LDA SprTimerA, X : BNE .NoDamage + LDA.w SprTimerA, X : BNE .NoDamage JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #$25 : STA $012F @@ -95,7 +95,7 @@ Sprite_LeverSwitch_Main: SwitchOn: { %PlayAnimation(1,1,4) - LDA SprTimerA, X : BNE .NoDamage + LDA.w SprTimerA, X : BNE .NoDamage JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #$25 : STA $012F LDA #$01 : STA $37 diff --git a/Sprites/Objects/portal_sprite.asm b/Sprites/Objects/portal_sprite.asm index ed6723b..e3506a3 100644 --- a/Sprites/Objects/portal_sprite.asm +++ b/Sprites/Objects/portal_sprite.asm @@ -61,7 +61,7 @@ Sprite_Portal_Prep: ; Persist outside of camera LDA #$00 : STA $0CAA, X - LDA SprHitbox, X : AND.b #$C0 : STA.w SprHitbox, X + LDA.w SprHitbox, X : AND.b #$C0 : STA.w SprHitbox, X STZ.w $0B6B, X LDA.b #$FF : STA.w $0BA0, X @@ -112,8 +112,8 @@ Sprite_Portal_Main: LDA $7E0FA6 : BNE .BluePortal LDA #$01 : STA $0307 TXA : STA.w OrangeSpriteIndex - LDA SprY, X : STA OrangePortal_X - LDA SprX, X : STA OrangePortal_Y + LDA.w SprY, X : STA.w OrangePortal_X + LDA.w SprX, X : STA.w OrangePortal_Y LDA.b #$01 : STA.w SprSubtype, X %GotoAction(2) @@ -121,8 +121,8 @@ Sprite_Portal_Main: .BluePortal LDA #$02 : STA $0307 TXA : STA.w BlueSpriteIndex - LDA SprY, X : STA BluePortal_X - LDA SprX, X : STA BluePortal_Y + LDA.w SprY, X : STA.w BluePortal_X + LDA.w SprX, X : STA.w BluePortal_Y LDA.b #$02 : STA.w SprSubtype, X %GotoAction(1) @@ -139,7 +139,7 @@ Sprite_Portal_Main: .not_warped_yet CLC - LDA SprTimerD, X : BNE .NoOverlap + LDA.w SprTimerD, X : BNE .NoOverlap JSL Link_SetupHitBox JSL $0683EA ; Sprite_SetupHitbox_long @@ -165,7 +165,7 @@ Sprite_Portal_Main: STZ $11 .not_warped_yet CLC - LDA SprTimerD, X : BNE .NoOverlap + LDA.w SprTimerD, X : BNE .NoOverlap JSL Link_SetupHitBox JSL $0683EA ; Sprite_SetupHitbox_long @@ -200,12 +200,12 @@ Sprite_Portal_Main: ; LDA $7EC196 : STA $0616 PHX - LDA OrangeSpriteIndex : TAX + LDA.w OrangeSpriteIndex : TAX LDA #$40 : STA.w SprTimerD, X - LDA SprY, X : STA $7EC184 - STA BluePortal_Y - LDA SprX, X : STA $7EC186 - STA BluePortal_X + LDA.w SprY, X : STA $7EC184 + STA.w BluePortal_Y + LDA.w SprX, X : STA $7EC186 + STA.w BluePortal_X PLX LDA #$14 : STA $11 @@ -229,12 +229,12 @@ Sprite_Portal_Main: ; LDA $7EC196 : STA $0616 PHX - LDA BlueSpriteIndex : TAX + LDA.w BlueSpriteIndex : TAX LDA #$40 : STA.w SprTimerD, X - LDA SprY, X : STA $7EC184 - STA OrangePortal_Y - LDA SprX, X : STA $7EC186 - STA OrangePortal_X + LDA.w SprY, X : STA $7EC184 + STA.w OrangePortal_Y + LDA.w SprX, X : STA $7EC186 + STA.w OrangePortal_X PLX @@ -245,8 +245,8 @@ Sprite_Portal_Main: BluePortal_WarpOverworld: { - LDA OrangePortal_X : STA $20 - LDA OrangePortal_Y : STA $22 + LDA.w OrangePortal_X : STA $20 + LDA.w OrangePortal_Y : STA $22 LDA $7EC190 : STA $0610 LDA $7EC192 : STA $0612 LDA $7EC194 : STA $0614 @@ -255,7 +255,7 @@ Sprite_Portal_Main: JSL ApplyLinksMovementToCamera PHX ; Infinite loop prevention protocol - LDA OrangeSpriteIndex : TAX + LDA.w OrangeSpriteIndex : TAX LDA #$40 : STA.w SprTimerD, X PLX @@ -269,8 +269,8 @@ Sprite_Portal_Main: OrangePortal_WarpOverworld: { - LDA BluePortal_X : STA $20 - LDA BluePortal_Y : STA $22 + LDA.w BluePortal_X : STA $20 + LDA.w BluePortal_Y : STA $22 LDA $7EC190 : STA $0610 LDA $7EC192 : STA $0612 LDA $7EC194 : STA $0614 @@ -279,7 +279,7 @@ Sprite_Portal_Main: JSL ApplyLinksMovementToCamera PHX - LDA BlueSpriteIndex : TAX + LDA.w BlueSpriteIndex : TAX LDA #$40 : STA.w SprTimerD, X PLX @@ -296,13 +296,13 @@ CheckForDismissPortal: LDA $06FE : CMP.b #$02 : BCC .return LDA $7E0FA6 : BEQ .DespawnOrange ; Check what portal is spawning next PHX - LDA BlueSpriteIndex : TAX + LDA.w BlueSpriteIndex : TAX STZ.w $0DD0, X DEC.w $06FE PLX .DespawnOrange PHX - LDA OrangeSpriteIndex : TAX + LDA.w OrangeSpriteIndex : TAX STZ.w $0DD0, X DEC.w $06FE PLX diff --git a/Sprites/Objects/switch_track.asm b/Sprites/Objects/switch_track.asm index a77e265..3941695 100644 --- a/Sprites/Objects/switch_track.asm +++ b/Sprites/Objects/switch_track.asm @@ -56,7 +56,7 @@ Sprite_RotatingTrack_Prep: PHB : PHK : PLB LDA.b #$80 : STA $0CAA, X - LDA SprSubtype, X : STA.w SprAction,X + LDA.w SprSubtype, X : STA.w SprAction,X PLB RTL @@ -87,7 +87,7 @@ Sprite_RotatingTrack_Main: ; 00 = TopLeft -> TopRight TopLeftToTopRight: { - LDA SwitchRam : BNE part2 + LDA.w SwitchRam : BNE part2 %PlayAnimation(0,0,4) part2: %PlayAnimation(1,1,4) @@ -98,7 +98,7 @@ Sprite_RotatingTrack_Main: ; 01 = TopRight -> BottomRight TopRightToBottomRight: { - LDA SwitchRam : BNE part2_a + LDA.w SwitchRam : BNE part2_a %PlayAnimation(1,1,4) part2_a: %PlayAnimation(2,2,4) @@ -109,7 +109,7 @@ Sprite_RotatingTrack_Main: ; 02 = BottomRight -> BottomLeft BottomRightToBottomLeft: { - LDA SwitchRam : BNE part2_b + LDA.w SwitchRam : BNE part2_b %PlayAnimation(2,2,4) part2_b: %PlayAnimation(3,3,4) @@ -120,7 +120,7 @@ Sprite_RotatingTrack_Main: ; 03 = BottomLeft -> TopLeft BottomLeftToTopLeft: { - LDA SwitchRam : BNE part2_c + LDA.w SwitchRam : BNE part2_c %PlayAnimation(3,3,4) part2_c: %PlayAnimation(0,0,4) @@ -131,7 +131,7 @@ Sprite_RotatingTrack_Main: ; 04 = TopRight -> TopLeft TopRightToTopLeft: { - LDA SwitchRam : BNE part2_d + LDA.w SwitchRam : BNE part2_d %StartOnFrame(1) %PlayAnimation(1,1,4) part2_d: diff --git a/Sprites/ZSpriteLib/sprite_functions.asm b/Sprites/ZSpriteLib/sprite_functions.asm index cd43163..afb74a5 100644 --- a/Sprites/ZSpriteLib/sprite_functions.asm +++ b/Sprites/ZSpriteLib/sprite_functions.asm @@ -221,7 +221,7 @@ DragXH = $0B7F DragPlayer: { LDA.w .drag_x_low, Y : CLC : ADC.w DragYL : STA.w DragYL - LDA.w .drag_x_high, Y : ADC.w DragYH : STA DragYH + LDA.w .drag_x_high, Y : ADC.w DragYH : STA.w DragYH LDA.w .drag_y_low, Y : CLC : ADC.w DragXL : STA.w DragXL LDA.w .drag_y_high, Y : ADC.w DragXH : STA.w DragXH @@ -229,7 +229,7 @@ DragPlayer: .SomariaPlatform_DragLink REP #$20 - LDA SprCachedX : SEC : SBC.w #$0002 + LDA.w SprCachedX : SEC : SBC.w #$0002 CMP $22 : BEQ .x_done : BPL .x_too_low DEC.w DragYL BRA .x_done @@ -238,7 +238,7 @@ DragPlayer: .x_done ; Changing the modifier adjusts links position in the cart - LDA SprCachedY : SEC : SBC.w #$0008 + LDA.w SprCachedY : SEC : SBC.w #$0008 CMP $20 : BEQ .y_done : BPL .y_too_low DEC.w DragXL BRA .y_done @@ -597,13 +597,13 @@ Sprite_ApplySpeedTowardsPlayerXOrY: REP #$20 ; if link.y is 6 above sprite.y it is considered below - LDA SprCachedY : SEC : SBC $20 : CLC : ADC.w #$0006 : STA $01 ;delta Y + LDA.w SprCachedY : SEC : SBC $20 : CLC : ADC.w #$0006 : STA $01 ;delta Y SEP #$20 JSL Sprite_IsToRightOfPlayer : BEQ .player_to_the_Right1 ;player_to_the_Left REP #$20 - LDA SprCachedX : SEC : SBC $22 ; delta X + LDA.w SprCachedX : SEC : SBC $22 ; delta X CMP $01 : BCS .XGreaterThanY1 ;YGreaterThanX @@ -620,7 +620,7 @@ Sprite_ApplySpeedTowardsPlayerXOrY: .player_to_the_Right1 REP #$20 - LDA $22 : SEC : SBC SprCachedX ; delta X + LDA $22 : SEC : SBC.w SprCachedX ; delta X CMP $01 : BCS .XGreaterThanY2 ;YGreaterThanX @@ -639,13 +639,13 @@ Sprite_ApplySpeedTowardsPlayerXOrY: .player_below REP #$20 ; if link.y is 6 above sprite.y it is considered below - LDA $20 : SEC : SBC SprCachedY : CLC : ADC.w #$0006 : STA $01 ; delta Y + LDA $20 : SEC : SBC.w SprCachedY : CLC : ADC.w #$0006 : STA $01 ; delta Y SEP #$20 JSL Sprite_IsToRightOfPlayer : BEQ .player_to_the_Right2 ;player_to_the_Left REP #$20 - LDA SprCachedX : SEC : SBC $22 ; delta X + LDA.w SprCachedX : SEC : SBC $22 ; delta X CMP $01 : BCS .XGreaterThanY3 ;YGreaterThanX @@ -663,7 +663,7 @@ Sprite_ApplySpeedTowardsPlayerXOrY: .player_to_the_Right2 REP #$20 - LDA $22 : SEC : SBC SprCachedX ; delta X + LDA $22 : SEC : SBC.w SprCachedX ; delta X CMP $01 : BCS .XGreaterThanY4 ;YGreaterThanX