shithub: pokered

Download patch

ref: cd71ae03af9e75235c8035821700dd6dc6b69616
parent: d44c7c305c3f94b59e3e2c008408779836a0020a
author: Rangi <remy.oukaour+rangi42@gmail.com>
date: Thu Jul 16 15:50:48 EDT 2020

Separate move/battle animation data from move data (to do: further identify animation data labels+constants)

diff: cannot open b/data/battle_anims//null: file does not exist: 'b/data/battle_anims//null'
--- /dev/null
+++ b/data/battle_anims/frame_blocks.asm
@@ -1,0 +1,1421 @@
+FrameBlockPointers:
+	dw FrameBlock00
+	dw FrameBlock01
+	dw FrameBlock02
+	dw FrameBlock03
+	dw FrameBlock04
+	dw FrameBlock05
+	dw FrameBlock06
+	dw FrameBlock07
+	dw FrameBlock08
+	dw FrameBlock09
+	dw FrameBlock0a
+	dw FrameBlock0b
+	dw FrameBlock0c
+	dw FrameBlock0d
+	dw FrameBlock0e
+	dw FrameBlock0f
+	dw FrameBlock10
+	dw FrameBlock11
+	dw FrameBlock12
+	dw FrameBlock13
+	dw FrameBlock14
+	dw FrameBlock15
+	dw FrameBlock16
+	dw FrameBlock17
+	dw FrameBlock18
+	dw FrameBlock19
+	dw FrameBlock1a
+	dw FrameBlock1b
+	dw FrameBlock1c
+	dw FrameBlock1d
+	dw FrameBlock1e
+	dw FrameBlock1f
+	dw FrameBlock20
+	dw FrameBlock21
+	dw FrameBlock22
+	dw FrameBlock23
+	dw FrameBlock24
+	dw FrameBlock25
+	dw FrameBlock26
+	dw FrameBlock27
+	dw FrameBlock28
+	dw FrameBlock29
+	dw FrameBlock2a
+	dw FrameBlock2b
+	dw FrameBlock2c
+	dw FrameBlock2d
+	dw FrameBlock2e
+	dw FrameBlock2f
+	dw FrameBlock30
+	dw FrameBlock31
+	dw FrameBlock32
+	dw FrameBlock33
+	dw FrameBlock34
+	dw FrameBlock35
+	dw FrameBlock36
+	dw FrameBlock37
+	dw FrameBlock38
+	dw FrameBlock39
+	dw FrameBlock3a
+	dw FrameBlock3b
+	dw FrameBlock3c
+	dw FrameBlock3d
+	dw FrameBlock3e
+	dw FrameBlock3f
+	dw FrameBlock40
+	dw FrameBlock41
+	dw FrameBlock42
+	dw FrameBlock43
+	dw FrameBlock44
+	dw FrameBlock45
+	dw FrameBlock46
+	dw FrameBlock47
+	dw SmallBlackCircleFrameBlock
+	dw LargeBlockCircleFrameBlock
+	dw FrameBlock4a
+	dw FrameBlock4b
+	dw FrameBlock4c
+	dw FrameBlock4d
+	dw FrameBlock4e
+	dw FrameBlock4f
+	dw FrameBlock50
+	dw FrameBlock51
+	dw FrameBlock52
+	dw FrameBlock53
+	dw FrameBlock54
+	dw FrameBlock55
+	dw FrameBlock56
+	dw FrameBlock57
+	dw FrameBlock58
+	dw FrameBlock59
+	dw FrameBlock5a
+	dw FrameBlock5b
+	dw FrameBlock5c
+	dw FrameBlock5d
+	dw FrameBlock5e
+	dw FrameBlock5f
+	dw FrameBlock60
+	dw FrameBlock61
+	dw FrameBlock62
+	dw FrameBlock63
+	dw FrameBlock64
+	dw FrameBlock65
+	dw FrameBlock66
+	dw FrameBlock67
+	dw FrameBlock68
+	dw FrameBlock69
+	dw FrameBlock6a
+	dw FrameBlock6b
+	dw FrameBlock6c
+	dw FrameBlock6d
+	dw FrameBlock6e
+	dw FrameBlock6f
+	dw FrameBlock70
+	dw FrameBlock71
+	dw FrameBlock72
+	dw FrameBlock73
+	dw FrameBlock74
+	dw FrameBlock75
+	dw FrameBlock76
+	dw FrameBlock77
+	dw FrameBlock78
+	dw FrameBlock79
+
+; FrameBlock format is as follows:
+; first byte = number of tiles in FrameBlock
+;
+; Next, each group of 4 bytes describes a tile in the FrameBlock
+; first byte = y offset
+; second byte = x offset
+; third byte = tile id (it's actually tile id - $31)
+; fourth byte = tile properties (xflip/yflip/etc.)
+FrameBlock01:
+	db $09
+	db $00, $00, $2c, $00
+	db $00, $08, $2d, $00
+	db $00, $10, $2c, $20
+	db $08, $00, $3c, $00
+	db $08, $08, $3d, $00
+	db $08, $10, $3c, $20
+	db $10, $00, $2c, $40
+	db $10, $08, $2d, $40
+	db $10, $10, $2c, $60
+
+FrameBlock02:
+	db $10
+	db $00, $00, $20, $00
+	db $00, $08, $21, $00
+	db $00, $10, $21, $20
+	db $00, $18, $20, $20
+	db $08, $00, $30, $00
+	db $08, $08, $31, $00
+	db $08, $10, $31, $20
+	db $08, $18, $30, $20
+	db $10, $00, $30, $40
+	db $10, $08, $31, $40
+	db $10, $10, $31, $60
+	db $10, $18, $30, $60
+	db $18, $00, $20, $40
+	db $18, $08, $21, $40
+	db $18, $10, $21, $60
+	db $18, $18, $20, $60
+
+FrameBlock03:
+	db $04
+	db $00, $00, $02, $00
+	db $00, $08, $02, $20
+	db $08, $00, $12, $00
+	db $08, $08, $12, $20
+
+FrameBlock04:
+	db $04
+	db $00, $00, $06, $00
+	db $00, $08, $07, $00
+	db $08, $00, $16, $00
+	db $08, $08, $17, $00
+
+FrameBlock05:
+	db $04
+	db $00, $00, $07, $20
+	db $00, $08, $06, $20
+	db $08, $00, $17, $20
+	db $08, $08, $16, $20
+
+FrameBlock06:
+	db $0c
+	db $00, $08, $23, $00
+	db $08, $00, $32, $00
+	db $08, $08, $33, $00
+	db $00, $10, $23, $20
+	db $08, $10, $33, $20
+	db $08, $18, $32, $20
+	db $10, $00, $32, $40
+	db $10, $08, $33, $40
+	db $18, $08, $23, $40
+	db $10, $10, $33, $60
+	db $10, $18, $32, $60
+	db $18, $10, $23, $60
+
+FrameBlock07:
+	db $10
+	db $00, $00, $20, $00
+	db $00, $08, $21, $00
+	db $08, $00, $30, $00
+	db $08, $08, $31, $00
+	db $00, $10, $21, $20
+	db $00, $18, $20, $20
+	db $08, $10, $31, $20
+	db $08, $18, $30, $20
+	db $10, $00, $30, $40
+	db $10, $08, $31, $40
+	db $18, $00, $20, $40
+	db $18, $08, $21, $40
+	db $10, $10, $31, $60
+	db $10, $18, $30, $60
+	db $18, $10, $21, $60
+	db $18, $18, $20, $60
+
+FrameBlock08:
+	db $10
+	db $00, $00, $20, $00
+	db $00, $08, $21, $00
+	db $08, $00, $30, $00
+	db $08, $08, $31, $00
+	db $00, $18, $21, $20
+	db $00, $20, $20, $20
+	db $08, $18, $31, $20
+	db $08, $20, $30, $20
+	db $18, $00, $30, $40
+	db $18, $08, $31, $40
+	db $20, $00, $20, $40
+	db $20, $08, $21, $40
+	db $18, $18, $31, $60
+	db $18, $20, $30, $60
+	db $20, $18, $21, $60
+	db $20, $20, $20, $60
+
+FrameBlock09:
+	db $0c
+	db $00, $00, $24, $00
+	db $00, $08, $25, $00
+	db $08, $00, $34, $00
+	db $00, $18, $25, $20
+	db $00, $20, $24, $20
+	db $08, $20, $34, $20
+	db $18, $00, $34, $40
+	db $20, $00, $24, $40
+	db $20, $08, $25, $40
+	db $18, $20, $34, $60
+	db $20, $18, $25, $60
+	db $20, $20, $24, $60
+
+FrameBlock0a:
+	db $0c
+	db $00, $00, $24, $00
+	db $00, $08, $25, $00
+	db $08, $00, $34, $00
+	db $00, $20, $25, $20
+	db $00, $28, $24, $20
+	db $08, $28, $34, $20
+	db $20, $00, $34, $40
+	db $28, $00, $24, $40
+	db $28, $08, $25, $40
+	db $20, $28, $34, $60
+	db $28, $20, $25, $60
+	db $28, $28, $24, $60
+
+FrameBlock0b:
+	db $04
+	db $00, $00, $05, $00
+	db $00, $08, $05, $20
+	db $08, $00, $15, $00
+	db $08, $08, $15, $20
+
+FrameBlock0c:
+	db $04
+	db $00, $00, $04, $00
+	db $00, $08, $04, $20
+	db $08, $00, $14, $00
+	db $08, $08, $14, $20
+
+FrameBlock0d:
+	db $08
+	db $00, $00, $0c, $00
+	db $00, $08, $0d, $00
+	db $08, $00, $1c, $00
+	db $08, $08, $1d, $00
+	db $10, $00, $1d, $60
+	db $10, $08, $1c, $60
+	db $18, $00, $0d, $60
+	db $18, $08, $0c, $60
+
+FrameBlock0e:
+	db $04
+	db $20, $00, $0c, $00
+	db $20, $08, $0d, $00
+	db $28, $00, $1c, $00
+	db $28, $08, $1d, $00
+
+FrameBlock0f:
+	db $04
+	db $30, $00, $1d, $60
+	db $30, $08, $1c, $60
+	db $38, $00, $0d, $60
+	db $38, $08, $0c, $60
+
+FrameBlock10:
+	db $08
+	db $00, $00, $0e, $00
+	db $00, $08, $0f, $00
+	db $08, $00, $1e, $00
+	db $08, $08, $1f, $00
+	db $00, $10, $0f, $20
+	db $00, $18, $0e, $20
+	db $08, $10, $1f, $20
+	db $08, $18, $1e, $20
+
+FrameBlock11:
+	db $08
+	db $00, $00, $0e, $00
+	db $00, $08, $0f, $00
+	db $08, $00, $1e, $00
+	db $08, $08, $1f, $00
+	db $00, $20, $0f, $20
+	db $00, $28, $0e, $20
+	db $08, $20, $1f, $20
+	db $08, $28, $1e, $20
+
+FrameBlock12:
+	db $03
+	db $00, $00, $37, $00
+	db $08, $10, $37, $00
+	db $00, $20, $37, $00
+
+FrameBlock13:
+	db $04
+	db $00, $00, $36, $00
+	db $00, $08, $36, $20
+	db $08, $00, $36, $40
+	db $08, $08, $36, $60
+
+FrameBlock14:
+	db $08
+	db $00, $10, $28, $00
+	db $00, $18, $28, $20
+	db $08, $10, $38, $00
+	db $08, $18, $38, $20
+	db $00, $20, $36, $00
+	db $00, $28, $36, $20
+	db $08, $20, $36, $40
+	db $08, $28, $36, $60
+
+FrameBlock15:
+	db $0c
+	db $00, $00, $28, $00
+	db $00, $08, $28, $20
+	db $08, $00, $38, $00
+	db $08, $08, $38, $20
+	db $00, $10, $29, $00
+	db $00, $18, $29, $20
+	db $08, $10, $39, $00
+	db $08, $18, $39, $20
+	db $00, $20, $28, $00
+	db $00, $28, $28, $20
+	db $08, $20, $38, $00
+	db $08, $28, $38, $20
+
+FrameBlock16:
+	db $08
+	db $00, $00, $29, $00
+	db $00, $08, $29, $20
+	db $08, $00, $39, $00
+	db $08, $08, $39, $20
+	db $00, $20, $29, $00
+	db $00, $28, $29, $20
+	db $08, $20, $39, $00
+	db $08, $28, $39, $20
+
+FrameBlock17:
+	db $04
+	db $00, $00, $08, $00
+	db $00, $08, $09, $00
+	db $08, $00, $18, $00
+	db $08, $08, $19, $00
+
+FrameBlock18:
+	db $01
+	db $18, $00, $45, $60
+
+FrameBlock19:
+	db $02
+	db $18, $08, $45, $00
+	db $10, $08, $46, $60
+
+FrameBlock1a:
+	db $02
+	db $10, $10, $45, $60
+	db $18, $10, $46, $00
+
+FrameBlock1b:
+	db $02
+	db $10, $18, $45, $00
+	db $08, $18, $46, $60
+
+FrameBlock1c:
+	db $02
+	db $08, $20, $45, $60
+	db $10, $20, $46, $00
+
+FrameBlock1d:
+	db $02
+	db $08, $28, $45, $00
+	db $00, $28, $46, $60
+
+FrameBlock1e:
+	db $02
+	db $00, $30, $45, $60
+	db $08, $30, $46, $00
+
+FrameBlock75:
+	db $04
+	db $00, $00, $43, $00
+	db $00, $08, $43, $20
+	db $08, $00, $22, $00
+	db $08, $08, $43, $60
+
+FrameBlock1f:
+	db $02
+	db $00, $00, $03, $00
+	db $00, $30, $03, $20
+
+FrameBlock20:
+	db $06
+	db $00, $00, $03, $00
+	db $00, $30, $03, $20
+	db $08, $08, $03, $00
+	db $08, $28, $03, $20
+	db $08, $00, $13, $00
+	db $08, $30, $13, $20
+
+FrameBlock21:
+	db $0c
+	db $00, $00, $03, $00
+	db $00, $30, $03, $20
+	db $08, $08, $03, $00
+	db $08, $28, $03, $20
+	db $08, $00, $13, $00
+	db $08, $30, $13, $20
+	db $10, $10, $03, $00
+	db $10, $20, $03, $20
+	db $10, $08, $13, $00
+	db $10, $28, $13, $20
+	db $10, $00, $03, $00
+	db $10, $30, $03, $20
+
+FrameBlock22:
+	db $13
+	db $00, $00, $03, $00
+	db $08, $00, $13, $00
+	db $10, $00, $03, $00
+	db $18, $00, $13, $00
+	db $08, $08, $03, $00
+	db $10, $08, $13, $00
+	db $18, $08, $03, $00
+	db $10, $10, $03, $00
+	db $18, $10, $13, $00
+	db $18, $18, $03, $00
+	db $10, $20, $03, $20
+	db $18, $20, $13, $20
+	db $08, $28, $03, $20
+	db $10, $28, $13, $20
+	db $18, $28, $03, $20
+	db $00, $30, $03, $20
+	db $08, $30, $13, $20
+	db $10, $30, $03, $20
+	db $18, $30, $13, $20
+
+FrameBlock23:
+	db $04
+	db $00, $00, $0a, $00
+	db $00, $08, $0b, $00
+	db $08, $00, $1a, $00
+	db $08, $08, $1b, $00
+
+FrameBlock24:
+	db $02
+	db $08, $00, $0a, $00
+	db $08, $08, $0b, $00
+
+FrameBlock25:
+	db $0c
+	db $10, $00, $0a, $00
+	db $10, $08, $0b, $00
+	db $18, $00, $1a, $00
+	db $18, $08, $1b, $00
+	db $00, $10, $0a, $00
+	db $00, $18, $0b, $00
+	db $08, $10, $1a, $00
+	db $08, $18, $1b, $00
+	db $08, $20, $0a, $00
+	db $08, $28, $0b, $00
+	db $10, $20, $1a, $00
+	db $10, $28, $1b, $00
+
+FrameBlock26:
+	db $04
+	db $00, $10, $44, $00
+	db $00, $18, $44, $20
+	db $08, $10, $44, $40
+	db $08, $18, $44, $60
+
+FrameBlock27:
+	db $05
+	db $08, $08, $44, $00
+	db $08, $10, $44, $20
+	db $10, $08, $44, $40
+	db $10, $10, $44, $60
+	db $00, $18, $47, $00
+
+FrameBlock28:
+	db $06
+	db $10, $00, $44, $00
+	db $10, $08, $44, $20
+	db $18, $00, $44, $40
+	db $18, $08, $44, $60
+	db $08, $10, $47, $00
+	db $02, $16, $47, $00
+
+FrameBlock29:
+	db $04
+	db $18, $00, $47, $00
+	db $12, $06, $47, $00
+	db $0c, $0c, $47, $00
+	db $06, $12, $47, $00
+
+FrameBlock2a:
+	db $04
+	db $00, $00, $44, $00
+	db $00, $08, $44, $20
+	db $08, $00, $44, $40
+	db $08, $08, $44, $60
+
+FrameBlock2b:
+	db $02
+	db $06, $02, $47, $00
+	db $00, $08, $47, $00
+
+FrameBlock2c:
+	db $01
+	db $a0, $00, $4d, $00
+
+FrameBlock2d:
+	db $08
+	db $00, $00, $26, $00
+	db $00, $08, $27, $00
+	db $08, $00, $36, $00
+	db $08, $08, $37, $00
+	db $10, $00, $28, $00
+	db $10, $08, $29, $00
+	db $18, $00, $38, $00
+	db $18, $08, $39, $00
+
+FrameBlock2e:
+	db $08
+	db $00, $00, $27, $20
+	db $00, $08, $26, $20
+	db $08, $00, $37, $20
+	db $08, $08, $36, $20
+	db $10, $00, $29, $20
+	db $10, $08, $28, $20
+	db $18, $00, $39, $20
+	db $18, $08, $38, $20
+
+FrameBlock2f:
+	db $04
+	db $00, $00, $0c, $00
+	db $00, $08, $0d, $00
+	db $08, $00, $0c, $40
+	db $08, $08, $0d, $40
+
+FrameBlock30:
+	db $04
+	db $00, $00, $44, $00
+	db $00, $08, $44, $20
+	db $08, $00, $44, $40
+	db $08, $08, $44, $60
+
+FrameBlock31:
+	db $01
+	db $00, $00, $45, $00
+
+FrameBlock32:
+	db $07
+	db $00, $00, $4d, $00
+	db $00, $08, $2f, $00
+	db $00, $10, $4d, $20
+	db $08, $00, $4e, $00
+	db $08, $08, $07, $00
+	db $08, $10, $4e, $20
+	db $10, $08, $3f, $00
+
+FrameBlock33:
+	db $07
+	db $00, $08, $3f, $40
+	db $08, $00, $4e, $40
+	db $08, $08, $07, $40
+	db $08, $10, $4e, $60
+	db $10, $00, $4d, $40
+	db $10, $08, $2f, $40
+	db $10, $10, $4d, $60
+
+FrameBlock34:
+	db $01
+	db $a0, $00, $00, $10
+
+FrameBlock35:
+	db $06
+	db $00, $00, $2a, $00
+	db $00, $08, $2b, $00
+	db $08, $00, $3a, $00
+	db $10, $00, $3a, $40
+	db $18, $00, $2a, $40
+	db $18, $08, $2b, $40
+
+FrameBlock36:
+	db $04
+	db $00, $00, $00, $00
+	db $00, $08, $01, $00
+	db $08, $00, $10, $00
+	db $08, $08, $11, $00
+
+FrameBlock37:
+	db $04
+	db $00, $00, $01, $a0
+	db $00, $08, $00, $a0
+	db $08, $00, $11, $a0
+	db $08, $08, $10, $a0
+
+FrameBlock38:
+	db $04
+	db $00, $00, $0a, $00
+	db $00, $08, $0b, $00
+	db $08, $00, $1a, $00
+	db $08, $08, $1b, $00
+
+FrameBlock39:
+	db $04
+	db $00, $00, $0b, $20
+	db $00, $08, $0a, $20
+	db $08, $00, $1b, $20
+	db $08, $08, $1a, $20
+
+FrameBlock3a:
+	db $04
+	db $20, $00, $05, $00
+	db $20, $08, $05, $20
+	db $28, $00, $15, $00
+	db $28, $08, $15, $20
+
+FrameBlock3b:
+	db $05
+	db $18, $00, $04, $00
+	db $18, $08, $04, $20
+	db $20, $00, $14, $00
+	db $20, $08, $14, $20
+	db $28, $04, $41, $00
+
+FrameBlock3c:
+	db $06
+	db $10, $00, $05, $00
+	db $10, $08, $05, $20
+	db $18, $00, $15, $00
+	db $18, $08, $15, $20
+	db $20, $04, $42, $00
+	db $28, $04, $42, $00
+
+FrameBlock3d:
+	db $07
+	db $08, $00, $04, $00
+	db $08, $08, $04, $20
+	db $10, $00, $14, $00
+	db $10, $08, $14, $20
+	db $18, $04, $41, $00
+	db $20, $04, $41, $00
+	db $28, $04, $41, $00
+
+FrameBlock3e:
+	db $08
+	db $00, $00, $05, $00
+	db $00, $08, $05, $20
+	db $08, $00, $15, $00
+	db $08, $08, $15, $20
+	db $10, $04, $42, $00
+	db $18, $04, $42, $00
+	db $20, $04, $42, $00
+	db $28, $04, $42, $00
+
+FrameBlock3f:
+	db $08
+	db $00, $00, $04, $00
+	db $00, $08, $04, $20
+	db $08, $00, $14, $00
+	db $08, $08, $14, $20
+	db $10, $04, $41, $00
+	db $18, $04, $41, $00
+	db $20, $04, $41, $00
+	db $28, $04, $41, $00
+
+FrameBlock40:
+	db $03
+	db $00, $00, $3d, $00
+	db $00, $08, $3d, $00
+	db $08, $08, $3d, $00
+
+FrameBlock41:
+	db $04
+	db $00, $00, $06, $00
+	db $00, $08, $06, $20
+	db $08, $00, $16, $00
+	db $08, $08, $17, $00
+
+FrameBlock42:
+	db $0b
+	db $00, $10, $42, $00
+	db $08, $00, $42, $00
+	db $08, $08, $42, $00
+	db $08, $10, $42, $00
+	db $08, $18, $42, $00
+	db $08, $20, $42, $00
+	db $10, $10, $42, $00
+	db $18, $08, $42, $00
+	db $18, $18, $42, $00
+	db $20, $00, $42, $00
+	db $20, $20, $42, $00
+
+FrameBlock43:
+	db $0b
+	db $00, $10, $41, $00
+	db $08, $00, $41, $00
+	db $08, $08, $41, $00
+	db $08, $10, $41, $00
+	db $08, $18, $41, $00
+	db $08, $20, $41, $00
+	db $10, $10, $41, $00
+	db $18, $08, $41, $00
+	db $18, $18, $41, $00
+	db $20, $00, $41, $00
+	db $20, $20, $41, $00
+
+FrameBlock44:
+	db $04
+	db $00, $00, $49, $00
+	db $00, $28, $49, $00
+	db $28, $00, $49, $00
+	db $28, $28, $49, $00
+
+FrameBlock45:
+	db $04
+	db $00, $00, $49, $00
+	db $00, $18, $49, $00
+	db $18, $00, $49, $00
+	db $18, $18, $49, $00
+
+FrameBlock46:
+	db $04
+	db $00, $00, $49, $00
+	db $00, $08, $49, $00
+	db $08, $00, $49, $00
+	db $08, $08, $49, $00
+
+FrameBlock47:
+	db $04
+	db $00, $00, $43, $00
+	db $00, $08, $43, $20
+	db $08, $00, $43, $40
+	db $08, $08, $43, $60
+
+SmallBlackCircleFrameBlock:
+	db $04
+	db $08, $08, $33, $00
+	db $08, $10, $33, $20
+	db $10, $08, $33, $40
+	db $10, $10, $33, $60
+
+LargeBlockCircleFrameBlock:
+	db $10
+	db $00, $00, $22, $00
+	db $00, $08, $23, $00
+	db $00, $10, $23, $20
+	db $00, $18, $22, $20
+	db $08, $00, $32, $00
+	db $08, $08, $43, $00
+	db $08, $10, $43, $20
+	db $08, $18, $32, $20
+	db $10, $00, $32, $40
+	db $10, $08, $43, $40
+	db $10, $10, $43, $60
+	db $10, $18, $32, $60
+	db $18, $00, $22, $40
+	db $18, $08, $23, $40
+	db $18, $10, $23, $60
+	db $18, $18, $22, $60
+
+FrameBlock71:
+	db $10
+	db $00, $00, $22, $00
+	db $00, $08, $3b, $00
+	db $00, $10, $23, $20
+	db $00, $18, $22, $20
+	db $08, $00, $32, $00
+	db $08, $08, $43, $00
+	db $08, $10, $43, $20
+	db $08, $18, $32, $20
+	db $10, $00, $32, $40
+	db $10, $08, $43, $40
+	db $10, $10, $43, $60
+	db $10, $18, $32, $60
+	db $18, $00, $22, $40
+	db $18, $08, $23, $40
+	db $18, $10, $23, $60
+	db $18, $18, $22, $60
+
+FrameBlock72:
+	db $0c
+	db $00, $00, $32, $00
+	db $00, $08, $43, $00
+	db $00, $10, $43, $20
+	db $00, $18, $32, $20
+	db $08, $00, $32, $40
+	db $08, $08, $43, $40
+	db $08, $10, $43, $60
+	db $08, $18, $32, $60
+	db $10, $00, $22, $40
+	db $10, $08, $23, $40
+	db $10, $10, $23, $60
+	db $10, $18, $22, $60
+
+FrameBlock73:
+	db $08
+	db $00, $00, $32, $40
+	db $00, $08, $43, $40
+	db $00, $10, $43, $60
+	db $00, $18, $32, $60
+	db $08, $00, $22, $40
+	db $08, $08, $23, $40
+	db $08, $10, $23, $60
+	db $08, $18, $22, $60
+
+FrameBlock74:
+	db $04
+	db $00, $00, $22, $40
+	db $00, $08, $23, $40
+	db $00, $10, $23, $60
+	db $00, $18, $22, $60
+
+FrameBlock4a:
+	db $04
+	db $08, $18, $4c, $20
+	db $20, $08, $4b, $00
+	db $30, $20, $4c, $00
+	db $18, $30, $4b, $40
+
+FrameBlock4b:
+	db $04
+	db $00, $18, $4c, $00
+	db $20, $00, $4b, $40
+	db $38, $20, $4c, $20
+	db $18, $38, $4b, $00
+
+FrameBlock4c:
+	db $04
+	db $10, $08, $4a, $40
+	db $30, $10, $4a, $00
+	db $28, $30, $4a, $20
+	db $08, $28, $4a, $60
+
+FrameBlock4d:
+	db $04
+	db $08, $00, $4a, $20
+	db $38, $08, $4a, $60
+	db $30, $38, $4a, $40
+	db $00, $30, $4a, $00
+
+FrameBlock4e:
+	db $08
+	db $00, $30, $44, $00
+	db $00, $38, $44, $20
+	db $08, $30, $44, $40
+	db $08, $38, $44, $60
+	db $26, $0a, $44, $00
+	db $26, $12, $44, $20
+	db $2e, $0a, $44, $40
+	db $2e, $12, $44, $60
+
+FrameBlock4f:
+	db $0c
+	db $0e, $22, $44, $00
+	db $0e, $2a, $44, $20
+	db $16, $22, $44, $40
+	db $16, $2a, $44, $60
+	db $06, $32, $47, $00
+	db $00, $38, $47, $00
+	db $1a, $16, $44, $00
+	db $1a, $1e, $44, $20
+	db $22, $16, $44, $40
+	db $22, $1e, $44, $60
+	db $30, $08, $47, $00
+	db $2a, $0e, $47, $00
+
+FrameBlock50:
+	db $08
+	db $06, $32, $47, $00
+	db $00, $38, $47, $00
+	db $12, $26, $47, $00
+	db $0c, $2c, $47, $00
+	db $1e, $1a, $47, $00
+	db $18, $20, $47, $00
+	db $2a, $0e, $47, $00
+	db $24, $14, $47, $00
+
+FrameBlock51:
+	db $08
+	db $00, $00, $35, $20
+	db $08, $00, $35, $40
+	db $10, $00, $35, $00
+	db $18, $00, $35, $60
+	db $00, $40, $35, $00
+	db $08, $40, $35, $60
+	db $10, $40, $35, $20
+	db $18, $40, $35, $40
+
+FrameBlock52:
+	db $04
+	db $00, $00, $2a, $00
+	db $00, $08, $2b, $00
+	db $08, $00, $3a, $00
+	db $08, $08, $3b, $00
+
+FrameBlock53:
+	db $03
+	db $00, $00, $3f, $00
+	db $00, $08, $3f, $00
+	db $08, $06, $3f, $00
+
+FrameBlock54:
+	db $04
+	db $00, $00, $0e, $00
+	db $00, $08, $0e, $20
+	db $08, $00, $0f, $00
+	db $08, $08, $0f, $20
+
+FrameBlock55:
+	db $03
+	db $10, $00, $2c, $00
+	db $10, $08, $3c, $00
+	db $10, $10, $2d, $00
+
+FrameBlock56:
+	db $06
+	db $10, $10, $31, $00
+	db $10, $18, $31, $00
+	db $08, $10, $2c, $00
+	db $08, $18, $3c, $00
+	db $08, $20, $2d, $00
+	db $10, $20, $2d, $00
+
+FrameBlock57:
+	db $09
+	db $08, $20, $31, $00
+	db $10, $20, $31, $00
+	db $08, $28, $31, $00
+	db $10, $28, $31, $00
+	db $00, $20, $2c, $00
+	db $00, $28, $3c, $00
+	db $00, $30, $2d, $00
+	db $08, $30, $2d, $00
+	db $10, $30, $2d, $00
+
+FrameBlock58:
+	db $07
+	db $00, $00, $46, $00
+	db $08, $02, $47, $00
+	db $10, $03, $48, $00
+	db $18, $04, $48, $00
+	db $20, $05, $48, $00
+	db $28, $05, $48, $00
+	db $30, $05, $48, $00
+
+FrameBlock59:
+	db $01
+	db $00, $00, $42, $00
+
+FrameBlock5a:
+	db $0c
+	db $00, $00, $24, $00
+	db $00, $08, $25, $00
+	db $08, $00, $34, $00
+	db $00, $10, $25, $20
+	db $00, $18, $24, $20
+	db $08, $18, $34, $20
+	db $10, $00, $34, $40
+	db $18, $00, $24, $40
+	db $18, $08, $25, $40
+	db $10, $18, $34, $60
+	db $18, $10, $25, $60
+	db $18, $18, $24, $60
+
+FrameBlock5b:
+	db $04
+	db $00, $00, $43, $00
+	db $00, $08, $43, $20
+	db $08, $00, $43, $40
+	db $08, $08, $43, $60
+
+FrameBlock5c:
+	db $08
+	db $00, $00, $49, $00
+	db $02, $08, $49, $00
+	db $18, $00, $49, $00
+	db $10, $10, $49, $00
+	db $08, $00, $43, $00
+	db $08, $08, $43, $20
+	db $10, $00, $43, $40
+	db $10, $08, $43, $60
+
+FrameBlock5d:
+	db $0b
+	db $00, $00, $49, $00
+	db $18, $02, $49, $00
+	db $14, $10, $49, $00
+	db $08, $00, $43, $00
+	db $00, $08, $43, $20
+	db $10, $00, $43, $40
+	db $10, $08, $43, $60
+	db $04, $08, $43, $00
+	db $04, $10, $43, $20
+	db $0c, $08, $43, $40
+	db $0c, $10, $43, $60
+
+FrameBlock5e:
+	db $0f
+	db $00, $08, $49, $00
+	db $08, $10, $49, $00
+	db $20, $00, $49, $00
+	db $08, $00, $43, $00
+	db $08, $08, $43, $20
+	db $10, $00, $43, $40
+	db $10, $08, $43, $60
+	db $10, $10, $43, $00
+	db $10, $18, $43, $20
+	db $18, $10, $43, $40
+	db $18, $18, $43, $60
+	db $20, $08, $43, $00
+	db $20, $10, $43, $20
+	db $28, $08, $43, $40
+	db $28, $10, $43, $60
+
+FrameBlock5f:
+	db $04
+	db $00, $00, $49, $00
+	db $00, $10, $49, $00
+	db $00, $20, $49, $00
+	db $00, $30, $49, $00
+
+FrameBlock60:
+	db $08
+	db $00, $00, $49, $00
+	db $00, $10, $49, $00
+	db $00, $20, $49, $00
+	db $00, $30, $49, $00
+	db $08, $08, $49, $00
+	db $08, $18, $49, $00
+	db $08, $28, $49, $00
+	db $08, $38, $49, $00
+
+FrameBlock61:
+	db $0c
+	db $00, $00, $49, $00
+	db $00, $10, $49, $00
+	db $00, $20, $49, $00
+	db $00, $30, $49, $00
+	db $08, $08, $49, $00
+	db $08, $18, $49, $00
+	db $08, $28, $49, $00
+	db $08, $38, $49, $00
+	db $10, $00, $49, $00
+	db $10, $10, $49, $00
+	db $10, $20, $49, $00
+	db $10, $30, $49, $00
+
+FrameBlock62:
+	db $0f
+	db $00, $00, $49, $00
+	db $00, $10, $49, $00
+	db $00, $20, $49, $00
+	db $00, $30, $49, $00
+	db $08, $08, $49, $00
+	db $08, $18, $49, $00
+	db $08, $28, $49, $00
+	db $08, $38, $49, $00
+	db $10, $00, $49, $00
+	db $10, $10, $49, $00
+	db $10, $20, $49, $00
+	db $10, $30, $49, $00
+	db $18, $08, $49, $00
+	db $18, $18, $49, $00
+	db $18, $28, $49, $00
+	db $18, $38, $49, $00 ; unused
+
+FrameBlock63:
+	db $06
+	db $10, $00, $26, $00
+	db $10, $08, $27, $00
+	db $08, $10, $26, $00
+	db $08, $18, $27, $00
+	db $00, $20, $26, $00
+	db $00, $28, $27, $00
+
+FrameBlock64:
+	db $06
+	db $18, $00, $27, $00
+	db $10, $08, $26, $00
+	db $10, $10, $27, $00
+	db $08, $18, $26, $00
+	db $08, $20, $27, $00
+	db $00, $28, $26, $00
+
+FrameBlock65:
+	db $06
+	db $00, $00, $1c, $00
+	db $00, $08, $1d, $00
+	db $10, $00, $1c, $00
+	db $10, $08, $1d, $00
+	db $20, $00, $1c, $00
+	db $20, $08, $1d, $00
+
+FrameBlock66:
+	db $02
+	db $00, $00, $03, $00
+	db $08, $00, $13, $00
+
+FrameBlock67:
+	db $01
+	db $00, $00, $03, $00
+
+FrameBlock68:
+	db $04
+	db $00, $00, $03, $00
+	db $00, $08, $03, $20
+	db $08, $00, $13, $00
+	db $08, $08, $13, $20
+
+FrameBlock69:
+	db $01
+	db $00, $00, $06, $00
+
+FrameBlock6a:
+	db $08
+	db $00, $00, $2e, $00
+	db $00, $30, $2e, $20
+	db $30, $00, $2e, $40
+	db $30, $30, $2e, $60
+	db $00, $18, $2f, $00
+	db $30, $18, $2f, $40
+	db $18, $00, $3e, $00
+	db $18, $30, $3e, $20
+
+FrameBlock6b:
+	db $08
+	db $00, $00, $2e, $00
+	db $00, $20, $2e, $20
+	db $20, $00, $2e, $40
+	db $20, $20, $2e, $60
+	db $00, $10, $2f, $00
+	db $20, $10, $2f, $40
+	db $10, $00, $3e, $00
+	db $10, $20, $3e, $20
+
+FrameBlock6c:
+	db $08
+	db $00, $00, $2e, $00
+	db $00, $10, $2e, $20
+	db $10, $00, $2e, $40
+	db $10, $10, $2e, $60
+	db $00, $08, $2f, $00
+	db $10, $08, $2f, $40
+	db $08, $00, $3e, $00
+	db $08, $10, $3e, $20
+
+FrameBlock6d:
+	db $02
+	db $00, $00, $1e, $00
+	db $00, $08, $1f, $00
+
+FrameBlock6e:
+	db $04
+	db $00, $00, $48, $00
+	db $00, $08, $48, $20
+	db $08, $00, $12, $00
+	db $08, $08, $12, $20
+
+FrameBlock6f:
+	db $04
+	db $00, $00, $4a, $00
+	db $00, $08, $07, $00
+	db $08, $00, $16, $00
+	db $08, $08, $17, $00
+
+FrameBlock70:
+	db $04
+	db $00, $00, $07, $20
+	db $00, $08, $4a, $20
+	db $08, $00, $17, $20
+	db $08, $08, $16, $20
+
+FrameBlock76:
+	db $07
+	db $00, $10, $2f, $00
+	db $01, $08, $2f, $00
+	db $01, $18, $2f, $00
+	db $02, $00, $2e, $00
+	db $02, $20, $2e, $20
+	db $0a, $00, $3e, $00
+	db $0a, $20, $3e, $20
+
+FrameBlock77:
+	db $04
+	db $00, $02, $4b, $00
+	db $00, $0a, $4c, $00
+	db $08, $00, $4c, $60
+	db $08, $08, $4b, $60
+
+FrameBlock78:
+	db $01
+	db $00, $00, $4d, $00
+
+FrameBlock79:
+	db $01
+	db $00, $00, $4e, $00
+
+FrameBlockBaseCoords:
+	db $10, $68
+	db $10, $70
+	db $10, $78
+	db $10, $80
+	db $10, $88
+	db $10, $90
+	db $10, $98
+	db $18, $68
+	db $18, $70
+	db $18, $78
+	db $34, $28
+	db $18, $80
+	db $18, $88
+	db $18, $98
+	db $20, $68
+	db $20, $70
+	db $20, $78
+	db $20, $80
+	db $20, $88
+	db $20, $90
+	db $20, $98
+	db $28, $68
+	db $28, $70
+	db $28, $78
+	db $28, $80
+	db $28, $88
+	db $30, $68
+	db $30, $70
+	db $30, $78
+	db $30, $80
+	db $30, $90
+	db $30, $98
+	db $38, $68
+	db $38, $78
+	db $38, $80
+	db $38, $88
+	db $40, $68
+	db $40, $70
+	db $40, $78
+	db $40, $80
+	db $40, $88
+	db $40, $98
+	db $10, $60
+	db $18, $60
+	db $20, $60
+	db $28, $60
+	db $30, $60
+	db $40, $60
+	db $58, $28
+	db $43, $38
+	db $33, $48
+	db $20, $58
+	db $32, $78
+	db $58, $58
+	db $2C, $6C
+	db $34, $80
+	db $48, $70
+	db $42, $36
+	db $38, $44
+	db $40, $52
+	db $48, $60
+	db $3E, $6E
+	db $28, $7C
+	db $28, $8A
+	db $50, $3C
+	db $48, $50
+	db $40, $64
+	db $38, $38
+	db $50, $30
+	db $50, $38
+	db $50, $40
+	db $50, $48
+	db $50, $50
+	db $48, $58
+	db $50, $44
+	db $48, $48
+	db $48, $4C
+	db $40, $50
+	db $40, $54
+	db $38, $58
+	db $38, $5C
+	db $30, $64
+	db $48, $40
+	db $48, $39
+	db $24, $88
+	db $24, $70
+	db $1C, $70
+	db $1C, $88
+	db $34, $68
+	db $34, $88
+	db $68, $50
+	db $60, $50
+	db $68, $60
+	db $58, $50
+	db $60, $60
+	db $68, $40
+	db $40, $40
+	db $38, $40
+	db $0B, $60
+	db $44, $48
+	db $40, $14
+	db $48, $1C
+	db $50, $24
+	db $4C, $24
+	db $10, $62
+	db $12, $62
+	db $12, $60
+	db $20, $72
+	db $22, $72
+	db $22, $70
+	db $28, $62
+	db $50, $0A
+	db $52, $0A
+	db $38, $30
+	db $40, $48
+	db $30, $48
+	db $40, $30
+	db $30, $40
+	db $38, $48
+	db $40, $4A
+	db $48, $4B
+	db $50, $4C
+	db $58, $4D
+	db $60, $4D
+	db $68, $4D
+	db $38, $10
+	db $50, $10
+	db $38, $28
+	db $48, $18
+	db $40, $20
+	db $48, $20
+	db $40, $3C
+	db $38, $50
+	db $28, $64
+	db $1C, $90
+	db $24, $80
+	db $2C, $70
+	db $30, $38
+	db $10, $50
+	db $3C, $40
+	db $40, $58
+	db $30, $58
+	db $58, $48
+	db $50, $58
+	db $48, $68
+	db $40, $18
+	db $28, $58
+	db $40, $38
+	db $48, $38
+	db $08, $70
+	db $44, $1C
+	db $3C, $58
+	db $38, $60
+	db $08, $60
+	db $38, $70
+	db $38, $6C
+	db $38, $64
+	db $1C, $74
+	db $2E, $74
+	db $34, $50
+	db $2F, $60
+	db $31, $70
+	db $4C, $30
+	db $3B, $40
+	db $2D, $50
+	db $26, $60
+	db $2D, $70
+	db $28, $50
+	db $1E, $60
+	db $29, $70
+	db $16, $60
+	db $14, $58
+	db $12, $54
+	db $14, $50
+	db $18, $4C
+	db $1C, $48
+	db $48, $28
+
+FrameBlock00:
+	db $00, $00
--- /dev/null
+++ b/data/battle_anims/special_effect_pointers.asm
@@ -1,0 +1,47 @@
+special_effect: MACRO
+	db \1
+	dw \2
+ENDM
+
+SpecialEffectPointers:
+	; special effect id, effect routine address
+	special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE
+	special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD
+	special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC
+	special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB
+	special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA
+	special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9
+	special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8
+	special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7
+	special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6
+	special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5
+	special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4
+	special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3
+	special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2
+	special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1
+	special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0
+	special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF
+	special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE
+	special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED
+	special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC
+	special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB
+	special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA
+	special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9
+	special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8
+	special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7
+	special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6
+	special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5
+	special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4
+	special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4)
+	special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2
+	special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1
+	special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon
+	special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF
+	special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE
+	special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD
+	special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC
+	special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB
+	special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA
+	special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9
+	special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8
+	db -1 ; end
--- /dev/null
+++ b/data/battle_anims/special_effects.asm
@@ -1,0 +1,32 @@
+anim_special_effect: MACRO
+	db \1
+	dw \2
+ENDM
+
+AnimationIdSpecialEffects:
+	; animation id, effect routine address
+	anim_special_effect MEGA_PUNCH, AnimationFlashScreen
+	anim_special_effect GUILLOTINE, AnimationFlashScreen
+	anim_special_effect MEGA_KICK, AnimationFlashScreen
+	anim_special_effect HEADBUTT, AnimationFlashScreen
+	anim_special_effect TAIL_WHIP, TailWhipAnimationUnused
+	anim_special_effect GROWL, DoGrowlSpecialEffects
+	anim_special_effect DISABLE, AnimationFlashScreen
+	anim_special_effect BLIZZARD, DoBlizzardSpecialEffects
+	anim_special_effect BUBBLEBEAM, AnimationFlashScreen
+	anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks
+	anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks
+	anim_special_effect REFLECT, AnimationFlashScreen
+	anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects
+	anim_special_effect SPORE, AnimationFlashScreen
+	anim_special_effect EXPLOSION, DoExplodeSpecialEffects
+	anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects
+	anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon
+	anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball
+	anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball
+	anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects
+	anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects
+	anim_special_effect POOF_ANIM, DoPoofSpecialEffects
+	anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects
+	anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects
+	db -1 ; end
--- /dev/null
+++ b/data/battle_anims/subanimations.asm
@@ -1,0 +1,944 @@
+SubanimationPointers:
+	dw Subanimation00
+	dw Subanimation01
+	dw Subanimation02
+	dw Subanimation03
+	dw Subanimation04
+	dw Subanimation05
+	dw Subanimation06
+	dw Subanimation07
+	dw Subanimation08
+	dw Subanimation09
+	dw Subanimation0a
+	dw Subanimation0b
+	dw Subanimation0c
+	dw Subanimation0d
+	dw Subanimation0e
+	dw Subanimation0f
+	dw Subanimation10
+	dw Subanimation11
+	dw Subanimation12
+	dw Subanimation13
+	dw Subanimation14
+	dw Subanimation15
+	dw Subanimation16
+	dw Subanimation17
+	dw Subanimation18
+	dw Subanimation19
+	dw Subanimation1a
+	dw Subanimation1b
+	dw Subanimation1c
+	dw Subanimation1d
+	dw Subanimation1e
+	dw Subanimation1f
+	dw Subanimation20
+	dw Subanimation21
+	dw Subanimation22
+	dw Subanimation23
+	dw Subanimation24
+	dw Subanimation25
+	dw Subanimation26
+	dw Subanimation27
+	dw Subanimation28
+	dw Subanimation29
+	dw Subanimation2a
+	dw Subanimation2b
+	dw Subanimation2c
+	dw Subanimation2d
+	dw Subanimation2e
+	dw Subanimation2f
+	dw Subanimation30
+	dw Subanimation31
+	dw Subanimation32
+	dw Subanimation33
+	dw Subanimation34
+	dw Subanimation35
+	dw Subanimation36
+	dw Subanimation37
+	dw Subanimation38
+	dw Subanimation39
+	dw Subanimation3a
+	dw Subanimation3b
+	dw Subanimation3c
+	dw Subanimation3d
+	dw Subanimation3e
+	dw Subanimation3f
+	dw Subanimation40
+	dw Subanimation41
+	dw Subanimation42
+	dw Subanimation43
+	dw Subanimation44
+	dw Subanimation45
+	dw Subanimation46
+	dw Subanimation47
+	dw Subanimation48
+	dw Subanimation49
+	dw Subanimation4a
+	dw Subanimation4b
+	dw Subanimation4c
+	dw Subanimation4d
+	dw Subanimation4e
+	dw Subanimation4f
+	dw Subanimation50
+	dw Subanimation51
+	dw Subanimation52
+	dw Subanimation53
+	dw Subanimation54
+	dw Subanimation55
+
+Subanimation04:
+	db $43
+	db $02, $1a, $00
+	db $02, $10, $00
+	db $02, $03, $00
+
+Subanimation05:
+	db $41
+	db $02, $10, $00
+
+Subanimation08:
+	db $0b
+	db $03, $30, $00
+	db $03, $44, $00
+	db $03, $94, $00
+	db $03, $60, $00
+	db $03, $76, $00
+	db $03, $9f, $00
+	db $03, $8d, $00
+	db $03, $a0, $00
+	db $03, $1a, $00
+	db $03, $a1, $00
+	db $03, $34, $00
+
+Subanimation07:
+	db $0b
+	db $03, $30, $00
+	db $03, $a2, $00
+	db $03, $31, $00
+	db $03, $a3, $00
+	db $03, $32, $00
+	db $03, $a4, $00
+	db $03, $92, $00
+	db $03, $a5, $00
+	db $03, $15, $00
+	db $03, $a6, $00
+	db $03, $34, $00
+
+Subanimation06:
+	db $0b
+	db $03, $30, $00
+	db $03, $a2, $00
+	db $03, $93, $00
+	db $03, $61, $00
+	db $03, $73, $00
+	db $03, $a7, $00
+	db $03, $33, $00
+	db $03, $a8, $00
+	db $03, $0e, $00
+	db $03, $a9, $00
+	db $03, $34, $00
+
+Subanimation09:
+	db $04
+	db $03, $21, $04
+	db $04, $21, $04
+	db $03, $21, $04
+	db $05, $21, $04
+
+Subanimation0a:
+	db $46
+	db $06, $1b, $00
+	db $07, $1b, $00
+	db $08, $36, $00
+	db $09, $36, $00
+	db $0a, $15, $00
+	db $0a, $15, $00
+
+Subanimation0b:
+	db $04
+	db $01, $2d, $00
+	db $03, $2f, $00
+	db $03, $35, $00
+	db $03, $4d, $00
+
+Subanimation55:
+	db $41
+	db $01, $9d, $00
+
+Subanimation11:
+	db $4c
+	db $0b, $26, $00
+	db $0c, $26, $00
+	db $0b, $26, $00
+	db $0c, $26, $00
+	db $0b, $28, $00
+	db $0c, $28, $00
+	db $0b, $28, $00
+	db $0c, $28, $00
+	db $0b, $27, $00
+	db $0c, $27, $00
+	db $0b, $27, $00
+	db $0c, $27, $00
+
+Subanimation2b:
+	db $4b
+	db $0d, $03, $03
+	db $0e, $03, $03
+	db $0f, $03, $00
+	db $0d, $11, $00
+	db $0d, $11, $00
+	db $0d, $37, $00
+	db $0d, $37, $00
+	db $10, $21, $00
+	db $10, $21, $00
+	db $11, $1b, $00
+	db $11, $1b, $00
+
+Subanimation2c:
+	db $4c
+	db $12, $01, $00
+	db $12, $0f, $00
+	db $12, $1b, $00
+	db $12, $25, $00
+	db $13, $38, $00
+	db $13, $38, $02
+	db $14, $38, $00
+	db $14, $38, $02
+	db $15, $38, $00
+	db $15, $38, $00
+	db $16, $38, $00
+	db $16, $38, $00
+
+Subanimation12:
+	db $69
+	db $17, $30, $00
+	db $17, $39, $00
+	db $17, $3a, $00
+	db $17, $3b, $00
+	db $17, $3c, $00
+	db $17, $3d, $00
+	db $17, $3e, $00
+	db $17, $3f, $00
+	db $17, $1f, $00
+
+Subanimation00:
+	db $41
+	db $01, $17, $00
+
+Subanimation01:
+	db $42
+	db $01, $0f, $00
+	db $01, $1d, $00
+
+Subanimation02:
+	db $43
+	db $01, $12, $00
+	db $01, $15, $00
+	db $01, $1c, $00
+
+Subanimation03:
+	db $44
+	db $01, $0b, $00
+	db $01, $11, $00
+	db $01, $18, $00
+	db $01, $1d, $00
+
+Subanimation0c:
+	db $43
+	db $0c, $20, $00
+	db $0c, $21, $00
+	db $0c, $23, $00
+
+Subanimation0d:
+	db $46
+	db $0c, $20, $02
+	db $0c, $15, $00
+	db $0c, $21, $02
+	db $0c, $17, $00
+	db $0c, $23, $02
+	db $0c, $19, $00
+
+Subanimation0e:
+	db $49
+	db $0c, $20, $02
+	db $0c, $15, $02
+	db $0c, $07, $00
+	db $0c, $21, $02
+	db $0c, $17, $02
+	db $0c, $09, $00
+	db $0c, $23, $02
+	db $0c, $19, $02
+	db $0c, $0c, $00
+
+Subanimation1f:
+	db $85
+	db $0c, $30, $03
+	db $0c, $40, $03
+	db $0c, $41, $03
+	db $0c, $42, $03
+	db $0c, $21, $00
+
+Subanimation2e:
+	db $2e
+	db $18, $43, $02
+	db $75, $52, $04
+	db $19, $43, $02
+	db $75, $63, $04
+	db $1a, $43, $02
+	db $75, $4d, $04
+	db $1b, $43, $02
+	db $75, $97, $04
+	db $1c, $43, $02
+	db $75, $98, $04
+	db $1d, $43, $02
+	db $75, $58, $04
+	db $1e, $43, $02
+	db $75, $1b, $00
+
+Subanimation2f:
+	db $44
+	db $1f, $24, $00
+	db $20, $20, $00
+	db $21, $1a, $00
+	db $22, $15, $00
+
+Subanimation30:
+	db $52
+	db $23, $00, $02
+	db $23, $02, $02
+	db $23, $04, $00
+	db $23, $07, $02
+	db $23, $02, $02
+	db $23, $04, $00
+	db $23, $0e, $02
+	db $23, $02, $02
+	db $23, $0c, $00
+	db $25, $07, $00
+	db $25, $0e, $00
+	db $25, $15, $00
+	db $24, $24, $02
+	db $23, $1c, $02
+	db $23, $23, $00
+	db $23, $21, $02
+	db $24, $28, $00
+	db $24, $28, $00
+
+Subanimation0f:
+	db $4c
+	db $26, $0e, $02
+	db $26, $16, $02
+	db $26, $1c, $00
+	db $27, $0e, $02
+	db $27, $16, $02
+	db $27, $1c, $00
+	db $28, $0e, $02
+	db $28, $16, $02
+	db $28, $1c, $00
+	db $29, $0e, $02
+	db $29, $16, $02
+	db $29, $1c, $00
+
+Subanimation16:
+	db $4c
+	db $2a, $05, $00
+	db $2b, $05, $02
+	db $2b, $0c, $02
+	db $2a, $11, $04
+	db $2b, $11, $02
+	db $2b, $17, $02
+	db $2a, $1b, $04
+	db $2b, $1b, $02
+	db $2b, $20, $02
+	db $2a, $2f, $04
+	db $2c, $00, $02
+	db $2c, $00, $00
+
+Subanimation10:
+	db $88
+	db $2d, $44, $00
+	db $2e, $45, $00
+	db $2d, $46, $00
+	db $2e, $47, $00
+	db $2d, $48, $00
+	db $2e, $49, $00
+	db $2d, $2f, $00
+	db $2e, $1a, $00
+
+Subanimation31:
+	db $2a
+	db $2f, $46, $00
+	db $2f, $4a, $00
+	db $2f, $4b, $00
+	db $2f, $4c, $00
+	db $2f, $4d, $00
+	db $2f, $4e, $00
+	db $2f, $4f, $00
+	db $2f, $50, $00
+	db $2f, $2e, $00
+	db $2f, $51, $00
+
+Subanimation13:
+	db $86
+	db $30, $31, $00
+	db $30, $32, $00
+	db $30, $92, $00
+	db $30, $0e, $00
+	db $30, $0f, $00
+	db $30, $10, $00
+
+Subanimation14:
+	db $49
+	db $30, $10, $00
+	db $30, $10, $03
+	db $31, $1c, $04
+	db $31, $21, $04
+	db $31, $26, $00
+	db $30, $10, $02
+	db $31, $1d, $04
+	db $31, $22, $04
+	db $31, $27, $00
+
+Subanimation41:
+	db $85
+	db $03, $31, $00
+	db $03, $32, $00
+	db $03, $92, $00
+	db $03, $0e, $00
+	db $03, $10, $00
+
+Subanimation42:
+	db $43
+	db $48, $08, $00
+	db $49, $08, $00
+	db $5a, $08, $00
+
+Subanimation15:
+	db $22
+	db $35, $52, $00
+	db $35, $53, $00
+
+Subanimation17:
+	db $44
+	db $36, $54, $00
+	db $36, $55, $00
+	db $37, $56, $00
+	db $37, $57, $00
+
+Subanimation18:
+	db $a4
+	db $36, $54, $00
+	db $36, $55, $00
+	db $37, $56, $00
+	db $37, $57, $00
+
+Subanimation40:
+	db $46
+	db $17, $54, $00
+	db $17, $55, $00
+	db $17, $0e, $00
+	db $17, $56, $00
+	db $17, $57, $00
+	db $17, $13, $00
+
+Subanimation19:
+	db $8c
+	db $38, $31, $00
+	db $39, $31, $00
+	db $38, $32, $00
+	db $39, $32, $00
+	db $38, $92, $00
+	db $39, $92, $00
+	db $38, $0e, $00
+	db $39, $0e, $00
+	db $38, $0f, $00
+	db $39, $0f, $00
+	db $38, $10, $00
+	db $39, $10, $00
+
+Subanimation1a:
+	db $50
+	db $3a, $08, $00
+	db $3b, $08, $00
+	db $3c, $08, $00
+	db $3d, $08, $00
+	db $3e, $08, $00
+	db $3f, $08, $00
+	db $3e, $08, $00
+	db $3f, $08, $00
+	db $3a, $0b, $00
+	db $3b, $0b, $00
+	db $3c, $0b, $00
+	db $3d, $0b, $00
+	db $3e, $0b, $00
+	db $3f, $0b, $00
+	db $3e, $0b, $00
+	db $3f, $0b, $00
+
+Subanimation1b:
+	db $84
+	db $40, $31, $00
+	db $40, $32, $00
+	db $40, $92, $00
+	db $40, $15, $00
+
+Subanimation1c:
+	db $43
+	db $41, $58, $00
+	db $41, $59, $00
+	db $41, $21, $00
+
+Subanimation1d:
+	db $af
+	db $24, $9a, $00
+	db $23, $1b, $02
+	db $24, $22, $00
+	db $23, $16, $02
+	db $23, $1d, $02
+	db $24, $98, $00
+	db $25, $2c, $04
+	db $25, $2a, $04
+	db $25, $99, $04
+	db $25, $62, $04
+	db $25, $99, $04
+	db $25, $62, $04
+	db $25, $99, $04
+	db $25, $62, $04
+	db $25, $99, $03
+
+Subanimation1e:
+	db $01
+	db $25, $75, $00
+
+Subanimation20:
+	db $42
+	db $42, $07, $00
+	db $43, $07, $00
+
+Subanimation21:
+	db $43
+	db $44, $00, $00
+	db $45, $08, $00
+	db $46, $10, $02
+
+Subanimation22:
+	db $8b
+	db $47, $10, $00
+	db $47, $56, $00
+	db $47, $07, $00
+	db $47, $aa, $00
+	db $47, $ab, $00
+	db $47, $ac, $00
+	db $47, $ad, $00
+	db $47, $ae, $00
+	db $47, $af, $00
+	db $47, $89, $00
+	db $47, $b0, $00
+
+Subanimation2d:
+	db $66
+	db $44, $64, $00
+	db $45, $65, $00
+	db $46, $66, $00
+	db $47, $66, $00
+	db $47, $66, $00
+	db $47, $66, $00
+
+Subanimation39:
+	db $61
+	db $47, $67, $00
+
+Subanimation4e:
+	db $41
+	db $71, $0f, $03
+
+Subanimation4f:
+	db $47
+	db $71, $0f, $00
+	db $71, $08, $00
+	db $71, $01, $00
+	db $71, $95, $00
+	db $72, $95, $00
+	db $73, $95, $00
+	db $74, $95, $00
+
+Subanimation50:
+	db $48
+	db $74, $95, $00
+	db $73, $95, $00
+	db $72, $95, $00
+	db $71, $95, $00
+	db $71, $01, $00
+	db $71, $08, $00
+	db $71, $0f, $00
+	db $71, $16, $00
+
+Subanimation29:
+	db $5d
+	db $48, $0f, $00
+	db $4a, $68, $03
+	db $4b, $2a, $03
+	db $49, $0f, $00
+	db $4a, $68, $03
+	db $4b, $2a, $00
+	db $4c, $6a, $03
+	db $4d, $69, $03
+	db $49, $6b, $00
+	db $4c, $6a, $03
+	db $4d, $69, $00
+	db $4a, $68, $03
+	db $4b, $2a, $03
+	db $49, $6c, $00
+	db $4a, $68, $03
+	db $4b, $2a, $00
+	db $4c, $6a, $03
+	db $4d, $69, $03
+	db $49, $6d, $00
+	db $4c, $6a, $03
+	db $4d, $2a, $00
+	db $4a, $68, $03
+	db $4b, $2a, $03
+	db $49, $0f, $00
+	db $4a, $68, $03
+	db $4b, $2a, $00
+	db $4c, $6a, $03
+	db $4d, $2a, $03
+	db $49, $6b, $00
+
+Subanimation2a:
+	db $44
+	db $4e, $2b, $00
+	db $4f, $2b, $00
+	db $50, $2b, $00
+	db $50, $2b, $00
+
+Subanimation23:
+	db $42
+	db $51, $2d, $00
+	db $51, $6e, $00
+
+Subanimation24:
+	db $a2
+	db $51, $2d, $00
+	db $51, $6e, $00
+
+Subanimation25:
+	db $62
+	db $52, $71, $00
+	db $52, $72, $00
+
+Subanimation26:
+	db $02
+	db $52, $01, $00
+	db $52, $2c, $00
+
+Subanimation3a:
+	db $63
+	db $53, $71, $00
+	db $53, $7f, $00
+	db $53, $81, $00
+
+Subanimation3b:
+	db $03
+	db $53, $01, $00
+	db $53, $15, $00
+	db $53, $2c, $00
+
+Subanimation27:
+	db $a2
+	db $54, $01, $00
+	db $54, $2c, $00
+
+Subanimation28:
+	db $23
+	db $55, $73, $03
+	db $56, $73, $03
+	db $57, $73, $00
+
+Subanimation32:
+	db $63
+	db $47, $74, $00
+	db $47, $43, $00
+	db $47, $75, $00
+
+Subanimation33:
+	db $26
+	db $58, $76, $00
+	db $34, $76, $00
+	db $58, $76, $00
+	db $34, $76, $00
+	db $58, $76, $00
+	db $34, $76, $00
+
+Subanimation3c:
+	db $67
+	db $59, $79, $03
+	db $59, $7b, $03
+	db $59, $77, $03
+	db $59, $7a, $03
+	db $59, $78, $03
+	db $59, $7c, $03
+	db $59, $76, $00
+
+Subanimation3d:
+	db $08
+	db $3a, $4d, $00
+	db $3b, $4d, $00
+	db $3c, $4d, $00
+	db $3d, $4d, $00
+	db $3e, $4d, $00
+	db $3f, $4d, $00
+	db $3e, $4d, $00
+	db $3f, $4d, $00
+
+Subanimation34:
+	db $35
+	db $48, $7d, $00
+	db $49, $7d, $00
+	db $5a, $7d, $00
+	db $48, $30, $00
+	db $49, $30, $00
+	db $5a, $30, $00
+	db $48, $7e, $00
+	db $49, $7e, $00
+	db $5a, $7e, $00
+	db $48, $7f, $00
+	db $49, $7f, $00
+	db $5a, $7f, $00
+	db $48, $80, $00
+	db $49, $80, $00
+	db $5a, $80, $00
+	db $48, $81, $00
+	db $49, $81, $00
+	db $5a, $81, $00
+	db $48, $82, $00
+	db $49, $82, $00
+	db $5a, $82, $00
+
+Subanimation35:
+	db $24
+	db $5b, $83, $03
+	db $5c, $84, $03
+	db $5d, $85, $03
+	db $5e, $09, $00
+
+Subanimation36:
+	db $48
+	db $5f, $2a, $00
+	db $5f, $00, $00
+	db $60, $2a, $00
+	db $60, $00, $00
+	db $61, $2a, $00
+	db $61, $00, $00
+	db $62, $2a, $00
+	db $62, $00, $00
+
+Subanimation37:
+	db $2a
+	db $63, $89, $00
+	db $64, $75, $00
+	db $63, $76, $00
+	db $65, $0d, $00
+	db $65, $86, $00
+	db $65, $12, $00
+	db $65, $87, $00
+	db $65, $17, $00
+	db $65, $88, $00
+	db $65, $1a, $00
+
+Subanimation38:
+	db $50
+	db $66, $8a, $00
+	db $66, $33, $00
+	db $66, $2e, $00
+	db $67, $24, $03
+	db $66, $01, $04
+	db $66, $10, $04
+	db $66, $1d, $04
+	db $67, $28, $03
+	db $66, $2a, $04
+	db $66, $0e, $04
+	db $66, $1b, $04
+	db $67, $26, $03
+	db $66, $03, $04
+	db $66, $12, $04
+	db $66, $1e, $04
+	db $67, $29, $00
+
+Subanimation3e:
+	db $92
+	db $02, $31, $00
+	db $34, $31, $00
+	db $02, $31, $00
+	db $02, $32, $00
+	db $34, $32, $00
+	db $02, $32, $00
+	db $02, $92, $00
+	db $34, $92, $00
+	db $02, $92, $00
+	db $02, $0e, $00
+	db $34, $0e, $00
+	db $02, $0e, $00
+	db $02, $0f, $00
+	db $34, $0f, $00
+	db $02, $0f, $00
+	db $02, $10, $00
+	db $34, $10, $00
+	db $02, $10, $00
+
+Subanimation3f:
+	db $72
+	db $68, $4b, $00
+	db $68, $8c, $00
+	db $68, $20, $00
+	db $68, $1c, $00
+	db $68, $19, $00
+	db $68, $14, $00
+	db $68, $76, $00
+	db $68, $8d, $00
+	db $68, $15, $00
+	db $68, $10, $00
+	db $68, $0c, $00
+	db $68, $06, $00
+	db $68, $8e, $00
+	db $68, $8f, $00
+	db $68, $90, $00
+	db $68, $26, $00
+	db $68, $23, $00
+	db $68, $1f, $00
+
+Subanimation44:
+	db $2c
+	db $69, $4b, $00
+	db $69, $8c, $00
+	db $69, $20, $00
+	db $69, $1c, $00
+	db $69, $19, $00
+	db $69, $14, $00
+	db $69, $76, $00
+	db $69, $8d, $00
+	db $69, $15, $00
+	db $69, $10, $00
+	db $69, $0c, $00
+	db $69, $06, $00
+
+Subanimation43:
+	db $a3
+	db $6a, $07, $00
+	db $6b, $0f, $00
+	db $6c, $17, $00
+
+Subanimation45:
+	db $24
+	db $6d, $8b, $00
+	db $6d, $84, $00
+	db $6d, $63, $00
+	db $6d, $8c, $00
+
+Subanimation46:
+	db $26
+	db $6d, $8b, $00
+	db $6d, $84, $00
+	db $6d, $63, $00
+	db $6d, $8c, $00
+	db $6d, $0a, $00
+	db $6d, $89, $00
+
+Subanimation47:
+	db $23
+	db $06, $82, $00
+	db $07, $82, $00
+	db $08, $96, $00
+
+Subanimation48:
+	db $06
+	db $03, $41, $04
+	db $03, $48, $04
+	db $04, $48, $04
+	db $03, $48, $04
+	db $05, $48, $04
+	db $03, $48, $03
+
+Subanimation49:
+	db $04
+	db $04, $48, $04
+	db $03, $48, $04
+	db $05, $48, $04
+	db $03, $48, $03
+
+Subanimation4a:
+	db $01
+	db $04, $84, $03
+
+Subanimation4b:
+	db $03
+	db $06, $72, $00
+	db $07, $72, $00
+	db $08, $72, $00
+
+Subanimation4c:
+	db $68
+	db $6f, $30, $00
+	db $6e, $30, $00
+	db $70, $30, $00
+	db $6e, $30, $00
+	db $6f, $30, $00
+	db $6e, $30, $00
+	db $70, $30, $00
+	db $6e, $30, $00
+
+Subanimation4d:
+	db $26
+	db $32, $4b, $00
+	db $33, $4f, $00
+	db $32, $20, $00
+	db $33, $16, $00
+	db $32, $19, $00
+	db $33, $0d, $00
+
+Subanimation51:
+	db $a6
+	db $76, $1b, $00
+	db $34, $1b, $00
+	db $76, $1b, $00
+	db $34, $1b, $00
+	db $76, $1b, $00
+	db $34, $1b, $00
+
+Subanimation52:
+	db $47
+	db $77, $25, $00
+	db $77, $9b, $00
+	db $77, $1a, $00
+	db $77, $9c, $00
+	db $77, $2f, $00
+	db $77, $50, $00
+	db $77, $8c, $00
+
+Subanimation53:
+	db $0c
+	db $78, $30, $00
+	db $78, $a2, $00
+	db $78, $93, $00
+	db $78, $61, $00
+	db $78, $73, $00
+	db $78, $a7, $00
+	db $78, $33, $00
+	db $78, $a8, $00
+	db $78, $0e, $00
+	db $78, $a9, $00
+	db $78, $34, $00
+	db $01, $9e, $00
+
+Subanimation54:
+	db $0b
+	db $79, $30, $00
+	db $79, $a2, $00
+	db $79, $93, $00
+	db $79, $61, $00
+	db $79, $73, $00
+	db $79, $a7, $00
+	db $79, $33, $00
+	db $79, $a8, $00
+	db $79, $0e, $00
+	db $79, $a9, $00
+	db $79, $34, $00
--- a/data/moves/animation_special_effect_pointers.asm
+++ /dev/null
@@ -1,47 +1,0 @@
-special_effect: MACRO
-	db \1
-	dw \2
-ENDM
-
-SpecialEffectPointers:
-	; special effect id, effect routine address
-	special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE
-	special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD
-	special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC
-	special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB
-	special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA
-	special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9
-	special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8
-	special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7
-	special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6
-	special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5
-	special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4
-	special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3
-	special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2
-	special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1
-	special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0
-	special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF
-	special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE
-	special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED
-	special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC
-	special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB
-	special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA
-	special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9
-	special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8
-	special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7
-	special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6
-	special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5
-	special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4
-	special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4)
-	special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2
-	special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1
-	special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon
-	special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF
-	special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE
-	special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD
-	special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC
-	special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB
-	special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA
-	special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9
-	special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8
-	db -1 ; end
--- a/data/moves/animation_special_effects.asm
+++ /dev/null
@@ -1,32 +1,0 @@
-anim_special_effect: MACRO
-	db \1
-	dw \2
-ENDM
-
-AnimationIdSpecialEffects:
-	; animation id, effect routine address
-	anim_special_effect MEGA_PUNCH, AnimationFlashScreen
-	anim_special_effect GUILLOTINE, AnimationFlashScreen
-	anim_special_effect MEGA_KICK, AnimationFlashScreen
-	anim_special_effect HEADBUTT, AnimationFlashScreen
-	anim_special_effect TAIL_WHIP, TailWhipAnimationUnused
-	anim_special_effect GROWL, DoGrowlSpecialEffects
-	anim_special_effect DISABLE, AnimationFlashScreen
-	anim_special_effect BLIZZARD, DoBlizzardSpecialEffects
-	anim_special_effect BUBBLEBEAM, AnimationFlashScreen
-	anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks
-	anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks
-	anim_special_effect REFLECT, AnimationFlashScreen
-	anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects
-	anim_special_effect SPORE, AnimationFlashScreen
-	anim_special_effect EXPLOSION, DoExplodeSpecialEffects
-	anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects
-	anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon
-	anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball
-	anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball
-	anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects
-	anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects
-	anim_special_effect POOF_ANIM, DoPoofSpecialEffects
-	anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects
-	anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects
-	db -1 ; end
--- a/data/moves/animations.asm
+++ b/data/moves/animations.asm
@@ -1259,2370 +1259,3 @@
 ThrowBaitAnim:
 	db $03, $8B, $54
 	db $FF
-
-SubanimationPointers:
-	dw Subanimation00
-	dw Subanimation01
-	dw Subanimation02
-	dw Subanimation03
-	dw Subanimation04
-	dw Subanimation05
-	dw Subanimation06
-	dw Subanimation07
-	dw Subanimation08
-	dw Subanimation09
-	dw Subanimation0a
-	dw Subanimation0b
-	dw Subanimation0c
-	dw Subanimation0d
-	dw Subanimation0e
-	dw Subanimation0f
-	dw Subanimation10
-	dw Subanimation11
-	dw Subanimation12
-	dw Subanimation13
-	dw Subanimation14
-	dw Subanimation15
-	dw Subanimation16
-	dw Subanimation17
-	dw Subanimation18
-	dw Subanimation19
-	dw Subanimation1a
-	dw Subanimation1b
-	dw Subanimation1c
-	dw Subanimation1d
-	dw Subanimation1e
-	dw Subanimation1f
-	dw Subanimation20
-	dw Subanimation21
-	dw Subanimation22
-	dw Subanimation23
-	dw Subanimation24
-	dw Subanimation25
-	dw Subanimation26
-	dw Subanimation27
-	dw Subanimation28
-	dw Subanimation29
-	dw Subanimation2a
-	dw Subanimation2b
-	dw Subanimation2c
-	dw Subanimation2d
-	dw Subanimation2e
-	dw Subanimation2f
-	dw Subanimation30
-	dw Subanimation31
-	dw Subanimation32
-	dw Subanimation33
-	dw Subanimation34
-	dw Subanimation35
-	dw Subanimation36
-	dw Subanimation37
-	dw Subanimation38
-	dw Subanimation39
-	dw Subanimation3a
-	dw Subanimation3b
-	dw Subanimation3c
-	dw Subanimation3d
-	dw Subanimation3e
-	dw Subanimation3f
-	dw Subanimation40
-	dw Subanimation41
-	dw Subanimation42
-	dw Subanimation43
-	dw Subanimation44
-	dw Subanimation45
-	dw Subanimation46
-	dw Subanimation47
-	dw Subanimation48
-	dw Subanimation49
-	dw Subanimation4a
-	dw Subanimation4b
-	dw Subanimation4c
-	dw Subanimation4d
-	dw Subanimation4e
-	dw Subanimation4f
-	dw Subanimation50
-	dw Subanimation51
-	dw Subanimation52
-	dw Subanimation53
-	dw Subanimation54
-	dw Subanimation55
-
-Subanimation04:
-	db $43
-	db $02, $1a, $00
-	db $02, $10, $00
-	db $02, $03, $00
-
-Subanimation05:
-	db $41
-	db $02, $10, $00
-
-Subanimation08:
-	db $0b
-	db $03, $30, $00
-	db $03, $44, $00
-	db $03, $94, $00
-	db $03, $60, $00
-	db $03, $76, $00
-	db $03, $9f, $00
-	db $03, $8d, $00
-	db $03, $a0, $00
-	db $03, $1a, $00
-	db $03, $a1, $00
-	db $03, $34, $00
-
-Subanimation07:
-	db $0b
-	db $03, $30, $00
-	db $03, $a2, $00
-	db $03, $31, $00
-	db $03, $a3, $00
-	db $03, $32, $00
-	db $03, $a4, $00
-	db $03, $92, $00
-	db $03, $a5, $00
-	db $03, $15, $00
-	db $03, $a6, $00
-	db $03, $34, $00
-
-Subanimation06:
-	db $0b
-	db $03, $30, $00
-	db $03, $a2, $00
-	db $03, $93, $00
-	db $03, $61, $00
-	db $03, $73, $00
-	db $03, $a7, $00
-	db $03, $33, $00
-	db $03, $a8, $00
-	db $03, $0e, $00
-	db $03, $a9, $00
-	db $03, $34, $00
-
-Subanimation09:
-	db $04
-	db $03, $21, $04
-	db $04, $21, $04
-	db $03, $21, $04
-	db $05, $21, $04
-
-Subanimation0a:
-	db $46
-	db $06, $1b, $00
-	db $07, $1b, $00
-	db $08, $36, $00
-	db $09, $36, $00
-	db $0a, $15, $00
-	db $0a, $15, $00
-
-Subanimation0b:
-	db $04
-	db $01, $2d, $00
-	db $03, $2f, $00
-	db $03, $35, $00
-	db $03, $4d, $00
-
-Subanimation55:
-	db $41
-	db $01, $9d, $00
-
-Subanimation11:
-	db $4c
-	db $0b, $26, $00
-	db $0c, $26, $00
-	db $0b, $26, $00
-	db $0c, $26, $00
-	db $0b, $28, $00
-	db $0c, $28, $00
-	db $0b, $28, $00
-	db $0c, $28, $00
-	db $0b, $27, $00
-	db $0c, $27, $00
-	db $0b, $27, $00
-	db $0c, $27, $00
-
-Subanimation2b:
-	db $4b
-	db $0d, $03, $03
-	db $0e, $03, $03
-	db $0f, $03, $00
-	db $0d, $11, $00
-	db $0d, $11, $00
-	db $0d, $37, $00
-	db $0d, $37, $00
-	db $10, $21, $00
-	db $10, $21, $00
-	db $11, $1b, $00
-	db $11, $1b, $00
-
-Subanimation2c:
-	db $4c
-	db $12, $01, $00
-	db $12, $0f, $00
-	db $12, $1b, $00
-	db $12, $25, $00
-	db $13, $38, $00
-	db $13, $38, $02
-	db $14, $38, $00
-	db $14, $38, $02
-	db $15, $38, $00
-	db $15, $38, $00
-	db $16, $38, $00
-	db $16, $38, $00
-
-Subanimation12:
-	db $69
-	db $17, $30, $00
-	db $17, $39, $00
-	db $17, $3a, $00
-	db $17, $3b, $00
-	db $17, $3c, $00
-	db $17, $3d, $00
-	db $17, $3e, $00
-	db $17, $3f, $00
-	db $17, $1f, $00
-
-Subanimation00:
-	db $41
-	db $01, $17, $00
-
-Subanimation01:
-	db $42
-	db $01, $0f, $00
-	db $01, $1d, $00
-
-Subanimation02:
-	db $43
-	db $01, $12, $00
-	db $01, $15, $00
-	db $01, $1c, $00
-
-Subanimation03:
-	db $44
-	db $01, $0b, $00
-	db $01, $11, $00
-	db $01, $18, $00
-	db $01, $1d, $00
-
-Subanimation0c:
-	db $43
-	db $0c, $20, $00
-	db $0c, $21, $00
-	db $0c, $23, $00
-
-Subanimation0d:
-	db $46
-	db $0c, $20, $02
-	db $0c, $15, $00
-	db $0c, $21, $02
-	db $0c, $17, $00
-	db $0c, $23, $02
-	db $0c, $19, $00
-
-Subanimation0e:
-	db $49
-	db $0c, $20, $02
-	db $0c, $15, $02
-	db $0c, $07, $00
-	db $0c, $21, $02
-	db $0c, $17, $02
-	db $0c, $09, $00
-	db $0c, $23, $02
-	db $0c, $19, $02
-	db $0c, $0c, $00
-
-Subanimation1f:
-	db $85
-	db $0c, $30, $03
-	db $0c, $40, $03
-	db $0c, $41, $03
-	db $0c, $42, $03
-	db $0c, $21, $00
-
-Subanimation2e:
-	db $2e
-	db $18, $43, $02
-	db $75, $52, $04
-	db $19, $43, $02
-	db $75, $63, $04
-	db $1a, $43, $02
-	db $75, $4d, $04
-	db $1b, $43, $02
-	db $75, $97, $04
-	db $1c, $43, $02
-	db $75, $98, $04
-	db $1d, $43, $02
-	db $75, $58, $04
-	db $1e, $43, $02
-	db $75, $1b, $00
-
-Subanimation2f:
-	db $44
-	db $1f, $24, $00
-	db $20, $20, $00
-	db $21, $1a, $00
-	db $22, $15, $00
-
-Subanimation30:
-	db $52
-	db $23, $00, $02
-	db $23, $02, $02
-	db $23, $04, $00
-	db $23, $07, $02
-	db $23, $02, $02
-	db $23, $04, $00
-	db $23, $0e, $02
-	db $23, $02, $02
-	db $23, $0c, $00
-	db $25, $07, $00
-	db $25, $0e, $00
-	db $25, $15, $00
-	db $24, $24, $02
-	db $23, $1c, $02
-	db $23, $23, $00
-	db $23, $21, $02
-	db $24, $28, $00
-	db $24, $28, $00
-
-Subanimation0f:
-	db $4c
-	db $26, $0e, $02
-	db $26, $16, $02
-	db $26, $1c, $00
-	db $27, $0e, $02
-	db $27, $16, $02
-	db $27, $1c, $00
-	db $28, $0e, $02
-	db $28, $16, $02
-	db $28, $1c, $00
-	db $29, $0e, $02
-	db $29, $16, $02
-	db $29, $1c, $00
-
-Subanimation16:
-	db $4c
-	db $2a, $05, $00
-	db $2b, $05, $02
-	db $2b, $0c, $02
-	db $2a, $11, $04
-	db $2b, $11, $02
-	db $2b, $17, $02
-	db $2a, $1b, $04
-	db $2b, $1b, $02
-	db $2b, $20, $02
-	db $2a, $2f, $04
-	db $2c, $00, $02
-	db $2c, $00, $00
-
-Subanimation10:
-	db $88
-	db $2d, $44, $00
-	db $2e, $45, $00
-	db $2d, $46, $00
-	db $2e, $47, $00
-	db $2d, $48, $00
-	db $2e, $49, $00
-	db $2d, $2f, $00
-	db $2e, $1a, $00
-
-Subanimation31:
-	db $2a
-	db $2f, $46, $00
-	db $2f, $4a, $00
-	db $2f, $4b, $00
-	db $2f, $4c, $00
-	db $2f, $4d, $00
-	db $2f, $4e, $00
-	db $2f, $4f, $00
-	db $2f, $50, $00
-	db $2f, $2e, $00
-	db $2f, $51, $00
-
-Subanimation13:
-	db $86
-	db $30, $31, $00
-	db $30, $32, $00
-	db $30, $92, $00
-	db $30, $0e, $00
-	db $30, $0f, $00
-	db $30, $10, $00
-
-Subanimation14:
-	db $49
-	db $30, $10, $00
-	db $30, $10, $03
-	db $31, $1c, $04
-	db $31, $21, $04
-	db $31, $26, $00
-	db $30, $10, $02
-	db $31, $1d, $04
-	db $31, $22, $04
-	db $31, $27, $00
-
-Subanimation41:
-	db $85
-	db $03, $31, $00
-	db $03, $32, $00
-	db $03, $92, $00
-	db $03, $0e, $00
-	db $03, $10, $00
-
-Subanimation42:
-	db $43
-	db $48, $08, $00
-	db $49, $08, $00
-	db $5a, $08, $00
-
-Subanimation15:
-	db $22
-	db $35, $52, $00
-	db $35, $53, $00
-
-Subanimation17:
-	db $44
-	db $36, $54, $00
-	db $36, $55, $00
-	db $37, $56, $00
-	db $37, $57, $00
-
-Subanimation18:
-	db $a4
-	db $36, $54, $00
-	db $36, $55, $00
-	db $37, $56, $00
-	db $37, $57, $00
-
-Subanimation40:
-	db $46
-	db $17, $54, $00
-	db $17, $55, $00
-	db $17, $0e, $00
-	db $17, $56, $00
-	db $17, $57, $00
-	db $17, $13, $00
-
-Subanimation19:
-	db $8c
-	db $38, $31, $00
-	db $39, $31, $00
-	db $38, $32, $00
-	db $39, $32, $00
-	db $38, $92, $00
-	db $39, $92, $00
-	db $38, $0e, $00
-	db $39, $0e, $00
-	db $38, $0f, $00
-	db $39, $0f, $00
-	db $38, $10, $00
-	db $39, $10, $00
-
-Subanimation1a:
-	db $50
-	db $3a, $08, $00
-	db $3b, $08, $00
-	db $3c, $08, $00
-	db $3d, $08, $00
-	db $3e, $08, $00
-	db $3f, $08, $00
-	db $3e, $08, $00
-	db $3f, $08, $00
-	db $3a, $0b, $00
-	db $3b, $0b, $00
-	db $3c, $0b, $00
-	db $3d, $0b, $00
-	db $3e, $0b, $00
-	db $3f, $0b, $00
-	db $3e, $0b, $00
-	db $3f, $0b, $00
-
-Subanimation1b:
-	db $84
-	db $40, $31, $00
-	db $40, $32, $00
-	db $40, $92, $00
-	db $40, $15, $00
-
-Subanimation1c:
-	db $43
-	db $41, $58, $00
-	db $41, $59, $00
-	db $41, $21, $00
-
-Subanimation1d:
-	db $af
-	db $24, $9a, $00
-	db $23, $1b, $02
-	db $24, $22, $00
-	db $23, $16, $02
-	db $23, $1d, $02
-	db $24, $98, $00
-	db $25, $2c, $04
-	db $25, $2a, $04
-	db $25, $99, $04
-	db $25, $62, $04
-	db $25, $99, $04
-	db $25, $62, $04
-	db $25, $99, $04
-	db $25, $62, $04
-	db $25, $99, $03
-
-Subanimation1e:
-	db $01
-	db $25, $75, $00
-
-Subanimation20:
-	db $42
-	db $42, $07, $00
-	db $43, $07, $00
-
-Subanimation21:
-	db $43
-	db $44, $00, $00
-	db $45, $08, $00
-	db $46, $10, $02
-
-Subanimation22:
-	db $8b
-	db $47, $10, $00
-	db $47, $56, $00
-	db $47, $07, $00
-	db $47, $aa, $00
-	db $47, $ab, $00
-	db $47, $ac, $00
-	db $47, $ad, $00
-	db $47, $ae, $00
-	db $47, $af, $00
-	db $47, $89, $00
-	db $47, $b0, $00
-
-Subanimation2d:
-	db $66
-	db $44, $64, $00
-	db $45, $65, $00
-	db $46, $66, $00
-	db $47, $66, $00
-	db $47, $66, $00
-	db $47, $66, $00
-
-Subanimation39:
-	db $61
-	db $47, $67, $00
-
-Subanimation4e:
-	db $41
-	db $71, $0f, $03
-
-Subanimation4f:
-	db $47
-	db $71, $0f, $00
-	db $71, $08, $00
-	db $71, $01, $00
-	db $71, $95, $00
-	db $72, $95, $00
-	db $73, $95, $00
-	db $74, $95, $00
-
-Subanimation50:
-	db $48
-	db $74, $95, $00
-	db $73, $95, $00
-	db $72, $95, $00
-	db $71, $95, $00
-	db $71, $01, $00
-	db $71, $08, $00
-	db $71, $0f, $00
-	db $71, $16, $00
-
-Subanimation29:
-	db $5d
-	db $48, $0f, $00
-	db $4a, $68, $03
-	db $4b, $2a, $03
-	db $49, $0f, $00
-	db $4a, $68, $03
-	db $4b, $2a, $00
-	db $4c, $6a, $03
-	db $4d, $69, $03
-	db $49, $6b, $00
-	db $4c, $6a, $03
-	db $4d, $69, $00
-	db $4a, $68, $03
-	db $4b, $2a, $03
-	db $49, $6c, $00
-	db $4a, $68, $03
-	db $4b, $2a, $00
-	db $4c, $6a, $03
-	db $4d, $69, $03
-	db $49, $6d, $00
-	db $4c, $6a, $03
-	db $4d, $2a, $00
-	db $4a, $68, $03
-	db $4b, $2a, $03
-	db $49, $0f, $00
-	db $4a, $68, $03
-	db $4b, $2a, $00
-	db $4c, $6a, $03
-	db $4d, $2a, $03
-	db $49, $6b, $00
-
-Subanimation2a:
-	db $44
-	db $4e, $2b, $00
-	db $4f, $2b, $00
-	db $50, $2b, $00
-	db $50, $2b, $00
-
-Subanimation23:
-	db $42
-	db $51, $2d, $00
-	db $51, $6e, $00
-
-Subanimation24:
-	db $a2
-	db $51, $2d, $00
-	db $51, $6e, $00
-
-Subanimation25:
-	db $62
-	db $52, $71, $00
-	db $52, $72, $00
-
-Subanimation26:
-	db $02
-	db $52, $01, $00
-	db $52, $2c, $00
-
-Subanimation3a:
-	db $63
-	db $53, $71, $00
-	db $53, $7f, $00
-	db $53, $81, $00
-
-Subanimation3b:
-	db $03
-	db $53, $01, $00
-	db $53, $15, $00
-	db $53, $2c, $00
-
-Subanimation27:
-	db $a2
-	db $54, $01, $00
-	db $54, $2c, $00
-
-Subanimation28:
-	db $23
-	db $55, $73, $03
-	db $56, $73, $03
-	db $57, $73, $00
-
-Subanimation32:
-	db $63
-	db $47, $74, $00
-	db $47, $43, $00
-	db $47, $75, $00
-
-Subanimation33:
-	db $26
-	db $58, $76, $00
-	db $34, $76, $00
-	db $58, $76, $00
-	db $34, $76, $00
-	db $58, $76, $00
-	db $34, $76, $00
-
-Subanimation3c:
-	db $67
-	db $59, $79, $03
-	db $59, $7b, $03
-	db $59, $77, $03
-	db $59, $7a, $03
-	db $59, $78, $03
-	db $59, $7c, $03
-	db $59, $76, $00
-
-Subanimation3d:
-	db $08
-	db $3a, $4d, $00
-	db $3b, $4d, $00
-	db $3c, $4d, $00
-	db $3d, $4d, $00
-	db $3e, $4d, $00
-	db $3f, $4d, $00
-	db $3e, $4d, $00
-	db $3f, $4d, $00
-
-Subanimation34:
-	db $35
-	db $48, $7d, $00
-	db $49, $7d, $00
-	db $5a, $7d, $00
-	db $48, $30, $00
-	db $49, $30, $00
-	db $5a, $30, $00
-	db $48, $7e, $00
-	db $49, $7e, $00
-	db $5a, $7e, $00
-	db $48, $7f, $00
-	db $49, $7f, $00
-	db $5a, $7f, $00
-	db $48, $80, $00
-	db $49, $80, $00
-	db $5a, $80, $00
-	db $48, $81, $00
-	db $49, $81, $00
-	db $5a, $81, $00
-	db $48, $82, $00
-	db $49, $82, $00
-	db $5a, $82, $00
-
-Subanimation35:
-	db $24
-	db $5b, $83, $03
-	db $5c, $84, $03
-	db $5d, $85, $03
-	db $5e, $09, $00
-
-Subanimation36:
-	db $48
-	db $5f, $2a, $00
-	db $5f, $00, $00
-	db $60, $2a, $00
-	db $60, $00, $00
-	db $61, $2a, $00
-	db $61, $00, $00
-	db $62, $2a, $00
-	db $62, $00, $00
-
-Subanimation37:
-	db $2a
-	db $63, $89, $00
-	db $64, $75, $00
-	db $63, $76, $00
-	db $65, $0d, $00
-	db $65, $86, $00
-	db $65, $12, $00
-	db $65, $87, $00
-	db $65, $17, $00
-	db $65, $88, $00
-	db $65, $1a, $00
-
-Subanimation38:
-	db $50
-	db $66, $8a, $00
-	db $66, $33, $00
-	db $66, $2e, $00
-	db $67, $24, $03
-	db $66, $01, $04
-	db $66, $10, $04
-	db $66, $1d, $04
-	db $67, $28, $03
-	db $66, $2a, $04
-	db $66, $0e, $04
-	db $66, $1b, $04
-	db $67, $26, $03
-	db $66, $03, $04
-	db $66, $12, $04
-	db $66, $1e, $04
-	db $67, $29, $00
-
-Subanimation3e:
-	db $92
-	db $02, $31, $00
-	db $34, $31, $00
-	db $02, $31, $00
-	db $02, $32, $00
-	db $34, $32, $00
-	db $02, $32, $00
-	db $02, $92, $00
-	db $34, $92, $00
-	db $02, $92, $00
-	db $02, $0e, $00
-	db $34, $0e, $00
-	db $02, $0e, $00
-	db $02, $0f, $00
-	db $34, $0f, $00
-	db $02, $0f, $00
-	db $02, $10, $00
-	db $34, $10, $00
-	db $02, $10, $00
-
-Subanimation3f:
-	db $72
-	db $68, $4b, $00
-	db $68, $8c, $00
-	db $68, $20, $00
-	db $68, $1c, $00
-	db $68, $19, $00
-	db $68, $14, $00
-	db $68, $76, $00
-	db $68, $8d, $00
-	db $68, $15, $00
-	db $68, $10, $00
-	db $68, $0c, $00
-	db $68, $06, $00
-	db $68, $8e, $00
-	db $68, $8f, $00
-	db $68, $90, $00
-	db $68, $26, $00
-	db $68, $23, $00
-	db $68, $1f, $00
-
-Subanimation44:
-	db $2c
-	db $69, $4b, $00
-	db $69, $8c, $00
-	db $69, $20, $00
-	db $69, $1c, $00
-	db $69, $19, $00
-	db $69, $14, $00
-	db $69, $76, $00
-	db $69, $8d, $00
-	db $69, $15, $00
-	db $69, $10, $00
-	db $69, $0c, $00
-	db $69, $06, $00
-
-Subanimation43:
-	db $a3
-	db $6a, $07, $00
-	db $6b, $0f, $00
-	db $6c, $17, $00
-
-Subanimation45:
-	db $24
-	db $6d, $8b, $00
-	db $6d, $84, $00
-	db $6d, $63, $00
-	db $6d, $8c, $00
-
-Subanimation46:
-	db $26
-	db $6d, $8b, $00
-	db $6d, $84, $00
-	db $6d, $63, $00
-	db $6d, $8c, $00
-	db $6d, $0a, $00
-	db $6d, $89, $00
-
-Subanimation47:
-	db $23
-	db $06, $82, $00
-	db $07, $82, $00
-	db $08, $96, $00
-
-Subanimation48:
-	db $06
-	db $03, $41, $04
-	db $03, $48, $04
-	db $04, $48, $04
-	db $03, $48, $04
-	db $05, $48, $04
-	db $03, $48, $03
-
-Subanimation49:
-	db $04
-	db $04, $48, $04
-	db $03, $48, $04
-	db $05, $48, $04
-	db $03, $48, $03
-
-Subanimation4a:
-	db $01
-	db $04, $84, $03
-
-Subanimation4b:
-	db $03
-	db $06, $72, $00
-	db $07, $72, $00
-	db $08, $72, $00
-
-Subanimation4c:
-	db $68
-	db $6f, $30, $00
-	db $6e, $30, $00
-	db $70, $30, $00
-	db $6e, $30, $00
-	db $6f, $30, $00
-	db $6e, $30, $00
-	db $70, $30, $00
-	db $6e, $30, $00
-
-Subanimation4d:
-	db $26
-	db $32, $4b, $00
-	db $33, $4f, $00
-	db $32, $20, $00
-	db $33, $16, $00
-	db $32, $19, $00
-	db $33, $0d, $00
-
-Subanimation51:
-	db $a6
-	db $76, $1b, $00
-	db $34, $1b, $00
-	db $76, $1b, $00
-	db $34, $1b, $00
-	db $76, $1b, $00
-	db $34, $1b, $00
-
-Subanimation52:
-	db $47
-	db $77, $25, $00
-	db $77, $9b, $00
-	db $77, $1a, $00
-	db $77, $9c, $00
-	db $77, $2f, $00
-	db $77, $50, $00
-	db $77, $8c, $00
-
-Subanimation53:
-	db $0c
-	db $78, $30, $00
-	db $78, $a2, $00
-	db $78, $93, $00
-	db $78, $61, $00
-	db $78, $73, $00
-	db $78, $a7, $00
-	db $78, $33, $00
-	db $78, $a8, $00
-	db $78, $0e, $00
-	db $78, $a9, $00
-	db $78, $34, $00
-	db $01, $9e, $00
-
-Subanimation54:
-	db $0b
-	db $79, $30, $00
-	db $79, $a2, $00
-	db $79, $93, $00
-	db $79, $61, $00
-	db $79, $73, $00
-	db $79, $a7, $00
-	db $79, $33, $00
-	db $79, $a8, $00
-	db $79, $0e, $00
-	db $79, $a9, $00
-	db $79, $34, $00
-
-FrameBlockPointers:
-	dw FrameBlock00
-	dw FrameBlock01
-	dw FrameBlock02
-	dw FrameBlock03
-	dw FrameBlock04
-	dw FrameBlock05
-	dw FrameBlock06
-	dw FrameBlock07
-	dw FrameBlock08
-	dw FrameBlock09
-	dw FrameBlock0a
-	dw FrameBlock0b
-	dw FrameBlock0c
-	dw FrameBlock0d
-	dw FrameBlock0e
-	dw FrameBlock0f
-	dw FrameBlock10
-	dw FrameBlock11
-	dw FrameBlock12
-	dw FrameBlock13
-	dw FrameBlock14
-	dw FrameBlock15
-	dw FrameBlock16
-	dw FrameBlock17
-	dw FrameBlock18
-	dw FrameBlock19
-	dw FrameBlock1a
-	dw FrameBlock1b
-	dw FrameBlock1c
-	dw FrameBlock1d
-	dw FrameBlock1e
-	dw FrameBlock1f
-	dw FrameBlock20
-	dw FrameBlock21
-	dw FrameBlock22
-	dw FrameBlock23
-	dw FrameBlock24
-	dw FrameBlock25
-	dw FrameBlock26
-	dw FrameBlock27
-	dw FrameBlock28
-	dw FrameBlock29
-	dw FrameBlock2a
-	dw FrameBlock2b
-	dw FrameBlock2c
-	dw FrameBlock2d
-	dw FrameBlock2e
-	dw FrameBlock2f
-	dw FrameBlock30
-	dw FrameBlock31
-	dw FrameBlock32
-	dw FrameBlock33
-	dw FrameBlock34
-	dw FrameBlock35
-	dw FrameBlock36
-	dw FrameBlock37
-	dw FrameBlock38
-	dw FrameBlock39
-	dw FrameBlock3a
-	dw FrameBlock3b
-	dw FrameBlock3c
-	dw FrameBlock3d
-	dw FrameBlock3e
-	dw FrameBlock3f
-	dw FrameBlock40
-	dw FrameBlock41
-	dw FrameBlock42
-	dw FrameBlock43
-	dw FrameBlock44
-	dw FrameBlock45
-	dw FrameBlock46
-	dw FrameBlock47
-	dw SmallBlackCircleFrameBlock
-	dw LargeBlockCircleFrameBlock
-	dw FrameBlock4a
-	dw FrameBlock4b
-	dw FrameBlock4c
-	dw FrameBlock4d
-	dw FrameBlock4e
-	dw FrameBlock4f
-	dw FrameBlock50
-	dw FrameBlock51
-	dw FrameBlock52
-	dw FrameBlock53
-	dw FrameBlock54
-	dw FrameBlock55
-	dw FrameBlock56
-	dw FrameBlock57
-	dw FrameBlock58
-	dw FrameBlock59
-	dw FrameBlock5a
-	dw FrameBlock5b
-	dw FrameBlock5c
-	dw FrameBlock5d
-	dw FrameBlock5e
-	dw FrameBlock5f
-	dw FrameBlock60
-	dw FrameBlock61
-	dw FrameBlock62
-	dw FrameBlock63
-	dw FrameBlock64
-	dw FrameBlock65
-	dw FrameBlock66
-	dw FrameBlock67
-	dw FrameBlock68
-	dw FrameBlock69
-	dw FrameBlock6a
-	dw FrameBlock6b
-	dw FrameBlock6c
-	dw FrameBlock6d
-	dw FrameBlock6e
-	dw FrameBlock6f
-	dw FrameBlock70
-	dw FrameBlock71
-	dw FrameBlock72
-	dw FrameBlock73
-	dw FrameBlock74
-	dw FrameBlock75
-	dw FrameBlock76
-	dw FrameBlock77
-	dw FrameBlock78
-	dw FrameBlock79
-
-; FrameBlock format is as follows:
-; first byte = number of tiles in FrameBlock
-;
-; Next, each group of 4 bytes describes a tile in the FrameBlock
-; first byte = y offset
-; second byte = x offset
-; third byte = tile id (it's actually tile id - $31)
-; fourth byte = tile properties (xflip/yflip/etc.)
-FrameBlock01:
-	db $09
-	db $00, $00, $2c, $00
-	db $00, $08, $2d, $00
-	db $00, $10, $2c, $20
-	db $08, $00, $3c, $00
-	db $08, $08, $3d, $00
-	db $08, $10, $3c, $20
-	db $10, $00, $2c, $40
-	db $10, $08, $2d, $40
-	db $10, $10, $2c, $60
-
-FrameBlock02:
-	db $10
-	db $00, $00, $20, $00
-	db $00, $08, $21, $00
-	db $00, $10, $21, $20
-	db $00, $18, $20, $20
-	db $08, $00, $30, $00
-	db $08, $08, $31, $00
-	db $08, $10, $31, $20
-	db $08, $18, $30, $20
-	db $10, $00, $30, $40
-	db $10, $08, $31, $40
-	db $10, $10, $31, $60
-	db $10, $18, $30, $60
-	db $18, $00, $20, $40
-	db $18, $08, $21, $40
-	db $18, $10, $21, $60
-	db $18, $18, $20, $60
-
-FrameBlock03:
-	db $04
-	db $00, $00, $02, $00
-	db $00, $08, $02, $20
-	db $08, $00, $12, $00
-	db $08, $08, $12, $20
-
-FrameBlock04:
-	db $04
-	db $00, $00, $06, $00
-	db $00, $08, $07, $00
-	db $08, $00, $16, $00
-	db $08, $08, $17, $00
-
-FrameBlock05:
-	db $04
-	db $00, $00, $07, $20
-	db $00, $08, $06, $20
-	db $08, $00, $17, $20
-	db $08, $08, $16, $20
-
-FrameBlock06:
-	db $0c
-	db $00, $08, $23, $00
-	db $08, $00, $32, $00
-	db $08, $08, $33, $00
-	db $00, $10, $23, $20
-	db $08, $10, $33, $20
-	db $08, $18, $32, $20
-	db $10, $00, $32, $40
-	db $10, $08, $33, $40
-	db $18, $08, $23, $40
-	db $10, $10, $33, $60
-	db $10, $18, $32, $60
-	db $18, $10, $23, $60
-
-FrameBlock07:
-	db $10
-	db $00, $00, $20, $00
-	db $00, $08, $21, $00
-	db $08, $00, $30, $00
-	db $08, $08, $31, $00
-	db $00, $10, $21, $20
-	db $00, $18, $20, $20
-	db $08, $10, $31, $20
-	db $08, $18, $30, $20
-	db $10, $00, $30, $40
-	db $10, $08, $31, $40
-	db $18, $00, $20, $40
-	db $18, $08, $21, $40
-	db $10, $10, $31, $60
-	db $10, $18, $30, $60
-	db $18, $10, $21, $60
-	db $18, $18, $20, $60
-
-FrameBlock08:
-	db $10
-	db $00, $00, $20, $00
-	db $00, $08, $21, $00
-	db $08, $00, $30, $00
-	db $08, $08, $31, $00
-	db $00, $18, $21, $20
-	db $00, $20, $20, $20
-	db $08, $18, $31, $20
-	db $08, $20, $30, $20
-	db $18, $00, $30, $40
-	db $18, $08, $31, $40
-	db $20, $00, $20, $40
-	db $20, $08, $21, $40
-	db $18, $18, $31, $60
-	db $18, $20, $30, $60
-	db $20, $18, $21, $60
-	db $20, $20, $20, $60
-
-FrameBlock09:
-	db $0c
-	db $00, $00, $24, $00
-	db $00, $08, $25, $00
-	db $08, $00, $34, $00
-	db $00, $18, $25, $20
-	db $00, $20, $24, $20
-	db $08, $20, $34, $20
-	db $18, $00, $34, $40
-	db $20, $00, $24, $40
-	db $20, $08, $25, $40
-	db $18, $20, $34, $60
-	db $20, $18, $25, $60
-	db $20, $20, $24, $60
-
-FrameBlock0a:
-	db $0c
-	db $00, $00, $24, $00
-	db $00, $08, $25, $00
-	db $08, $00, $34, $00
-	db $00, $20, $25, $20
-	db $00, $28, $24, $20
-	db $08, $28, $34, $20
-	db $20, $00, $34, $40
-	db $28, $00, $24, $40
-	db $28, $08, $25, $40
-	db $20, $28, $34, $60
-	db $28, $20, $25, $60
-	db $28, $28, $24, $60
-
-FrameBlock0b:
-	db $04
-	db $00, $00, $05, $00
-	db $00, $08, $05, $20
-	db $08, $00, $15, $00
-	db $08, $08, $15, $20
-
-FrameBlock0c:
-	db $04
-	db $00, $00, $04, $00
-	db $00, $08, $04, $20
-	db $08, $00, $14, $00
-	db $08, $08, $14, $20
-
-FrameBlock0d:
-	db $08
-	db $00, $00, $0c, $00
-	db $00, $08, $0d, $00
-	db $08, $00, $1c, $00
-	db $08, $08, $1d, $00
-	db $10, $00, $1d, $60
-	db $10, $08, $1c, $60
-	db $18, $00, $0d, $60
-	db $18, $08, $0c, $60
-
-FrameBlock0e:
-	db $04
-	db $20, $00, $0c, $00
-	db $20, $08, $0d, $00
-	db $28, $00, $1c, $00
-	db $28, $08, $1d, $00
-
-FrameBlock0f:
-	db $04
-	db $30, $00, $1d, $60
-	db $30, $08, $1c, $60
-	db $38, $00, $0d, $60
-	db $38, $08, $0c, $60
-
-FrameBlock10:
-	db $08
-	db $00, $00, $0e, $00
-	db $00, $08, $0f, $00
-	db $08, $00, $1e, $00
-	db $08, $08, $1f, $00
-	db $00, $10, $0f, $20
-	db $00, $18, $0e, $20
-	db $08, $10, $1f, $20
-	db $08, $18, $1e, $20
-
-FrameBlock11:
-	db $08
-	db $00, $00, $0e, $00
-	db $00, $08, $0f, $00
-	db $08, $00, $1e, $00
-	db $08, $08, $1f, $00
-	db $00, $20, $0f, $20
-	db $00, $28, $0e, $20
-	db $08, $20, $1f, $20
-	db $08, $28, $1e, $20
-
-FrameBlock12:
-	db $03
-	db $00, $00, $37, $00
-	db $08, $10, $37, $00
-	db $00, $20, $37, $00
-
-FrameBlock13:
-	db $04
-	db $00, $00, $36, $00
-	db $00, $08, $36, $20
-	db $08, $00, $36, $40
-	db $08, $08, $36, $60
-
-FrameBlock14:
-	db $08
-	db $00, $10, $28, $00
-	db $00, $18, $28, $20
-	db $08, $10, $38, $00
-	db $08, $18, $38, $20
-	db $00, $20, $36, $00
-	db $00, $28, $36, $20
-	db $08, $20, $36, $40
-	db $08, $28, $36, $60
-
-FrameBlock15:
-	db $0c
-	db $00, $00, $28, $00
-	db $00, $08, $28, $20
-	db $08, $00, $38, $00
-	db $08, $08, $38, $20
-	db $00, $10, $29, $00
-	db $00, $18, $29, $20
-	db $08, $10, $39, $00
-	db $08, $18, $39, $20
-	db $00, $20, $28, $00
-	db $00, $28, $28, $20
-	db $08, $20, $38, $00
-	db $08, $28, $38, $20
-
-FrameBlock16:
-	db $08
-	db $00, $00, $29, $00
-	db $00, $08, $29, $20
-	db $08, $00, $39, $00
-	db $08, $08, $39, $20
-	db $00, $20, $29, $00
-	db $00, $28, $29, $20
-	db $08, $20, $39, $00
-	db $08, $28, $39, $20
-
-FrameBlock17:
-	db $04
-	db $00, $00, $08, $00
-	db $00, $08, $09, $00
-	db $08, $00, $18, $00
-	db $08, $08, $19, $00
-
-FrameBlock18:
-	db $01
-	db $18, $00, $45, $60
-
-FrameBlock19:
-	db $02
-	db $18, $08, $45, $00
-	db $10, $08, $46, $60
-
-FrameBlock1a:
-	db $02
-	db $10, $10, $45, $60
-	db $18, $10, $46, $00
-
-FrameBlock1b:
-	db $02
-	db $10, $18, $45, $00
-	db $08, $18, $46, $60
-
-FrameBlock1c:
-	db $02
-	db $08, $20, $45, $60
-	db $10, $20, $46, $00
-
-FrameBlock1d:
-	db $02
-	db $08, $28, $45, $00
-	db $00, $28, $46, $60
-
-FrameBlock1e:
-	db $02
-	db $00, $30, $45, $60
-	db $08, $30, $46, $00
-
-FrameBlock75:
-	db $04
-	db $00, $00, $43, $00
-	db $00, $08, $43, $20
-	db $08, $00, $22, $00
-	db $08, $08, $43, $60
-
-FrameBlock1f:
-	db $02
-	db $00, $00, $03, $00
-	db $00, $30, $03, $20
-
-FrameBlock20:
-	db $06
-	db $00, $00, $03, $00
-	db $00, $30, $03, $20
-	db $08, $08, $03, $00
-	db $08, $28, $03, $20
-	db $08, $00, $13, $00
-	db $08, $30, $13, $20
-
-FrameBlock21:
-	db $0c
-	db $00, $00, $03, $00
-	db $00, $30, $03, $20
-	db $08, $08, $03, $00
-	db $08, $28, $03, $20
-	db $08, $00, $13, $00
-	db $08, $30, $13, $20
-	db $10, $10, $03, $00
-	db $10, $20, $03, $20
-	db $10, $08, $13, $00
-	db $10, $28, $13, $20
-	db $10, $00, $03, $00
-	db $10, $30, $03, $20
-
-FrameBlock22:
-	db $13
-	db $00, $00, $03, $00
-	db $08, $00, $13, $00
-	db $10, $00, $03, $00
-	db $18, $00, $13, $00
-	db $08, $08, $03, $00
-	db $10, $08, $13, $00
-	db $18, $08, $03, $00
-	db $10, $10, $03, $00
-	db $18, $10, $13, $00
-	db $18, $18, $03, $00
-	db $10, $20, $03, $20
-	db $18, $20, $13, $20
-	db $08, $28, $03, $20
-	db $10, $28, $13, $20
-	db $18, $28, $03, $20
-	db $00, $30, $03, $20
-	db $08, $30, $13, $20
-	db $10, $30, $03, $20
-	db $18, $30, $13, $20
-
-FrameBlock23:
-	db $04
-	db $00, $00, $0a, $00
-	db $00, $08, $0b, $00
-	db $08, $00, $1a, $00
-	db $08, $08, $1b, $00
-
-FrameBlock24:
-	db $02
-	db $08, $00, $0a, $00
-	db $08, $08, $0b, $00
-
-FrameBlock25:
-	db $0c
-	db $10, $00, $0a, $00
-	db $10, $08, $0b, $00
-	db $18, $00, $1a, $00
-	db $18, $08, $1b, $00
-	db $00, $10, $0a, $00
-	db $00, $18, $0b, $00
-	db $08, $10, $1a, $00
-	db $08, $18, $1b, $00
-	db $08, $20, $0a, $00
-	db $08, $28, $0b, $00
-	db $10, $20, $1a, $00
-	db $10, $28, $1b, $00
-
-FrameBlock26:
-	db $04
-	db $00, $10, $44, $00
-	db $00, $18, $44, $20
-	db $08, $10, $44, $40
-	db $08, $18, $44, $60
-
-FrameBlock27:
-	db $05
-	db $08, $08, $44, $00
-	db $08, $10, $44, $20
-	db $10, $08, $44, $40
-	db $10, $10, $44, $60
-	db $00, $18, $47, $00
-
-FrameBlock28:
-	db $06
-	db $10, $00, $44, $00
-	db $10, $08, $44, $20
-	db $18, $00, $44, $40
-	db $18, $08, $44, $60
-	db $08, $10, $47, $00
-	db $02, $16, $47, $00
-
-FrameBlock29:
-	db $04
-	db $18, $00, $47, $00
-	db $12, $06, $47, $00
-	db $0c, $0c, $47, $00
-	db $06, $12, $47, $00
-
-FrameBlock2a:
-	db $04
-	db $00, $00, $44, $00
-	db $00, $08, $44, $20
-	db $08, $00, $44, $40
-	db $08, $08, $44, $60
-
-FrameBlock2b:
-	db $02
-	db $06, $02, $47, $00
-	db $00, $08, $47, $00
-
-FrameBlock2c:
-	db $01
-	db $a0, $00, $4d, $00
-
-FrameBlock2d:
-	db $08
-	db $00, $00, $26, $00
-	db $00, $08, $27, $00
-	db $08, $00, $36, $00
-	db $08, $08, $37, $00
-	db $10, $00, $28, $00
-	db $10, $08, $29, $00
-	db $18, $00, $38, $00
-	db $18, $08, $39, $00
-
-FrameBlock2e:
-	db $08
-	db $00, $00, $27, $20
-	db $00, $08, $26, $20
-	db $08, $00, $37, $20
-	db $08, $08, $36, $20
-	db $10, $00, $29, $20
-	db $10, $08, $28, $20
-	db $18, $00, $39, $20
-	db $18, $08, $38, $20
-
-FrameBlock2f:
-	db $04
-	db $00, $00, $0c, $00
-	db $00, $08, $0d, $00
-	db $08, $00, $0c, $40
-	db $08, $08, $0d, $40
-
-FrameBlock30:
-	db $04
-	db $00, $00, $44, $00
-	db $00, $08, $44, $20
-	db $08, $00, $44, $40
-	db $08, $08, $44, $60
-
-FrameBlock31:
-	db $01
-	db $00, $00, $45, $00
-
-FrameBlock32:
-	db $07
-	db $00, $00, $4d, $00
-	db $00, $08, $2f, $00
-	db $00, $10, $4d, $20
-	db $08, $00, $4e, $00
-	db $08, $08, $07, $00
-	db $08, $10, $4e, $20
-	db $10, $08, $3f, $00
-
-FrameBlock33:
-	db $07
-	db $00, $08, $3f, $40
-	db $08, $00, $4e, $40
-	db $08, $08, $07, $40
-	db $08, $10, $4e, $60
-	db $10, $00, $4d, $40
-	db $10, $08, $2f, $40
-	db $10, $10, $4d, $60
-
-FrameBlock34:
-	db $01
-	db $a0, $00, $00, $10
-
-FrameBlock35:
-	db $06
-	db $00, $00, $2a, $00
-	db $00, $08, $2b, $00
-	db $08, $00, $3a, $00
-	db $10, $00, $3a, $40
-	db $18, $00, $2a, $40
-	db $18, $08, $2b, $40
-
-FrameBlock36:
-	db $04
-	db $00, $00, $00, $00
-	db $00, $08, $01, $00
-	db $08, $00, $10, $00
-	db $08, $08, $11, $00
-
-FrameBlock37:
-	db $04
-	db $00, $00, $01, $a0
-	db $00, $08, $00, $a0
-	db $08, $00, $11, $a0
-	db $08, $08, $10, $a0
-
-FrameBlock38:
-	db $04
-	db $00, $00, $0a, $00
-	db $00, $08, $0b, $00
-	db $08, $00, $1a, $00
-	db $08, $08, $1b, $00
-
-FrameBlock39:
-	db $04
-	db $00, $00, $0b, $20
-	db $00, $08, $0a, $20
-	db $08, $00, $1b, $20
-	db $08, $08, $1a, $20
-
-FrameBlock3a:
-	db $04
-	db $20, $00, $05, $00
-	db $20, $08, $05, $20
-	db $28, $00, $15, $00
-	db $28, $08, $15, $20
-
-FrameBlock3b:
-	db $05
-	db $18, $00, $04, $00
-	db $18, $08, $04, $20
-	db $20, $00, $14, $00
-	db $20, $08, $14, $20
-	db $28, $04, $41, $00
-
-FrameBlock3c:
-	db $06
-	db $10, $00, $05, $00
-	db $10, $08, $05, $20
-	db $18, $00, $15, $00
-	db $18, $08, $15, $20
-	db $20, $04, $42, $00
-	db $28, $04, $42, $00
-
-FrameBlock3d:
-	db $07
-	db $08, $00, $04, $00
-	db $08, $08, $04, $20
-	db $10, $00, $14, $00
-	db $10, $08, $14, $20
-	db $18, $04, $41, $00
-	db $20, $04, $41, $00
-	db $28, $04, $41, $00
-
-FrameBlock3e:
-	db $08
-	db $00, $00, $05, $00
-	db $00, $08, $05, $20
-	db $08, $00, $15, $00
-	db $08, $08, $15, $20
-	db $10, $04, $42, $00
-	db $18, $04, $42, $00
-	db $20, $04, $42, $00
-	db $28, $04, $42, $00
-
-FrameBlock3f:
-	db $08
-	db $00, $00, $04, $00
-	db $00, $08, $04, $20
-	db $08, $00, $14, $00
-	db $08, $08, $14, $20
-	db $10, $04, $41, $00
-	db $18, $04, $41, $00
-	db $20, $04, $41, $00
-	db $28, $04, $41, $00
-
-FrameBlock40:
-	db $03
-	db $00, $00, $3d, $00
-	db $00, $08, $3d, $00
-	db $08, $08, $3d, $00
-
-FrameBlock41:
-	db $04
-	db $00, $00, $06, $00
-	db $00, $08, $06, $20
-	db $08, $00, $16, $00
-	db $08, $08, $17, $00
-
-FrameBlock42:
-	db $0b
-	db $00, $10, $42, $00
-	db $08, $00, $42, $00
-	db $08, $08, $42, $00
-	db $08, $10, $42, $00
-	db $08, $18, $42, $00
-	db $08, $20, $42, $00
-	db $10, $10, $42, $00
-	db $18, $08, $42, $00
-	db $18, $18, $42, $00
-	db $20, $00, $42, $00
-	db $20, $20, $42, $00
-
-FrameBlock43:
-	db $0b
-	db $00, $10, $41, $00
-	db $08, $00, $41, $00
-	db $08, $08, $41, $00
-	db $08, $10, $41, $00
-	db $08, $18, $41, $00
-	db $08, $20, $41, $00
-	db $10, $10, $41, $00
-	db $18, $08, $41, $00
-	db $18, $18, $41, $00
-	db $20, $00, $41, $00
-	db $20, $20, $41, $00
-
-FrameBlock44:
-	db $04
-	db $00, $00, $49, $00
-	db $00, $28, $49, $00
-	db $28, $00, $49, $00
-	db $28, $28, $49, $00
-
-FrameBlock45:
-	db $04
-	db $00, $00, $49, $00
-	db $00, $18, $49, $00
-	db $18, $00, $49, $00
-	db $18, $18, $49, $00
-
-FrameBlock46:
-	db $04
-	db $00, $00, $49, $00
-	db $00, $08, $49, $00
-	db $08, $00, $49, $00
-	db $08, $08, $49, $00
-
-FrameBlock47:
-	db $04
-	db $00, $00, $43, $00
-	db $00, $08, $43, $20
-	db $08, $00, $43, $40
-	db $08, $08, $43, $60
-
-SmallBlackCircleFrameBlock:
-	db $04
-	db $08, $08, $33, $00
-	db $08, $10, $33, $20
-	db $10, $08, $33, $40
-	db $10, $10, $33, $60
-
-LargeBlockCircleFrameBlock:
-	db $10
-	db $00, $00, $22, $00
-	db $00, $08, $23, $00
-	db $00, $10, $23, $20
-	db $00, $18, $22, $20
-	db $08, $00, $32, $00
-	db $08, $08, $43, $00
-	db $08, $10, $43, $20
-	db $08, $18, $32, $20
-	db $10, $00, $32, $40
-	db $10, $08, $43, $40
-	db $10, $10, $43, $60
-	db $10, $18, $32, $60
-	db $18, $00, $22, $40
-	db $18, $08, $23, $40
-	db $18, $10, $23, $60
-	db $18, $18, $22, $60
-
-FrameBlock71:
-	db $10
-	db $00, $00, $22, $00
-	db $00, $08, $3b, $00
-	db $00, $10, $23, $20
-	db $00, $18, $22, $20
-	db $08, $00, $32, $00
-	db $08, $08, $43, $00
-	db $08, $10, $43, $20
-	db $08, $18, $32, $20
-	db $10, $00, $32, $40
-	db $10, $08, $43, $40
-	db $10, $10, $43, $60
-	db $10, $18, $32, $60
-	db $18, $00, $22, $40
-	db $18, $08, $23, $40
-	db $18, $10, $23, $60
-	db $18, $18, $22, $60
-
-FrameBlock72:
-	db $0c
-	db $00, $00, $32, $00
-	db $00, $08, $43, $00
-	db $00, $10, $43, $20
-	db $00, $18, $32, $20
-	db $08, $00, $32, $40
-	db $08, $08, $43, $40
-	db $08, $10, $43, $60
-	db $08, $18, $32, $60
-	db $10, $00, $22, $40
-	db $10, $08, $23, $40
-	db $10, $10, $23, $60
-	db $10, $18, $22, $60
-
-FrameBlock73:
-	db $08
-	db $00, $00, $32, $40
-	db $00, $08, $43, $40
-	db $00, $10, $43, $60
-	db $00, $18, $32, $60
-	db $08, $00, $22, $40
-	db $08, $08, $23, $40
-	db $08, $10, $23, $60
-	db $08, $18, $22, $60
-
-FrameBlock74:
-	db $04
-	db $00, $00, $22, $40
-	db $00, $08, $23, $40
-	db $00, $10, $23, $60
-	db $00, $18, $22, $60
-
-FrameBlock4a:
-	db $04
-	db $08, $18, $4c, $20
-	db $20, $08, $4b, $00
-	db $30, $20, $4c, $00
-	db $18, $30, $4b, $40
-
-FrameBlock4b:
-	db $04
-	db $00, $18, $4c, $00
-	db $20, $00, $4b, $40
-	db $38, $20, $4c, $20
-	db $18, $38, $4b, $00
-
-FrameBlock4c:
-	db $04
-	db $10, $08, $4a, $40
-	db $30, $10, $4a, $00
-	db $28, $30, $4a, $20
-	db $08, $28, $4a, $60
-
-FrameBlock4d:
-	db $04
-	db $08, $00, $4a, $20
-	db $38, $08, $4a, $60
-	db $30, $38, $4a, $40
-	db $00, $30, $4a, $00
-
-FrameBlock4e:
-	db $08
-	db $00, $30, $44, $00
-	db $00, $38, $44, $20
-	db $08, $30, $44, $40
-	db $08, $38, $44, $60
-	db $26, $0a, $44, $00
-	db $26, $12, $44, $20
-	db $2e, $0a, $44, $40
-	db $2e, $12, $44, $60
-
-FrameBlock4f:
-	db $0c
-	db $0e, $22, $44, $00
-	db $0e, $2a, $44, $20
-	db $16, $22, $44, $40
-	db $16, $2a, $44, $60
-	db $06, $32, $47, $00
-	db $00, $38, $47, $00
-	db $1a, $16, $44, $00
-	db $1a, $1e, $44, $20
-	db $22, $16, $44, $40
-	db $22, $1e, $44, $60
-	db $30, $08, $47, $00
-	db $2a, $0e, $47, $00
-
-FrameBlock50:
-	db $08
-	db $06, $32, $47, $00
-	db $00, $38, $47, $00
-	db $12, $26, $47, $00
-	db $0c, $2c, $47, $00
-	db $1e, $1a, $47, $00
-	db $18, $20, $47, $00
-	db $2a, $0e, $47, $00
-	db $24, $14, $47, $00
-
-FrameBlock51:
-	db $08
-	db $00, $00, $35, $20
-	db $08, $00, $35, $40
-	db $10, $00, $35, $00
-	db $18, $00, $35, $60
-	db $00, $40, $35, $00
-	db $08, $40, $35, $60
-	db $10, $40, $35, $20
-	db $18, $40, $35, $40
-
-FrameBlock52:
-	db $04
-	db $00, $00, $2a, $00
-	db $00, $08, $2b, $00
-	db $08, $00, $3a, $00
-	db $08, $08, $3b, $00
-
-FrameBlock53:
-	db $03
-	db $00, $00, $3f, $00
-	db $00, $08, $3f, $00
-	db $08, $06, $3f, $00
-
-FrameBlock54:
-	db $04
-	db $00, $00, $0e, $00
-	db $00, $08, $0e, $20
-	db $08, $00, $0f, $00
-	db $08, $08, $0f, $20
-
-FrameBlock55:
-	db $03
-	db $10, $00, $2c, $00
-	db $10, $08, $3c, $00
-	db $10, $10, $2d, $00
-
-FrameBlock56:
-	db $06
-	db $10, $10, $31, $00
-	db $10, $18, $31, $00
-	db $08, $10, $2c, $00
-	db $08, $18, $3c, $00
-	db $08, $20, $2d, $00
-	db $10, $20, $2d, $00
-
-FrameBlock57:
-	db $09
-	db $08, $20, $31, $00
-	db $10, $20, $31, $00
-	db $08, $28, $31, $00
-	db $10, $28, $31, $00
-	db $00, $20, $2c, $00
-	db $00, $28, $3c, $00
-	db $00, $30, $2d, $00
-	db $08, $30, $2d, $00
-	db $10, $30, $2d, $00
-
-FrameBlock58:
-	db $07
-	db $00, $00, $46, $00
-	db $08, $02, $47, $00
-	db $10, $03, $48, $00
-	db $18, $04, $48, $00
-	db $20, $05, $48, $00
-	db $28, $05, $48, $00
-	db $30, $05, $48, $00
-
-FrameBlock59:
-	db $01
-	db $00, $00, $42, $00
-
-FrameBlock5a:
-	db $0c
-	db $00, $00, $24, $00
-	db $00, $08, $25, $00
-	db $08, $00, $34, $00
-	db $00, $10, $25, $20
-	db $00, $18, $24, $20
-	db $08, $18, $34, $20
-	db $10, $00, $34, $40
-	db $18, $00, $24, $40
-	db $18, $08, $25, $40
-	db $10, $18, $34, $60
-	db $18, $10, $25, $60
-	db $18, $18, $24, $60
-
-FrameBlock5b:
-	db $04
-	db $00, $00, $43, $00
-	db $00, $08, $43, $20
-	db $08, $00, $43, $40
-	db $08, $08, $43, $60
-
-FrameBlock5c:
-	db $08
-	db $00, $00, $49, $00
-	db $02, $08, $49, $00
-	db $18, $00, $49, $00
-	db $10, $10, $49, $00
-	db $08, $00, $43, $00
-	db $08, $08, $43, $20
-	db $10, $00, $43, $40
-	db $10, $08, $43, $60
-
-FrameBlock5d:
-	db $0b
-	db $00, $00, $49, $00
-	db $18, $02, $49, $00
-	db $14, $10, $49, $00
-	db $08, $00, $43, $00
-	db $00, $08, $43, $20
-	db $10, $00, $43, $40
-	db $10, $08, $43, $60
-	db $04, $08, $43, $00
-	db $04, $10, $43, $20
-	db $0c, $08, $43, $40
-	db $0c, $10, $43, $60
-
-FrameBlock5e:
-	db $0f
-	db $00, $08, $49, $00
-	db $08, $10, $49, $00
-	db $20, $00, $49, $00
-	db $08, $00, $43, $00
-	db $08, $08, $43, $20
-	db $10, $00, $43, $40
-	db $10, $08, $43, $60
-	db $10, $10, $43, $00
-	db $10, $18, $43, $20
-	db $18, $10, $43, $40
-	db $18, $18, $43, $60
-	db $20, $08, $43, $00
-	db $20, $10, $43, $20
-	db $28, $08, $43, $40
-	db $28, $10, $43, $60
-
-FrameBlock5f:
-	db $04
-	db $00, $00, $49, $00
-	db $00, $10, $49, $00
-	db $00, $20, $49, $00
-	db $00, $30, $49, $00
-
-FrameBlock60:
-	db $08
-	db $00, $00, $49, $00
-	db $00, $10, $49, $00
-	db $00, $20, $49, $00
-	db $00, $30, $49, $00
-	db $08, $08, $49, $00
-	db $08, $18, $49, $00
-	db $08, $28, $49, $00
-	db $08, $38, $49, $00
-
-FrameBlock61:
-	db $0c
-	db $00, $00, $49, $00
-	db $00, $10, $49, $00
-	db $00, $20, $49, $00
-	db $00, $30, $49, $00
-	db $08, $08, $49, $00
-	db $08, $18, $49, $00
-	db $08, $28, $49, $00
-	db $08, $38, $49, $00
-	db $10, $00, $49, $00
-	db $10, $10, $49, $00
-	db $10, $20, $49, $00
-	db $10, $30, $49, $00
-
-FrameBlock62:
-	db $0f
-	db $00, $00, $49, $00
-	db $00, $10, $49, $00
-	db $00, $20, $49, $00
-	db $00, $30, $49, $00
-	db $08, $08, $49, $00
-	db $08, $18, $49, $00
-	db $08, $28, $49, $00
-	db $08, $38, $49, $00
-	db $10, $00, $49, $00
-	db $10, $10, $49, $00
-	db $10, $20, $49, $00
-	db $10, $30, $49, $00
-	db $18, $08, $49, $00
-	db $18, $18, $49, $00
-	db $18, $28, $49, $00
-	db $18, $38, $49, $00 ; unused
-
-FrameBlock63:
-	db $06
-	db $10, $00, $26, $00
-	db $10, $08, $27, $00
-	db $08, $10, $26, $00
-	db $08, $18, $27, $00
-	db $00, $20, $26, $00
-	db $00, $28, $27, $00
-
-FrameBlock64:
-	db $06
-	db $18, $00, $27, $00
-	db $10, $08, $26, $00
-	db $10, $10, $27, $00
-	db $08, $18, $26, $00
-	db $08, $20, $27, $00
-	db $00, $28, $26, $00
-
-FrameBlock65:
-	db $06
-	db $00, $00, $1c, $00
-	db $00, $08, $1d, $00
-	db $10, $00, $1c, $00
-	db $10, $08, $1d, $00
-	db $20, $00, $1c, $00
-	db $20, $08, $1d, $00
-
-FrameBlock66:
-	db $02
-	db $00, $00, $03, $00
-	db $08, $00, $13, $00
-
-FrameBlock67:
-	db $01
-	db $00, $00, $03, $00
-
-FrameBlock68:
-	db $04
-	db $00, $00, $03, $00
-	db $00, $08, $03, $20
-	db $08, $00, $13, $00
-	db $08, $08, $13, $20
-
-FrameBlock69:
-	db $01
-	db $00, $00, $06, $00
-
-FrameBlock6a:
-	db $08
-	db $00, $00, $2e, $00
-	db $00, $30, $2e, $20
-	db $30, $00, $2e, $40
-	db $30, $30, $2e, $60
-	db $00, $18, $2f, $00
-	db $30, $18, $2f, $40
-	db $18, $00, $3e, $00
-	db $18, $30, $3e, $20
-
-FrameBlock6b:
-	db $08
-	db $00, $00, $2e, $00
-	db $00, $20, $2e, $20
-	db $20, $00, $2e, $40
-	db $20, $20, $2e, $60
-	db $00, $10, $2f, $00
-	db $20, $10, $2f, $40
-	db $10, $00, $3e, $00
-	db $10, $20, $3e, $20
-
-FrameBlock6c:
-	db $08
-	db $00, $00, $2e, $00
-	db $00, $10, $2e, $20
-	db $10, $00, $2e, $40
-	db $10, $10, $2e, $60
-	db $00, $08, $2f, $00
-	db $10, $08, $2f, $40
-	db $08, $00, $3e, $00
-	db $08, $10, $3e, $20
-
-FrameBlock6d:
-	db $02
-	db $00, $00, $1e, $00
-	db $00, $08, $1f, $00
-
-FrameBlock6e:
-	db $04
-	db $00, $00, $48, $00
-	db $00, $08, $48, $20
-	db $08, $00, $12, $00
-	db $08, $08, $12, $20
-
-FrameBlock6f:
-	db $04
-	db $00, $00, $4a, $00
-	db $00, $08, $07, $00
-	db $08, $00, $16, $00
-	db $08, $08, $17, $00
-
-FrameBlock70:
-	db $04
-	db $00, $00, $07, $20
-	db $00, $08, $4a, $20
-	db $08, $00, $17, $20
-	db $08, $08, $16, $20
-
-FrameBlock76:
-	db $07
-	db $00, $10, $2f, $00
-	db $01, $08, $2f, $00
-	db $01, $18, $2f, $00
-	db $02, $00, $2e, $00
-	db $02, $20, $2e, $20
-	db $0a, $00, $3e, $00
-	db $0a, $20, $3e, $20
-
-FrameBlock77:
-	db $04
-	db $00, $02, $4b, $00
-	db $00, $0a, $4c, $00
-	db $08, $00, $4c, $60
-	db $08, $08, $4b, $60
-
-FrameBlock78:
-	db $01
-	db $00, $00, $4d, $00
-
-FrameBlock79:
-	db $01
-	db $00, $00, $4e, $00
-
-FrameBlockBaseCoords:
-	db $10, $68
-	db $10, $70
-	db $10, $78
-	db $10, $80
-	db $10, $88
-	db $10, $90
-	db $10, $98
-	db $18, $68
-	db $18, $70
-	db $18, $78
-	db $34, $28
-	db $18, $80
-	db $18, $88
-	db $18, $98
-	db $20, $68
-	db $20, $70
-	db $20, $78
-	db $20, $80
-	db $20, $88
-	db $20, $90
-	db $20, $98
-	db $28, $68
-	db $28, $70
-	db $28, $78
-	db $28, $80
-	db $28, $88
-	db $30, $68
-	db $30, $70
-	db $30, $78
-	db $30, $80
-	db $30, $90
-	db $30, $98
-	db $38, $68
-	db $38, $78
-	db $38, $80
-	db $38, $88
-	db $40, $68
-	db $40, $70
-	db $40, $78
-	db $40, $80
-	db $40, $88
-	db $40, $98
-	db $10, $60
-	db $18, $60
-	db $20, $60
-	db $28, $60
-	db $30, $60
-	db $40, $60
-	db $58, $28
-	db $43, $38
-	db $33, $48
-	db $20, $58
-	db $32, $78
-	db $58, $58
-	db $2C, $6C
-	db $34, $80
-	db $48, $70
-	db $42, $36
-	db $38, $44
-	db $40, $52
-	db $48, $60
-	db $3E, $6E
-	db $28, $7C
-	db $28, $8A
-	db $50, $3C
-	db $48, $50
-	db $40, $64
-	db $38, $38
-	db $50, $30
-	db $50, $38
-	db $50, $40
-	db $50, $48
-	db $50, $50
-	db $48, $58
-	db $50, $44
-	db $48, $48
-	db $48, $4C
-	db $40, $50
-	db $40, $54
-	db $38, $58
-	db $38, $5C
-	db $30, $64
-	db $48, $40
-	db $48, $39
-	db $24, $88
-	db $24, $70
-	db $1C, $70
-	db $1C, $88
-	db $34, $68
-	db $34, $88
-	db $68, $50
-	db $60, $50
-	db $68, $60
-	db $58, $50
-	db $60, $60
-	db $68, $40
-	db $40, $40
-	db $38, $40
-	db $0B, $60
-	db $44, $48
-	db $40, $14
-	db $48, $1C
-	db $50, $24
-	db $4C, $24
-	db $10, $62
-	db $12, $62
-	db $12, $60
-	db $20, $72
-	db $22, $72
-	db $22, $70
-	db $28, $62
-	db $50, $0A
-	db $52, $0A
-	db $38, $30
-	db $40, $48
-	db $30, $48
-	db $40, $30
-	db $30, $40
-	db $38, $48
-	db $40, $4A
-	db $48, $4B
-	db $50, $4C
-	db $58, $4D
-	db $60, $4D
-	db $68, $4D
-	db $38, $10
-	db $50, $10
-	db $38, $28
-	db $48, $18
-	db $40, $20
-	db $48, $20
-	db $40, $3C
-	db $38, $50
-	db $28, $64
-	db $1C, $90
-	db $24, $80
-	db $2C, $70
-	db $30, $38
-	db $10, $50
-	db $3C, $40
-	db $40, $58
-	db $30, $58
-	db $58, $48
-	db $50, $58
-	db $48, $68
-	db $40, $18
-	db $28, $58
-	db $40, $38
-	db $48, $38
-	db $08, $70
-	db $44, $1C
-	db $3C, $58
-	db $38, $60
-	db $08, $60
-	db $38, $70
-	db $38, $6C
-	db $38, $64
-	db $1C, $74
-	db $2E, $74
-	db $34, $50
-	db $2F, $60
-	db $31, $70
-	db $4C, $30
-	db $3B, $40
-	db $2D, $50
-	db $26, $60
-	db $2D, $70
-	db $28, $50
-	db $1E, $60
-	db $29, $70
-	db $16, $60
-	db $14, $58
-	db $12, $54
-	db $14, $50
-	db $18, $4C
-	db $1C, $48
-	db $48, $28
-
-FrameBlock00:
-	db $00, $00
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -194,7 +194,7 @@
 	jr .searchSpecialEffectTableLoop
 .foundMatch
 	ld a, [hli]
-	cp $FF ; is there a sound to play?
+	cp -1 ; is there a sound to play?
 	jr z, .skipPlayingSound
 	ld [wAnimSoundID], a ; store sound
 	push hl
@@ -267,7 +267,7 @@
 	ld d, a ; de = address of subanimation
 	ld a, [de]
 	ld b, a
-	and 31
+	and %00011111
 	ld [wSubAnimCounter], a ; number of frame blocks
 	ld a, b
 	and %11100000
@@ -650,7 +650,7 @@
 	pop hl
 	ret
 
-INCLUDE "data/moves/animation_special_effects.asm"
+INCLUDE "data/battle_anims/special_effects.asm"
 
 DoBallTossSpecialEffects:
 	ld a, [wcf91]
@@ -912,7 +912,7 @@
 	ld c, 20
 	jp DelayFrames
 
-INCLUDE "data/moves/animation_special_effect_pointers.asm"
+INCLUDE "data/battle_anims/special_effect_pointers.asm"
 
 AnimationDelay10:
 	ld c, 10
--- a/main.asm
+++ b/main.asm
@@ -352,6 +352,8 @@
 INCLUDE "engine/overworld/dust_smoke.asm"
 INCLUDE "gfx/fishing.asm"
 INCLUDE "data/moves/animations.asm"
+INCLUDE "data/battle_anims/subanimations.asm"
+INCLUDE "data/battle_anims/frame_blocks.asm"
 INCLUDE "engine/movie/evolution.asm"
 INCLUDE "engine/overworld/elevator.asm"
 INCLUDE "engine/items/tm_prices.asm"