add Sprite_SpawnProbeAlways

This commit is contained in:
scawful
2024-07-06 23:19:25 -04:00
parent 37b8df9b70
commit 19f13ae7c6
3 changed files with 29 additions and 105 deletions

View File

@@ -820,6 +820,7 @@ Sprite_ApplySpeedTowardsPlayerXOrY_Long:
RTL
}
; =========================================================
GetDistance8bit_Long:
{
@@ -839,108 +840,3 @@ GetDistance8bit_Long:
CLC : ADC $00 : STA $00 ; distance total X, Y (ABS)
RTL
}
; ---------------------------------------------------------
EXIT_06DF5D:
RTS
CarriedSprite_CheckForThrow:
#_06DF6D: LDA.w $0010
#_06DF70: CMP.b #$0E
#_06DF72: BEQ EXIT_06DF5D
#_06DF74: LDA.b $5B
#_06DF76: CMP.b #$02
#_06DF78: BEQ .forced_throw
#_06DF7A: LDA.b $4D
#_06DF7C: AND.b #$01
#_06DF7E: LDY.w $037B
#_06DF81: BNE .link_not_hittable
#_06DF83: ORA.w $0046
.link_not_hittable
#_06DF86: ORA.w $0345
#_06DF89: ORA.w $02E0
#_06DF8C: ORA.w $02DA
#_06DF8F: BNE .forced_throw
#_06DF91: LDA.l $7FFA1C,X
#_06DF95: CMP.b #$03
#_06DF97: BNE .no_throw
#_06DF99: LDA.b $F4
#_06DF9B: ORA.b $F6
#_06DF9D: BPL .no_throw
#_06DF9F: ASL.b $F6
#_06DFA1: LSR.b $F6
; ---------------------------------------------------------
.forced_throw
; #_06DFA3: LDA.b #$13 ; SFX3.13
; #_06DFA5: JSL SpriteSFX_QueueSFX3WithPan
#_06DFA9: LDA.b #$02
#_06DFAB: STA.w $0309
#_06DFAE: LDA.l $7FFA2C,X
#_06DFB2: STA.w $0DD0,X
#_06DFB5: STZ.w $0F80,X
#_06DFB8: LDA.b #$00
#_06DFBA: STA.l $7FFA1C,X
; ---------------------------------------------------------
#_06DFBE: PHX
#_06DFBF: LDA.w $0E20,X
#_06DFC2: TAX
#_06DFC3: LDA.l SpriteData_OAMProp,X
#_06DFC7: PLX
#_06DFC8: AND.b #$10
#_06DFCA: STA.b $00
#_06DFCC: LDA.w $0E60,X
#_06DFCF: AND.b #$EF
#_06DFD1: ORA.b $00
#_06DFD3: STA.w $0E60,X
#_06DFD6: LDA.b $2F
#_06DFD8: LSR A
#_06DFD9: TAY
#_06DFDA: LDA.w .throw_speed_x,Y
#_06DFDD: STA.w $0D50,X
#_06DFE0: LDA.w .throw_speed_y,Y
#_06DFE3: STA.w $0D40,X
#_06DFE6: LDA.w .throw_speed_z,Y
#_06DFE9: STA.w $0F80,X
#_06DFEC: LDA.b #$00
#_06DFEE: STA.w $0F10,X
.no_throw
#_06DFF1: RTL
.throw_speed_x
#_06DF61: db 0, 0, -62, 63
.throw_speed_y
#_06DF65: db -62, 63, 0, 0
.throw_speed_z
#_06DF69: db 4, 4, 4, 4

View File

@@ -425,6 +425,8 @@ Sprite_ProjectSpeedTowardsEntityLong = $06EA22
GetRandomInt = $0DBA71
Sprite_SpawnProbeAlways_long = $05C66E
Sprite_SpawnFireball = $0DDA06
Sprite_MoveLong = $1D808C
@@ -451,6 +453,8 @@ ThrownSprite_TileAndSpriteInteraction_long = $06DFF2
Sprite_RepelDash = $079291
Probe_CheckTileSolidity = $0DC26E
; =========================================================
; Local functions which may be useful for sprites
; Sprite_AttemptZapDamage - 06EC02
@@ -502,6 +506,20 @@ PressPad1H = $F6
ButtonAFlag = $3B ; bit7: Button A is down (A-------)
; Timer for B button
; ssss tttt
; s - spin attack in action; set to 0x9
; t - sword swing timer
; 0x00 - No swing
; —0x08 - Sword swing
; 0x09 - Sword primed
; —0x0C - Poking wall
;
; Also used as a 16-bit countdown for various cutscenes:
; Ether tablet: 0x00C0
; Bombos tablet: 0x00E0
; Desert tablet: 0x0001
BFLAG = $3C
; =========================================================
; Link RAM and Functions