summaryrefslogtreecommitdiff
path: root/battle/objects/functions.asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2015-12-23 17:10:50 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2015-12-23 17:10:50 -0500
commit8152ab612c0405d9e0074b7d51c9785e0dd3bc95 (patch)
tree3c7969ce1093e425989515c616950efbc9808f86 /battle/objects/functions.asm
parent3893feb835ef4959b77148668da90aaed3189b00 (diff)
Battle anims
Diffstat (limited to 'battle/objects/functions.asm')
-rwxr-xr-xbattle/objects/functions.asm4260
1 files changed, 4260 insertions, 0 deletions
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