add Octorok_ShootEmUp, single and 4-way
This commit is contained in:
@@ -101,12 +101,108 @@ Sprite_Octorok_Main:
|
|||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
Octorok_Stone:
|
; TODO: Make this randomized behavior to free up Sprite 0A
|
||||||
{
|
Octorock_ShootEmUp:
|
||||||
%PlayAnimation(8,8,10)
|
{
|
||||||
|
LDA.w SprType,X : SEC : SBC.b #$08
|
||||||
|
|
||||||
|
REP #$30
|
||||||
|
|
||||||
|
AND.w #$00FF
|
||||||
|
ASL A
|
||||||
|
TAY
|
||||||
|
|
||||||
|
LDA.w .vectors, Y : DEC A : PHA
|
||||||
|
|
||||||
|
SEP #$30
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.vectors
|
||||||
|
dw Octorok_ShootSingle ; Sprite 08
|
||||||
|
dw $0000
|
||||||
|
dw Octorok_Shoot4Ways ; Sprite 0A
|
||||||
|
}
|
||||||
|
|
||||||
|
; =========================================================
|
||||||
|
|
||||||
|
Octorok_ShootSingle:
|
||||||
|
{
|
||||||
|
LDA.w SprTimerA,X : CMP.b #$1C : BNE .bide_time
|
||||||
|
PHA
|
||||||
|
JSR Octorok_FireLoogie
|
||||||
|
PLA
|
||||||
|
|
||||||
|
.bide_time
|
||||||
|
LSR A
|
||||||
|
LSR A
|
||||||
|
LSR A
|
||||||
|
TAY
|
||||||
|
|
||||||
|
LDA.w .mouth_anim_step,Y
|
||||||
|
STA.w SprMiscB,X
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.mouth_anim_step
|
||||||
|
db $00, $02, $02, $02
|
||||||
|
db $01, $01, $01, $00
|
||||||
|
db $00, $00, $00, $00
|
||||||
|
db $02, $02, $02, $02
|
||||||
|
db $02, $01, $01, $00
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
; ---------------------------------------------------------
|
||||||
|
|
||||||
|
Octorok_Shoot4Ways:
|
||||||
|
{
|
||||||
|
LDA.w SprTimerA,X
|
||||||
|
PHA
|
||||||
|
|
||||||
|
CMP.b #$80
|
||||||
|
BCS .animate
|
||||||
|
|
||||||
|
AND.b #$0F
|
||||||
|
BNE .delay_turn
|
||||||
|
|
||||||
|
PHA
|
||||||
|
|
||||||
|
LDY.w SprMiscC,X
|
||||||
|
|
||||||
|
LDA.w .next_direction,Y
|
||||||
|
STA.w SprMiscC,X
|
||||||
|
|
||||||
|
PLA
|
||||||
|
|
||||||
|
.delay_turn
|
||||||
|
CMP.b #$08
|
||||||
|
BNE .animate
|
||||||
|
|
||||||
|
JSR Octorok_FireLoogie
|
||||||
|
|
||||||
|
.animate
|
||||||
|
PLA
|
||||||
|
LSR A
|
||||||
|
LSR A
|
||||||
|
LSR A
|
||||||
|
LSR A
|
||||||
|
TAY
|
||||||
|
|
||||||
|
LDA.w .mouth_anim_step,Y
|
||||||
|
STA.w SprMiscB,X
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.next_direction
|
||||||
|
db $02, $03, $01, $00
|
||||||
|
|
||||||
|
.mouth_anim_step
|
||||||
|
db $02, $02, $02, $02
|
||||||
|
db $02, $02, $02, $02
|
||||||
|
db $01, $00
|
||||||
|
}
|
||||||
|
|
||||||
RTS
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user