kydreeok replace spr ram w labels
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
!SPRID = $7A ; The sprite ID you are overwriting (HEX)
|
!SPRID = $7A ; The sprite ID you are overwriting (HEX)
|
||||||
!NbrTiles = 10 ; Number of tiles used in a frame
|
!NbrTiles = 08 ; Number of tiles used in a frame
|
||||||
!Harmless = 00 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
|
!Harmless = 00 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
|
||||||
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is
|
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is
|
||||||
!Health = 00 ; Number of Health the sprite have
|
!Health = 00 ; Number of Health the sprite have
|
||||||
@@ -53,13 +53,13 @@ Sprite_Kydreeok_Prep:
|
|||||||
{
|
{
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|
||||||
LDA #$40 : STA SprTimerA, X
|
LDA #$40 : STA.w SprTimerA, X
|
||||||
LDA.b #$08 : STA $36 ; Stores initial movement speeds
|
LDA.b #$08 : STA $36 ; Stores initial movement speeds
|
||||||
LDA.b #$06 : STA $0428 ; Allows BG1 to move
|
LDA.b #$06 : STA $0428 ; Allows BG1 to move
|
||||||
|
|
||||||
; Cache the origin position of the sprite.
|
; Cache the origin position of the sprite.
|
||||||
LDA SprX, X : STA SprMiscA, X
|
LDA SprX, X : STA.w SprMiscA, X
|
||||||
LDA SprY, X : STA SprMiscB, X
|
LDA SprY, X : STA.w SprMiscB, X
|
||||||
|
|
||||||
JSR SpawnLeftHead
|
JSR SpawnLeftHead
|
||||||
JSR SpawnCenterHead
|
JSR SpawnCenterHead
|
||||||
@@ -67,6 +67,7 @@ Sprite_Kydreeok_Prep:
|
|||||||
|
|
||||||
STZ.w Neck1_OffsetX : STZ.w Neck1_OffsetY
|
STZ.w Neck1_OffsetX : STZ.w Neck1_OffsetY
|
||||||
STZ.w Neck2_OffsetX : STZ.w Neck2_OffsetY
|
STZ.w Neck2_OffsetX : STZ.w Neck2_OffsetY
|
||||||
|
STZ.w Neck3_OffsetX : STZ.w Neck3_OffsetY
|
||||||
|
|
||||||
JSR ApplyPalette
|
JSR ApplyPalette
|
||||||
|
|
||||||
@@ -102,7 +103,7 @@ Sprite_Kydreeok_Main:
|
|||||||
|
|
||||||
LDA SprTimerA, X : BNE .continue
|
LDA SprTimerA, X : BNE .continue
|
||||||
TXA : STA Kydreeok_Id
|
TXA : STA Kydreeok_Id
|
||||||
LDA #$40 : STA SprTimerA, X
|
LDA #$40 : STA.w SprTimerA, X
|
||||||
%GotoAction(1)
|
%GotoAction(1)
|
||||||
.continue
|
.continue
|
||||||
|
|
||||||
@@ -118,7 +119,7 @@ Sprite_Kydreeok_Main:
|
|||||||
|
|
||||||
PHX
|
PHX
|
||||||
|
|
||||||
STZ $0D40 : STZ $0D50 ;set velocitys to 0
|
STZ.w SprYSpeed : STZ.w SprXSpeed ;set velocitys to 0
|
||||||
JSR MoveBody
|
JSR MoveBody
|
||||||
|
|
||||||
JSL Sprite_BounceFromTileCollision ;
|
JSL Sprite_BounceFromTileCollision ;
|
||||||
@@ -191,7 +192,7 @@ Sprite_Kydreeok_Main:
|
|||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
; Use a range of + 0x05 because being exact equal didnt trigger consistently
|
; Use a range of + 0x05 because being exact equal didnt trigger consistently
|
||||||
LDA $20 : SBC $0FDA : CMP.w #$FFFB : BCC .notEqualY
|
LDA $20 : SBC SprCachedY : CMP.w #$FFFB : BCC .notEqualY
|
||||||
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
%GotoAction(2) ; Kydreeok_MoveXandY
|
%GotoAction(2) ; Kydreeok_MoveXandY
|
||||||
@@ -200,7 +201,7 @@ Sprite_Kydreeok_Main:
|
|||||||
.notEqualY
|
.notEqualY
|
||||||
|
|
||||||
; Use a range of + 0x05 because being exact equal didnt trigger consistently
|
; Use a range of + 0x05 because being exact equal didnt trigger consistently
|
||||||
LDA $22 : SBC $0FD8 : CMP.w #$FFFB : BCC .notEqualX
|
LDA $22 : SBC SprCachedX : CMP.w #$FFFB : BCC .notEqualX
|
||||||
SEP #$20
|
SEP #$20
|
||||||
%GotoAction(2) ; Kydreeok_MoveXandY
|
%GotoAction(2) ; Kydreeok_MoveXandY
|
||||||
|
|
||||||
@@ -209,8 +210,8 @@ Sprite_Kydreeok_Main:
|
|||||||
JSL Sprite_BounceFromTileCollision ; JSR StopIfOutOfBounds
|
JSL Sprite_BounceFromTileCollision ; JSR StopIfOutOfBounds
|
||||||
|
|
||||||
;if both velocities are 0 go back to the Stalk_Player_XORY to re-set the course
|
;if both velocities are 0 go back to the Stalk_Player_XORY to re-set the course
|
||||||
LDA $0D40 : BNE .notZero
|
LDA.w SprYSpeed : BNE .notZero
|
||||||
LDA $0D50 : BNE .notZero
|
LDA.w SprXSpeed : BNE .notZero
|
||||||
%GotoAction(3) ; Kydreeok_MoveXorY
|
%GotoAction(3) ; Kydreeok_MoveXorY
|
||||||
|
|
||||||
.notZero
|
.notZero
|
||||||
@@ -241,14 +242,14 @@ SpawnLeftHead:
|
|||||||
PHX
|
PHX
|
||||||
; code that controls where to spawn the offspring.
|
; code that controls where to spawn the offspring.
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FD8 : SEC : SBC.w #$000F
|
LDA SprCachedX : SEC : SBC.w #$000F
|
||||||
SEP #$20
|
SEP #$20
|
||||||
STA $0D10, Y : XBA : STA $0D30, Y
|
STA.w SprX, Y : XBA : STA.w SprXH, Y
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FDA : SEC : SBC.w #$000F
|
LDA SprCachedY : SEC : SBC.w #$000F
|
||||||
SEP #$20
|
SEP #$20
|
||||||
STA $0D00, Y : XBA : STA $0D20, Y
|
STA.w SprY, Y : XBA : STA.w SprYH, Y
|
||||||
|
|
||||||
LDA.w SprX, Y
|
LDA.w SprX, Y
|
||||||
STA.w SprMiscA, Y : STA.w $19EA : STA.w $19EC : STA.w $19EE
|
STA.w SprMiscA, Y : STA.w $19EA : STA.w $19EC : STA.w $19EE
|
||||||
@@ -257,8 +258,8 @@ SpawnLeftHead:
|
|||||||
|
|
||||||
TYX
|
TYX
|
||||||
|
|
||||||
STZ $0D60, X
|
STZ.w SprYRound, X
|
||||||
STZ $0D70, X
|
STZ.w SprXRound, X
|
||||||
PLX
|
PLX
|
||||||
|
|
||||||
.return
|
.return
|
||||||
@@ -280,24 +281,24 @@ SpawnCenterHead:
|
|||||||
PHX
|
PHX
|
||||||
; code that controls where to spawn the offspring.
|
; code that controls where to spawn the offspring.
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FD8 : CLC : ADC.w #$0006
|
LDA SprCachedX : CLC : ADC.w #$0006
|
||||||
SEP #$20
|
SEP #$20
|
||||||
STA $0D10, Y : XBA : STA $0D30, Y
|
STA.w SprX, Y : XBA : STA.w SprXH, Y
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FDA : SEC : SBC.w #$0006
|
LDA SprCachedY : SEC : SBC.w #$000F
|
||||||
SEP #$20
|
SEP #$20
|
||||||
STA $0D00, Y : XBA : STA $0D20, Y
|
STA.w SprY, Y : XBA : STA.w SprYH, Y
|
||||||
|
|
||||||
LDA.w SprX, Y : STA.w SprX, Y
|
LDA.w SprX, Y : STA.w SprX, Y
|
||||||
STA.w SprMiscA, Y : STA.w $19F0 : STA.w $19F2 : STA.w $19F4
|
STA.w SprMiscA, Y : STA.w $1A78 : STA.w $1A7A : STA.w $1A7C
|
||||||
LDA.w SprY, Y : STA.w $19F1 : STA.w $19F3 : STA.w $19F5 : STA.w SprY, Y
|
LDA.w SprY, Y : STA.w $1A79 : STA.w $1A7B : STA.w $1A7D : STA.w SprY, Y
|
||||||
STA.w SprMiscB, Y
|
STA.w SprMiscB, Y
|
||||||
|
|
||||||
TYX
|
TYX
|
||||||
|
|
||||||
STZ $0D60, X
|
STZ.w SprYRound, X
|
||||||
STZ $0D70, X
|
STZ.w SprXRound, X
|
||||||
PLX
|
PLX
|
||||||
|
|
||||||
.return
|
.return
|
||||||
@@ -320,14 +321,14 @@ SpawnRightHead:
|
|||||||
PHX
|
PHX
|
||||||
; code that controls where to spawn the offspring.
|
; code that controls where to spawn the offspring.
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FD8 : CLC : ADC.w #$000C
|
LDA SprCachedX : CLC : ADC.w #$000C
|
||||||
SEP #$20
|
SEP #$20
|
||||||
STA $0D10, Y : XBA : STA $0D30, Y
|
STA.w SprX, Y : XBA : STA.w SprXH, Y
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FDA : SEC : SBC.w #$000F
|
LDA SprCachedY : SEC : SBC.w #$000F
|
||||||
SEP #$20
|
SEP #$20
|
||||||
STA $0D00, Y : XBA : STA $0D20, Y
|
STA.w SprY, Y : XBA : STA.w SprYH, Y
|
||||||
|
|
||||||
LDA.w SprX, Y : STA.w SprX, Y
|
LDA.w SprX, Y : STA.w SprX, Y
|
||||||
STA.w SprMiscA, Y : STA.w $19F0 : STA.w $19F2 : STA.w $19F4
|
STA.w SprMiscA, Y : STA.w $19F0 : STA.w $19F2 : STA.w $19F4
|
||||||
@@ -336,8 +337,8 @@ SpawnRightHead:
|
|||||||
|
|
||||||
TYX
|
TYX
|
||||||
|
|
||||||
STZ $0D60, X
|
STZ.w SprYRound, X
|
||||||
STZ $0D70, X
|
STZ.w SprXRound, X
|
||||||
PLX
|
PLX
|
||||||
|
|
||||||
.return
|
.return
|
||||||
@@ -351,13 +352,13 @@ MoveBody:
|
|||||||
{
|
{
|
||||||
; Handle the shell bg movement
|
; Handle the shell bg movement
|
||||||
; Trinexx_MoveBody
|
; Trinexx_MoveBody
|
||||||
LDA.w $0D10, X : PHA
|
LDA.w SprX, X : PHA
|
||||||
LDA.w $0D00, X : PHA
|
LDA.w SprY, X : PHA
|
||||||
|
|
||||||
JSL Sprite_Move
|
JSL Sprite_Move
|
||||||
|
|
||||||
PLA
|
PLA
|
||||||
LDY.b #$00 : SEC : SBC.w $0D00, X : STA.w $0310
|
LDY.b #$00 : SEC : SBC.w SprY, X : STA.w $0310
|
||||||
BPL .pos_y_low
|
BPL .pos_y_low
|
||||||
DEY
|
DEY
|
||||||
|
|
||||||
@@ -367,7 +368,7 @@ MoveBody:
|
|||||||
; -----------------------------------------------------
|
; -----------------------------------------------------
|
||||||
|
|
||||||
PLA
|
PLA
|
||||||
LDY.b #$00 : SEC : SBC.w $0D10, X : STA.w $0312
|
LDY.b #$00 : SEC : SBC.w SprX, X : STA.w $0312
|
||||||
BPL .pos_x_low
|
BPL .pos_x_low
|
||||||
|
|
||||||
DEY
|
DEY
|
||||||
@@ -379,13 +380,13 @@ MoveBody:
|
|||||||
|
|
||||||
LDA.b #$01 : STA.w $0428
|
LDA.b #$01 : STA.w $0428
|
||||||
|
|
||||||
LDA.w $0D00, X : SEC : SBC.b #$0C : STA.w $0DB0, X
|
LDA.w SprY, X : SEC : SBC.b #$0C : STA.w $0DB0, X
|
||||||
|
|
||||||
LDA.w $0B08 : SEC : SBC.w $0D10, X
|
LDA.w $0B08 : SEC : SBC.w SprX, X
|
||||||
CLC : ADC.b #$02
|
CLC : ADC.b #$02
|
||||||
CMP.b #$04 : BCS .not_at_target
|
CMP.b #$04 : BCS .not_at_target
|
||||||
|
|
||||||
LDA.w $0B09 : SEC : SBC.w $0D00, X
|
LDA.w $0B09 : SEC : SBC.w SprY, X
|
||||||
CLC : ADC.b #$02
|
CLC : ADC.b #$02
|
||||||
CMP.b #$04 : BCS .not_at_target
|
CMP.b #$04 : BCS .not_at_target
|
||||||
|
|
||||||
@@ -411,10 +412,10 @@ StopIfOutOfBounds:
|
|||||||
; Set A to 00 if outside of certain bounds
|
; Set A to 00 if outside of certain bounds
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FD8 : CMP.w #$0A22 : BCS .notOutOfBoundsLeft
|
LDA SprCachedX : CMP.w #$0A22 : BCS .notOutOfBoundsLeft
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA $0D50 : CMP.b #$7F : BCC .notOutOfBoundsLeft
|
LDA.w SprXSpeed : CMP.b #$7F : BCC .notOutOfBoundsLeft
|
||||||
LDA.b #-10 : STA $0D50 : STA $0D70
|
LDA.b #-10 : STA.w SprXSpeed : STA SprXRound
|
||||||
LDA $19EA : SEC : SBC #$04 : STA $19EA
|
LDA $19EA : SEC : SBC #$04 : STA $19EA
|
||||||
LDA $19EC : SEC : SBC #$04 : STA $19EC
|
LDA $19EC : SEC : SBC #$04 : STA $19EC
|
||||||
LDA $19EE : SEC : SBC #$04 : STA $19EE
|
LDA $19EE : SEC : SBC #$04 : STA $19EE
|
||||||
@@ -427,10 +428,10 @@ StopIfOutOfBounds:
|
|||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FD8 : CMP.w #$1B00 : BCC .notOutOfBoundsRight
|
LDA SprCachedX : CMP.w #$1B00 : BCC .notOutOfBoundsRight
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA $0D50 : CMP.b #$80 : BCS .notOutOfBoundsRight
|
LDA.w SprXSpeed : CMP.b #$80 : BCS .notOutOfBoundsRight
|
||||||
LDA.b #$00 : STA $0D50 : STA $0D70
|
LDA.b #$00 : STA.w SprXSpeed : STA SprXRound
|
||||||
LDA $19EA : CLC : ADC #$04 : STA $19EA
|
LDA $19EA : CLC : ADC #$04 : STA $19EA
|
||||||
LDA $19EC : CLC : ADC #$04 : STA $19EC
|
LDA $19EC : CLC : ADC #$04 : STA $19EC
|
||||||
LDA $19EE : CLC : ADC #$04 : STA $19EE
|
LDA $19EE : CLC : ADC #$04 : STA $19EE
|
||||||
@@ -444,10 +445,10 @@ StopIfOutOfBounds:
|
|||||||
|
|
||||||
; Upper bound
|
; Upper bound
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FDA : CMP.w #$0150 : BCS .notOutOfBoundsUp
|
LDA SprCachedY : CMP.w #$0150 : BCS .notOutOfBoundsUp
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA $0D40 : CMP.b #$7F : BCC .notOutOfBoundsUp
|
LDA.w SprYSpeed : CMP.b #$7F : BCC .notOutOfBoundsUp
|
||||||
LDA.b #$00 : STA $0D40 : STA $0D60
|
LDA.b #$00 : STA.w SprYSpeed : STA SprYRound
|
||||||
LDA $19EA : SEC : SBC #$04 : STA $19EA
|
LDA $19EA : SEC : SBC #$04 : STA $19EA
|
||||||
LDA $19EC : SEC : SBC #$04 : STA $19EC
|
LDA $19EC : SEC : SBC #$04 : STA $19EC
|
||||||
LDA $19EE : SEC : SBC #$04 : STA $19EE
|
LDA $19EE : SEC : SBC #$04 : STA $19EE
|
||||||
@@ -455,12 +456,11 @@ StopIfOutOfBounds:
|
|||||||
.notOutOfBoundsUp
|
.notOutOfBoundsUp
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
print "CHECK DOWNS", pc
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FDA : CMP.w #$01A0 : BCC .notOutOfBoundsDown
|
LDA SprCachedY : CMP.w #$01A0 : BCC .notOutOfBoundsDown
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA $0D40 : CMP.b #$80 : BCS .notOutOfBoundsDown
|
LDA.w SprYSpeed : CMP.b #$80 : BCS .notOutOfBoundsDown
|
||||||
LDA.b #-10 : STA $0D40 : STA $0D60 ; Reverse the direction
|
LDA.b #-10 : STA.w SprYSpeed : STA SprYRound ; Reverse the direction
|
||||||
|
|
||||||
; Modify the neck position
|
; Modify the neck position
|
||||||
; Makes them move away from each other a bit
|
; Makes them move away from each other a bit
|
||||||
@@ -487,7 +487,7 @@ Sprite_ApplySpeedTowardsPlayerXOrY:
|
|||||||
;playerAbove
|
;playerAbove
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FDA : SEC : SBC $20 : CLC : ADC.w #$0006 : STA $01 ;delta Y
|
LDA SprCachedY : SEC : SBC $20 : CLC : ADC.w #$0006 : STA $01 ;delta Y
|
||||||
;added an extra 6 pixels because aparently if link.y is 6 above sprite.y it is concidered below ¯\_(ツ)_/¯
|
;added an extra 6 pixels because aparently if link.y is 6 above sprite.y it is concidered below ¯\_(ツ)_/¯
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
@@ -495,44 +495,44 @@ Sprite_ApplySpeedTowardsPlayerXOrY:
|
|||||||
;playerToTheLeft
|
;playerToTheLeft
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FD8 : SEC : SBC $22 ;delta X
|
LDA SprCachedX : SEC : SBC $22 ;delta X
|
||||||
|
|
||||||
|
|
||||||
CMP $01 : BCS .XGreaterThanY1
|
CMP $01 : BCS .XGreaterThanY1
|
||||||
;YGreaterThanX
|
;YGreaterThanX
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : SEC : SBC $00 : STA $0D40
|
LDA.b #$00 : SEC : SBC $00 : STA.w SprYSpeed
|
||||||
STZ $0D50
|
STZ.w SprXSpeed
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
.XGreaterThanY1
|
.XGreaterThanY1
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : SEC : SBC $00 : STA $0D50
|
LDA.b #$00 : SEC : SBC $00 : STA.w SprXSpeed
|
||||||
STZ $0D40
|
STZ.w SprYSpeed
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
.playerToTheRight1
|
.playerToTheRight1
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $22 : SEC : SBC $0FD8 ;delta X
|
LDA $22 : SEC : SBC SprCachedX ;delta X
|
||||||
|
|
||||||
CMP $01 : BCS .XGreaterThanY2
|
CMP $01 : BCS .XGreaterThanY2
|
||||||
;YGreaterThanX
|
;YGreaterThanX
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : SEC : SBC $00 : STA $0D40
|
LDA.b #$00 : SEC : SBC $00 : STA.w SprYSpeed
|
||||||
STZ $0D50
|
STZ.w SprXSpeed
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
.XGreaterThanY2
|
.XGreaterThanY2
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : CLC : ADC $00 : STA $0D50
|
LDA.b #$00 : CLC : ADC $00 : STA.w SprXSpeed
|
||||||
STZ $0D40
|
STZ.w SprYSpeed
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
.playerBelow
|
.playerBelow
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $20 : SEC : SBC $0FDA : CLC : ADC.w #$0006 : STA $01 ;delta Y
|
LDA $20 : SEC : SBC SprCachedY : CLC : ADC.w #$0006 : STA $01 ;delta Y
|
||||||
;added an extra 6 pixels because aparently if link.y is 6 above sprite.y it is concidered below ¯\_(ツ)_/¯
|
;added an extra 6 pixels because aparently if link.y is 6 above sprite.y it is concidered below ¯\_(ツ)_/¯
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
@@ -540,37 +540,37 @@ Sprite_ApplySpeedTowardsPlayerXOrY:
|
|||||||
;playerToTheLeft
|
;playerToTheLeft
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $0FD8 : SEC : SBC $22 ;delta X
|
LDA SprCachedX : SEC : SBC $22 ;delta X
|
||||||
|
|
||||||
CMP $01 : BCS .XGreaterThanY3
|
CMP $01 : BCS .XGreaterThanY3
|
||||||
;YGreaterThanX
|
;YGreaterThanX
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : CLC : ADC $00 : STA $0D40
|
LDA.b #$00 : CLC : ADC $00 : STA.w SprYSpeed
|
||||||
STZ $0D50
|
STZ.w SprXSpeed
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
.XGreaterThanY3
|
.XGreaterThanY3
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : SEC : SBC $00 : STA $0D50
|
LDA.b #$00 : SEC : SBC $00 : STA.w SprXSpeed
|
||||||
STZ $0D40
|
STZ.w SprYSpeed
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
.playerToTheRight2
|
.playerToTheRight2
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA $22 : SEC : SBC $0FD8 ;delta X
|
LDA $22 : SEC : SBC SprCachedX ;delta X
|
||||||
|
|
||||||
CMP $01 : BCS .XGreaterThanY4
|
CMP $01 : BCS .XGreaterThanY4
|
||||||
;YGreaterThanX
|
;YGreaterThanX
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : CLC : ADC $00 : STA $0D40
|
LDA.b #$00 : CLC : ADC $00 : STA.w SprYSpeed
|
||||||
STZ $0D50
|
STZ.w SprXSpeed
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
.XGreaterThanY4
|
.XGreaterThanY4
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA.b #$00 : CLC : ADC $00 : STA $0D50
|
LDA.b #$00 : CLC : ADC $00 : STA.w SprXSpeed
|
||||||
STZ $0D40
|
STZ.w SprYSpeed
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user