add Sprite_FloatAwayFromPlayer
This commit is contained in:
@@ -44,6 +44,15 @@ SprState = $0DD0 ; This tells if the sprite is alive, dead, frozen, etc...
|
||||
SprNbrOAM = $0E40
|
||||
|
||||
SprHealth = $0E50
|
||||
|
||||
; Mostly controls graphics
|
||||
; nios pppt
|
||||
; n - if set, don't draw extra death anim
|
||||
; i - impervious to attacks and collision? TODO
|
||||
; o - shadow size (0: normal | 1: small)
|
||||
; s - shadow (0: no shadow | 1: shadow)
|
||||
; p - palette used for OAM props
|
||||
; t - name table used for OAM props
|
||||
SprGfxProps = $0E60
|
||||
|
||||
; Direction of sprite collision with wall
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
;==========================================================
|
||||
; =========================================================
|
||||
;Long function, return Carry Set if Active
|
||||
;==========================================================
|
||||
|
||||
Sprite_CheckActive:
|
||||
{
|
||||
@@ -24,9 +23,9 @@ Sprite_CheckActive:
|
||||
RTL
|
||||
}
|
||||
|
||||
|
||||
; =========================================================
|
||||
; make the sprite move X axis
|
||||
;==========================================================
|
||||
|
||||
Sprite_MoveHoriz:
|
||||
{
|
||||
LDA.w $0D50, X : BEQ .no_velocity
|
||||
@@ -48,10 +47,8 @@ Sprite_MoveHoriz:
|
||||
RTL
|
||||
}
|
||||
|
||||
;==========================================================
|
||||
|
||||
; =========================================================
|
||||
; make the sprite move both directions (also height)
|
||||
;==========================================================
|
||||
|
||||
Sprite_MoveXyz:
|
||||
JSL Sprite_MoveAltitude
|
||||
@@ -59,9 +56,8 @@ Sprite_Move:
|
||||
JSL Sprite_MoveHoriz
|
||||
; no RTL, just continue into Sprite_MoveVert
|
||||
|
||||
;==========================================================
|
||||
; =========================================================
|
||||
; make the sprite move Y axis
|
||||
;==========================================================
|
||||
|
||||
Sprite_MoveVert:
|
||||
{
|
||||
@@ -84,9 +80,8 @@ Sprite_MoveVert:
|
||||
RTL
|
||||
}
|
||||
|
||||
;==========================================================
|
||||
; =========================================================
|
||||
; make the sprite move Z axis (height)
|
||||
;==========================================================
|
||||
|
||||
Sprite_MoveZ:
|
||||
Sprite_MoveAltitude:
|
||||
@@ -107,11 +102,11 @@ Sprite_MoveAltitude:
|
||||
}
|
||||
|
||||
|
||||
;==========================================================
|
||||
; =========================================================
|
||||
; make the sprite bounce toward player (like vitreous)
|
||||
; Movement, Collision are handled by this function (height:20 = vitreous)
|
||||
; $09 = speed, $08 = max height
|
||||
;==========================================================
|
||||
|
||||
|
||||
Sprite_BounceTowardPlayer:
|
||||
{
|
||||
@@ -130,7 +125,7 @@ Sprite_BounceTowardPlayer:
|
||||
|
||||
JSL Sprite_ApplySpeedTowardsPlayer
|
||||
|
||||
LDA.b #$21 : JSL Sound_SetSfx2PanLong
|
||||
; LDA.b #$21 : JSL Sound_SetSfx2PanLong
|
||||
|
||||
.aloft
|
||||
LDA.w $0F70, X : BEQ .dontmove
|
||||
@@ -163,6 +158,16 @@ Sprite_FloatTowardPlayer:
|
||||
RTL
|
||||
}
|
||||
|
||||
Sprite_FloatAwayFromPlayer:
|
||||
{
|
||||
LDA $0D50, X : EOR.b #$FF : INC : STA $0D50, X
|
||||
LDA $0D40, X : EOR.b #$FF : INC : STA $0D40, X
|
||||
|
||||
JSL Sprite_MoveAltitude
|
||||
|
||||
RTL
|
||||
}
|
||||
|
||||
Sprite_BounceFromTileCollision:
|
||||
{
|
||||
JSL Sprite_CheckTileCollision : AND.b #$03 : BEQ ++
|
||||
|
||||
Reference in New Issue
Block a user