Update data/sprite_anims/framesets.asm

This commit is contained in:
libjet 2020-06-01 02:34:06 +01:00
parent 68123f3682
commit c743b31b89
11 changed files with 1340 additions and 1055 deletions

View File

@ -192,11 +192,11 @@ SPRITE_ANIM_SEQ_FLY_TO EQU $28
const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53
const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54
const SPRITE_ANIM_OAMSET_EGG_HATCH ; 55
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1 ; 56
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2 ; 57
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3 ; 58
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4 ; 59
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5 ; 5a
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1 ; 56
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2 ; 57
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3 ; 58
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4 ; 59
const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5 ; 5a
const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1 ; 5c
const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2 ; 5d

File diff suppressed because it is too large Load Diff

721
data/sprite_anims/oam.asm Executable file
View File

@ -0,0 +1,721 @@
SpriteAnimOAMData:
IF DEF(_GOLD)
; entries correspond to SPRITE_ANIM_OAMSET_* constants
; vtile offset, data pointer
dbw $00, .data_8e16a
dbw $04, .data_8e16a
dbw $4c, .data_8ded1
dbw $5c, .data_8ded1
dbw $6c, .data_8ded6
dbw $6e, .data_8ded6
dbw $2d, .data_8e1d0
dbw $4d, .data_8e1d0
dbw $60, .data_8e1e9
dbw $00, .data_8e212
dbw $00, .data_8e27f
dbw $06, .data_8e2ec
dbw $0c, .data_8e361
dbw $0d, .data_8ded1
dbw $00, .data_8e033
dbw $04, .data_8e033
dbw $08, .data_8e033
dbw $40, .data_8e033
dbw $44, .data_8e033
dbw $48, .data_8e033
dbw $4c, .data_8e033
dbw $80, .data_8e36a
dbw $85, .data_8e36a
dbw $8a, .data_8e36a
dbw $00, .data_8df09
dbw $01, .data_8df3c
dbw $09, .data_8df7d
dbw $10, .data_8e074
dbw $29, .data_8e074
dbw $42, .data_8e074
dbw $f8, .data_8e661
dbw $fa, .data_8e661
dbw $00, .data_8e395
dbw $00, .data_8e3a6
dbw $00, .data_8e3cf
dbw $0f, .data_8dee7
dbw $11, .data_8ded1
dbw $12, .data_8ded1
dbw $13, .data_8ded1
dbw $00, .data_8e40c
dbw $08, .data_8e40c
dbw $10, .data_8e425
dbw $10, .data_8e43e
dbw $10, .data_8e457
dbw $10, .data_8e470
dbw $10, .data_8e489
dbw $3a, .data_8ded1
dbw $00, .data_8e16a
dbw $00, .data_8def8
dbw $02, .data_8e17b
dbw $06, .data_8df3c
dbw $0a, .data_8df3c
dbw $0e, .data_8df3c
dbw $12, .data_8df1a
dbw $13, .data_8df1a
dbw $00, .data_8e16a
dbw $04, .data_8e16a
dbw $10, .data_8df3c
dbw $00, .data_8e17b
dbw $04, .data_8ded1
dbw $00, .data_8e4a2
dbw $00, .data_8e18c
dbw $00, .data_8e19d
dbw $00, .data_8e1ae
dbw $00, .data_8e1bf
dbw $00, .data_8e17b
dbw $04, .data_8e17b
dbw $00, .data_8e00e
dbw $30, .data_8e00e
dbw $03, .data_8e00e
dbw $33, .data_8e00e
dbw $06, .data_8e00e
dbw $36, .data_8e00e
dbw $09, .data_8e00e
dbw $39, .data_8e00e
dbw $0c, .data_8e4af
dbw $0c, .data_8e4c8
dbw $3c, .data_8ded1
dbw $3e, .data_8ded1
dbw $00, .data_8e37f
dbw $00, .data_8e384
dbw $00, .data_8e4d9
dbw $00, .data_8e4ea
dbw $00, .data_8e4fb
dbw $00, .data_8ded1
dbw $01, .data_8ded1
dbw $00, .data_8e50c
dbw $00, .data_8e559
dbw $00, .data_8e59a
dbw $00, .data_8e5d7
dbw $00, .data_8e61c
dbw $04, .data_8e384
; 23:5ed1
.data_8ded1 ; 8ded1
db $01
db $fc, $fc, $00, $00
.data_8ded6 ; 8ded6
db $04
db $f8, $f8, $00, $00
db $f8, $00, $01, $00
db $00, $f8, $10, $00
db $00, $00, $11, $00
.data_8dee7 ; 8dee7
db $04
db $f8, $f8, $00, $00
db $f8, $00, $00, $20
db $00, $f8, $01, $00
db $00, $00, $01, $20
.data_8def8 ; 8def8
db $04
db $f8, $f8, $00, $80
db $f8, $00, $00, $a0
db $00, $f8, $01, $80
db $00, $00, $01, $a0
.data_8df09 ; 8df09
db $04
db $f8, $f8, $00, $00
db $f8, $00, $00, $20
db $00, $f8, $00, $40
db $00, $00, $00, $60
.data_8df1a ; 8df1a
db $04
db $f8, $f8, $00, $07
db $f8, $00, $00, $27
db $00, $f8, $00, $47
db $00, $00, $00, $67
.data_8df2b ; 8df2b
db $04
db $f8, $f8, $00, $80
db $f8, $00, $00, $a0
db $00, $f8, $00, $c0
db $00, $00, $00, $e0
.data_8df3c ; 8df3c
db $10
db $f0, $f0, $00, $00
db $f0, $f8, $01, $00
db $f8, $f0, $02, $00
db $f8, $f8, $03, $00
db $f0, $00, $01, $20
db $f0, $08, $00, $20
db $f8, $00, $03, $20
db $f8, $08, $02, $20
db $00, $f0, $02, $40
db $00, $f8, $03, $40
db $08, $f0, $00, $40
db $08, $f8, $01, $40
db $00, $00, $03, $60
db $00, $08, $02, $60
db $08, $00, $01, $60
db $08, $08, $00, $60
.data_8df7d ; 8df7d
db $24
db $e8, $e8, $00, $00
db $e8, $f0, $01, $00
db $e8, $f8, $02, $00
db $f0, $e8, $03, $00
db $f0, $f0, $04, $00
db $f0, $f8, $05, $00
db $f8, $e8, $06, $00
db $f8, $f0, $05, $00
db $f8, $f8, $05, $00
db $e8, $00, $02, $20
db $e8, $08, $01, $20
db $e8, $10, $00, $20
db $f0, $00, $05, $20
db $f0, $08, $04, $20
db $f0, $10, $03, $20
db $f8, $00, $05, $20
db $f8, $08, $05, $20
db $f8, $10, $06, $20
db $00, $e8, $06, $40
db $00, $f0, $05, $40
db $00, $f8, $05, $40
db $08, $e8, $03, $40
db $08, $f0, $04, $40
db $08, $f8, $05, $40
db $10, $e8, $00, $40
db $10, $f0, $01, $40
db $10, $f8, $02, $40
db $00, $00, $05, $60
db $00, $08, $05, $60
db $00, $10, $06, $60
db $08, $00, $05, $60
db $08, $08, $04, $60
db $08, $10, $03, $60
db $10, $00, $02, $60
db $10, $08, $01, $60
db $10, $10, $00, $60
.data_8e00e ; 8e00e
db $09
db $f4, $f4, $00, $00
db $f4, $fc, $01, $00
db $f4, $04, $02, $00
db $fc, $f4, $10, $00
db $fc, $fc, $11, $00
db $fc, $04, $12, $00
db $04, $f4, $20, $00
db $04, $fc, $21, $00
db $04, $04, $22, $00
.data_8e033 ; 8e033
db $10
db $f0, $f0, $00, $00
db $f0, $f8, $01, $00
db $f0, $00, $02, $00
db $f0, $08, $03, $00
db $f8, $f0, $10, $00
db $f8, $f8, $11, $00
db $f8, $00, $12, $00
db $f8, $08, $13, $00
db $00, $f0, $20, $00
db $00, $f8, $21, $00
db $00, $00, $22, $00
db $00, $08, $23, $00
db $08, $f0, $30, $00
db $08, $f8, $31, $00
db $08, $00, $32, $00
db $08, $08, $33, $00
.data_8e074 ; 8e074
db $19
db $ec, $ec, $00, $00
db $f4, $ec, $01, $00
db $fc, $ec, $02, $00
db $04, $ec, $03, $00
db $0c, $ec, $04, $00
db $ec, $f4, $05, $00
db $f4, $f4, $06, $00
db $fc, $f4, $07, $00
db $04, $f4, $08, $00
db $0c, $f4, $09, $00
db $ec, $fc, $0a, $00
db $f4, $fc, $0b, $00
db $fc, $fc, $0c, $00
db $04, $fc, $0d, $00
db $0c, $fc, $0e, $00
db $ec, $04, $0f, $00
db $f4, $04, $10, $00
db $fc, $04, $11, $00
db $04, $04, $12, $00
db $0c, $04, $13, $00
db $ec, $0c, $14, $00
db $f4, $0c, $15, $00
db $fc, $0c, $16, $00
db $04, $0c, $17, $00
db $0c, $0c, $18, $00
.data_8e0d9 ; unreferenced
db $24
db $e8, $e8, $00, $00
db $e8, $f0, $01, $00
db $e8, $f8, $02, $00
db $e8, $00, $03, $00
db $e8, $08, $04, $00
db $e8, $10, $05, $00
db $f0, $e8, $06, $00
db $f0, $f0, $07, $00
db $f0, $f8, $08, $00
db $f0, $00, $09, $00
db $f0, $08, $0a, $00
db $f0, $10, $0b, $00
db $f8, $e8, $0c, $00
db $f8, $f0, $0d, $00
db $f8, $f8, $0e, $00
db $f8, $00, $0f, $00
db $f8, $08, $10, $00
db $f8, $10, $11, $00
db $00, $e8, $12, $00
db $00, $f0, $13, $00
db $00, $f8, $14, $00
db $00, $00, $15, $00
db $00, $08, $16, $00
db $00, $10, $17, $00
db $08, $e8, $18, $00
db $08, $f0, $19, $00
db $08, $f8, $1a, $00
db $08, $00, $1b, $00
db $08, $08, $1c, $00
db $08, $10, $1d, $00
db $10, $e8, $1e, $00
db $10, $f0, $1f, $00
db $10, $f8, $20, $00
db $10, $00, $21, $00
db $10, $08, $22, $00
db $10, $10, $23, $00
.data_8e16a ; 8e16a
db $04
db $f8, $f8, $00, $00
db $f8, $00, $01, $00
db $00, $f8, $02, $00
db $00, $00, $03, $00
.data_8e17b ; 8e17b
db $04
db $f8, $f8, $00, $80
db $f8, $00, $01, $80
db $00, $f8, $02, $80
db $00, $00, $03, $80
.data_8e18c ; 8e18c
db $04
db $f8, $f8, $00, $00
db $f8, $00, $01, $00
db $00, $f8, $08, $00
db $00, $00, $03, $00
.data_8e19d ; 8e19d
db $04
db $f8, $f8, $04, $00
db $f8, $00, $05, $00
db $00, $f8, $08, $00
db $00, $00, $07, $00
.data_8e1ae ; 8e1ae
db $04
db $f8, $f8, $00, $00
db $f8, $00, $01, $00
db $00, $f8, $09, $00
db $00, $00, $03, $00
.data_8e1bf ; 8e1bf
db $04
db $f8, $f8, $04, $00
db $f8, $00, $05, $00
db $00, $f8, $09, $00
db $00, $00, $07, $00
.data_8e1d0 ; 8e1d0
db $06
db $f8, $f4, $00, $01
db $f8, $fc, $01, $01
db $f8, $04, $02, $01
db $00, $f4, $10, $01
db $00, $fc, $11, $01
db $00, $04, $12, $01
.data_8e1e9 ; 8e1e9
db $0a
db $f4, $f0, $00, $00
db $f4, $f8, $01, $00
db $f4, $00, $02, $00
db $f4, $08, $03, $00
db $fc, $f0, $04, $00
db $fc, $f8, $05, $00
db $fc, $00, $06, $00
db $04, $f0, $08, $00
db $04, $f8, $09, $00
db $04, $00, $0a, $00
.data_8e212 ; 8e212
db $1b
db $e8, $e8, $00, $00
db $e8, $f0, $01, $00
db $e8, $f8, $02, $00
db $f0, $e8, $10, $00
db $f0, $f0, $11, $00
db $f0, $f8, $12, $00
db $f8, $e8, $20, $00
db $f8, $f0, $21, $00
db $f8, $f8, $22, $00
db $f8, $00, $23, $00
db $00, $e8, $30, $80
db $00, $f0, $31, $80
db $00, $f8, $32, $80
db $00, $00, $33, $80
db $00, $08, $34, $80
db $08, $e8, $40, $80
db $08, $f0, $41, $80
db $08, $f8, $42, $80
db $08, $00, $43, $80
db $08, $08, $44, $80
db $08, $10, $45, $80
db $10, $e8, $50, $80
db $10, $f0, $51, $80
db $10, $f8, $52, $80
db $10, $00, $53, $80
db $10, $08, $54, $80
db $10, $10, $55, $80
.data_8e27f ; 8e27f
db $1b
db $e8, $e8, $0d, $00
db $e8, $f0, $0e, $00
db $e8, $f8, $0f, $00
db $f0, $e8, $1d, $00
db $f0, $f0, $1e, $00
db $f0, $f8, $1f, $00
db $f8, $e8, $20, $00
db $f8, $f0, $21, $00
db $f8, $f8, $22, $00
db $f8, $00, $23, $00
db $00, $e8, $30, $80
db $00, $f0, $31, $80
db $00, $f8, $32, $80
db $00, $00, $33, $80
db $00, $08, $34, $80
db $08, $e8, $40, $80
db $08, $f0, $41, $80
db $08, $f8, $42, $80
db $08, $00, $43, $80
db $08, $08, $44, $80
db $08, $10, $45, $80
db $10, $e8, $50, $80
db $10, $f0, $51, $80
db $10, $f8, $52, $80
db $10, $00, $53, $80
db $10, $08, $54, $80
db $10, $10, $55, $80
.data_8e2ec ; 8e2ec
db $1d
db $e8, $e8, $00, $00
db $e8, $f0, $01, $00
db $e8, $f8, $02, $00
db $e8, $00, $03, $00
db $f0, $e8, $10, $00
db $f0, $f0, $11, $00
db $f0, $f8, $12, $00
db $f0, $00, $13, $00
db $f8, $e8, $20, $00
db $f8, $f0, $21, $00
db $f8, $f8, $22, $00
db $f8, $00, $23, $00
db $f8, $08, $24, $00
db $00, $e8, $30, $80
db $00, $f0, $31, $80
db $00, $f8, $32, $80
db $00, $00, $33, $80
db $00, $08, $34, $80
db $08, $e8, $40, $80
db $08, $f0, $41, $80
db $08, $f8, $42, $80
db $08, $00, $43, $80
db $08, $08, $44, $80
db $08, $10, $45, $80
db $10, $f0, $51, $80
db $10, $f8, $52, $80
db $10, $00, $53, $80
db $10, $08, $54, $80
db $10, $10, $55, $80
.data_8e361 ; 8e361
db $02
db $f8, $fc, $00, $00
db $00, $fc, $10, $00
.data_8e36a ; 8e36a
db $05
db $f0, $18, $00, $00
db $f0, $20, $01, $00
db $f8, $10, $02, $00
db $f8, $18, $03, $00
db $00, $10, $04, $00
.data_8e37f ; 8e37f
db $01
db $fc, $fc, $00, $06
.data_8e384 ; 8e384
db $04
db $f8, $f8, $00, $06
db $f8, $00, $01, $06
db $00, $f8, $02, $06
db $00, $00, $03, $06
.data_8e395 ; 8e395
db $04
db $ff, $ff, $00, $00
db $ff, $00, $00, $20
db $00, $ff, $00, $40
db $00, $00, $00, $60
.data_8e3a6 ; 8e3a6
db $0a
db $ff, $00, $00, $00
db $ff, $08, $01, $00
db $ff, $10, $01, $00
db $ff, $18, $01, $00
db $ff, $20, $00, $20
db $00, $00, $00, $40
db $00, $08, $01, $40
db $00, $10, $01, $40
db $00, $18, $01, $40
db $00, $20, $00, $60
.data_8e3cf ; 8e3cf
db $0f
db $ec, $f4, $00, $11
db $ec, $fc, $01, $11
db $ec, $04, $02, $11
db $f4, $f4, $03, $11
db $f4, $fc, $04, $11
db $f4, $04, $05, $11
db $fc, $f4, $06, $11
db $fc, $fc, $07, $11
db $fc, $04, $08, $11
db $04, $f4, $09, $11
db $04, $fc, $0a, $11
db $04, $04, $0b, $11
db $0c, $f4, $0c, $11
db $0c, $fc, $0d, $11
db $0c, $04, $0e, $11
.data_8e40c ; 8e40c
db $06
db $f4, $f4, $00, $15
db $f4, $fc, $02, $15
db $f4, $04, $00, $35
db $04, $f4, $04, $15
db $04, $fc, $06, $15
db $04, $04, $04, $35
.data_8e425 ; 8e425
db $06
db $f4, $f4, $00, $16
db $f4, $fc, $02, $16
db $f4, $04, $04, $16
db $04, $f4, $06, $16
db $04, $fc, $08, $16
db $04, $04, $0a, $16
.data_8e43e ; 8e43e
db $06
db $f4, $f4, $00, $16
db $f4, $fc, $02, $16
db $f4, $04, $04, $16
db $04, $f4, $0c, $16
db $04, $fc, $0e, $16
db $04, $04, $10, $16
.data_8e457 ; 8e457
db $06
db $f4, $f4, $00, $16
db $f4, $fc, $02, $16
db $f4, $04, $04, $16
db $04, $f4, $12, $16
db $04, $fc, $14, $16
db $04, $04, $16, $16
.data_8e470 ; 8e470
db $06
db $f4, $f4, $00, $16
db $f4, $fc, $02, $16
db $f4, $04, $04, $16
db $04, $f4, $18, $16
db $04, $fc, $1a, $16
db $04, $04, $1c, $16
.data_8e489 ; 8e489
db $06
db $f4, $f4, $1e, $16
db $f4, $fc, $20, $16
db $f4, $04, $22, $16
db $04, $f4, $24, $16
db $04, $fc, $26, $16
db $04, $04, $28, $16
.data_8e4a2 ; 8e4a2
db $03
db $f4, $fc, $00, $10
db $fc, $fc, $00, $10
db $04, $fc, $00, $10
.data_8e4af ; 8e4af
db $06
db $00, $00, $00, $00
db $00, $08, $01, $00
db $00, $10, $01, $00
db $00, $18, $01, $00
db $00, $20, $02, $00
db $00, $28, $03, $00
.data_8e4c8 ; 8e4c8
db $04
db $00, $00, $00, $00
db $00, $08, $01, $00
db $00, $10, $02, $00
db $00, $18, $03, $00
.data_8e4d9 ; 8e4d9
db $04
db $f8, $f6, $00, $06
db $f8, $02, $01, $06
db $00, $f6, $02, $06
db $00, $02, $03, $06
.data_8e4ea ; 8e4ea
db $04
db $f8, $f4, $00, $06
db $f8, $04, $01, $06
db $00, $f4, $02, $06
db $00, $04, $03, $06
.data_8e4fb ; 8e4fb
db $04
db $f8, $f0, $00, $06
db $f8, $08, $01, $06
db $00, $f0, $02, $06
db $00, $08, $03, $06
.data_8e50c ; 8e50c
db $13
db $f8, $e0, $00, $00
db $f0, $e8, $02, $00
db $00, $e8, $04, $00
db $e8, $f0, $06, $00
db $f8, $f0, $08, $00
db $08, $f0, $0a, $00
db $e8, $f8, $0c, $00
db $f8, $f8, $0e, $00
db $08, $f8, $10, $00
db $e8, $00, $12, $00
db $f8, $00, $14, $00
db $08, $00, $16, $00
db $e8, $08, $18, $00
db $f8, $08, $1a, $00
db $08, $08, $1c, $00
db $f8, $10, $1e, $00
db $08, $10, $20, $00
db $f0, $18, $22, $00
db $00, $18, $24, $00
.data_8e559 ; 8e559
db $10
db $f8, $e0, $00, $00
db $f0, $e8, $02, $00
db $00, $e8, $04, $00
db $f8, $f0, $26, $00
db $08, $f0, $0a, $00
db $e8, $f8, $28, $00
db $f8, $f8, $2a, $00
db $08, $f8, $10, $00
db $f8, $00, $2c, $00
db $08, $00, $16, $00
db $f8, $08, $30, $00
db $08, $08, $1c, $00
db $f8, $10, $1e, $00
db $08, $10, $20, $00
db $f0, $18, $22, $00
db $00, $18, $24, $00
.data_8e59a ; 8e59a
db $0f
db $f8, $e0, $00, $00
db $f0, $e8, $02, $00
db $00, $e8, $32, $00
db $f8, $f0, $34, $00
db $08, $f0, $36, $00
db $f8, $f8, $38, $00
db $08, $f8, $3a, $00
db $f8, $00, $3c, $00
db $08, $00, $3e, $00
db $f8, $08, $30, $00
db $08, $08, $1c, $00
db $f8, $10, $1e, $00
db $08, $10, $20, $00
db $f0, $18, $22, $00
db $00, $18, $24, $00
.data_8e5d7 ; 8e5d7
db $11
db $f8, $e0, $00, $00
db $f0, $e8, $02, $00
db $00, $e8, $04, $00
db $f8, $f0, $40, $00
db $08, $f0, $42, $00
db $18, $f0, $44, $00
db $f8, $f8, $46, $00
db $08, $f8, $48, $00
db $18, $f8, $4a, $00
db $f8, $00, $4c, $00
db $08, $00, $4e, $00
db $f8, $08, $30, $00
db $08, $08, $1c, $00
db $f8, $10, $1e, $00
db $08, $10, $20, $00
db $f0, $18, $22, $00
db $00, $18, $24, $00
.data_8e61c ; 8e61c
db $11
db $f8, $e0, $00, $00
db $f0, $e8, $02, $00
db $00, $e8, $04, $00
db $f8, $f0, $50, $00
db $08, $f0, $0a, $00
db $e8, $f8, $52, $00
db $f8, $f8, $54, $00
db $08, $f8, $10, $00
db $e8, $00, $56, $00
db $f8, $00, $2e, $00
db $08, $00, $16, $00
db $f8, $08, $30, $00
db $08, $08, $1c, $00
db $f8, $10, $1e, $00
db $08, $10, $20, $00
db $f0, $18, $22, $00
db $00, $18, $24, $00
.data_8e661 ; 8e661
db $01
db $fc, $fc, $00, $11
ELIF DEF(_SILVER)
dr $8dda3, $8e64c
ENDC

View File

@ -711,6 +711,7 @@ DoAnimFrame:
call .AnonymousJumptable
jp hl
IF DEF(_GOLD)
; anonymous jumptable
dw .Function8d835
dw .Function8d84c
@ -735,7 +736,6 @@ DoAnimFrame:
ld a, [hl]
cp $a4
jr nc, .asm_5881
ld hl, $0d
add hl, bc
add $4
@ -766,13 +766,57 @@ DoAnimFrame:
call DeinitializeSprite
ret
ELIF DEF(_SILVER)
; anonymous jumptable
dw .Function8d835
dw .Function8d856
.Function8d835:
ld a, [wIntroSceneTimer]
and $30
swap a
add $3
ld d, a
ld hl, $0c
add hl, bc
ld a, [wIntroSceneTimer]
and $30
swap a
add $07
add [hl]
ld [hl], a
call .Sprites_Sine
ld hl, $07
add hl, bc
ld [hl], a
.Function8d856:
ld hl, $04
add hl, bc
ld a, [hl]
cp $a4
jr nc, .asm_5863
add $4
ld [hl], a
ret
.asm_5863
call DeinitializeSprite
ret
ENDC
.Function8d885:
ld hl, $0c
add hl, bc
ld a, [hl]
IF DEF(_GOLD)
inc a
ld [hl], a
ld d, 2
ELIF DEF(_SILVER)
dec a
ld [hl], a
ld d, 8
ENDC
call .Sprites_Sine
ld hl, $07
add hl, bc

View File

@ -321,7 +321,7 @@ AddOrSubtractX:
bit OAM_X_FLIP, [hl]
jr z, .ok
; -8 - a
add $8
add 8
xor $ff
inc a
@ -486,9 +486,10 @@ GetSpriteAnimFrame:
ret
GetFrameOAMPointer:
; Load OAM data pointer
ld e, a
ld d, 0
ld hl, $5dbd
ld hl, SpriteAnimOAMData
add hl, de
add hl, de
add hl, de
@ -497,10 +498,10 @@ GetFrameOAMPointer:
Unreferenced_BrokenGetStdGraphics:
push hl
ld l, a
ld h, $00
ld h, 0
add hl, hl
add hl, hl
ld de, $6666
ld de, BrokenStdGFXPointers ; broken 2bpp pointers
add hl, de
ld c, [hl]
inc hl
@ -519,18 +520,120 @@ INCLUDE "data/sprite_anims/sequences.asm"
INCLUDE "engine/gfx/sprite_anims.asm"
SpriteAnimFrameData:
dr $8dbfe, $8e68a
INCLUDE "data/sprite_anims/framesets.asm"
INCLUDE "data/sprite_anims/oam.asm"
BrokenStdGFXPointers:
; tile count, bank, pointer
; (all pointers were dummied out to .deleted)
dbbw 128, $01, .deleted
dbbw 128, $01, .deleted
dbbw 128, $01, .deleted
dbbw 128, $01, .deleted
dbbw 16, $37, .deleted
dbbw 16, $11, .deleted
dbbw 16, $39, .deleted
dbbw 16, $24, .deleted
dbbw 16, $21, .deleted
.deleted
Sprites_Cosine:
; a = d * cos(a * pi/32)
add %010000 ; cos(x) = sin(x + pi/2)
; fallthrough
Sprites_Sine:
dr $8e68c, $8e6fd
; a = d * sin(a * pi/32)
calc_sine_wave .SineWave
AnimateEndOfExpBar::
dr $8e6fd, $8e774
.SineWave:
sine_table 256
ClearSpriteAnims2::
dr $8e774, $8e78b
AnimateEndOfExpBar:
ldh a, [hSGB]
ld de, EndOfExpBarGFX
and a
jr z, .load
ld de, SGBEndOfExpBarGFX
.load
ld hl, vTiles0 tile $00
lb bc, BANK(EndOfExpBarGFX), 1
call Request2bpp
ld c, 8
ld d, 0
.loop
push bc
call .AnimateFrame
call DelayFrame
pop bc
inc d
inc d
dec c
jr nz, .loop
call ClearSprites
ret
.AnimateFrame:
ld hl, wVirtualOAMSprite00
ld c, 8 ; number of animated circles
.anim_loop
ld a, c
and a
ret z
dec c
ld a, c
; multiply by 8
sla a
sla a
sla a
push af
push de
push hl
call Sprites_Sine
pop hl
pop de
add 13 * TILE_WIDTH
ld [hli], a ; y
pop af
push de
push hl
call Sprites_Cosine
pop hl
pop de
add 10 * TILE_WIDTH + 4
ld [hli], a ; x
ld a, $0
ld [hli], a ; tile id
ld a, PAL_BATTLE_OB_BLUE
ld [hli], a ; attributes
jr .anim_loop
EndOfExpBarGFX:
INCBIN "gfx/battle/expbarend.2bpp"
SGBEndOfExpBarGFX:
INCBIN "gfx/battle/expbarend_sgb.2bpp"
ClearSpriteAnims2:
push hl
push de
push bc
push af
ld hl, wSpriteAnimDict
ld bc, wSpriteAnimsEnd - wSpriteAnimDict
.loop
ld [hl], 0
inc hl
dec bc
ld a, c
or b
jr nz, .loop
pop af
pop bc
pop de
pop hl
ret

BIN
gfx/battle/expbarend.2bpp Executable file

Binary file not shown.

BIN
gfx/battle/expbarend.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

BIN
gfx/battle/expbarend_sgb.2bpp Executable file

Binary file not shown.

BIN
gfx/battle/expbarend_sgb.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 B

View File

@ -14,6 +14,7 @@ INCLUDE "macros/scripts/movement.asm"
INCLUDE "macros/scripts/battle_commands.asm"
INCLUDE "macros/scripts/battle_anims.asm"
INCLUDE "macros/scripts/trade_anims.asm"
INCLUDE "macros/scripts/gfx_anims.asm"
; TODO: Should this be included or not?
; - Leave out for now so no code depending on legacy macros gets introduced

53
macros/scripts/gfx_anims.asm Executable file
View File

@ -0,0 +1,53 @@
; pic + oam animations
frame: MACRO
db \1
x = \2
if _NARG > 2
rept _NARG - 2
x = x | (1 << (\3 + 1))
shift
endr
endc
db x
ENDM
enum_start $fc
enum delanim_command ; $fc
delanim: MACRO
; Removes the object from the screen, as opposed to `endanim` which just stops all motion
db delanim_command
ENDM
enum dowait_command ; $fd
dowait: MACRO
db dowait_command
db \1 ; frames
ENDM
enum dorestart_command ; $fe
dorestart: MACRO
db dorestart_command
ENDM
enum endanim_command ; $ff
endanim: MACRO
db endanim_command
ENDM
; Used for pic animations
__enum__ = $fd
enum dorepeat_command ; $fd
dorepeat: MACRO
db dorepeat_command
db \1 ; command offset to jump to
ENDM
enum setrepeat_command ; $fe
setrepeat: MACRO
db setrepeat_command
db \1 ; amount of times to repeat
ENDM