summaryrefslogtreecommitdiff
path: root/battle/objects
diff options
context:
space:
mode:
Diffstat (limited to 'battle/objects')
-rwxr-xr-xbattle/objects/framesets.asm557
-rwxr-xr-xbattle/objects/functions.asm4260
-rwxr-xr-xbattle/objects/gfx_headers.asm53
-rwxr-xr-xbattle/objects/oam.asm1087
4 files changed, 5957 insertions, 0 deletions
diff --git a/battle/objects/framesets.asm b/battle/objects/framesets.asm
new file mode 100755
index 000000000..db5d5d223
--- /dev/null
+++ b/battle/objects/framesets.asm
@@ -0,0 +1,557 @@
+BattleAnimFrameData: ; ce85e
+ dw Unknown_ce9d0 ; 00
+ dw Unknown_ce9d3 ; 01
+ dw Unknown_ce9d6 ; 02
+ dw Unknown_ce9d9 ; 03
+ dw Unknown_ce9dc ; 04
+ dw Unknown_ce9df ; 05
+ dw Unknown_ce9e2 ; 06
+ dw Unknown_ce9e5 ; 07
+ dw Unknown_cea6b ; 08
+ dw Unknown_cea74 ; 09
+ dw Unknown_cea7d ; 0a
+ dw Unknown_cea80 ; 0b
+ dw Unknown_cea83 ; 0c
+ dw Unknown_cea86 ; 0d
+ dw Unknown_cea91 ; 0e
+ dw Unknown_cea94 ; 0f
+ dw Unknown_cea99 ; 10
+ dw Unknown_cea9e ; 11
+ dw Unknown_ceaaf ; 12
+ dw Unknown_ceabc ; 13
+ dw Unknown_cead3 ; 14
+ dw Unknown_cead6 ; 15
+ dw Unknown_ceadb ; 16
+ dw Unknown_ceade ; 17
+ dw Unknown_ceb06 ; 18
+ dw Unknown_ceb0d ; 19
+ dw Unknown_ceb10 ; 1a
+ dw Unknown_ceb13 ; 1b
+ dw Unknown_ceb16 ; 1c
+ dw Unknown_ceb19 ; 1d
+ dw Unknown_ceb1c ; 1e
+ dw Unknown_ceb1f ; 1f
+ dw Unknown_ceb26 ; 20
+ dw Unknown_ceb2b ; 21
+ dw Unknown_ceb2e ; 22
+ dw Unknown_ceb37 ; 23
+ dw Unknown_ceb3a ; 24
+ dw Unknown_ceb3d ; 25
+ dw Unknown_ceb40 ; 26
+ dw Unknown_ceb43 ; 27
+ dw Unknown_ceb46 ; 28
+ dw Unknown_ceb4b ; 29
+ dw Unknown_ceb50 ; 2a
+ dw Unknown_ceb63 ; 2b
+ dw Unknown_ceb68 ; 2c
+ dw Unknown_ceb6d ; 2d
+ dw Unknown_ceb70 ; 2e
+ dw Unknown_ceb78 ; 2f
+ dw Unknown_ceb89 ; 30
+ dw Unknown_ceb8e ; 31
+ dw Unknown_ceb97 ; 32
+ dw Unknown_ceba0 ; 33
+ dw Unknown_ceba9 ; 34
+ dw Unknown_cebb0 ; 35
+ dw Unknown_cebc1 ; 36
+ dw Unknown_cebca ; 37
+ dw Unknown_cebcf ; 38
+ dw Unknown_cebd4 ; 39
+ dw Unknown_cebd9 ; 3a
+ dw Unknown_cebdc ; 3b
+ dw Unknown_cebdf ; 3c
+ dw Unknown_cebe2 ; 3d
+ dw Unknown_ce9f6 ; 3e
+ dw Unknown_cea0b ; 3f
+ dw Unknown_cea20 ; 40
+ dw Unknown_cea35 ; 41
+ dw Unknown_cea50 ; 42
+ dw Unknown_cebe5 ; 43
+ dw Unknown_cebf3 ; 44
+ dw Unknown_cec0f ; 45
+ dw Unknown_cec20 ; 46
+ dw Unknown_cec25 ; 47
+ dw Unknown_cec2a ; 48
+ dw Unknown_cec37 ; 49
+ dw Unknown_cec44 ; 4a
+ dw Unknown_cec4d ; 4b
+ dw Unknown_cebec ; 4c
+ dw Unknown_cec56 ; 4d
+ dw Unknown_cec67 ; 4e
+ dw Unknown_cec72 ; 4f
+ dw Unknown_cec77 ; 50
+ dw Unknown_cec7c ; 51
+ dw Unknown_cec7f ; 52
+ dw Unknown_cec86 ; 53
+ dw Unknown_cec8b ; 54
+ dw Unknown_cec92 ; 55
+ dw Unknown_ceaf3 ; 56
+ dw Unknown_ceaf6 ; 57
+ dw Unknown_ceb01 ; 58
+ dw Unknown_cec97 ; 59
+ dw Unknown_cec9a ; 5a
+ dw Unknown_cec9d ; 5b
+ dw Unknown_ceca0 ; 5c
+ dw Unknown_cecab ; 5d
+ dw Unknown_cecb0 ; 5e
+ dw Unknown_cecc9 ; 5f
+ dw Unknown_ceccc ; 60
+ dw Unknown_cece7 ; 61
+ dw Unknown_cecec ; 62
+ dw Unknown_cecf1 ; 63
+ dw Unknown_cecf4 ; 64
+ dw Unknown_cecf7 ; 65
+ dw Unknown_cecfa ; 66
+ dw Unknown_ced09 ; 67
+ dw Unknown_ced0c ; 68
+ dw Unknown_ced19 ; 69
+ dw Unknown_ced22 ; 6a
+ dw Unknown_ced2b ; 6b
+ dw Unknown_ced32 ; 6c
+ dw Unknown_ced39 ; 6d
+ dw Unknown_ced3c ; 6e
+ dw Unknown_ced3f ; 6f
+ dw Unknown_ced44 ; 70
+ dw Unknown_ced49 ; 71
+ dw Unknown_ced4c ; 72
+ dw Unknown_ced4f ; 73
+ dw Unknown_ced54 ; 74
+ dw Unknown_ced57 ; 75
+ dw Unknown_ced5a ; 76
+ dw Unknown_ced5d ; 77
+ dw Unknown_ced62 ; 78
+ dw Unknown_ced65 ; 79
+ dw Unknown_cecb3 ; 7a
+ dw Unknown_ced72 ; 7b
+ dw Unknown_ced75 ; 7c
+ dw Unknown_ced88 ; 7d
+ dw Unknown_cec08 ; 7e
+ dw Unknown_ced8b ; 7f
+ dw Unknown_ced8e ; 80
+ dw Unknown_ced91 ; 81
+ dw Unknown_ced93 ; 82
+ dw Unknown_ced95 ; 83
+ dw Unknown_ced98 ; 84
+ dw Unknown_ced9b ; 85
+ dw Unknown_ceda8 ; 86
+ dw Unknown_cedb5 ; 87
+ dw Unknown_cedb8 ; 88
+ dw Unknown_cedbb ; 89
+ dw Unknown_cedbe ; 8a
+ dw Unknown_cedc1 ; 8b
+ dw Unknown_cedc4 ; 8c
+ dw Unknown_cedc7 ; 8d
+ dw Unknown_cedcc ; 8e
+ dw Unknown_cedcf ; 8f
+ dw Unknown_cedd2 ; 90
+ dw Unknown_cedd5 ; 91
+ dw Unknown_cedd8 ; 92
+ dw Unknown_ceddb ; 93
+ dw Unknown_cedde ; 94
+ dw Unknown_cede1 ; 95
+ dw Unknown_cede4 ; 96
+ dw Unknown_cede7 ; 97
+ dw Unknown_cedea ; 98
+ dw Unknown_ceded ; 99
+ dw Unknown_cedf0 ; 9a
+ dw Unknown_cedf3 ; 9b
+ dw Unknown_cedf6 ; 9c
+ dw Unknown_cedf9 ; 9d
+ dw Unknown_cedfc ; 9e
+ dw Unknown_cedff ; 9f
+ dw Unknown_cee02 ; a0
+ dw Unknown_cee05 ; a1
+ dw Unknown_cee08 ; a2
+ dw Unknown_cee0b ; a3
+ dw Unknown_cee12 ; a4
+ dw Unknown_cee19 ; a5
+ dw Unknown_cee1e ; a6
+ dw Unknown_cee3d ; a7
+ dw Unknown_cee5c ; a8
+ dw Unknown_cee61 ; a9
+ dw Unknown_cee64 ; aa
+ dw Unknown_cee6b ; ab
+ dw Unknown_cee70 ; ac
+ dw Unknown_cee75 ; ad
+ dw Unknown_cee7e ; ae
+ dw Unknown_cecbe ; af
+ dw Unknown_cee81 ; b0
+ dw Unknown_cee84 ; b1
+ dw Unknown_cee8d ; b2
+ dw Unknown_cee96 ; b3
+ dw Unknown_cee9f ; b4
+ dw Unknown_ceea2 ; b5
+ dw Unknown_ceea5 ; b6
+ dw Unknown_ceea8 ; b7
+ dw Unknown_ceeab ; b8
+; ce9d0
+
+ ; OAM index (see battle/objects/oam.asm), flip flags / duration
+Unknown_ce9d0: db $00,$06
+ db -4
+Unknown_ce9d3: db $01,$06
+ db -4
+Unknown_ce9d6: db $02,$06
+ db -4
+Unknown_ce9d9: db $03,$06
+ db -4
+Unknown_ce9dc: db $04,$06
+ db -4
+Unknown_ce9df: db $05,$06
+ db -4
+Unknown_ce9e2: db $06,$06
+ db -4
+Unknown_ce9e5: db $03,$04, $01,$01, $03,$04, $01,$01, $03,$04, $01,$01, $03,$04, $01,$01
+ db -4
+Unknown_ce9f6: db $4b,$02, $4c,$02, $4d,$04, $4e,$02, $fd,$02, $4e,$02, $fd,$02, $4e,$02, $fd,$02, $4e,$02
+ db -4
+Unknown_cea0b: db $4b,$42, $4c,$42, $4d,$44, $4e,$42, $fd,$02, $4e,$42, $fd,$02, $4e,$42, $fd,$02, $4e,$42
+ db -4
+Unknown_cea20: db $4b,$c2, $4c,$c2, $4d,$c4, $4e,$c2, $fd,$02, $4e,$c2, $fd,$02, $4e,$c2, $fd,$02, $4e,$c2
+ db -4
+Unknown_cea35: db $4b,$01, $4c,$01, $4d,$01, $4f,$01, $50,$01, $51,$01, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02
+ db -4
+Unknown_cea50: db $4b,$41, $4c,$41, $4d,$41, $4f,$41, $50,$41, $51,$41, $52,$42, $fd,$02, $52,$42, $fd,$02, $52,$42, $fd,$02, $52,$42
+ db -4
+Unknown_cea6b: db $00,$03, $07,$03, $08,$03, $09,$03
+ db -4
+Unknown_cea74: db $0a,$07, $0b,$07, $0a,$07, $0b,$47
+ db -2
+Unknown_cea7d: db $0c,$08
+ db -1
+Unknown_cea80: db $0d,$08
+ db -1
+Unknown_cea83: db $0a,$08
+ db -1
+Unknown_cea86: db $0a,$07, $0b,$07, $0a,$07, $0b,$47, $0a,$07
+ db -1
+Unknown_cea91: db $0a,$08
+ db -1
+Unknown_cea94: db $0a,$04, $0e,$04
+ db -2
+Unknown_cea99: db $0f,$04, $10,$04
+ db -2
+Unknown_cea9e: db $10,$04, $0f,$04, $0e,$04, $0a,$04, $0e,$04, $0a,$04, $0e,$04, $0a,$04
+ db -4
+Unknown_ceaaf: db $10,$01, $0f,$01, $12,$01, $11,$01, $12,$01, $0f,$01
+ db -2
+Unknown_ceabc: db $10,$03, $0f,$03, $12,$01, $fd,$01, $12,$01, $fd,$01, $12,$01, $fd,$01, $12,$01, $fd,$01, $12,$03
+ db -4
+Unknown_cead3: db $13,$14
+ db -4
+Unknown_cead6: db $10,$01, $0f,$01
+ db -2
+Unknown_ceadb: db $14,$08
+ db -1
+Unknown_ceade: db $17,$04, $16,$08, $15,$08, $16,$08, $17,$04, $17,$04, $16,$48, $15,$48, $16,$48, $17,$04
+ db -2
+Unknown_ceaf3: db $69,$08
+ db -1
+Unknown_ceaf6: db $69,$20, $6a,$04, $6b,$04, $6d,$04, $6c,$04
+ db -1
+Unknown_ceb01: db $6c,$08, $6d,$08
+ db -2
+Unknown_ceb06: db $18,$04, $19,$04, $1a,$04
+ db -4
+Unknown_ceb0d: db $1b,$08
+ db -1
+Unknown_ceb10: db $0f,$08
+ db -1
+Unknown_ceb13: db $1c,$08
+ db -1
+Unknown_ceb16: db $0a,$08
+ db -4
+Unknown_ceb19: db $1d,$08
+ db -1
+Unknown_ceb1c: db $17,$08
+ db -1
+Unknown_ceb1f: db $0f,$03, $10,$03, $1e,$03
+ db -1
+Unknown_ceb26: db $1f,$10, $20,$03
+ db -4
+Unknown_ceb2b: db $20,$08
+ db -1
+Unknown_ceb2e: db $20,$08, $21,$08, $1b,$08, $21,$08
+ db -2
+Unknown_ceb37: db $22,$08
+ db -1
+Unknown_ceb3a: db $1b,$08
+ db -1
+Unknown_ceb3d: db $23,$08
+ db -1
+Unknown_ceb40: db $24,$08
+ db -1
+Unknown_ceb43: db $25,$08
+ db -1
+Unknown_ceb46: db $26,$08, $27,$08
+ db -1
+Unknown_ceb4b: db $28,$08, $29,$08
+ db -4
+Unknown_ceb50: db $2a,$01, $2b,$01, $2c,$01, $2d,$01, $2e,$01, $2d,$01, $2c,$01, $2b,$01, $2a,$01
+ db -4
+Unknown_ceb63: db $14,$01, $15,$01
+ db -2
+Unknown_ceb68: db $2f,$04, $30,$28
+ db -4
+Unknown_ceb6d: db $31,$08
+ db -1
+Unknown_ceb70: db $32,$20, $33,$20, $34,$20, $35,$20 ; fallthrough
+Unknown_ceb78: db $fd,$02, $35,$04, $fd,$02, $35,$04, $fd,$02, $35,$04, $fd,$02, $35,$04
+ db -4
+Unknown_ceb89: db $14,$04, $15,$04
+ db -2
+Unknown_ceb8e: db $36,$02, $37,$02, $38,$02, $39,$20
+ db -4
+Unknown_ceb97: db $3a,$02, $3b,$02, $3c,$02, $3d,$20
+ db -4
+Unknown_ceba0: db $3a,$42, $3b,$42, $3c,$42, $3d,$60
+ db -4
+Unknown_ceba9: db $3e,$08, $3f,$08, $40,$08
+ db -1
+Unknown_cebb0: db $40,$02, $fd,$02, $40,$02, $fd,$02, $41,$02, $fd,$02, $41,$02, $fd,$02
+ db -2
+Unknown_cebc1: db $42,$02, $43,$02, $44,$02, $45,$02
+ db -2
+Unknown_cebca: db $19,$02, $fd,$02
+ db -2
+Unknown_cebcf: db $46,$04, $47,$04
+ db -2
+Unknown_cebd4: db $18,$02, $fd,$02
+ db -2
+Unknown_cebd9: db $48,$08
+ db -1
+Unknown_cebdc: db $48,$48
+ db -1
+Unknown_cebdf: db $49,$08
+ db -1
+Unknown_cebe2: db $4a,$08
+ db -1
+Unknown_cebe5: db $20,$10, $1f,$10, $1e,$10
+ db -1
+Unknown_cebec: db $20,$08, $1f,$08, $1e,$08
+ db -1
+Unknown_cebf3: db $fd,$14, $55,$28, $54,$28, $53,$14, $fd,$04, $53,$04, $fd,$04, $53,$04, $fd,$04, $53,$04
+ db -4
+Unknown_cec08: db $1e,$08, $1f,$08, $20,$08
+ db -4
+Unknown_cec0f: db $fd,$00, $14,$00, $15,$00, $14,$40, $fd,$00, $16,$40, $15,$00, $16,$00
+ db -2
+Unknown_cec20: db $56,$02, $57,$04
+ db -4
+Unknown_cec25: db $56,$c2, $57,$c4
+ db -4
+Unknown_cec2a: db $56,$01, $57,$01, $58,$01, $57,$c1, $58,$c1, $57,$02
+ db -4
+Unknown_cec37: db $56,$c1, $57,$c1, $58,$c1, $57,$01, $58,$01, $57,$c2
+ db -4
+Unknown_cec44: db $57,$c1, $58,$c1, $57,$01, $58,$01
+ db -2
+Unknown_cec4d: db $59,$01, $5a,$01, $5b,$01, $5c,$02
+ db -4
+Unknown_cec56: db $0a,$0a, $0b,$43, $5d,$43, $0b,$c3, $0a,$82, $0b,$81, $5d,$01, $0b,$01
+ db -2
+Unknown_cec67: db $0a,$03, $0b,$47, $0a,$07, $0b,$07, $0a,$03
+ db -2
+Unknown_cec72: db $5e,$20, $5e,$20
+ db -4
+Unknown_cec77: db $5f,$20, $5f,$20
+ db -4
+Unknown_cec7c: db $60,$08
+ db -1
+Unknown_cec7f: db $61,$01, $62,$01, $63,$01
+ db -1
+Unknown_cec86: db $63,$07, $64,$07
+ db -2
+Unknown_cec8b: db $65,$01, $66,$01, $67,$01
+ db -1
+Unknown_cec92: db $67,$07, $68,$07
+ db -2
+Unknown_cec97: db $6e,$08
+ db -1
+Unknown_cec9a: db $6f,$08
+ db -1
+Unknown_cec9d: db $6e,$88
+ db -1
+Unknown_ceca0: db $18,$04, $70,$04, $71,$04, $72,$04, $73,$04
+ db -4
+Unknown_cecab: db $74,$04, $75,$04
+ db -2
+Unknown_cecb0: db $14,$08
+ db -1
+Unknown_cecb3: db $74,$03, $14,$03, $15,$03, $14,$03, $15,$03
+ db -4
+Unknown_cecbe: db $14,$00, $15,$00, $14,$00, $15,$00, $74,$0c
+ db -4
+Unknown_cecc9: db $76,$08
+ db -1
+Unknown_ceccc: db $77,$01, $78,$01, $79,$01, $7a,$01, $7b,$01, $7c,$01, $7d,$01, $7c,$c1, $7b,$c1, $7a,$c1, $79,$c1, $78,$c1, $77,$c1
+ db -4
+Unknown_cece7: db $1b,$04, $7e,$04
+ db -2
+Unknown_cecec: db $1b,$44, $7e,$44
+ db -2
+Unknown_cecf1: db $7f,$08
+ db -1
+Unknown_cecf4: db $25,$08
+ db -1
+Unknown_cecf7: db $80,$08
+ db -1
+Unknown_cecfa: db $83,$07, $82,$07, $81,$07, $82,$07, $83,$07, $82,$07, $81,$07
+ db -4
+Unknown_ced09: db $1b,$10
+ db -4
+Unknown_ced0c: db $fd,$0f, $84,$0f, $85,$0f, $29,$0f, $28,$0f, $86,$20
+ db -4
+Unknown_ced19: db $1b,$03, $87,$03, $88,$03, $89,$03
+ db -4
+Unknown_ced22: db $8a,$02, $8b,$02, $8c,$02, $8d,$02
+ db -4
+Unknown_ced2b: db $61,$02, $62,$02, $63,$02
+ db -1
+Unknown_ced32: db $65,$02, $66,$02, $67,$02
+ db -1
+Unknown_ced39: db $8e,$08
+ db -1
+Unknown_ced3c: db $8e,$48
+ db -1
+Unknown_ced3f: db $8f,$10, $90,$10
+ db -2
+Unknown_ced44: db $91,$10, $92,$10
+ db -2
+Unknown_ced49: db $93,$08
+ db -1
+Unknown_ced4c: db $1e,$08
+ db -1
+Unknown_ced4f: db $1b,$07, $94,$07
+ db -2
+Unknown_ced54: db $95,$08
+ db -1
+Unknown_ced57: db $96,$08
+ db -1
+Unknown_ced5a: db $95,$08
+ db -1
+Unknown_ced5d: db $97,$01, $97,$41
+ db -2
+Unknown_ced62: db $98,$08
+ db -1
+Unknown_ced65: db $99,$20, $99,$20, $99,$20, $99,$20, $99,$20, $9a,$08
+ db -1
+Unknown_ced72: db $9b,$08
+ db -1
+Unknown_ced75: db $9c,$02, $9d,$02, $9e,$08, $fd,$02, $9e,$02, $fd,$02, $9e,$02, $fd,$02, $9e,$02
+ db -4
+Unknown_ced88: db $9f,$08
+ db -1
+Unknown_ced8b: db $0f,$08
+ db -1
+Unknown_ced8e: db $6b,$18
+ db -4
+Unknown_ced91: db $a0,$01 ; fallthrough
+Unknown_ced93: db $a1,$01 ; fallthrough
+Unknown_ced95: db $a2,$01
+ db -4
+Unknown_ced98: db $a3,$08
+ db -1
+Unknown_ced9b: db $a4,$04, $a5,$04, $a6,$04, $a7,$04, $a6,$44, $a5,$44
+ db -2
+Unknown_ceda8: db $a8,$04, $a9,$04, $aa,$04, $ab,$04, $aa,$44, $a9,$44
+ db -2
+Unknown_cedb5: db $1b,$08
+ db -1
+Unknown_cedb8: db $ac,$08
+ db -1
+Unknown_cedbb: db $ad,$08
+ db -1
+Unknown_cedbe: db $ae,$08
+ db -1
+Unknown_cedc1: db $af,$08
+ db -1
+Unknown_cedc4: db $b0,$20
+ db -4
+Unknown_cedc7: db $b1,$07, $b1,$47
+ db -2
+Unknown_cedcc: db $b2,$08
+ db -1
+Unknown_cedcf: db $b3,$08
+ db -1
+Unknown_cedd2: db $b3,$48
+ db -1
+Unknown_cedd5: db $b3,$88
+ db -1
+Unknown_cedd8: db $b3,$c8
+ db -1
+Unknown_ceddb: db $b5,$08
+ db -1
+Unknown_cedde: db $b5,$48
+ db -1
+Unknown_cede1: db $b5,$88
+ db -1
+Unknown_cede4: db $b5,$c8
+ db -1
+Unknown_cede7: db $b4,$08
+ db -1
+Unknown_cedea: db $6b,$08
+ db -1
+Unknown_ceded: db $b6,$08
+ db -1
+Unknown_cedf0: db $b7,$20
+ db -1
+Unknown_cedf3: db $1b,$20
+ db -1
+Unknown_cedf6: db $b8,$20
+ db -1
+Unknown_cedf9: db $b8,$60
+ db -1
+Unknown_cedfc: db $b9,$20
+ db -1
+Unknown_cedff: db $ba,$20
+ db -1
+Unknown_cee02: db $bb,$60
+ db -1
+Unknown_cee05: db $bb,$20
+ db -1
+Unknown_cee08: db $bc,$20
+ db -1
+Unknown_cee0b: db $bd,$0b, $be,$0b, $1b,$0b
+ db -4
+Unknown_cee12: db $bf,$04, $c0,$04, $c1,$04
+ db -4
+Unknown_cee19: db $c2,$20, $c2,$20
+ db -4
+Unknown_cee1e: db $4b,$02, $4c,$02, $4d,$20, $4d,$20, $4d,$20, $4f,$01, $50,$01, $51,$01, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02, $fd,$02, $52,$02
+ db -4
+Unknown_cee3d: db $4b,$c2, $4c,$c2, $4d,$e0, $4d,$e0, $4d,$e0, $4f,$c1, $50,$c1, $51,$c1, $52,$c2, $fd,$02, $52,$c2, $fd,$02, $52,$c2, $fd,$02, $52,$c2
+ db -4
+Unknown_cee5c: db $c3,$01, $c3,$c1
+ db -2
+Unknown_cee61: db $c4,$20
+ db -1
+Unknown_cee64: db $c5,$04, $c6,$04, $c7,$04
+ db -4
+Unknown_cee6b: db $c8,$01, $c8,$41
+ db -2
+Unknown_cee70: db $c9,$03, $05,$03
+ db -4
+Unknown_cee75: db $ca,$20, $cb,$03, $ca,$03, $cb,$03
+ db -2
+Unknown_cee7e: db $03,$a0
+ db -1
+Unknown_cee81: db $cc,$20
+ db -1
+Unknown_cee84: db $7f,$02, $25,$02, $80,$02, $25,$02
+ db -2
+Unknown_cee8d: db $cd,$04, $ce,$04, $cd,$c4, $ce,$c4
+ db -2
+Unknown_cee96: db $cf,$04, $d0,$04, $d1,$04, $d2,$04
+ db -4
+Unknown_cee9f: db $d3,$20
+ db -1
+Unknown_ceea2: db $d4,$08
+ db -1
+Unknown_ceea5: db $d5,$08
+ db -1
+Unknown_ceea8: db $d6,$08
+ db -1
+Unknown_ceeab: db $d7,$08
+ db -1
+; ceeae
diff --git a/battle/objects/functions.asm b/battle/objects/functions.asm
new file mode 100755
index 000000000..1ddad47a1
--- /dev/null
+++ b/battle/objects/functions.asm
@@ -0,0 +1,4260 @@
+DoBattleAnimFrame: ; ccfbe
+ ld hl, BATTLEANIMSTRUCT_FUNCTION
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, .Jumptable
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+; ccfce
+
+.Jumptable: ; ccfce (33:4fce)
+ dw BattleAnimFunction_00 ; 00
+ dw BattleAnimFunction_01 ; 01
+ dw BattleAnimFunction_02 ; 02
+ dw BattleAnimFunction_03 ; 03
+ dw BattleAnimFunction_04 ; 04
+ dw BattleAnimFunction_05 ; 05
+ dw BattleAnimFunction_06 ; 06
+ dw BattleAnimFunction_07 ; 07
+ dw BattleAnimFunction_08 ; 08
+ dw BattleAnimFunction_09 ; 09
+ dw BattleAnimFunction_0A ; 0a
+ dw BattleAnimFunction_0B ; 0b
+ dw BattleAnimFunction_0C ; 0c
+ dw BattleAnimFunction_0D ; 0d
+ dw BattleAnimFunction_0E ; 0e
+ dw BattleAnimFunction_0F ; 0f
+ dw BattleAnimFunction_10 ; 10
+ dw BattleAnimFunction_11 ; 11
+ dw BattleAnimFunction_12 ; 12
+ dw BattleAnimFunction_13 ; 13
+ dw BattleAnimFunction_14 ; 14
+ dw BattleAnimFunction_15 ; 15
+ dw BattleAnimFunction_16 ; 16
+ dw BattleAnimFunction_17 ; 17
+ dw BattleAnimFunction_18 ; 18
+ dw BattleAnimFunction_19 ; 19
+ dw BattleAnimFunction_1A ; 1a
+ dw BattleAnimFunction_1B ; 1b
+ dw BattleAnimFunction_1C ; 1c
+ dw BattleAnimFunction_1D ; 1d
+ dw BattleAnimFunction_1E ; 1e
+ dw BattleAnimFunction_1F ; 1f
+ dw BattleAnimFunction_20 ; 20
+ dw BattleAnimFunction_21 ; 21
+ dw BattleAnimFunction_22 ; 22
+ dw BattleAnimFunction_23 ; 23
+ dw BattleAnimFunction_24 ; 24
+ dw BattleAnimFunction_25 ; 25
+ dw BattleAnimFunction_26 ; 26
+ dw BattleAnimFunction_27 ; 27
+ dw BattleAnimFunction_28 ; 28
+ dw BattleAnimFunction_29 ; 29
+ dw BattleAnimFunction_2A ; 2a
+ dw BattleAnimFunction_2B ; 2b
+ dw BattleAnimFunction_2C ; 2c
+ dw BattleAnimFunction_2D ; 2d
+ dw BattleAnimFunction_2E ; 2e
+ dw BattleAnimFunction_2F ; 2f
+ dw BattleAnimFunction_30 ; 30
+ dw BattleAnimFunction_31 ; 31
+ dw BattleAnimFunction_32 ; 32
+ dw BattleAnimFunction_33 ; 33
+ dw BattleAnimFunction_34 ; 34
+ dw BattleAnimFunction_35 ; 35
+ dw BattleAnimFunction_36 ; 36
+ dw BattleAnimFunction_37 ; 37
+ dw BattleAnimFunction_38 ; 38
+ dw BattleAnimFunction_39 ; 39
+ dw BattleAnimFunction_3A ; 3a
+ dw BattleAnimFunction_3B ; 3b
+ dw BattleAnimFunction_3C ; 3c
+ dw BattleAnimFunction_3D ; 3d
+ dw BattleAnimFunction_3E ; 3e
+ dw BattleAnimFunction_3F ; 3f
+ dw BattleAnimFunction_40 ; 40
+ dw BattleAnimFunction_41 ; 41
+ dw BattleAnimFunction_42 ; 42
+ dw BattleAnimFunction_43 ; 43
+ dw BattleAnimFunction_44 ; 44
+ dw BattleAnimFunction_45 ; 45
+ dw BattleAnimFunction_46 ; 46
+ dw BattleAnimFunction_47 ; 47
+ dw BattleAnimFunction_48 ; 48
+ dw BattleAnimFunction_49 ; 49
+ dw BattleAnimFunction_4A ; 4a
+ dw BattleAnimFunction_4B ; 4b
+ dw BattleAnimFunction_4C ; 4c
+ dw BattleAnimFunction_4D ; 4d
+ dw BattleAnimFunction_4E ; 4e
+ dw BattleAnimFunction_4F ; 4f
+
+BattleAnimFunction_00: ; cd06e (33:506e)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw .zero
+ dw .one
+
+.one: ; cd075 (33:5075)
+ call DeinitBattleAnimation
+
+.zero: ; cd078 (33:5078)
+ ret
+
+BattleAnimFunction_06: ; cd079 (33:5079)
+ call BattleAnimFunction_05
+ ret c
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_05: ; cd081 (33:5081)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ scf
+ ret
+
+BattleAnimFunction_04: ; cd0a6 (33:50a6)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, .asm_cd0b3
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd0b3
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+rept 4
+ inc [hl]
+endr
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ sra a
+ sra a
+ sra a
+ sra a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_03: ; cd0e3 (33:50e3)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw .zero
+ dw .one
+
+.zero: ; cd0ea (33:50ea)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ ld a, $0
+ jr z, .asm_cd0f9
+ ld a, $20
+.asm_cd0f9
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+.one: ; cd106 (33:5106)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_01: ; cd12a (33:512a)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw .zero
+ dw .one
+
+.one: ; cd131 (33:5131)
+ call DeinitBattleAnimation
+ ret
+
+.zero: ; cd135 (33:5135)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+BattleAnimFunction_02: ; cd146 (33:5146)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cd158
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.asm_cd158
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_12: ; cd15c (33:515c)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+ dw .ten
+ dw .eleven
+
+.zero: ; cd177 (33:5177)
+ call GetBallAnimFunction
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.one: ; cd17e (33:517e)
+ call BattleAnimFunction_05
+ ret c
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld a, $b
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.three: ; cd196 (33:5196)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $9
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ inc hl
+ ld [hl], $10
+
+.four: ; cd1a7 (33:51a7)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ ret nz
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ ret nz
+ ld a, $c
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.six: ; cd1d2 (33:51d2)
+ ld a, $d
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+.two
+.five
+.nine
+ ret
+
+.seven: ; cd1dd (33:51dd)
+ call GetBallAnimFunction
+ ld a, $a
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], $20
+.eight
+.ten
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ jr z, .eleven
+ and $f
+ ret nz
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.eleven: ; cd20e (33:520e)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_13: ; cd212 (33:5212)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw .zero
+ dw .one
+ dw .two
+
+.zero: ; cd21b (33:521b)
+ call GetBallAnimFunction
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.one: ; cd222 (33:5222)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr nc, .next
+ call BattleAnimFunction_05
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+.two: ; cd232 (33:5232)
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .done
+ add $4
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+
+.done
+ call DeinitBattleAnimation
+ ret
+
+GetBallAnimFunction: ; cd249 (33:5249)
+ ld hl, .balls
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [CurItem] ; CurItem
+ ld e, a
+ pop af
+ ld [rSVBK], a
+.IsInArray
+ ld a, [hli]
+ cp -1
+ jr z, .load
+ cp e
+ jr z, .load
+ inc hl
+ jr .IsInArray
+
+.load
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_05
+ add hl, bc
+ ld [hl], a
+ ret
+; cd26c (33:526c)
+
+.balls: ; cd26c
+ db MASTER_BALL, 5
+ db ULTRA_BALL, 3
+ db GREAT_BALL, 6
+ db POKE_BALL, 4
+ db HEAVY_BALL, 2
+ db LEVEL_BALL, 7
+ db LURE_BALL, 6
+ db FAST_BALL, 6
+ db FRIEND_BALL, 3
+ db MOON_BALL, 2
+ db LOVE_BALL, 4
+ db -1, 2
+; cd284
+
+BattleAnimFunction_10: ; cd284 (33:5284)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd291
+ dw Functioncd2a0
+ dw Functioncd2b1
+ dw Functioncd2b5
+ dw Functioncd2bd
+
+Functioncd291: ; cd291 (33:5291)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functioncd2a0: ; cd2a0 (33:52a0)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+Functioncd2b1: ; cd2b1 (33:52b1)
+ call DeinitBattleAnimation
+ ret
+
+Functioncd2b5: ; cd2b5 (33:52b5)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $f
+ call ReinitBattleAnimFrameset
+
+Functioncd2bd: ; cd2bd (33:52bd)
+ ret
+
+BattleAnimFunction_07: ; cd2be (33:52be)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd2c5
+ dw Functioncd2d1
+
+Functioncd2c5: ; cd2c5 (33:52c5)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+ inc hl
+ ld [hl], $48
+
+Functioncd2d1: ; cd2d1 (33:52d1)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ sub [hl]
+ jr z, .asm_cd302
+ jr c, .asm_cd302
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], a
+ ret
+
+.asm_cd302
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_08: ; cd306 (33:5306)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd311
+ dw Functioncd321
+ dw Functioncd32a
+ dw Functioncd37d
+
+Functioncd311: ; cd311 (33:5311)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_cd31e
+ call Functioncd38e
+ ret
+
+.asm_cd31e
+ call BattleAnim_IncAnonJumptableIndex
+
+Functioncd321: ; cd321 (33:5321)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+
+Functioncd32a: ; cd32a (33:532a)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cd363
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ sub $18
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+.asm_cd363
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ jr z, .asm_cd37a
+ sub $10
+ ld d, a
+ ld a, [hl]
+ and $f
+ or d
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+ ret
+
+.asm_cd37a
+ call BattleAnim_IncAnonJumptableIndex
+
+Functioncd37d: ; cd37d (33:537d)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $b0
+ jr c, .asm_cd38a
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd38a
+ call Functioncd38e
+ ret
+
+Functioncd38e: ; cd38e (33:538e)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+.asm_cd3a9
+ dec [hl]
+ dec e
+ jr nz, .asm_cd3a9
+ ret
+
+BattleAnimFunction_09: ; cd3ae (33:53ae)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd3b7
+ dw Functioncd3cc
+ dw Functioncd3ee
+
+Functioncd3b7: ; cd3b7 (33:53b7)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+
+Functioncd3cc: ; cd3cc (33:53cc)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd3d6
+ dec [hl]
+ ret
+
+.asm_cd3d6
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+Functioncd3ee: ; cd3ee (33:53ee)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_0A: ; cd3f2 (33:53f2)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd409
+ dw Functioncd45c
+ dw Functioncd467
+ dw Functioncd472
+ dw Functioncd462
+ dw Functioncd46d
+ dw Functioncd477
+ dw Functioncd41d
+ dw Functioncd437
+ dw Functioncd458
+
+Functioncd409: ; cd409 (33:5409)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ cp $7
+ jr z, Functioncd41d
+ ld a, $11
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncd41d: ; cd41d (33:541d)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cd42f
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+ ret
+
+.asm_cd42f
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $10
+ call ReinitBattleAnimFrameset
+
+Functioncd437: ; cd437 (33:5437)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ret
+
+Functioncd458: ; cd458 (33:5458)
+ call DeinitBattleAnimation
+ ret
+
+Functioncd45c: ; cd45c (33:545c)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncd462: ; cd462 (33:5462)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ inc [hl]
+
+Functioncd467: ; cd467 (33:5467)
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncd46d: ; cd46d (33:546d)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ inc [hl]
+
+Functioncd472: ; cd472 (33:5472)
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ inc [hl]
+
+Functioncd477: ; cd477 (33:5477)
+ ret
+
+BattleAnimFunction_0B: ; cd478 (33:5478)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd48d
+ dw Functioncd496
+ dw Functioncd4ee
+ dw Functioncd53a
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd545
+ dw Functioncd549
+
+Functioncd48d: ; cd48d (33:548d)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+
+Functioncd496: ; cd496 (33:5496)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cd4bc
+ call BattleAnim_IncAnonJumptableIndex
+ xor a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ld a, $17
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 6, [hl]
+ ret z
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $5
+ ret
+
+.asm_cd4bc
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], e
+ ret
+
+Functioncd4ee: ; cd4ee (33:54ee)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nz, .asm_cd4fb
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd4fb
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 6, [hl]
+ jr nz, .asm_cd519
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ jr .asm_cd51e
+
+.asm_cd519
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ dec [hl]
+.asm_cd51e
+ ld de, $80
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], e
+ ret
+
+Functioncd53a: ; cd53a (33:553a)
+ ld a, $16
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ res 5, [hl]
+
+Functioncd545: ; cd545 (33:5545)
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd549: ; cd549 (33:5549)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $c0
+ ret nc
+ ld a, $8
+ call Functionce70a
+ ret
+
+Functioncd557: ; cd557 (33:5557)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ bit 7, a
+ jr nz, .negative
+ cp $20
+ jr nc, .plus_256
+ cp $18
+ jr nc, .plus_384
+ ld de, $200
+ ret
+
+.plus_384
+ ld de, $180
+ ret
+
+.plus_256
+ ld de, $100
+ ret
+
+.negative
+ and $3f
+ cp $20
+ jr nc, .minus_256
+ cp $18
+ jr nc, .minus_384
+ ld de, -$200
+ ret
+
+.minus_384
+ ld de, -$180
+ ret
+
+.minus_256
+ ld de, -$100
+ ret
+
+BattleAnimFunction_4E: ; cd58a (33:558a)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd591
+ dw Functioncd5aa
+
+Functioncd591: ; cd591 (33:5591)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $40
+ rlca
+ rlca
+ add $19
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+Functioncd5aa: ; cd5aa (33:55aa)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cd5b7
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd5b7
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], e
+ ret
+
+BattleAnimFunction_0C: ; cd5e9 (33:55e9)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd5f2
+ dw Functioncd5fb
+ dw Functioncd61b
+
+Functioncd5f2: ; cd5f2 (33:55f2)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $c
+
+Functioncd5fb: ; cd5fb (33:55fb)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd60d
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.asm_cd60d
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld a, $22
+ call ReinitBattleAnimFrameset
+
+Functioncd61b: ; cd61b (33:561b)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ jr nc, .asm_cd63f
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ ld de, $60
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld [hl], d
+.asm_cd63f
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret c
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld e, a
+ ld d, $ff
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld [hl], d
+ ret
+
+BattleAnimFunction_0D: ; cd66a (33:566a)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd677
+ dw Functioncd687
+ dw Functioncd6c5
+ dw Functioncd6c6
+ dw Functioncd6d6
+
+Functioncd677: ; cd677 (33:5677)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $42
+ ld [hLCDStatCustom], a
+ ld a, $58
+ ld [hLCDStatCustom + 1], a
+ ld a, $5e
+ ld [hLCDStatCustom + 2], a
+ ret
+
+Functioncd687: ; cd687 (33:5687)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nc, .asm_cd69b
+ call BattleAnim_IncAnonJumptableIndex
+ xor a
+ ld [hLCDStatCustom + 1], a
+ ret
+
+.asm_cd69b
+ dec a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ add [hl]
+ sub $10
+ ret c
+ ld [hLCDStatCustom + 1], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld a, [hl]
+ inc a
+ and $7
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ inc [hl]
+Functioncd6c5: ; cd6c5 (33:56c5)
+ ret
+
+Functioncd6c6: ; cd6c6 (33:56c6)
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr c, asm_cd6da
+ xor a
+ ld [hLCDStatCustom], a
+ ld [hLCDStatCustom + 1], a
+ ld [hLCDStatCustom + 2], a
+
+Functioncd6d6: ; cd6d6 (33:56d6)
+ call DeinitBattleAnimation
+ ret
+
+asm_cd6da: ; cd6da (33:56da)
+ inc a
+ inc a
+ ld [hl], a
+ sub $10
+ ret c
+ ld [hLCDStatCustom + 1], a
+ ret
+
+BattleAnimFunction_0E: ; cd6e3 (33:56e3)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd6ea
+ dw Functioncd6f7
+
+Functioncd6ea: ; cd6ea (33:56ea)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call ReinitBattleAnimFrameset
+
+Functioncd6f7: ; cd6f7 (33:56f7)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, .asm_cd704
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd704
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_0F: ; cd71a (33:571a)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd725
+ dw Functioncd728
+ dw Functioncd763
+ dw Functioncd776
+
+Functioncd725: ; cd725 (33:5725)
+ call BattleAnim_IncAnonJumptableIndex
+
+Functioncd728: ; cd728 (33:5728)
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cd747
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_cd747
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $28
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld [hl], $30
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ld [hl], a
+
+Functioncd763: ; cd763 (33:5763)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $18
+ jr nc, .asm_cd76e
+ inc [hl]
+ ret
+
+.asm_cd76e
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $29
+ call ReinitBattleAnimFrameset
+
+Functioncd776: ; cd776 (33:5776)
+ ret
+
+BattleAnimFunction_11: ; cd777 (33:5777)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr c, .asm_cd784
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd784
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld l, [hl]
+ ld h, a
+ ld de, $80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld a, [hl]
+ xor $10
+ ld [hl], a
+ ret
+
+BattleAnimFunction_14: ; cd7a4 (33:57a4)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd7ab
+ dw Functioncd7d2
+
+Functioncd7ab: ; cd7ab (33:57ab)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ sla a
+ sla a
+ sla a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $1
+
+Functioncd7d2: ; cd7d2 (33:57d2)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ and a
+ jr nz, .asm_cd7de
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd7de
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ dec [hl]
+ ret
+
+BattleAnimFunction_15: ; cd80c (33:580c)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd81f
+ dw Functioncd817
+ dw Functioncd81f
+ dw Functioncd820
+
+Functioncd817: ; cd817 (33:5817)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $35
+ call ReinitBattleAnimFrameset
+
+Functioncd81f: ; cd81f (33:581f)
+ ret
+
+Functioncd820: ; cd820 (33:5820)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_16: ; cd824 (33:5824)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd835
+ dw Functioncd860
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd893
+
+Functioncd835: ; cd835 (33:5835)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd852
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd858
+
+.asm_cd852
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+.asm_cd858
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+Functioncd860: ; cd860 (33:5860)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd87e
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ inc a
+ jr .asm_cd883
+
+.asm_cd87e
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+.asm_cd883
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+
+Functioncd88f: ; cd88f (33:588f)
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd893: ; cd893 (33:5893)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $1
+ ret
+
+BattleAnimFunction_17: ; cd89a (33:589a)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd8ab
+ dw Functioncd8cc
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f9
+
+Functioncd8ab: ; cd8ab (33:58ab)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd8be
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd8c4
+
+.asm_cd8be
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+.asm_cd8c4
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+Functioncd8cc: ; cd8cc (33:58cc)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd8e6
+ ld a, $3d
+ jr .asm_cd8e8
+
+.asm_cd8e6
+ ld a, $3c
+.asm_cd8e8
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+
+Functioncd8f5: ; cd8f5 (33:58f5)
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd8f9: ; cd8f9 (33:58f9)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $1
+ ret
+
+BattleAnimFunction_18: ; cd900 (33:5900)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd907
+ dw Functioncd913
+
+Functioncd907: ; cd907 (33:5907)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $0
+
+Functioncd913: ; cd913 (33:5913)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd950
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], d
+ ret
+
+.asm_cd950
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_19: ; cd954 (33:5954)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncd961
+ dw Functioncd96a
+ dw Functioncd96e
+ dw Functioncd96a
+ dw Functioncd97b
+
+Functioncd961: ; cd961 (33:5961)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $0
+
+Functioncd96a: ; cd96a (33:596a)
+ call Functioncd99a
+ ret
+
+Functioncd96e: ; cd96e (33:596e)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, asm_cd988
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd97b: ; cd97b (33:597b)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, asm_cd988
+ call DeinitBattleAnimation
+ ret
+
+asm_cd988: ; cd988 (33:5988)
+ call Functioncd99a
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncd99a: ; cd99a (33:599a)
+ call Functioncd9f4
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd9d7
+ cp $c2
+ jr c, .asm_cd9e2
+.asm_cd9d7
+ dec a
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ inc [hl]
+ ret
+
+.asm_cd9e2
+ xor a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+Functioncd9f4: ; cd9f4 (33:59f4)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld e, [hl]
+ ld d, 0
+ ld hl, Unknown_cda01
+ add hl, de
+ ld d, [hl]
+ ret
+; cda01 (33:5a01)
+
+Unknown_cda01: ; cda01
+ db 8, 6, 5, 4, 5, 6, 8, 12, 16
+; cda0a
+
+BattleAnimFunction_1C: ; cda0a (33:5a0a)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cda17
+ call DeinitBattleAnimation
+ ret
+
+.asm_cda17
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld [hl], a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+.asm_cda2c
+ inc [hl]
+ dec e
+ jr nz, .asm_cda2c
+ ret
+
+BattleAnimFunction_1F: ; cda31 (33:5a31)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncda4c
+ dw Functioncda3a
+ dw Functioncda4c
+
+Functioncda3a: ; cda3a (33:5a3a)
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ inc a
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $8
+
+Functioncda4c: ; cda4c (33:5a4c)
+ ret
+
+BattleAnimFunction_20: ; cda4d (33:5a4d)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncda58
+ dw Functioncda62
+ dw Functioncda7a
+ dw Functioncda8c
+
+Functioncda58: ; cda58 (33:5a58)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], $40
+ ret
+
+Functioncda62: ; cda62 (33:5a62)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cda6f
+ call Functioncda8d
+ ret
+
+.asm_cda6f
+ ld [hl], $40
+ ld a, $57
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncda7a: ; cda7a (33:5a7a)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ and a
+ jr z, .asm_cda84
+ dec [hl]
+ ret
+
+.asm_cda84
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $58
+ call ReinitBattleAnimFrameset
+
+Functioncda8c: ; cda8c (33:5a8c)
+ ret
+
+Functioncda8d: ; cda8d (33:5a8d)
+ dec [hl]
+ ld d, $20
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld h, [hl]
+ ld a, h
+ and $f
+ swap a
+ ld l, a
+ ld a, h
+ and $f0
+ swap a
+ ld h, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_3F: ; cdad6 (33:5ad6)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncdadf
+ dw Functioncdae9
+ dw Functioncdaf9
+
+Functioncdadf: ; cdadf (33:5adf)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], $40
+ ret
+
+Functioncdae9: ; cdae9 (33:5ae9)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cdaf6
+ call Functioncda8d
+ ret
+
+.asm_cdaf6
+ call BattleAnim_IncAnonJumptableIndex
+
+Functioncdaf9: ; cdaf9 (33:5af9)
+ ret
+
+BattleAnimFunction_1A: ; cdafa (33:5afa)
+ call BattleAnimFunction_03
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ add $f
+ ld [hl], a
+ ret
+
+BattleAnimFunction_1B: ; cdb06 (33:5b06)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncdb13
+ dw Functioncdb14
+ dw Functioncdb28
+ dw Functioncdb50
+ dw Functioncdb65
+
+Functioncdb13: ; cdb13 (33:5b13)
+ ret
+
+Functioncdb14: ; cdb14 (33:5b14)
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdb24
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.asm_cdb24
+ add $4
+ ld [hl], a
+ ret
+
+Functioncdb28: ; cdb28 (33:5b28)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ set 0, [hl]
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld [hl], $90
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], $2
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncdb50: ; cdb50 (33:5b50)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $2c
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], $80
+
+Functioncdb65: ; cdb65 (33:5b65)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_1D: ; cdb80 (33:5b80)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncdb9f
+ dw Functioncdbb3
+ dw Functioncdbcf
+ dw Functioncdbeb
+ dw Functioncdc74
+ dw Functioncdc1a
+ dw Functioncdbc1
+ dw Functioncdc1e
+ dw Functioncdc27
+ dw Functioncdc39
+ dw Functioncdc74
+ dw Functioncdc48
+ dw Functioncdc57
+ dw Functioncdc74
+
+Functioncdb9f: ; cdb9f (33:5b9f)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $10
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functioncdbb3: ; cdbb3 (33:5bb3)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cdbbd
+ inc [hl]
+.asm_cdbbd
+ call Functioncdc75
+ ret
+
+Functioncdbc1: ; cdbc1 (33:5bc1)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $4b
+ jr nc, .asm_cdbcb
+ inc [hl]
+.asm_cdbcb
+ call Functioncdc75
+ ret
+
+Functioncdbcf: ; cdbcf (33:5bcf)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cdbe6
+ and $f
+ jr nz, asm_cdbfa
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], $10
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.asm_cdbe6
+ call BattleAnim_IncAnonJumptableIndex
+ inc [hl]
+ ret
+
+Functioncdbeb: ; cdbeb (33:5beb)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ and a
+ jr z, .asm_cdbf5
+ dec [hl]
+ ret
+
+.asm_cdbf5
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+asm_cdbfa: ; cdbfa (33:5bfa)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+Functioncdc1a: ; cdc1a (33:5c1a)
+ call DeinitBattleAnimation
+ ret
+
+Functioncdc1e: ; cdc1e (33:5c1e)
+ ld a, $4e
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncdc27: ; cdc27 (33:5c27)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $2
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functioncdc39: ; cdc39 (33:5c39)
+ ld a, $50
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], $4
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncdc48: ; cdc48 (33:5c48)
+ ld a, $4f
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+ ret
+
+Functioncdc57: ; cdc57 (33:5c57)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $20
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdc71
+ dec [hl]
+ ret
+
+.asm_cdc71
+ call BattleAnim_IncAnonJumptableIndex
+
+Functioncdc74: ; cdc74 (33:5c74)
+ ret
+
+Functioncdc75: ; cdc75 (33:5c75)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ret nz
+ xor a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+BattleAnimFunction_1E: ; cdca6 (33:5ca6)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcb6
+ cp $d8
+ jr nc, .asm_cdcb6
+ call DeinitBattleAnimation
+ ret
+
+.asm_cdcb6
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld [hl], a
+ ret
+
+BattleAnimFunction_21: ; cdcc3 (33:5cc3)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncdcca
+ dw Functioncdced
+
+Functioncdcca: ; cdcca (33:5cca)
+ ld a, [hBattleTurn]
+ and a
+ jr z, .asm_cdcd9
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ add $3
+ ld [hl], a
+.asm_cdcd9
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $8
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, $59
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdced: ; cdced (33:5ced)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcfa
+ dec [hl]
+ call Functioncdcfe
+ ret
+
+.asm_cdcfa
+ call DeinitBattleAnimation
+ ret
+
+Functioncdcfe: ; cdcfe (33:5cfe)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdd20
+ dec a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], d
+ ret
+
+.asm_cdd20
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, d
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_22: ; cdd2a (33:5d2a)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncdd31
+ dw Functioncdd4f
+
+Functioncdd31: ; cdd31 (33:5d31)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld [hl], a
+ add $5d
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdd4f: ; cdd4f (33:5d4f)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ inc [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ and $3
+ jr nz, .asm_cdd87
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+.asm_cdd87
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_23: ; cdd90 (33:5d90)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncdd97
+ dw Functioncddbc
+
+Functioncdd97: ; cdd97 (33:5d97)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+
+Functioncddbc: ; cddbc (33:5dbc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3f
+ jr z, .asm_cddf0
+ and $1f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cddf5
+
+.asm_cddf0
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+.asm_cddf5
+ call ReinitBattleAnimFrameset
+ ret
+
+BattleAnimFunction_24: ; cddf9 (33:5df9)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncde02
+ dw Functioncde20
+ dw Functioncde21
+
+Functioncde02: ; cde02 (33:5e02)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $63
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, Unknown_cde25
+ add hl, de
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+
+Functioncde20: ; cde20 (33:5e20)
+ ret
+
+Functioncde21: ; cde21 (33:5e21)
+ call DeinitBattleAnimation
+ ret
+; cde25 (33:5e25)
+
+Unknown_cde25: ; cde25
+ db $ec, $f8, $00
+; cde28
+
+BattleAnimFunction_25: ; cde28 (33:5e28)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $4
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld e, [hl]
+ ld hl, $ffa0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], e
+ ret
+
+BattleAnimFunction_26: ; cde54 (33:5e54)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ dec [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_27: ; cde6b (33:5e6b)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncde72
+ dw Functioncde88
+
+Functioncde72: ; cde72 (33:5e72)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cde83
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ set 6, [hl]
+.asm_cde83
+ add $6a
+ call ReinitBattleAnimFrameset
+
+Functioncde88: ; cde88 (33:5e88)
+ ret
+
+BattleAnimFunction_28: ; cde89 (33:5e89)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncde90
+ dw Functioncdebf
+
+Functioncde90: ; cde90 (33:5e90)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld a, e
+ and $70
+ swap a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld a, e
+ and $80
+ jr nz, .asm_cdeb2
+ ld a, e
+ and $f
+ ld [hl], a
+ ret
+
+.asm_cdeb2
+ ld a, e
+ and $f
+ xor $ff
+ inc a
+ ld [hl], a
+ ld a, $6e
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdebf: ; cdebf (33:5ebf)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdec9
+ dec [hl]
+ ret
+
+.asm_cdec9
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_29: ; cdedd (33:5edd)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf17
+ inc [hl]
+ ret
+
+.asm_cdf17
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_2D: ; cdf1b (33:5f1b)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf55
+ inc [hl]
+ ret
+
+.asm_cdf55
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_2A: ; cdf59 (33:5f59)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functioncdf60
+ dw BattleAnimFunction_29
+
+Functioncdf60: ; cdf60 (33:5f60)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cdf88
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ dec [hl]
+ ret
+
+.asm_cdf88
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+BattleAnimFunction_34: ; cdf8c (33:5f8c)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ cp $e8
+ jr z, .asm_cdfc7
+ dec [hl]
+ ret
+
+.asm_cdfc7
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_3C: ; cdfcb (33:5fcb)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce007
+ dec [hl]
+ dec [hl]
+ ret
+
+.asm_ce007
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_35: ; ce00b (33:600b)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce014
+ dw Functionce023
+ dw Functionce05f
+
+Functionce014: ; ce014 (33:6014)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $34
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], $10
+
+Functionce023: ; ce023 (33:6023)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $6c
+ jr c, .asm_ce02d
+ ret
+
+.asm_ce02d
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld d, [hl]
+ call BattleAnim_Sine
+ bit 7, a
+ jr nz, .asm_ce046
+ xor $ff
+ inc a
+.asm_ce046
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ and $1f
+ cp $20
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ srl [hl]
+ ret
+
+Functionce05f: ; ce05f (33:605f)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_2B: ; ce063 (33:6063)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce06e
+ dw Functionce083
+ dw Functionce091
+ dw Functionce09e
+
+Functionce06e: ; ce06e (33:606e)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce083: ; ce083 (33:6083)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $58
+ ret nc
+ ld a, $2
+ call Functionce70a
+ ret
+
+Functionce091: ; ce091 (33:6091)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ cp $20
+ jr c, Functionce09e
+ call DeinitBattleAnimation
+ ret
+
+Functionce09e: ; ce09e (33:609e)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ sra a
+ xor $ff
+ inc a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+BattleAnimFunction_2C: ; ce0c5 (33:60c5)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce0ce
+ dw Functionce0f8
+ dw Functionce0dd
+
+Functionce0ce: ; ce0ce (33:60ce)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce0dd: ; ce0dd (33:60dd)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ bit 7, a
+ jr z, .asm_ce0f0
+ ld [hl], a
+.asm_ce0f0
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+
+Functionce0f8: ; ce0f8 (33:60f8)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr c, .asm_ce105
+ call DeinitBattleAnimation
+ ret
+
+.asm_ce105
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+BattleAnimFunction_2E: ; ce10e (33:610e)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce115
+ dw Functionce12a
+
+Functionce115: ; ce115 (33:6115)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ sub $28
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], a
+
+Functionce12a: ; ce12a (33:612a)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ and [hl]
+ jr nz, .asm_ce149
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ dec [hl]
+.asm_ce149
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ inc hl
+ srl [hl]
+ ret
+
+BattleAnimFunction_2F: ; ce15c (33:615c)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ jr nz, .asm_ce189
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ dec [hl]
+.asm_ce189
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_ce197
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ inc [hl]
+.asm_ce197
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ cp $5a
+ jr nc, .asm_ce1aa
+ ld a, [hl]
+ and a
+ jr z, .asm_ce1ac
+ dec [hl]
+ ret
+
+.asm_ce1aa
+ inc [hl]
+ ret
+
+.asm_ce1ac
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_42: ; ce1b0 (33:61b0)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ cp $40
+ jr nc, .asm_ce1df
+ inc [hl]
+ ret
+
+.asm_ce1df
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_30: ; ce1e7 (33:61e7)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce1ee
+ dw Functionce1fb
+
+Functionce1ee: ; ce1ee (33:61ee)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], a
+
+Functionce1fb: ; ce1fb (33:61fb)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $30
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld d, $30
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_31: ; ce226 (33:6226)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce22d
+ dw Functionce254
+
+Functionce22d: ; ce22d (33:622d)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld [hl], $f
+
+Functionce254: ; ce254 (33:6254)
+ ret
+
+BattleAnimFunction_32: ; ce255 (33:6255)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce260
+ dw Functionce274
+ dw Functionce278
+ dw Functionce289
+
+Functionce260: ; ce260 (33:6260)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, [hBattleTurn]
+ and a
+ jr nz, .asm_ce26c
+ ld a, $f0
+ jr .asm_ce26e
+
+.asm_ce26c
+ ld a, $cc
+.asm_ce26e
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce274: ; ce274 (33:6274)
+ call Functionce29f
+ ret
+
+Functionce278: ; ce278 (33:6278)
+ call Functionce29f
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld a, $4
+ call Functionce70a
+ ret
+
+Functionce289: ; ce289 (33:6289)
+ call Functionce29f
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr nc, .asm_ce29b
+ ld a, $4
+ call Functionce70a
+ ret
+
+.asm_ce29b
+ call DeinitBattleAnimation
+ ret
+
+Functionce29f: ; ce29f (33:629f)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ and $7
+ inc [hl]
+ srl a
+ ld e, a
+ ld d, $0
+ ld a, [hSGB]
+ and a
+ jr nz, .asm_ce2b6
+ ld hl, Unknown_ce2c4
+ jr .asm_ce2b9
+
+.asm_ce2b6
+ ld hl, Unknown_ce2c8
+.asm_ce2b9
+ add hl, de
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ and [hl]
+ ld [wOBP0], a
+ ret
+; ce2c4 (33:62c4)
+
+Unknown_ce2c4: ; ce2c4
+ db $ff, $aa, $55, $aa
+Unknown_ce2c8: ; ce2c8
+ db $ff, $ff, $00, $00
+; ce2cc
+
+BattleAnimFunction_33: ; ce2cc (33:62cc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ dec [hl]
+ dec [hl]
+ ret
+
+BattleAnimFunction_36: ; ce2fd (33:62fd)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce306
+ dw Functionce330
+ dw Functionce34c
+
+Functionce306: ; ce306 (33:6306)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $e0
+ jr nz, .asm_ce319
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $2
+ ret
+
+.asm_ce319
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+Functionce330: ; ce330 (33:6330)
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ and a
+ jr z, .asm_ce33a
+ dec [hl]
+ ret
+
+.asm_ce33a
+ ld [hl], $4
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Functionce34c: ; ce34c (33:634c)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_ce35b
+ ld a, $4
+ call Functionce70a
+ ret
+
+.asm_ce35b
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_37: ; ce35f (33:635f)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce366
+ dw Functionce375
+
+Functionce366: ; ce366 (33:6366)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ add $81
+ call ReinitBattleAnimFrameset
+
+Functionce375: ; ce375 (33:6375)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_ce383
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ inc [hl]
+ ret
+
+.asm_ce383
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_38: ; ce389 (33:6389)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce392
+ dw Functionce39c
+ dw Functionce3ae
+
+Functionce392: ; ce392 (33:6392)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $c
+ ret
+
+Functionce39c: ; ce39c (33:639c)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce3a6
+ dec [hl]
+ ret
+
+.asm_ce3a6
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, $20
+ call ReinitBattleAnimFrameset
+
+Functionce3ae: ; ce3ae (33:63ae)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_39: ; ce3b4 (33:63b4)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ ld d, $2
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop af
+ ld d, $8
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_3A: ; ce3d2 (33:63d2)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_ce3df
+ call DeinitBattleAnimation
+ ret
+
+.asm_ce3df
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_3B: ; ce3ff (33:63ff)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce406
+ dw Functionce412
+
+Functionce406: ; ce406 (33:6406)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Functionce412: ; ce412 (33:6412)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_3D: ; ce416 (33:6416)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ sra a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ret
+
+BattleAnimFunction_3E: ; ce43a (33:643a)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce443
+ dw Functionce465
+ dw Functionce490
+
+Functionce443: ; ce443 (33:6443)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ or $8
+ ld [hl], a
+
+Functionce465: ; ce465 (33:6465)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce48b
+ dec [hl]
+ add $8
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce48b
+ ld [hl], $10
+ call BattleAnim_IncAnonJumptableIndex
+
+Functionce490: ; ce490 (33:6490)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_40: ; ce49c (33:649c)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce4a3
+ dw Functionce4b0
+
+Functionce4a3: ; ce4a3 (33:64a3)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, $24
+ add [hl]
+ call ReinitBattleAnimFrameset
+
+Functionce4b0: ; ce4b0 (33:64b0)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr nc, .asm_ce4d8
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ dec [hl]
+ ret
+
+.asm_ce4d8
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_41: ; ce4dc (33:64dc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call BattleAnim_Sine
+ bit 7, a
+ jr nz, .asm_ce4f4
+ xor $ff
+ inc a
+.asm_ce4f4
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and $1f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ srl [hl]
+ ret
+
+BattleAnimFunction_43: ; ce508 (33:6508)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, .asm_ce52e
+ inc [hl]
+ inc [hl]
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce52e
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_44: ; ce532 (33:6532)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ ld a, e
+ and $c0
+ rlca
+ rlca
+ add [hl]
+ ld [hl], a
+ ld a, e
+ and $3f
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_45: ; ce55b (33:655b)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce564
+ dw Functionce56e
+ dw Functionce577
+
+Functionce564: ; ce564 (33:6564)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ jr asm_ce58f
+
+Functionce56e: ; ce56e (33:656e)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $18
+
+Functionce577: ; ce577 (33:6577)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_ce58b
+ ld d, a
+ add $8
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ jr asm_ce58f
+
+.asm_ce58b
+ call DeinitBattleAnimation
+ ret
+
+asm_ce58f: ; ce58f (33:658f)
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_46: ; ce593 (33:6593)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce5b3
+ dw Functionce59a
+
+Functionce59a: ; ce59a (33:659a)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_ce5b0
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+.asm_ce5b0
+ call DeinitBattleAnimation
+
+Functionce5b3: ; ce5b3 (33:65b3)
+ ret
+
+BattleAnimFunction_47: ; ce5b4 (33:65b4)
+ ld d, $50
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_48: ; ce5dc (33:65dc)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce5ea
+rept 4
+ dec [hl]
+endr
+ ret
+
+.asm_ce5ea
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_49: ; ce5ee (33:65ee)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce5f9
+ dw Functionce60a
+ dw Functionce622
+ dw Functionce618
+
+Functionce5f9: ; ce5f9 (33:65f9)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, asm_ce61c
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], $ec
+
+Functionce60a: ; ce60a (33:660a)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $4
+ jr z, Functionce618
+rept 4
+ inc [hl]
+endr
+ ret
+
+Functionce618: ; ce618 (33:6618)
+ call DeinitBattleAnimation
+ ret
+
+asm_ce61c: ; ce61c (33:661c)
+ call BattleAnim_IncAnonJumptableIndex
+ call BattleAnim_IncAnonJumptableIndex
+
+Functionce622: ; ce622 (33:6622)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ cp $d8
+ ret z
+rept 4
+ dec [hl]
+endr
+ ret
+
+BattleAnimFunction_4A: ; ce62f (33:662f)
+ call BattleAnim_AnonJumptable
+.anon_jumptable
+ dw Functionce63a
+ dw Functionce648
+ dw Functionce65c
+ dw Functionce672
+
+Functionce63a: ; ce63a (33:663a)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functionce648: ; ce648 (33:6648)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce654
+ xor a
+.asm_ce654
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+Functionce65c: ; ce65c (33:665c)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce668
+ xor a
+.asm_ce668
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+Functionce672: ; ce672 (33:6672)
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce67e
+ xor a
+.asm_ce67e
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+BattleAnimFunction_4B: ; ce688 (33:6688)
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld l, a
+ and $f0
+ ld h, a
+ swap a
+ or h
+ ld h, a
+ ld a, l
+ and $f
+ swap a
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+BattleAnimFunction_4C: ; ce6b3 (33:66b3)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_4F: ; ce6bf (33:66bf)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_10
+ ADD HL, BC
+ ld a, [hl]
+ inc [hl]
+ srl a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ add [hl]
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_4D: ; ce6d2 (33:66d2)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_ce6ed
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ xor $ff
+ inc a
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce6ed
+ call DeinitBattleAnimation
+ ret
+
+Functionce6f1: ; ce6f1 (33:66f1)
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0A
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_09
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce70a: ; ce70a (33:670a)
+ and $f
+ ld e, a
+ ld hl, BATTLEANIMSTRUCT_07
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_08
+ add hl, bc
+.asm_ce719
+ dec [hl]
+ dec e
+ jr nz, .asm_ce719
+ ret
+
+BattleAnim_AnonJumptable: ; ce71e (33:671e)
+ pop de
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
+
+BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnim_Cosine: ; ce732 (33:6732)
+ add $10
+BattleAnim_Sine: ; ce734 (33:6734)
+ and $3f
+ cp $20
+ jr nc, .negative
+ call .ApplySineWave
+ ld a, h
+ ret
+
+.negative
+ and $1f
+ call .ApplySineWave
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+.ApplySineWave: ; ce749 (33:6749)
+ ld e, a
+ ld a, d
+ ld d, 0
+ ld hl, BattleAnimSineWave
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0
+.multiply
+ srl a
+ jr nc, .even
+ add hl, de
+.even
+ sla e
+ rl d
+ and a
+ jr nz, .multiply
+ ret
+
+BattleAnim_Sine_e: ; ce765 (33:6765)
+ ld a, e
+ call BattleAnim_Sine
+ ld e, a
+ ret
+
+BattleAnim_Cosine_e: ; ce76b (33:676b)
+ ld a, e
+ call BattleAnim_Cosine
+ ld e, a
+ ret
+; ce771 (33:6771)
+
+BattleAnim_AbsSinePrecise: ; ce771
+ ld a, e
+ call BattleAnim_Sine
+ ld e, l
+ ld d, h
+ ret
+; ce778
+
+BattleAnim_AbsCosinePrecise: ; ce778
+ ld a, e
+ call BattleAnim_Cosine
+ ld e, l
+ ld d, h
+ ret
+; ce77f
+
+BattleAnimSineWave: ; ce77f
+ sine_wave $100
+; ce7bf
diff --git a/battle/objects/gfx_headers.asm b/battle/objects/gfx_headers.asm
new file mode 100755
index 000000000..d8f8e2cb8
--- /dev/null
+++ b/battle/objects/gfx_headers.asm
@@ -0,0 +1,53 @@
+
+AnimObjGFX: ; cfcf6
+
+object_gfx: MACRO
+; label, # tiles
+ db \2
+ db BANK(\1)
+ dw \1
+ENDM
+
+ object_gfx AnimObj00GFX, 0
+ object_gfx AnimObj01GFX, 21
+ object_gfx AnimObj02GFX, 6
+ object_gfx AnimObj03GFX, 6
+ object_gfx AnimObj04GFX, 20
+ object_gfx AnimObj05GFX, 26
+ object_gfx AnimObj06GFX, 18
+ object_gfx AnimObj07GFX, 12
+ object_gfx AnimObj08GFX, 9
+ object_gfx AnimObj09GFX, 17
+ object_gfx AnimObj10GFX, 6
+ object_gfx AnimObj11GFX, 10
+ object_gfx AnimObj12GFX, 9
+ object_gfx AnimObj13GFX, 13
+ object_gfx AnimObj14GFX, 16
+ object_gfx AnimObj15GFX, 2
+ object_gfx AnimObj16GFX, 11
+ object_gfx AnimObj17GFX, 9
+ object_gfx AnimObj18GFX, 9
+ object_gfx AnimObj19GFX, 19
+ object_gfx AnimObj20GFX, 10
+ object_gfx AnimObj21GFX, 12
+ object_gfx AnimObj22GFX, 18
+ object_gfx AnimObj23GFX, 13
+ object_gfx AnimObj24GFX, 10
+ object_gfx AnimObj25GFX, 27
+ object_gfx AnimObj26GFX, 12
+ object_gfx AnimObj27GFX, 14
+ object_gfx AnimObj28GFX, 16
+ object_gfx AnimObj29GFX, 7
+ object_gfx AnimObj30GFX, 8
+ object_gfx AnimObj31GFX, 40
+ object_gfx AnimObj32GFX, 36
+ object_gfx AnimObj33GFX, 16
+ object_gfx AnimObj34GFX, 48
+ object_gfx AnimObj35GFX, 18
+ object_gfx AnimObj36GFX, 38
+ object_gfx AnimObj37GFX, 35
+ object_gfx AnimObj38GFX, 18
+ object_gfx AnimObj39GFX, 24
+ object_gfx NULL, 1
+ object_gfx NULL, 1
+; cfd9e
diff --git a/battle/objects/oam.asm b/battle/objects/oam.asm
new file mode 100755
index 000000000..981da1780
--- /dev/null
+++ b/battle/objects/oam.asm
@@ -0,0 +1,1087 @@
+
+BattleAnimOAMData: ; ceeae
+; vtile offset (?), length, address
+ dbbw $00, $10, Unknown_cf2f6 ; 00
+ dbbw $04, $09, Unknown_cf262 ; 01
+ dbbw $08, $04, Unknown_cf22e ; 02
+ dbbw $09, $04, Unknown_cf21e ; 03
+ dbbw $0d, $04, Unknown_cf386 ; 04
+ dbbw $0f, $04, Unknown_cf21e ; 05
+ dbbw $13, $04, Unknown_cf386 ; 06
+ dbbw $04, $10, Unknown_cf2f6 ; 07
+ dbbw $08, $10, Unknown_cf2f6 ; 08
+ dbbw $08, $10, Unknown_cf336 ; 09
+ dbbw $00, $04, Unknown_cf386 ; 0a
+ dbbw $02, $04, Unknown_cf21e ; 0b
+ dbbw $06, $02, Unknown_cf376 ; 0c
+ dbbw $07, $02, Unknown_cf376 ; 0d
+ dbbw $02, $04, Unknown_cf386 ; 0e
+ dbbw $04, $01, Unknown_cf736 ; 0f
+ dbbw $05, $01, Unknown_cf736 ; 10
+ dbbw $00, $02, Unknown_cf20e ; 11
+ dbbw $02, $02, Unknown_cf20e ; 12
+ dbbw $00, $04, Unknown_cf3a6 ; 13
+ dbbw $00, $01, Unknown_cf736 ; 14
+ dbbw $01, $01, Unknown_cf736 ; 15
+ dbbw $02, $01, Unknown_cf736 ; 16
+ dbbw $03, $01, Unknown_cf736 ; 17
+ dbbw $00, $04, Unknown_cf22e ; 18
+ dbbw $01, $10, Unknown_cf2f6 ; 19
+ dbbw $05, $10, Unknown_cf2f6 ; 1a
+ dbbw $00, $04, Unknown_cf21e ; 1b
+ dbbw $05, $0c, Unknown_cf2b6 ; 1c
+ dbbw $02, $04, Unknown_cf22e ; 1d
+ dbbw $06, $01, Unknown_cf736 ; 1e
+ dbbw $07, $01, Unknown_cf736 ; 1f
+ dbbw $08, $01, Unknown_cf736 ; 20
+ dbbw $04, $04, Unknown_cf21e ; 21
+ dbbw $09, $16, Unknown_cf3b6 ; 22
+ dbbw $04, $02, Unknown_cf20e ; 23
+ dbbw $06, $02, Unknown_cf20e ; 24
+ dbbw $0c, $01, Unknown_cf736 ; 25
+ dbbw $0a, $01, Unknown_cf736 ; 26
+ dbbw $0b, $04, Unknown_cf22e ; 27
+ dbbw $08, $04, Unknown_cf386 ; 28
+ dbbw $06, $04, Unknown_cf386 ; 29
+ dbbw $00, $05, Unknown_cf40e ; 2a
+ dbbw $03, $06, Unknown_cf422 ; 2b
+ dbbw $00, $07, Unknown_cf43a ; 2c
+ dbbw $03, $08, Unknown_cf456 ; 2d
+ dbbw $00, $09, Unknown_cf476 ; 2e
+ dbbw $00, $04, Unknown_cf49a ; 2f
+ dbbw $02, $04, Unknown_cf4aa ; 30
+ dbbw $04, $06, Unknown_cf4ba ; 31
+ dbbw $00, $02, Unknown_cf4da ; 32
+ dbbw $00, $07, Unknown_cf512 ; 33
+ dbbw $00, $0e, Unknown_cf4da ; 34
+ dbbw $00, $15, Unknown_cf512 ; 35
+ dbbw $00, $02, Unknown_cf566 ; 36
+ dbbw $00, $06, Unknown_cf566 ; 37
+ dbbw $00, $0a, Unknown_cf566 ; 38
+ dbbw $00, $0e, Unknown_cf566 ; 39
+ dbbw $00, $02, Unknown_cf59e ; 3a
+ dbbw $00, $06, Unknown_cf59e ; 3b
+ dbbw $00, $0a, Unknown_cf59e ; 3c
+ dbbw $00, $0e, Unknown_cf59e ; 3d
+ dbbw $00, $04, Unknown_cf5d6 ; 3e
+ dbbw $00, $10, Unknown_cf5d6 ; 3f
+ dbbw $00, $1a, Unknown_cf5d6 ; 40
+ dbbw $00, $1a, Unknown_cf63e ; 41
+ dbbw $0e, $04, Unknown_cf6a6 ; 42
+ dbbw $0e, $08, Unknown_cf6a6 ; 43
+ dbbw $0e, $04, Unknown_cf6c6 ; 44
+ dbbw $0e, $08, Unknown_cf6c6 ; 45
+ dbbw $0e, $04, Unknown_cf6e6 ; 46
+ dbbw $0e, $04, Unknown_cf6f6 ; 47
+ dbbw $00, $06, Unknown_cf706 ; 48
+ dbbw $03, $04, Unknown_cf71e ; 49
+ dbbw $03, $02, Unknown_cf72e ; 4a
+ dbbw $01, $05, Unknown_cf736 ; 4b
+ dbbw $01, $06, Unknown_cf74a ; 4c
+ dbbw $01, $07, Unknown_cf762 ; 4d
+ dbbw $01, $03, Unknown_cf762 ; 4e
+ dbbw $01, $08, Unknown_cf77e ; 4f
+ dbbw $01, $09, Unknown_cf79e ; 50
+ dbbw $01, $0a, Unknown_cf7c2 ; 51
+ dbbw $01, $06, Unknown_cf7c2 ; 52
+ dbbw $00, $09, Unknown_cf262 ; 53
+ dbbw $04, $04, Unknown_cf22e ; 54
+ dbbw $05, $04, Unknown_cf22e ; 55
+ dbbw $00, $02, Unknown_cf216 ; 56
+ dbbw $02, $02, Unknown_cf216 ; 57
+ dbbw $04, $02, Unknown_cf216 ; 58
+ dbbw $02, $04, Unknown_cf7ea ; 59
+ dbbw $02, $04, Unknown_cf7fa ; 5a
+ dbbw $02, $02, Unknown_cf376 ; 5b
+ dbbw $04, $02, Unknown_cf376 ; 5c
+ dbbw $06, $04, Unknown_cf396 ; 5d
+ dbbw $08, $02, Unknown_cf376 ; 5e
+ dbbw $09, $02, Unknown_cf376 ; 5f
+ dbbw $05, $02, Unknown_cf80a ; 60
+ dbbw $00, $02, Unknown_cf812 ; 61
+ dbbw $00, $05, Unknown_cf812 ; 62
+ dbbw $00, $09, Unknown_cf812 ; 63
+ dbbw $09, $09, Unknown_cf812 ; 64
+ dbbw $00, $04, Unknown_cf836 ; 65
+ dbbw $00, $07, Unknown_cf836 ; 66
+ dbbw $00, $09, Unknown_cf836 ; 67
+ dbbw $09, $09, Unknown_cf836 ; 68
+ dbbw $04, $01, Unknown_cf80e ; 69
+ dbbw $05, $02, Unknown_cf37e ; 6a
+ dbbw $06, $04, Unknown_cf21e ; 6b
+ dbbw $0a, $04, Unknown_cf21e ; 6c
+ dbbw $0e, $04, Unknown_cf21e ; 6d
+ dbbw $08, $05, Unknown_cf8f6 ; 6e
+ dbbw $0d, $03, Unknown_cf90a ; 6f
+ dbbw $01, $08, Unknown_cfa06 ; 70
+ dbbw $03, $08, Unknown_cfa06 ; 71
+ dbbw $05, $08, Unknown_cfa06 ; 72
+ dbbw $07, $08, Unknown_cfa06 ; 73
+ dbbw $06, $04, Unknown_cf22e ; 74
+ dbbw $07, $04, Unknown_cf22e ; 75
+ dbbw $0a, $02, Unknown_cf4d2 ; 76
+ dbbw $00, $01, Unknown_cf916 ; 77
+ dbbw $00, $03, Unknown_cf91a ; 78
+ dbbw $00, $06, Unknown_cf926 ; 79
+ dbbw $00, $09, Unknown_cf93e ; 7a
+ dbbw $00, $0c, Unknown_cf962 ; 7b
+ dbbw $00, $0e, Unknown_cf992 ; 7c
+ dbbw $00, $0f, Unknown_cf9ca ; 7d
+ dbbw $04, $04, Unknown_cf21e ; 7e
+ dbbw $08, $04, Unknown_cf21e ; 7f
+ dbbw $0d, $01, Unknown_cf736 ; 80
+ dbbw $0e, $04, Unknown_cfa26 ; 81
+ dbbw $10, $01, Unknown_cf736 ; 82
+ dbbw $11, $01, Unknown_cf736 ; 83
+ dbbw $04, $02, Unknown_cf37e ; 84
+ dbbw $05, $02, Unknown_cf37e ; 85
+ dbbw $0a, $04, Unknown_cf386 ; 86
+ dbbw $00, $08, Unknown_cfa36 ; 87
+ dbbw $00, $0c, Unknown_cfa76 ; 88
+ dbbw $00, $10, Unknown_cfa36 ; 89
+ dbbw $09, $02, Unknown_cfaa6 ; 8a
+ dbbw $09, $04, Unknown_cfaa6 ; 8b
+ dbbw $09, $06, Unknown_cfaa6 ; 8c
+ dbbw $09, $08, Unknown_cfaa6 ; 8d
+ dbbw $12, $05, Unknown_cfac6 ; 8e
+ dbbw $00, $04, Unknown_cfada ; 8f
+ dbbw $04, $04, Unknown_cfada ; 90
+ dbbw $08, $04, Unknown_cfada ; 91
+ dbbw $0c, $04, Unknown_cfada ; 92
+ dbbw $00, $06, Unknown_cfaea ; 93
+ dbbw $04, $04, Unknown_cf21e ; 94
+ dbbw $0a, $04, Unknown_cf386 ; 95
+ dbbw $15, $04, Unknown_cf4aa ; 96
+ dbbw $04, $04, Unknown_cf4aa ; 97
+ dbbw $0c, $04, Unknown_cf386 ; 98
+ dbbw $0a, $04, Unknown_cfb02 ; 99
+ dbbw $0c, $04, Unknown_cf21e ; 9a
+ dbbw $00, $24, Unknown_cfb12 ; 9b
+ dbbw $0d, $02, Unknown_cfba2 ; 9c
+ dbbw $0d, $04, Unknown_cfba2 ; 9d
+ dbbw $0d, $06, Unknown_cfba2 ; 9e
+ dbbw $02, $08, Unknown_cfbba ; 9f
+ dbbw $08, $07, Unknown_cfbda ; a0
+ dbbw $08, $05, Unknown_cfbda ; a1
+ dbbw $08, $03, Unknown_cfbda ; a2
+ dbbw $00, $10, Unknown_cf2b6 ; a3
+ dbbw $00, $09, Unknown_cfbf6 ; a4
+ dbbw $06, $09, Unknown_cfbf6 ; a5
+ dbbw $0c, $09, Unknown_cfbf6 ; a6
+ dbbw $12, $09, Unknown_cfbf6 ; a7
+ dbbw $18, $09, Unknown_cfbf6 ; a8
+ dbbw $1e, $09, Unknown_cfbf6 ; a9
+ dbbw $24, $09, Unknown_cfbf6 ; aa
+ dbbw $2a, $09, Unknown_cfbf6 ; ab
+ dbbw $03, $04, Unknown_cfc1a ; ac
+ dbbw $12, $04, Unknown_cf21e ; ad
+ dbbw $10, $04, Unknown_cf386 ; ae
+ dbbw $16, $01, Unknown_cf736 ; af
+ dbbw $17, $04, Unknown_cf22e ; b0
+ dbbw $18, $04, Unknown_cf21e ; b1
+ dbbw $1c, $04, Unknown_cf21e ; b2
+ dbbw $20, $03, Unknown_cf21e ; b3
+ dbbw $23, $04, Unknown_cf386 ; b4
+ dbbw $25, $03, Unknown_cf21e ; b5
+ dbbw $17, $04, Unknown_cf21e ; b6
+ dbbw $0a, $10, Unknown_cf2f6 ; b7
+ dbbw $10, $10, Unknown_cf2b6 ; b8
+ dbbw $00, $10, Unknown_cf2b6 ; b9
+ dbbw $04, $04, Unknown_cf21e ; ba
+ dbbw $08, $02, Unknown_cf20e ; bb
+ dbbw $20, $06, Unknown_cfc2a ; bc
+ dbbw $08, $01, Unknown_cf736 ; bd
+ dbbw $04, $04, Unknown_cf21e ; be
+ dbbw $1a, $04, Unknown_cf4aa ; bf
+ dbbw $16, $09, Unknown_cf262 ; c0
+ dbbw $10, $10, Unknown_cfc42 ; c1
+ dbbw $09, $06, Unknown_cfc82 ; c2
+ dbbw $11, $09, Unknown_cf23e ; c3
+ dbbw $0e, $04, Unknown_cf21e ; c4
+ dbbw $0b, $04, Unknown_cf4aa ; c5
+ dbbw $1c, $06, Unknown_cf22e ; c6
+ dbbw $20, $10, Unknown_cfc42 ; c7
+ dbbw $05, $06, Unknown_cfc9a ; c8
+ dbbw $0b, $04, Unknown_cf21e ; c9
+ dbbw $09, $04, Unknown_cfcb2 ; ca
+ dbbw $0b, $04, Unknown_cf386 ; cb
+ dbbw $11, $0d, Unknown_cfcc2 ; cc
+ dbbw $00, $09, Unknown_cf23e ; cd
+ dbbw $09, $09, Unknown_cf23e ; ce
+ dbbw $00, $0c, Unknown_cf286 ; cf
+ dbbw $06, $0c, Unknown_cf286 ; d0
+ dbbw $0c, $0c, Unknown_cf286 ; d1
+ dbbw $12, $0c, Unknown_cf286 ; d2
+ dbbw $00, $0d, Unknown_cfcc2 ; d3
+ dbbw $00, $07, Unknown_cf85a ; d4
+ dbbw $00, $06, Unknown_cf8ae ; d5
+ dbbw $00, $0e, Unknown_cf876 ; d6
+ dbbw $00, $0c, Unknown_cf8c6 ; d7
+; cf20e
+
+Unknown_cf20e:
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite 0, 0, -1, 4, $01, $00
+
+Unknown_cf216:
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $01, $00
+
+Unknown_cf21e:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
+
+Unknown_cf22e:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
+
+Unknown_cf23e:
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 4, $04, $00
+ dsprite -1, 4, 0, 4, $05, $00
+ dsprite 0, 4, -2, 4, $06, $00
+ dsprite 0, 4, -1, 4, $07, $00
+ dsprite 0, 4, 0, 4, $08, $00
+
+Unknown_cf262:
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $00, $20
+ dsprite -1, 4, -2, 4, $02, $00
+ dsprite -1, 4, -1, 4, $03, $00
+ dsprite -1, 4, 0, 4, $02, $60
+ dsprite 0, 4, -2, 4, $00, $40
+ dsprite 0, 4, -1, 4, $01, $60
+ dsprite 0, 4, 0, 4, $00, $60
+
+Unknown_cf286:
+ dsprite -2, 0, -2, 4, $00, $00
+ dsprite -2, 0, -1, 4, $01, $00
+ dsprite -2, 0, 0, 4, $02, $00
+ dsprite -1, 0, -2, 4, $03, $00
+ dsprite -1, 0, -1, 4, $04, $00
+ dsprite -1, 0, 0, 4, $05, $00
+ dsprite 0, 0, -2, 4, $05, $60
+ dsprite 0, 0, -1, 4, $04, $60
+ dsprite 0, 0, 0, 4, $03, $60
+ dsprite 1, 0, -2, 4, $02, $60
+ dsprite 1, 0, -1, 4, $01, $60
+ dsprite 1, 0, 0, 4, $00, $60
+
+Unknown_cf2b6:
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $03, $00
+ dsprite -1, 0, -2, 0, $04, $00
+ dsprite -1, 0, -1, 0, $05, $00
+ dsprite -1, 0, 0, 0, $06, $00
+ dsprite -1, 0, 1, 0, $07, $00
+ dsprite 0, 0, -2, 0, $08, $00
+ dsprite 0, 0, -1, 0, $09, $00
+ dsprite 0, 0, 0, 0, $0a, $00
+ dsprite 0, 0, 1, 0, $0b, $00
+ dsprite 1, 0, -2, 0, $0c, $00
+ dsprite 1, 0, -1, 0, $0d, $00
+ dsprite 1, 0, 0, 0, $0e, $00
+ dsprite 1, 0, 1, 0, $0f, $00
+
+Unknown_cf2f6:
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, 0, 0, $01, $20
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, 0, 0, $03, $20
+ dsprite -1, 0, 1, 0, $02, $20
+ dsprite 0, 0, -2, 0, $02, $40
+ dsprite 0, 0, -1, 0, $03, $40
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $01, $40
+ dsprite 0, 0, 0, 0, $03, $60
+ dsprite 0, 0, 1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
+
+Unknown_cf336:
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -3, 4, -2, 4, $01, $00
+ dsprite -2, 4, -3, 4, $02, $00
+ dsprite -2, 4, -2, 4, $03, $00
+ dsprite -3, 4, 0, 4, $01, $20
+ dsprite -3, 4, 1, 4, $00, $20
+ dsprite -2, 4, 0, 4, $03, $20
+ dsprite -2, 4, 1, 4, $02, $20
+ dsprite 0, 4, -3, 4, $02, $40
+ dsprite 0, 4, -2, 4, $03, $40
+ dsprite 1, 4, -3, 4, $00, $40
+ dsprite 1, 4, -2, 4, $01, $40
+ dsprite 0, 4, 0, 4, $03, $60
+ dsprite 0, 4, 1, 4, $02, $60
+ dsprite 1, 4, 0, 4, $01, $60
+ dsprite 1, 4, 1, 4, $00, $60
+
+Unknown_cf376:
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $00, $20
+
+Unknown_cf37e:
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $00, $20
+
+Unknown_cf386:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
+
+Unknown_cf396:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $01, $40
+
+Unknown_cf3a6:
+ dsprite -1, 2, -1, 0, $02, $00
+ dsprite 0, 2, -1, 0, $03, $00
+ dsprite -2, 6, 0, 0, $02, $00
+ dsprite -1, 6, 0, 0, $03, $00
+
+Unknown_cf3b6:
+ dsprite 1, 0, -11, 0, $01, $00
+ dsprite 0, 0, -10, 0, $02, $00
+ dsprite 0, 0, -9, 0, $03, $00
+ dsprite 0, 0, -8, 0, $00, $00
+ dsprite 0, 0, -7, 0, $03, $00
+ dsprite 0, 0, -6, 0, $00, $00
+ dsprite 0, 0, -5, 0, $03, $00
+ dsprite 0, 0, -4, 0, $00, $00
+ dsprite 0, 0, -3, 0, $03, $00
+ dsprite 0, 0, -2, 0, $00, $00
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+ dsprite -1, 0, 1, 0, $03, $00
+ dsprite -1, 0, 2, 0, $00, $00
+ dsprite -1, 0, 3, 0, $03, $00
+ dsprite -1, 0, 4, 0, $00, $00
+ dsprite -1, 0, 5, 0, $03, $00
+ dsprite -1, 0, 6, 0, $00, $00
+ dsprite -1, 0, 7, 0, $03, $00
+ dsprite -1, 0, 8, 0, $00, $00
+ dsprite -1, 0, 9, 0, $01, $00
+ dsprite -2, 0, 10, 0, $02, $00
+
+Unknown_cf40e:
+ dsprite -3, 4, -1, 0, $00, $00
+ dsprite -3, 4, 0, 0, $00, $20
+ dsprite -2, 4, -1, 0, $01, $00
+ dsprite -2, 4, 0, 0, $01, $20
+ dsprite -1, 4, -1, 4, $02, $00
+
+Unknown_cf422:
+ dsprite -4, 4, -1, 0, $00, $00
+ dsprite -4, 4, 0, 0, $00, $20
+ dsprite -3, 4, -1, 0, $01, $00
+ dsprite -3, 4, 0, 0, $01, $20
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+Unknown_cf43a:
+ dsprite -5, 4, -1, 0, $00, $00
+ dsprite -5, 4, 0, 0, $00, $20
+ dsprite -4, 4, -1, 0, $01, $00
+ dsprite -4, 4, 0, 0, $01, $20
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+Unknown_cf456:
+ dsprite -6, 4, -1, 0, $00, $00
+ dsprite -6, 4, 0, 0, $00, $20
+ dsprite -5, 4, -1, 0, $01, $00
+ dsprite -5, 4, 0, 0, $01, $20
+ dsprite -4, 4, -1, 4, $02, $00
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+Unknown_cf476:
+ dsprite -7, 4, -1, 0, $00, $00
+ dsprite -7, 4, 0, 0, $00, $20
+ dsprite -6, 4, -1, 0, $01, $00
+ dsprite -6, 4, 0, 0, $01, $20
+ dsprite -5, 4, -1, 4, $02, $00
+ dsprite -4, 4, -1, 4, $02, $00
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+Unknown_cf49a:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $00, $60
+
+Unknown_cf4aa:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $01, $60
+ dsprite 0, 0, 0, 0, $00, $60
+
+Unknown_cf4ba:
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $03, $00
+ dsprite 0, 4, -1, 0, $04, $00
+ dsprite 0, 4, 0, 0, $05, $00
+
+Unknown_cf4d2:
+ dsprite -1, 5, -1, 0, $00, $00
+ dsprite -1, 1, 0, 0, $00, $00
+
+Unknown_cf4da:
+ dsprite -1, 0, -2, 4, $00, $00
+ dsprite -1, 0, 0, 4, $00, $00
+ dsprite -3, 0, -2, 4, $00, $00
+ dsprite -3, 0, 0, 4, $00, $00
+ dsprite -2, 0, -3, 4, $00, $00
+ dsprite -2, 0, -2, 4, $01, $00
+ dsprite -2, 0, -1, 4, $00, $00
+ dsprite -2, 0, 0, 4, $01, $00
+ dsprite -2, 0, 1, 4, $00, $00
+ dsprite -1, 0, -4, 4, $00, $00
+ dsprite -1, 0, -3, 4, $01, $00
+ dsprite -1, 0, -1, 4, $01, $00
+ dsprite -1, 0, 1, 4, $01, $00
+ dsprite -1, 0, 2, 4, $00, $00
+
+Unknown_cf512:
+ dsprite -2, 0, -2, 4, $00, $00
+ dsprite -2, 0, 0, 4, $00, $00
+ dsprite -1, 0, -3, 4, $00, $00
+ dsprite -1, 0, -2, 4, $01, $00
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite -1, 0, 0, 4, $01, $00
+ dsprite -1, 0, 1, 4, $00, $00
+ dsprite -4, 0, -2, 4, $00, $00
+ dsprite -4, 0, 0, 4, $00, $00
+ dsprite -3, 0, -3, 4, $00, $00
+ dsprite -3, 0, -2, 4, $01, $00
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -3, 0, 0, 4, $01, $00
+ dsprite -3, 0, 1, 4, $00, $00
+ dsprite -2, 0, -4, 4, $00, $00
+ dsprite -2, 0, -3, 4, $01, $00
+ dsprite -2, 0, -1, 4, $01, $00
+ dsprite -2, 0, 1, 4, $01, $00
+ dsprite -2, 0, 2, 4, $00, $00
+ dsprite -1, 0, -4, 4, $01, $00
+ dsprite -1, 0, 2, 4, $01, $00
+
+Unknown_cf566:
+ dsprite -7, 4, -1, 0, $00, $00
+ dsprite -7, 4, 0, 0, $01, $00
+ dsprite -6, 4, -1, 0, $02, $00
+ dsprite -6, 4, 0, 0, $03, $00
+ dsprite -5, 4, -1, 0, $04, $00
+ dsprite -5, 4, 0, 0, $05, $00
+ dsprite -4, 4, -1, 0, $06, $00
+ dsprite -4, 4, 0, 0, $07, $00
+ dsprite -3, 4, -1, 0, $08, $00
+ dsprite -3, 4, 0, 0, $09, $00
+ dsprite -2, 4, -1, 0, $0a, $00
+ dsprite -2, 4, 0, 0, $0b, $00
+ dsprite -1, 4, -1, 0, $0c, $00
+ dsprite -1, 4, 0, 0, $0d, $00
+
+Unknown_cf59e:
+ dsprite -7, 4, -1, 0, $0c, $00
+ dsprite -7, 4, 0, 0, $0d, $00
+ dsprite -6, 4, -1, 0, $08, $00
+ dsprite -6, 4, 0, 0, $09, $00
+ dsprite -5, 4, -1, 0, $04, $00
+ dsprite -5, 4, 0, 0, $05, $00
+ dsprite -4, 4, -1, 0, $00, $00
+ dsprite -4, 4, 0, 0, $01, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $03, $00
+ dsprite -2, 4, 0, 0, $02, $00
+ dsprite -2, 4, 1, 0, $03, $00
+ dsprite -1, 4, 0, 0, $0a, $00
+ dsprite -1, 4, 1, 0, $0b, $00
+
+Unknown_cf5d6:
+ dsprite 1, 4, -2, 0, $00, $40
+ dsprite 1, 4, -1, 0, $02, $40
+ dsprite 1, 4, 0, 0, $02, $60
+ dsprite 1, 4, 1, 0, $00, $60
+ dsprite -1, 4, -3, 0, $09, $20
+ dsprite -1, 4, -2, 0, $08, $20
+ dsprite -1, 4, -1, 0, $06, $00
+ dsprite -1, 4, 0, 0, $07, $00
+ dsprite -1, 4, 1, 0, $08, $00
+ dsprite -1, 4, 2, 0, $09, $00
+ dsprite 0, 4, -3, 0, $01, $20
+ dsprite 0, 4, -2, 0, $00, $20
+ dsprite 0, 4, -1, 0, $0c, $00
+ dsprite 0, 4, 0, 0, $0d, $00
+ dsprite 0, 4, 1, 0, $00, $00
+ dsprite 0, 4, 2, 0, $01, $00
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $02, $20
+ dsprite -3, 4, 1, 0, $00, $20
+ dsprite -2, 4, -3, 0, $03, $20
+ dsprite -2, 4, -2, 0, $02, $20
+ dsprite -2, 4, -1, 0, $04, $00
+ dsprite -2, 4, 0, 0, $05, $00
+ dsprite -2, 4, 1, 0, $02, $00
+ dsprite -2, 4, 2, 0, $03, $00
+
+Unknown_cf63e:
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $02, $20
+ dsprite -3, 4, 1, 0, $00, $20
+ dsprite -2, 4, -3, 4, $00, $00
+ dsprite -2, 4, -2, 4, $01, $00
+ dsprite -2, 4, -1, 0, $05, $20
+ dsprite -2, 4, 0, 0, $04, $20
+ dsprite -2, 4, 0, 4, $01, $20
+ dsprite -2, 4, 1, 4, $00, $20
+ dsprite -1, 4, -3, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 0, $07, $20
+ dsprite -1, 4, 0, 0, $06, $20
+ dsprite -1, 4, 0, 4, $03, $20
+ dsprite -1, 4, 1, 4, $02, $20
+ dsprite 0, 4, -3, 4, $04, $00
+ dsprite 0, 4, -2, 4, $05, $00
+ dsprite 0, 4, -1, 0, $0d, $20
+ dsprite 0, 4, 0, 0, $0c, $20
+ dsprite 0, 4, 0, 4, $05, $20
+ dsprite 0, 4, 1, 4, $04, $20
+ dsprite 1, 4, -2, 0, $00, $40
+ dsprite 1, 4, -1, 0, $02, $40
+ dsprite 1, 4, 0, 0, $02, $60
+ dsprite 1, 4, 1, 0, $00, $60
+
+Unknown_cf6a6:
+ dsprite -3, 0, -1, 4, $02, $00
+ dsprite 2, 0, -1, 4, $02, $60
+ dsprite -1, 4, -3, 0, $01, $00
+ dsprite -1, 4, 2, 0, $01, $60
+ dsprite -4, 0, -1, 4, $02, $00
+ dsprite 3, 0, -1, 4, $02, $60
+ dsprite -1, 4, -4, 0, $01, $00
+ dsprite -1, 4, 3, 0, $01, $60
+
+Unknown_cf6c6:
+ dsprite -3, 5, -3, 5, $00, $20
+ dsprite -3, 5, 1, 3, $00, $00
+ dsprite 1, 3, -3, 5, $00, $60
+ dsprite 1, 3, 1, 3, $00, $40
+ dsprite -4, 5, -4, 5, $00, $20
+ dsprite -4, 5, 2, 3, $00, $00
+ dsprite 2, 3, -4, 5, $00, $60
+ dsprite 2, 3, 2, 3, $00, $40
+
+Unknown_cf6e6:
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite 1, 4, -1, 4, $02, $60
+ dsprite -1, 4, -3, 4, $01, $00
+ dsprite -1, 4, 1, 4, $01, $60
+
+Unknown_cf6f6:
+ dsprite -2, 0, -2, 0, $00, $20
+ dsprite -2, 0, 1, 0, $00, $00
+ dsprite 1, 0, -2, 0, $00, $60
+ dsprite 1, 0, 1, 0, $00, $40
+
+Unknown_cf706:
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -2, 0, -1, 2, $00, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 1, 0, -1, 2, $00, $00
+ dsprite 2, 0, -1, 4, $00, $00
+
+Unknown_cf71e:
+ dsprite -1, 4, -2, 0, $00, $20
+ dsprite -1, 2, -1, 0, $00, $20
+ dsprite -1, 2, 0, 0, $00, $00
+ dsprite -1, 4, 1, 0, $00, $00
+
+Unknown_cf72e:
+ dsprite -1, 4, -1, 0, $00, $60
+ dsprite -1, 4, 0, 0, $00, $40
+
+Unknown_cf736:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, -2, 4, $01, $00
+ dsprite -1, 4, -1, 4, $01, $20
+ dsprite 0, 4, -2, 4, $01, $40
+ dsprite 0, 4, -1, 4, $01, $60
+
+Unknown_cf74a:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 0, 2, -3, 6, $01, $00
+ dsprite 0, 2, -2, 6, $01, $20
+ dsprite 1, 2, -3, 6, $01, $40
+ dsprite 1, 2, -2, 6, $01, $60
+
+Unknown_cf762:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 0, -3, 0, $01, $00
+ dsprite 1, 0, -2, 0, $01, $20
+ dsprite 2, 0, -3, 0, $01, $40
+ dsprite 2, 0, -2, 0, $01, $60
+
+Unknown_cf77e:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 1, 6, -4, 2, $01, $00
+ dsprite 1, 6, -3, 2, $01, $20
+ dsprite 2, 6, -4, 2, $01, $40
+ dsprite 2, 6, -3, 2, $01, $60
+
+Unknown_cf79e:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 2, 4, -4, 4, $00, $00
+ dsprite 2, 4, -5, 4, $01, $00
+ dsprite 2, 4, -4, 4, $01, $20
+ dsprite 3, 4, -5, 4, $01, $40
+ dsprite 3, 4, -4, 4, $01, $60
+
+Unknown_cf7c2:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 2, 4, -4, 4, $00, $00
+ dsprite 3, 2, -5, 6, $00, $00
+ dsprite 3, 2, -6, 6, $01, $00
+ dsprite 3, 2, -5, 6, $01, $20
+ dsprite 4, 2, -6, 6, $01, $40
+ dsprite 4, 2, -5, 6, $01, $60
+
+Unknown_cf7ea:
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $00, $20
+
+Unknown_cf7fa:
+ dsprite -1, 4, -2, 0, $02, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $02, $20
+
+Unknown_cf80a:
+ dsprite -1, 0, -1, 4, $00, $00
+
+Unknown_cf80e:
+ dsprite 0, 0, -1, 4, $00, $00
+
+Unknown_cf812:
+ dsprite -1, 4, -4, 4, $00, $00
+ dsprite -1, 4, -3, 4, $01, $00
+ dsprite -1, 4, -2, 4, $02, $00
+ dsprite -1, 4, -1, 4, $03, $00
+ dsprite -1, 4, 0, 4, $04, $00
+ dsprite -1, 4, 1, 4, $05, $00
+ dsprite -1, 4, 2, 4, $06, $00
+ dsprite -2, 4, 1, 4, $07, $00
+ dsprite -2, 4, 2, 4, $08, $00
+
+Unknown_cf836:
+ dsprite -2, 4, -4, 4, $08, $20
+ dsprite -2, 4, -3, 4, $07, $20
+ dsprite -1, 4, -4, 4, $06, $20
+ dsprite -1, 4, -3, 4, $05, $20
+ dsprite -1, 4, -2, 4, $04, $20
+ dsprite -1, 4, -1, 4, $03, $20
+ dsprite -1, 4, 0, 4, $02, $20
+ dsprite -1, 4, 1, 4, $01, $20
+ dsprite -1, 4, 2, 4, $00, $20
+
+Unknown_cf85a:
+ dsprite 0, 0, -4, 4, $00, $10
+ dsprite 0, 0, -3, 4, $01, $10
+ dsprite 0, 0, -2, 4, $02, $10
+ dsprite 0, 0, -1, 4, $03, $10
+ dsprite 0, 0, 0, 4, $04, $10
+ dsprite 0, 0, 1, 4, $05, $10
+ dsprite 0, 0, 2, 4, $06, $10
+
+Unknown_cf876:
+ dsprite -1, 0, -4, 4, $00, $10
+ dsprite 0, 0, -4, 4, $01, $10
+ dsprite -1, 0, -3, 4, $02, $10
+ dsprite 0, 0, -3, 4, $03, $10
+ dsprite -1, 0, -2, 4, $04, $10
+ dsprite 0, 0, -2, 4, $05, $10
+ dsprite -1, 0, -1, 4, $06, $10
+ dsprite 0, 0, -1, 4, $07, $10
+ dsprite -1, 0, 0, 4, $08, $10
+ dsprite 0, 0, 0, 4, $09, $10
+ dsprite -1, 0, 1, 4, $0a, $10
+ dsprite 0, 0, 1, 4, $0b, $10
+ dsprite -1, 0, 2, 4, $0c, $10
+ dsprite 0, 0, 2, 4, $0d, $10
+
+Unknown_cf8ae:
+ dsprite 0, 0, -3, 0, $00, $11
+ dsprite 0, 0, -2, 0, $01, $11
+ dsprite 0, 0, -1, 0, $02, $11
+ dsprite 0, 0, 0, 0, $03, $11
+ dsprite 0, 0, 1, 0, $04, $11
+ dsprite 0, 0, 2, 0, $05, $11
+
+Unknown_cf8c6:
+ dsprite 0, 0, -3, 0, $00, $11
+ dsprite 1, 0, -3, 0, $01, $11
+ dsprite 0, 0, -2, 0, $02, $11
+ dsprite 1, 0, -2, 0, $03, $11
+ dsprite 0, 0, -1, 0, $04, $11
+ dsprite 1, 0, -1, 0, $05, $11
+ dsprite 0, 0, 0, 0, $06, $11
+ dsprite 1, 0, 0, 0, $07, $11
+ dsprite 0, 0, 1, 0, $08, $11
+ dsprite 1, 0, 1, 0, $09, $11
+ dsprite 0, 0, 2, 0, $0a, $11
+ dsprite 1, 0, 2, 0, $0b, $11
+
+Unknown_cf8f6:
+ dsprite -2, 4, 0, 4, $00, $00
+ dsprite -1, 4, -2, 4, $01, $00
+ dsprite -1, 4, -1, 4, $02, $00
+ dsprite -1, 4, 0, 4, $03, $00
+ dsprite 0, 4, -2, 4, $04, $00
+
+Unknown_cf90a:
+ dsprite -1, 4, -2, 4, $00, $00
+ dsprite -1, 4, -1, 4, $01, $00
+ dsprite -1, 4, 0, 4, $02, $00
+
+Unknown_cf916:
+ dsprite -4, 4, 1, 4, $01, $60
+
+Unknown_cf91a:
+ dsprite -4, 4, 1, 4, $00, $00
+ dsprite -4, 4, 0, 4, $01, $60
+ dsprite -3, 4, 1, 4, $01, $60
+
+Unknown_cf926:
+ dsprite -4, 4, 1, 4, $01, $00
+ dsprite -4, 4, 0, 4, $00, $00
+ dsprite -4, 4, -1, 4, $01, $60
+ dsprite -3, 4, 1, 4, $00, $00
+ dsprite -3, 4, 0, 4, $01, $60
+ dsprite -2, 4, 1, 4, $01, $60
+
+Unknown_cf93e:
+ dsprite -4, 4, -2, 4, $01, $60
+ dsprite -4, 4, -1, 4, $00, $00
+ dsprite -4, 4, 0, 4, $01, $00
+ dsprite -3, 4, -1, 4, $01, $60
+ dsprite -3, 4, 0, 4, $00, $00
+ dsprite -3, 4, 1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $01, $60
+ dsprite -2, 4, 1, 4, $00, $00
+ dsprite -1, 4, 1, 4, $01, $60
+
+Unknown_cf962:
+ dsprite -4, 4, -3, 4, $01, $60
+ dsprite -4, 4, -2, 4, $00, $00
+ dsprite -4, 4, -1, 4, $01, $00
+ dsprite -3, 4, -2, 4, $01, $60
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite -3, 4, 0, 4, $01, $00
+ dsprite -2, 4, -1, 4, $01, $60
+ dsprite -2, 4, 0, 4, $00, $00
+ dsprite -2, 4, 1, 4, $01, $00
+ dsprite -1, 4, 0, 4, $01, $60
+ dsprite -1, 4, 1, 4, $00, $00
+ dsprite 0, 4, 1, 4, $01, $60
+
+Unknown_cf992:
+ dsprite -4, 4, -3, 4, $00, $00
+ dsprite -4, 4, -2, 4, $01, $00
+ dsprite -3, 4, -3, 4, $01, $60
+ dsprite -3, 4, -2, 4, $00, $00
+ dsprite -3, 4, -1, 4, $01, $00
+ dsprite -2, 4, -2, 4, $01, $60
+ dsprite -2, 4, -1, 4, $00, $00
+ dsprite -2, 4, 0, 4, $01, $00
+ dsprite -1, 4, -1, 4, $01, $60
+ dsprite -1, 4, 0, 4, $00, $00
+ dsprite -1, 4, 1, 4, $01, $00
+ dsprite 0, 4, 0, 4, $01, $60
+ dsprite 0, 4, 1, 4, $00, $00
+ dsprite 1, 4, 1, 4, $01, $60
+
+Unknown_cf9ca:
+ dsprite -4, 4, -3, 4, $01, $00
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -3, 4, -2, 4, $01, $00
+ dsprite -2, 4, -3, 4, $01, $60
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -1, 4, -2, 4, $01, $60
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, 0, 4, $01, $00
+ dsprite 0, 4, -1, 4, $01, $60
+ dsprite 0, 4, 0, 4, $00, $00
+ dsprite 0, 4, 1, 4, $01, $00
+ dsprite 1, 4, 0, 4, $01, $60
+ dsprite 1, 4, 1, 4, $00, $00
+ dsprite 2, 4, 1, 4, $01, $60
+
+Unknown_cfa06:
+ dsprite -2, 0, -1, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $00, $20
+ dsprite -1, 0, 0, 0, $01, $20
+ dsprite 0, 0, -1, 0, $01, $40
+ dsprite 1, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $01, $60
+ dsprite 1, 0, 0, 0, $00, $60
+
+Unknown_cfa26:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $01, $60
+ dsprite 0, 0, 0, 0, $00, $60
+
+Unknown_cfa36:
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $03, $00
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $01, $00
+ dsprite 0, 4, -1, 0, $02, $00
+ dsprite 0, 4, 0, 0, $03, $00
+ dsprite -3, 4, -1, 0, $00, $00
+ dsprite -3, 4, 0, 0, $01, $00
+ dsprite -2, 4, -1, 0, $02, $00
+ dsprite -2, 4, 0, 0, $03, $00
+ dsprite 0, 4, -1, 0, $00, $00
+ dsprite 0, 4, 0, 0, $01, $00
+ dsprite 1, 4, -1, 0, $02, $00
+ dsprite 1, 4, 0, 0, $03, $00
+
+Unknown_cfa76:
+ dsprite -2, 0, -1, 0, $00, $00
+ dsprite -2, 0, 0, 0, $01, $00
+ dsprite -1, 0, -1, 0, $02, $00
+ dsprite -1, 0, 0, 0, $03, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $01, $00
+ dsprite 1, 0, -1, 0, $02, $00
+ dsprite 1, 0, 0, 0, $03, $00
+
+Unknown_cfaa6:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 0, 0, 4, $00, $00
+ dsprite -2, 4, 1, 4, $00, $00
+ dsprite -2, 0, 2, 4, $00, $00
+ dsprite -3, 4, 3, 4, $00, $00
+ dsprite -3, 0, 4, 4, $00, $00
+ dsprite -4, 0, 5, 4, $00, $00
+ dsprite -5, 4, 6, 4, $00, $00
+
+Unknown_cfac6:
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -1, 4, -1, 4, $02, $00
+ dsprite 0, 4, -1, 4, $01, $40
+ dsprite 1, 4, -1, 4, $00, $40
+
+Unknown_cfada:
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $02, $00
+ dsprite -1, 4, 1, 0, $03, $00
+
+Unknown_cfaea:
+ dsprite -1, 0, -2, 4, $00, $00
+ dsprite -1, 0, -1, 4, $01, $00
+ dsprite -1, 0, 0, 4, $02, $00
+ dsprite 0, 0, -2, 4, $03, $00
+ dsprite 0, 0, -1, 4, $04, $00
+ dsprite 0, 0, 0, 4, $05, $00
+
+Unknown_cfb02:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $05, $00
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $05, $00
+
+Unknown_cfb12:
+ dsprite -4, 4, 1, 0, $00, $00
+ dsprite -4, 4, 2, 0, $01, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $03, $00
+ dsprite -3, 4, 1, 0, $04, $00
+ dsprite -3, 4, 2, 0, $05, $00
+ dsprite -3, 4, 3, 0, $06, $00
+ dsprite -2, 4, -2, 0, $07, $00
+ dsprite -2, 4, -1, 0, $08, $00
+ dsprite -2, 4, 0, 0, $09, $00
+ dsprite -2, 4, 1, 0, $0a, $00
+ dsprite -2, 4, 2, 0, $0b, $00
+ dsprite -2, 4, 3, 0, $0c, $00
+ dsprite -2, 4, 4, 0, $0d, $00
+ dsprite -1, 4, -3, 0, $0e, $00
+ dsprite -1, 4, -2, 0, $0f, $00
+ dsprite -1, 4, -1, 0, $10, $00
+ dsprite -1, 4, 0, 0, $11, $00
+ dsprite -1, 4, 1, 0, $12, $00
+ dsprite -1, 4, 2, 0, $13, $00
+ dsprite 0, 4, -5, 0, $14, $00
+ dsprite 0, 4, -4, 0, $15, $00
+ dsprite 0, 4, -3, 0, $16, $00
+ dsprite 0, 4, -2, 0, $17, $00
+ dsprite 0, 4, -1, 0, $18, $00
+ dsprite 0, 4, 0, 0, $19, $00
+ dsprite 0, 4, 1, 0, $1a, $00
+ dsprite 0, 4, 2, 0, $1b, $00
+ dsprite 0, 4, 3, 0, $1c, $00
+ dsprite 1, 4, -5, 0, $1d, $00
+ dsprite 1, 4, -4, 0, $1e, $00
+ dsprite 1, 4, -2, 0, $1f, $00
+ dsprite 1, 4, -1, 0, $20, $00
+ dsprite 1, 4, 0, 0, $21, $00
+ dsprite 1, 4, 1, 0, $22, $00
+ dsprite 2, 4, 0, 0, $23, $00
+
+Unknown_cfba2:
+ dsprite 0, 4, -1, 0, $02, $00
+ dsprite 0, 4, 0, 0, $03, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $00, $20
+
+Unknown_cfbba:
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+ dsprite -1, 0, 1, 0, $03, $00
+ dsprite 0, 0, -2, 0, $04, $00
+ dsprite 0, 0, -1, 0, $05, $00
+ dsprite 0, 0, 0, 0, $06, $00
+ dsprite 0, 0, 1, 0, $07, $00
+
+Unknown_cfbda:
+ dsprite -2, 4, -1, 4, $00, $00
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 4, -1, 4, $00, $00
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite 1, 4, -1, 4, $00, $00
+ dsprite -4, 4, -1, 4, $00, $00
+ dsprite 2, 4, -1, 4, $00, $00
+
+Unknown_cfbf6:
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 4, $04, $00
+ dsprite -1, 4, 0, 4, $05, $00
+ dsprite 0, 4, -2, 4, $00, $40
+ dsprite 0, 4, -1, 4, $01, $40
+ dsprite 0, 4, 0, 4, $02, $40
+
+Unknown_cfc1a:
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $00, $20
+
+Unknown_cfc2a:
+ dsprite -1, 4, -3, 0, $00, $00
+ dsprite -1, 4, -2, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $02, $20
+ dsprite -1, 4, 1, 0, $01, $20
+ dsprite -1, 4, 2, 0, $00, $20
+
+Unknown_cfc42:
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, -2, 0, $03, $00
+ dsprite -1, 0, -1, 0, $04, $00
+ dsprite -1, 0, 0, 0, $04, $20
+ dsprite -1, 0, 1, 0, $05, $00
+ dsprite 0, 0, -2, 0, $05, $60
+ dsprite 0, 0, -1, 0, $04, $40
+ dsprite 0, 0, 0, 0, $04, $60
+ dsprite 0, 0, 1, 0, $03, $60
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
+
+Unknown_cfc82:
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $00, $60
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $01, $00
+ dsprite 0, 0, 1, 0, $00, $60
+
+Unknown_cfc9a:
+ dsprite -1, 0, 1, 4, $00, $00
+ dsprite -1, 0, 2, 4, $01, $00
+ dsprite 0, 0, -1, 4, $02, $00
+ dsprite 0, 0, 0, 4, $03, $00
+ dsprite 0, 0, 1, 4, $04, $00
+ dsprite 0, 0, 2, 4, $05, $00
+
+Unknown_cfcb2:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $60
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
+
+Unknown_cfcc2:
+ dsprite -2, 0, -13, 4, $00, $00
+ dsprite -4, 0, -11, 4, $00, $00
+ dsprite -1, 0, -9, 4, $00, $00
+ dsprite -5, 0, -7, 4, $00, $00
+ dsprite -3, 0, -5, 4, $00, $00
+ dsprite -5, 0, -3, 4, $00, $00
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -3, 0, 0, 4, $00, $00
+ dsprite -5, 0, 2, 4, $00, $00
+ dsprite 0, 0, 4, 4, $00, $00
+ dsprite -2, 0, 6, 4, $00, $00
+ dsprite -4, 0, 8, 4, $00, $00
+ dsprite -2, 0, 10, 4, $00, $00
+; cfcf6