diff --git a/Sprites/Enemies/anti_kirby.asm b/Sprites/Enemies/anti_kirby.asm index f3628a9..0f4e5e8 100644 --- a/Sprites/Enemies/anti_kirby.asm +++ b/Sprites/Enemies/anti_kirby.asm @@ -210,137 +210,133 @@ Sprite_AntiKirby_Main: Sprite_AntiKirby_Draw: -JSL Sprite_PrepOamCoord -JSL Sprite_OAM_AllocateDeferToPlayer +{ + JSL Sprite_PrepOamCoord + JSL Sprite_OAM_AllocateDeferToPlayer -LDA $0DC0, X : CLC : ADC $0D90, X : TAY;Animation Frame -LDA .start_index, Y : STA $06 + LDA $0DC0, X : CLC : ADC $0D90, X : TAY;Animation Frame + LDA .start_index, Y : STA $06 -PHX -LDX .nbr_of_tiles, Y ;amount of tiles -1 -LDY.b #$00 -.nextTile + PHX + LDX .nbr_of_tiles, Y ;amount of tiles -1 + LDY.b #$00 + .nextTile -PHX ; Save current Tile Index? - -TXA : CLC : ADC $06 ; Add Animation Index Offset + PHX ; Save current Tile Index? + + TXA : CLC : ADC $06 ; Add Animation Index Offset -PHA ; Keep the value with animation index offset? + PHA ; Keep the value with animation index offset? -ASL A : TAX + ASL A : TAX -REP #$20 + REP #$20 -LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y -AND.w #$0100 : STA $0E -INY -LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y -CLC : ADC #$0010 : CMP.w #$0100 -SEP #$20 -BCC .on_screen_y + LDA $00 : CLC : ADC .x_offsets, X : STA ($90), Y + AND.w #$0100 : STA $0E + INY + LDA $02 : CLC : ADC .y_offsets, X : STA ($90), Y + CLC : ADC #$0010 : CMP.w #$0100 + SEP #$20 + BCC .on_screen_y -LDA.b #$F0 : STA ($90), Y ;Put the sprite out of the way -STA $0E -.on_screen_y + LDA.b #$F0 : STA ($90), Y ;Put the sprite out of the way + STA $0E + .on_screen_y -PLX ; Pullback Animation Index Offset (without the *2 not 16bit anymore) -INY -LDA .chr, X : STA ($90), Y -INY -LDA .properties, X : STA ($90), Y + PLX ; Pullback Animation Index Offset (without the *2 not 16bit anymore) + INY + LDA .chr, X : STA ($90), Y + INY + LDA .properties, X : STA ($90), Y -PHY - -TYA : LSR #2 : TAY - -LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer - -PLY : INY - -PLX : DEX : BPL .nextTile + PHY + + TYA : LSR #2 : TAY + + LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer + + PLY : INY + + PLX : DEX : BPL .nextTile -PLX + PLX -RTS + RTS - -;================================================================================================== -; Sprite Draw Generated Data -; -------------------------------------------------------------------------------------------------- -; This is where the generated Data for the sprite go -;================================================================================================== -.start_index -db $00, $01, $02, $03, $05, $06, $07, $08, $0A, $0B, $0D, $0F, $11 -.nbr_of_tiles -db 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1 -.x_offsets -dw 0 -dw 1 -dw 0 -dw 0, 16 -dw 0 -dw -1 -dw 0 -dw 0, -16 -dw 0 -dw 0, 16 -dw 0, 16 -dw -4, 12 -dw -4, 12 -.y_offsets -dw 0 -dw 0 -dw 0 -dw 0, 0 -dw 0 -dw 0 -dw 0 -dw 0, 0 -dw 0 -dw 0, 0 -dw 0, 0 -dw 0, 0 -dw 0, 0 -.chr -db $00 -db $02 -db $00 -db $04, $06 -db $00 -db $02 -db $00 -db $04, $06 -db $20 -db $08, $0A -db $28, $2A -db $22, $24 -db $22, $24 -.properties -db $37 -db $37 -db $37 -db $37, $37 -db $77 -db $77 -db $77 -db $77, $77 -db $37 -db $37, $37 -db $37, $37 -db $37, $37 -db $37, $37 -.sizes -db $02 -db $02 -db $02 -db $02, $02 -db $02 -db $02 -db $02 -db $02, $02 -db $02 -db $02, $02 -db $02, $02 -db $02, $02 -db $02, $02 + .start_index + db $00, $01, $02, $03, $05, $06, $07, $08, $0A, $0B, $0D, $0F, $11 + .nbr_of_tiles + db 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1 + .x_offsets + dw 0 + dw 1 + dw 0 + dw 0, 16 + dw 0 + dw -1 + dw 0 + dw 0, -16 + dw 0 + dw 0, 16 + dw 0, 16 + dw -4, 12 + dw -4, 12 + .y_offsets + dw 0 + dw 0 + dw 0 + dw 0, 0 + dw 0 + dw 0 + dw 0 + dw 0, 0 + dw 0 + dw 0, 0 + dw 0, 0 + dw 0, 0 + dw 0, 0 + .chr + db $00 + db $02 + db $00 + db $04, $06 + db $00 + db $02 + db $00 + db $04, $06 + db $20 + db $08, $0A + db $28, $2A + db $22, $24 + db $22, $24 + .properties + db $37 + db $37 + db $37 + db $37, $37 + db $77 + db $77 + db $77 + db $77, $77 + db $37 + db $37, $37 + db $37, $37 + db $37, $37 + db $37, $37 + .sizes + db $02 + db $02 + db $02 + db $02, $02 + db $02 + db $02 + db $02 + db $02, $02 + db $02 + db $02, $02 + db $02, $02 + db $02, $02 + db $02, $02 +} \ No newline at end of file