label sprite ram in anti_kirby
This commit is contained in:
@@ -55,13 +55,13 @@ Sprite_AntiKirby_Prep:
|
|||||||
{
|
{
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|
||||||
LDA #$00 : STA $0CAA, X
|
LDA #$00 : STA.w SprDefl, X
|
||||||
LDA #$00 : STA $0B6B, X
|
LDA #$00 : STA.w SprTileDie, X
|
||||||
|
|
||||||
LDY $0FFF
|
LDY $0FFF
|
||||||
LDA .bump_damage, Y : STA $0CD2, X
|
LDA .bump_damage, Y : STA.w SprBump, X
|
||||||
LDA .hp, Y : STA $0E50, X
|
LDA .health, Y : STA.w SprHealth, X
|
||||||
LDA .prize_pack, Y : STA $0BE0, X
|
LDA .prize_pack, Y : STA SprPrize, X
|
||||||
|
|
||||||
PLB
|
PLB
|
||||||
RTL
|
RTL
|
||||||
@@ -69,7 +69,7 @@ Sprite_AntiKirby_Prep:
|
|||||||
.bump_damage
|
.bump_damage
|
||||||
db $81, $88
|
db $81, $88
|
||||||
|
|
||||||
.hp
|
.health
|
||||||
db 8, 16
|
db 8, 16
|
||||||
|
|
||||||
.prize_pack
|
.prize_pack
|
||||||
@@ -167,13 +167,12 @@ Sprite_AntiKirby_Main:
|
|||||||
|
|
||||||
AntiKirby_Hurt:
|
AntiKirby_Hurt:
|
||||||
{
|
{
|
||||||
%PlayAnimation(8, 8, 10) ; Hurt
|
%PlayAnimation(8, 8, 10) ; Hurt
|
||||||
|
LDA SprTimerA, X : BNE .NotDone
|
||||||
LDA SprTimerA, X : BNE .NotDone
|
|
||||||
%GotoAction(0)
|
%GotoAction(0)
|
||||||
.NotDone
|
.NotDone
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
AntiKirby_Suck:
|
AntiKirby_Suck:
|
||||||
@@ -182,23 +181,23 @@ Sprite_AntiKirby_Main:
|
|||||||
|
|
||||||
LDA.b $0E : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
|
LDA.b $0E : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
|
||||||
LDA.b $0F : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
|
LDA.b $0F : CLC : ADC.b #$30 : CMP.b #$60 : BCS .dont_tongue_link
|
||||||
INC.w $0D80,X
|
INC.w SprAction, X
|
||||||
|
|
||||||
LDA.b #$1F
|
LDA.b #$1F
|
||||||
JSL Sprite_ProjectSpeedTowardsPlayer
|
JSL Sprite_ProjectSpeedTowardsPlayer
|
||||||
JSL Sprite_ConvertVelocityToAngle
|
JSL Sprite_ConvertVelocityToAngle
|
||||||
|
|
||||||
LSR A
|
LSR A
|
||||||
STA.w $0DE0,X
|
STA.w SprMiscC,X
|
||||||
|
|
||||||
LDA.b #$5F
|
LDA.b #$5F
|
||||||
STA.w SprTimerA, X
|
STA.w SprTimerA, X
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
; ---------------------------------------------------------
|
; -----------------------------------------------------
|
||||||
|
|
||||||
.dont_tongue_link
|
.dont_tongue_link
|
||||||
STZ.w $0D80,X
|
STZ.w SprAction, X
|
||||||
|
|
||||||
LDA.b #$10
|
LDA.b #$10
|
||||||
STA.w SprTimerA, X
|
STA.w SprTimerA, X
|
||||||
@@ -212,14 +211,14 @@ Sprite_AntiKirby_Main:
|
|||||||
|
|
||||||
LDA.w SprTimerA, X : BNE .lickylicky
|
LDA.w SprTimerA, X : BNE .lickylicky
|
||||||
|
|
||||||
STZ.w $0D80,X
|
STZ.w SprAction, X
|
||||||
|
|
||||||
LDA.b #$10
|
LDA.b #$10
|
||||||
STA.w SprTimerA, X
|
STA.w SprTimerA, X
|
||||||
|
|
||||||
STZ.w $0D90,X
|
STZ.w SprFrame, X
|
||||||
STZ.w $0DA0,X
|
STZ.w SprMiscA, X
|
||||||
STZ.w $0ED0,X
|
STZ.w SprMiscG, X
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
@@ -229,18 +228,16 @@ Sprite_AntiKirby_Main:
|
|||||||
PHA
|
PHA
|
||||||
|
|
||||||
TAY
|
TAY
|
||||||
|
LDA.w .anim,Y : STA.w SprGfx, X
|
||||||
LDA.w .anim,Y : STA.w $0DC0,X
|
|
||||||
|
|
||||||
TYA
|
TYA
|
||||||
|
|
||||||
LDY.w $0DE0,X
|
LDY.w SprMiscC, X
|
||||||
PHY
|
PHY
|
||||||
|
|
||||||
CLC : ADC.w .index_offset_x,Y
|
CLC : ADC.w .index_offset_x, Y
|
||||||
TAY
|
TAY
|
||||||
|
|
||||||
LDA.w .pos,Y : STA.w $0D90,X
|
LDA.w .pos, Y : STA.w SprFrame, X
|
||||||
|
|
||||||
STA.b $04
|
STA.b $04
|
||||||
STZ.b $05
|
STZ.b $05
|
||||||
@@ -253,10 +250,10 @@ Sprite_AntiKirby_Main:
|
|||||||
PLY
|
PLY
|
||||||
|
|
||||||
PLA
|
PLA
|
||||||
CLC : ADC.w .index_offset_y,Y
|
CLC : ADC.w .index_offset_y, Y
|
||||||
|
|
||||||
TAY
|
TAY
|
||||||
LDA.w .pos,Y : STA.w $0DA0,X
|
LDA.w .pos, Y : STA.w SprMiscA, X
|
||||||
|
|
||||||
STA.b $06
|
STA.b $06
|
||||||
STZ.b $07
|
STZ.b $07
|
||||||
@@ -267,28 +264,21 @@ Sprite_AntiKirby_Main:
|
|||||||
DEC.b $07
|
DEC.b $07
|
||||||
|
|
||||||
.positive_y
|
.positive_y
|
||||||
LDA.w $0ED0,X : BNE .exit
|
LDA.w SprMiscG, X : BNE .exit
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
LDA.w $0FD8
|
LDA.w $0FD8
|
||||||
CLC : ADC.b $04
|
CLC : ADC.b $04
|
||||||
|
|
||||||
SEC : SBC.b $22
|
SEC : SBC.b $22
|
||||||
|
CLC : ADC.w #$000C : CMP.w #$0018 : BCS .exit
|
||||||
|
|
||||||
CLC : ADC.w #$000C
|
LDA.w $0FDA
|
||||||
|
CLC : ADC.b $06
|
||||||
CMP.w #$0018 : BCS .exit
|
|
||||||
|
|
||||||
LDA.w $0FDA : CLC : ADC.b $06
|
|
||||||
|
|
||||||
SEC : SBC.b $20
|
SEC : SBC.b $20
|
||||||
|
CLC : ADC.w #$000C : CMP.w #$0020 : BCS .exit
|
||||||
|
|
||||||
CLC : ADC.w #$000C
|
; -----------------------------------------------------
|
||||||
|
|
||||||
CMP.w #$0020 : BCS .exit
|
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
@@ -301,59 +291,43 @@ Sprite_AntiKirby_Main:
|
|||||||
JSL GetRandomInt
|
JSL GetRandomInt
|
||||||
AND.b #$03
|
AND.b #$03
|
||||||
INC A
|
INC A
|
||||||
STA.w $0ED0,X
|
STA.w SprMiscG, X
|
||||||
STA.w $0E90,X
|
STA.w SprMiscD, X
|
||||||
|
|
||||||
CMP.b #$01 : BNE .dont_steal_bomb
|
CMP.b #$01 : BNE .dont_steal_bomb
|
||||||
|
LDA.l $7EF343 : BEQ .dont_steal_anything
|
||||||
LDA.l $7EF343 : BEQ .dont_steal_anything
|
DEC A
|
||||||
|
STA.l $7EF343
|
||||||
DEC A
|
RTS
|
||||||
STA.l $7EF343
|
.dont_steal_anything
|
||||||
|
SEP #$20
|
||||||
RTS
|
STZ.w SprMiscG,X
|
||||||
|
RTS
|
||||||
.dont_steal_anything
|
|
||||||
SEP #$20
|
|
||||||
|
|
||||||
STZ.w $0ED0,X
|
|
||||||
|
|
||||||
RTS
|
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.dont_steal_bomb
|
.dont_steal_bomb
|
||||||
|
|
||||||
CMP.b #$02 : BNE .dont_steal_arrow
|
CMP.b #$02 : BNE .dont_steal_arrow
|
||||||
|
LDA.l $7EF377 : BEQ .dont_steal_anything
|
||||||
LDA.l $7EF377 : BEQ .dont_steal_anything
|
DEC A
|
||||||
|
STA.l $7EF377
|
||||||
DEC A
|
RTS
|
||||||
STA.l $7EF377
|
|
||||||
|
|
||||||
RTS
|
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
|
||||||
|
|
||||||
.dont_steal_arrow
|
.dont_steal_arrow
|
||||||
|
|
||||||
CMP.b #$03 : BNE .dont_steal_rupee
|
CMP.b #$03 : BNE .dont_steal_rupee
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
LDA.l $7EF360 : BEQ .dont_steal_anything
|
LDA.l $7EF360 : BEQ .dont_steal_anything
|
||||||
|
DEC A
|
||||||
DEC A
|
STA.l $7EF360
|
||||||
STA.l $7EF360
|
|
||||||
|
|
||||||
.exit
|
.exit
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
; ---------------------------------------------------------
|
; -----------------------------------------------------
|
||||||
|
|
||||||
.dont_steal_rupee
|
.dont_steal_rupee
|
||||||
LDA.l $7EF35A
|
LDA.l $7EF35A
|
||||||
STA.w $0E30,X
|
STA.w SprSubtype, X
|
||||||
BEQ .dont_steal_anything
|
BEQ .dont_steal_anything
|
||||||
|
|
||||||
CMP.b #$03
|
CMP.b #$03
|
||||||
@@ -393,21 +367,16 @@ Sprite_AntiKirby_Main:
|
|||||||
{
|
{
|
||||||
%PlayAnimation(12, 12, 10) ; Death
|
%PlayAnimation(12, 12, 10) ; Death
|
||||||
|
|
||||||
LDA.b #$06
|
LDA.b #$06 : STA.w SprState, X
|
||||||
STA.w $0DD0,X
|
LDA.b #$0A : STA.w SprTimerA, X
|
||||||
|
|
||||||
LDA.b #$0A
|
STZ.w SprPrize,X
|
||||||
STA.w SprTimerA, X
|
|
||||||
|
|
||||||
STZ.w $0BE0,X
|
|
||||||
|
|
||||||
LDA.b #$09 ; SFX2.1E
|
LDA.b #$09 ; SFX2.1E
|
||||||
JSL $0DBB8A ; SpriteSFX_QueueSFX3WithPan
|
JSL $0DBB8A ; SpriteSFX_QueueSFX3WithPan
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -416,10 +385,10 @@ Sprite_AntiKirby_Draw:
|
|||||||
JSL Sprite_PrepOamCoord
|
JSL Sprite_PrepOamCoord
|
||||||
JSL Sprite_OAM_AllocateDeferToPlayer
|
JSL Sprite_OAM_AllocateDeferToPlayer
|
||||||
|
|
||||||
LDA $0DC0, X : CLC : ADC $0D90, X : TAY;Animation Frame
|
LDA SprGfx, X : CLC : ADC SprFrame, X : TAY;Animation Frame
|
||||||
LDA .start_index, Y : STA $06
|
LDA .start_index, Y : STA $06
|
||||||
|
|
||||||
LDA $0DA0, X : STA $08
|
LDA SprMiscA, X : STA $08
|
||||||
|
|
||||||
PHX
|
PHX
|
||||||
LDX .nbr_of_tiles, Y ;amount of tiles -1
|
LDX .nbr_of_tiles, Y ;amount of tiles -1
|
||||||
|
|||||||
Reference in New Issue
Block a user