optimize draw code, swap horiz prop based on direction of player
This commit is contained in:
@@ -77,24 +77,26 @@ Sprite_Booki_Main:
|
|||||||
{
|
{
|
||||||
%PlayAnimation(0,1,16)
|
%PlayAnimation(0,1,16)
|
||||||
|
|
||||||
|
JSR Sprite_Booki_Move
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
HideFromPlayer:
|
HideFromPlayer:
|
||||||
{
|
{
|
||||||
%PlayAnimation(0,5,16)
|
%PlayAnimation(0,4,16)
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
HiddenFromPlayer:
|
HiddenFromPlayer:
|
||||||
{
|
{
|
||||||
%PlayAnimation(5,5,16)
|
%PlayAnimation(4,4,16)
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
ApproachPlayer:
|
ApproachPlayer:
|
||||||
{
|
{
|
||||||
%PlayAnimation(6,10,16)
|
%PlayAnimation(5,9,16)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,6 +106,13 @@ Sprite_Booki_Move:
|
|||||||
JSL Sprite_BounceFromTileCollision
|
JSL Sprite_BounceFromTileCollision
|
||||||
JSL Sprite_PlayerCantPassThrough
|
JSL Sprite_PlayerCantPassThrough
|
||||||
|
|
||||||
|
JSL Sprite_IsToRightOfPlayer : CPY.b #$01 : BNE .ToRight
|
||||||
|
LDA.b #$01 : STA.w SprMiscC, X
|
||||||
|
JMP .Continue
|
||||||
|
.ToRight
|
||||||
|
STZ.w SprMiscC, X
|
||||||
|
.Continue
|
||||||
|
|
||||||
LDA.w SprMiscB, X
|
LDA.w SprMiscB, X
|
||||||
JSL UseImplicitRegIndexedLocalJumpTable
|
JSL UseImplicitRegIndexedLocalJumpTable
|
||||||
|
|
||||||
@@ -127,9 +136,10 @@ Sprite_Booki_Draw:
|
|||||||
LDA $0DC0, X : CLC : ADC $0D90, X : TAY;Animation Frame
|
LDA $0DC0, X : CLC : ADC $0D90, X : TAY;Animation Frame
|
||||||
LDA .start_index, Y : STA $06
|
LDA .start_index, Y : STA $06
|
||||||
|
|
||||||
|
LDA.w SprMiscC, X : STA $09
|
||||||
|
|
||||||
PHX
|
PHX
|
||||||
LDX .nbr_of_tiles, Y ;amount of tiles -1
|
LDX .nbr_of_tiles, Y ; amount of tiles -1
|
||||||
LDY.b #$00
|
LDY.b #$00
|
||||||
.nextTile
|
.nextTile
|
||||||
|
|
||||||
@@ -143,10 +153,10 @@ Sprite_Booki_Draw:
|
|||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y
|
LDA $00 : STA ($90), Y
|
||||||
AND.w #$0100 : STA $0E
|
AND.w #$0100 : STA $0E
|
||||||
INY
|
INY
|
||||||
LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y
|
LDA $02 : STA ($90), Y
|
||||||
CLC : ADC #$0010 : CMP.w #$0100
|
CLC : ADC #$0010 : CMP.w #$0100
|
||||||
SEP #$20
|
SEP #$20
|
||||||
BCC .on_screen_y
|
BCC .on_screen_y
|
||||||
@@ -159,13 +169,19 @@ Sprite_Booki_Draw:
|
|||||||
INY
|
INY
|
||||||
LDA .chr, X : STA ($90), Y
|
LDA .chr, X : STA ($90), Y
|
||||||
INY
|
INY
|
||||||
LDA .properties, X : STA ($90), Y
|
|
||||||
|
LDA.b $09 : BEQ .ToRight
|
||||||
|
LDA.b #$39 : JMP .Prop
|
||||||
|
.ToRight
|
||||||
|
LDA.b #$79
|
||||||
|
.Prop
|
||||||
|
STA ($90), Y
|
||||||
|
|
||||||
PHY
|
PHY
|
||||||
|
|
||||||
TYA : LSR #2 : TAY
|
TYA : LSR #2 : TAY
|
||||||
|
|
||||||
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
|
LDA.b #$02 : ORA $0F : STA ($92), Y ; store size in oam buffer
|
||||||
|
|
||||||
PLY : INY
|
PLY : INY
|
||||||
|
|
||||||
@@ -182,59 +198,15 @@ Sprite_Booki_Draw:
|
|||||||
db $00, $01, $02, $03, $04, $05, $06, $07, $08, $09
|
db $00, $01, $02, $03, $04, $05, $06, $07, $08, $09
|
||||||
.nbr_of_tiles
|
.nbr_of_tiles
|
||||||
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
|
||||||
.x_offsets
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
.y_offsets
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
dw 0
|
|
||||||
.chr
|
.chr
|
||||||
db $0E
|
db $0E
|
||||||
db $0C
|
db $0C
|
||||||
db $0A
|
db $0A
|
||||||
db $2C
|
db $2C
|
||||||
db $2E
|
db $2E
|
||||||
db $0E
|
db $2E
|
||||||
db $0C
|
|
||||||
db $0A
|
db $0A
|
||||||
db $2C
|
db $2C
|
||||||
db $2E
|
db $0C
|
||||||
.properties
|
db $0E
|
||||||
db $39
|
|
||||||
db $39
|
|
||||||
db $39
|
|
||||||
db $39
|
|
||||||
db $39
|
|
||||||
db $79
|
|
||||||
db $79
|
|
||||||
db $79
|
|
||||||
db $79
|
|
||||||
db $79
|
|
||||||
.sizes
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
db $02
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user