Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; basic animation engine
- p_anim_start_lo:
- .byte <wlk_lt1, <wlk_rt1
- p_anim_start_hi:
- .byte >wlk_lt1, >wlk_rt1
- p_anim:
- lda p_anim_state
- bmi @skip_init
- tax
- lda p_anim_start_lo, x
- sta p_anim_addy+0
- lda p_anim_start_hi, x
- sta p_anim_addy+1
- lda p_anim_state
- eor #$80
- sta p_anim_state
- @skip_init:
- jsr p_anim_load
- dec p_anim_count
- rts
- wlk_lt1:
- .byte $00,$00,$10,$10
- .byte $01,$03,$11,$13
- .byte $00,$00,$00,$00
- .byte $00,$08,$00,$08
- .byte $08
- .byte <wlk_lt2,>wlk_lt2
- wlk_lt2:
- .byte $00,$00,$10,$10
- .byte $05,$07,$15,$17
- .byte $00,$00,$00,$00
- .byte $00,$08,$00,$08
- .byte $08
- .byte <wlk_lt3,>wlk_lt3
- wlk_lt3:
- .byte $00,$00,$10,$10
- .byte $01,$03,$13,$11
- .byte $00,$00,$40,$40
- .byte $00,$08,$ff,$07
- .byte $08
- .byte <wlk_lt4,>wlk_lt4
- wlk_lt4:
- .byte $00,$00,$10,$10
- .byte $05,$07,$17,$15
- .byte $00,$00,$40,$40
- .byte $00,$08,$ff,$07
- .byte $08
- .byte <wlk_lt1,>wlk_lt1
- wlk_rt1:
- .byte $00,$00,$10,$10
- .byte $09,$0b,$11,$13
- .byte $00,$00,$00,$00
- .byte $00,$08,$00,$08
- .byte $08
- .byte <wlk_rt2,>wlk_rt2
- wlk_rt2:
- .byte $00,$00,$10,$10
- .byte $0d,$0f,$15,$17
- .byte $00,$00,$00,$00
- .byte $00,$08,$00,$08
- .byte $08
- .byte <wlk_rt3,>wlk_rt3
- wlk_rt3:
- .byte $00,$00,$10,$10
- .byte $09,$0b,$13,$11
- .byte $00,$00,$40,$40
- .byte $00,$08,$ff,$07
- .byte $08
- .byte <wlk_rt4,>wlk_rt4
- wlk_rt4:
- .byte $00,$00,$10,$10
- .byte $0d,$0f,$17,$15
- .byte $00,$00,$40,$40
- .byte $00,$08,$ff,$07
- .byte $08
- .byte <wlk_rt1,>wlk_rt1
- p_anim_load:
- ldy #$00
- lda p_topleft+0
- clc
- adc (p_anim_addy), y
- sta p_topleft+0
- iny
- lda p_topleft+0
- clc
- adc (p_anim_addy), y
- sta p_topright+0
- iny
- lda p_topleft+0
- clc
- adc (p_anim_addy), y
- sta p_botleft+0
- iny
- lda p_topleft+0
- clc
- adc (p_anim_addy), y
- sta p_botright+0
- iny
- lda (p_anim_addy), y
- sta p_topleft+1
- iny
- lda (p_anim_addy), y
- sta p_topleft+5
- iny
- lda (p_anim_addy), y
- sta p_topleft+9
- iny
- lda (p_anim_addy), y
- sta p_topleft+13
- iny
- lda (p_anim_addy), y
- sta p_topleft+2
- iny
- lda (p_anim_addy), y
- sta p_topleft+6
- iny
- lda (p_anim_addy), y
- sta p_topleft+10
- iny
- lda (p_anim_addy), y
- sta p_topleft+14
- iny
- lda p_topleft+3
- clc
- adc (p_anim_addy), y
- sta p_topleft+3
- iny
- lda p_topleft+3
- clc
- adc (p_anim_addy), y
- sta p_topright+3
- iny
- lda p_topleft+3
- clc
- adc (p_anim_addy), y
- sta p_botleft+3
- iny
- lda p_topleft+3
- clc
- adc (p_anim_addy), y
- sta p_botright+3
- lda p_anim_count
- bne :+
- iny
- lda (p_anim_addy), y
- sta p_anim_count
- iny
- lda (p_anim_addy), y
- sta temp_addy2+0
- iny
- lda (p_anim_addy), y
- sta temp_addy2+1
- lda temp_addy2+0
- sta p_anim_addy+0
- lda temp_addy2+1
- sta p_anim_addy+1
- : rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement