add more explicit length suffices
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user