ref: 35a3a19fda87d95e829aa99bf1b6cf18a839c1a6
parent: b5417fafec7dd37cb4be391f3bd3d4541a2a381e
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Tue Dec 26 13:45:04 EST 2017
Use "battle_anims" and "sprite_anims" for clarity, not just "anims"
--- a/Makefile
+++ b/Makefile
@@ -169,23 +169,23 @@
gfx/card_flip/card_flip_2.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/angels.2bpp: tools/gfx += --trim-whitespace
-gfx/anims/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace
-gfx/anims/bubble.2bpp: tools/gfx += --trim-whitespace
-gfx/anims/charge.2bpp: tools/gfx += --trim-whitespace
-gfx/anims/egg.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/explosion.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/hit.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/horn.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/lightning.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/misc.2bpp: tools/gfx += --remove-duplicates --remove-xflip
-gfx/anims/noise.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/objects.2bpp: tools/gfx += --remove-whitespace --remove-xflip
-gfx/anims/pokeball.2bpp: tools/gfx += --remove-xflip --keep-whitespace
-gfx/anims/reflect.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/rocks.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/skyattack.2bpp: tools/gfx += --remove-whitespace
-gfx/anims/status.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/angels.2bpp: tools/gfx += --trim-whitespace
+gfx/battle_anims/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace
+gfx/battle_anims/bubble.2bpp: tools/gfx += --trim-whitespace
+gfx/battle_anims/charge.2bpp: tools/gfx += --trim-whitespace
+gfx/battle_anims/egg.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/explosion.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/hit.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/horn.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/lightning.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/misc.2bpp: tools/gfx += --remove-duplicates --remove-xflip
+gfx/battle_anims/noise.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/objects.2bpp: tools/gfx += --remove-whitespace --remove-xflip
+gfx/battle_anims/pokeball.2bpp: tools/gfx += --remove-xflip --keep-whitespace
+gfx/battle_anims/reflect.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/rocks.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/skyattack.2bpp: tools/gfx += --remove-whitespace
+gfx/battle_anims/status.2bpp: tools/gfx += --remove-whitespace
gfx/player/chris.2bpp: rgbgfx += -h
gfx/player/chris_back.2bpp: rgbgfx += -h
--- a/constants.asm
+++ b/constants.asm
@@ -8,6 +8,7 @@
INCLUDE "constants/type_constants.asm"
INCLUDE "constants/move_constants.asm"
INCLUDE "constants/battle_constants.asm"
+INCLUDE "constants/battle_anim_constants.asm"
INCLUDE "constants/map_constants.asm"
INCLUDE "constants/map_data_constants.asm"
INCLUDE "constants/map_setup_constants.asm"
@@ -20,12 +21,12 @@
INCLUDE "constants/engine_flags.asm"
INCLUDE "constants/music_constants.asm"
INCLUDE "constants/sfx_constants.asm"
-INCLUDE "constants/animation_constants.asm"
INCLUDE "constants/phone_constants.asm"
INCLUDE "constants/credits_constants.asm"
INCLUDE "constants/gfx_constants.asm"
INCLUDE "constants/input_constants.asm"
INCLUDE "constants/pokemon_data_constants.asm"
+INCLUDE "constants/icon_constants.asm"
INCLUDE "constants/serial_constants.asm"
INCLUDE "constants/mobile_constants.asm"
INCLUDE "constants/misc_constants.asm"
--- a/constants/animation_constants.asm
+++ /dev/null
@@ -1,835 +1,0 @@
-; battle_anim_struct members (see macros/wram.asm)
- const_def
- const BATTLEANIMSTRUCT_INDEX
- const BATTLEANIMSTRUCT_01
- const BATTLEANIMSTRUCT_02
- const BATTLEANIMSTRUCT_FRAMESET_ID
- const BATTLEANIMSTRUCT_FUNCTION
- const BATTLEANIMSTRUCT_PALETTE
- const BATTLEANIMSTRUCT_TILEID
- const BATTLEANIMSTRUCT_XCOORD
- const BATTLEANIMSTRUCT_YCOORD
- const BATTLEANIMSTRUCT_XOFFSET
- const BATTLEANIMSTRUCT_YOFFSET
- const BATTLEANIMSTRUCT_0B
- const BATTLEANIMSTRUCT_DURATION
- const BATTLEANIMSTRUCT_FRAME
- const BATTLEANIMSTRUCT_ANON_JT_INDEX
- const BATTLEANIMSTRUCT_0F
- const BATTLEANIMSTRUCT_10
- const BATTLEANIMSTRUCT_11
- const BATTLEANIMSTRUCT_12
- const BATTLEANIMSTRUCT_13
- const BATTLEANIMSTRUCT_14
- const BATTLEANIMSTRUCT_15
- const BATTLEANIMSTRUCT_16
- const BATTLEANIMSTRUCT_17
-BATTLEANIMSTRUCT_LENGTH EQU const_value
-
-; BattleAnimObjects indexes (see data/anims/objects.asm)
- const_def
- const ANIM_OBJ_00
- const ANIM_OBJ_01
- const ANIM_OBJ_02
- const ANIM_OBJ_03
- const ANIM_OBJ_04
- const ANIM_OBJ_05
- const ANIM_OBJ_06
- const ANIM_OBJ_07
- const ANIM_OBJ_08
- const ANIM_OBJ_09
- const ANIM_OBJ_0A
- const ANIM_OBJ_0B
- const ANIM_OBJ_0C
- const ANIM_OBJ_0D
- const ANIM_OBJ_0E
- const ANIM_OBJ_0F
- const ANIM_OBJ_BURNED
- const ANIM_OBJ_BLIZZARD
- const ANIM_OBJ_12
- const ANIM_OBJ_ICE_BEAM
- const ANIM_OBJ_RAZOR_LEAF
- const ANIM_OBJ_POKE_BALL
- const ANIM_OBJ_POKE_BALL_BLOCKED
- const ANIM_OBJ_17
- const ANIM_OBJ_18
- const ANIM_OBJ_19
- const ANIM_OBJ_1A
- const ANIM_OBJ_1B
- const ANIM_OBJ_BALL_POOF
- const ANIM_OBJ_1D
- const ANIM_OBJ_1E
- const ANIM_OBJ_1F
- const ANIM_OBJ_20
- const ANIM_OBJ_BUBBLE
- const ANIM_OBJ_22
- const ANIM_OBJ_23
- const ANIM_OBJ_24
- const ANIM_OBJ_25
- const ANIM_OBJ_26
- const ANIM_OBJ_27
- const ANIM_OBJ_28
- const ANIM_OBJ_ICE_BUILDUP
- const ANIM_OBJ_FROZEN
- const ANIM_OBJ_MASTER_BALL_SPARKLE
- const ANIM_OBJ_2C
- const ANIM_OBJ_2D
- const ANIM_OBJ_2E
- const ANIM_OBJ_2F
- const ANIM_OBJ_30
- const ANIM_OBJ_31
- const ANIM_OBJ_LIGHTNING_BOLT
- const ANIM_OBJ_33
- const ANIM_OBJ_34
- const ANIM_OBJ_35
- const ANIM_OBJ_36
- const ANIM_OBJ_37
- const ANIM_OBJ_38
- const ANIM_OBJ_39
- const ANIM_OBJ_3A
- const ANIM_OBJ_3B
- const ANIM_OBJ_3C
- const ANIM_OBJ_3D
- const ANIM_OBJ_GUST
- const ANIM_OBJ_3F
- const ANIM_OBJ_40
- const ANIM_OBJ_41
- const ANIM_OBJ_42
- const ANIM_OBJ_43
- const ANIM_OBJ_44
- const ANIM_OBJ_ABSORB
- const ANIM_OBJ_46
- const ANIM_OBJ_47
- const ANIM_OBJ_48
- const ANIM_OBJ_49
- const ANIM_OBJ_LEECH_SEED
- const ANIM_OBJ_4B
- const ANIM_OBJ_4C
- const ANIM_OBJ_4D
- const ANIM_OBJ_4E
- const ANIM_OBJ_4F
- const ANIM_OBJ_50
- const ANIM_OBJ_51
- const ANIM_OBJ_CHICK
- const ANIM_OBJ_53
- const ANIM_OBJ_54
- const ANIM_OBJ_SKULL
- const ANIM_OBJ_56
- const ANIM_OBJ_57
- const ANIM_OBJ_58
- const ANIM_OBJ_PARALYZED
- const ANIM_OBJ_5A
- const ANIM_OBJ_HAZE
- const ANIM_OBJ_MIST
- const ANIM_OBJ_SMOG
- const ANIM_OBJ_POISON_GAS
- const ANIM_OBJ_HORN
- const ANIM_OBJ_60
- const ANIM_OBJ_61
- const ANIM_OBJ_62
- const ANIM_OBJ_63
- const ANIM_OBJ_64
- const ANIM_OBJ_65
- const ANIM_OBJ_66
- const ANIM_OBJ_67
- const ANIM_OBJ_68
- const ANIM_OBJ_69
- const ANIM_OBJ_6A
- const ANIM_OBJ_6B
- const ANIM_OBJ_6C
- const ANIM_OBJ_6D
- const ANIM_OBJ_SKY_ATTACK_FEAROW
- const ANIM_OBJ_LICK
- const ANIM_OBJ_WITHDRAW
- const ANIM_OBJ_71
- const ANIM_OBJ_72
- const ANIM_OBJ_73
- const ANIM_OBJ_74
- const ANIM_OBJ_75
- const ANIM_OBJ_76
- const ANIM_OBJ_77
- const ANIM_OBJ_78
- const ANIM_OBJ_79
- const ANIM_OBJ_7A
- const ANIM_OBJ_7B
- const ANIM_OBJ_7C
- const ANIM_OBJ_7D
- const ANIM_OBJ_HEART
- const ANIM_OBJ_7F
- const ANIM_OBJ_80
- const ANIM_OBJ_COTTON_SPORE
- const ANIM_OBJ_82
- const ANIM_OBJ_83
- const ANIM_OBJ_84
- const ANIM_OBJ_85
- const ANIM_OBJ_86
- const ANIM_OBJ_87
- const ANIM_OBJ_88
- const ANIM_OBJ_89
- const ANIM_OBJ_8A
- const ANIM_OBJ_8B
- const ANIM_OBJ_8C
- const ANIM_OBJ_8D
- const ANIM_OBJ_SPIKES
- const ANIM_OBJ_8F
- const ANIM_OBJ_90
- const ANIM_OBJ_91
- const ANIM_OBJ_92
- const ANIM_OBJ_93
- const ANIM_OBJ_94
- const ANIM_OBJ_95
- const ANIM_OBJ_96
- const ANIM_OBJ_97
- const ANIM_OBJ_98
- const ANIM_OBJ_99
- const ANIM_OBJ_9A
- const ANIM_OBJ_9B
- const ANIM_OBJ_9C
- const ANIM_OBJ_9D
- const ANIM_OBJ_9E
- const ANIM_OBJ_9F
- const ANIM_OBJ_A0
- const ANIM_OBJ_A1
- const ANIM_OBJ_A2
- const ANIM_OBJ_A3
- const ANIM_OBJ_A4
- const ANIM_OBJ_A5
- const ANIM_OBJ_PERISH_SONG
- const ANIM_OBJ_A7
- const ANIM_OBJ_A8
- const ANIM_OBJ_A9
- const ANIM_OBJ_AA
- const ANIM_OBJ_AB
- const ANIM_OBJ_AC
- const ANIM_OBJ_AD
- const ANIM_OBJ_AE
- const ANIM_OBJ_AF
- const ANIM_OBJ_B0
- const ANIM_OBJ_B1
- const ANIM_OBJ_B2
- const ANIM_OBJ_B3
- const ANIM_OBJ_B4
- const ANIM_OBJ_B5
- const ANIM_OBJ_FLOWER
- const ANIM_OBJ_COTTON
- const ANIM_OBJ_PLAYERFEETFOLLOW
- const ANIM_OBJ_ENEMYFEETFOLLOW
- const ANIM_OBJ_BA
- const ANIM_OBJ_BB
-
-; DoBattleAnimFrame arguments (see engine/anims/functions.asm)
- const_def
- const BATTLEANIMFUNC_00
- const BATTLEANIMFUNC_01
- const BATTLEANIMFUNC_02
- const BATTLEANIMFUNC_03
- const BATTLEANIMFUNC_04
- const BATTLEANIMFUNC_05
- const BATTLEANIMFUNC_06
- const BATTLEANIMFUNC_07
- const BATTLEANIMFUNC_08
- const BATTLEANIMFUNC_09
- const BATTLEANIMFUNC_0A
- const BATTLEANIMFUNC_RAZOR_LEAF
- const BATTLEANIMFUNC_0C
- const BATTLEANIMFUNC_0D
- const BATTLEANIMFUNC_0E
- const BATTLEANIMFUNC_0F
- const BATTLEANIMFUNC_10
- const BATTLEANIMFUNC_11
- const BATTLEANIMFUNC_12
- const BATTLEANIMFUNC_13
- const BATTLEANIMFUNC_14
- const BATTLEANIMFUNC_15
- const BATTLEANIMFUNC_16
- const BATTLEANIMFUNC_17
- const BATTLEANIMFUNC_18
- const BATTLEANIMFUNC_19
- const BATTLEANIMFUNC_1A
- const BATTLEANIMFUNC_1B
- const BATTLEANIMFUNC_1C
- const BATTLEANIMFUNC_1D
- const BATTLEANIMFUNC_1E
- const BATTLEANIMFUNC_1F
- const BATTLEANIMFUNC_LEECH_SEED
- const BATTLEANIMFUNC_21
- const BATTLEANIMFUNC_22
- const BATTLEANIMFUNC_23
- const BATTLEANIMFUNC_24
- const BATTLEANIMFUNC_25
- const BATTLEANIMFUNC_26
- const BATTLEANIMFUNC_27
- const BATTLEANIMFUNC_28
- const BATTLEANIMFUNC_SPRIAL_DESCENT
- const BATTLEANIMFUNC_POISON_GAS
- const BATTLEANIMFUNC_HORN
- const BATTLEANIMFUNC_2C
- const BATTLEANIMFUNC_2D
- const BATTLEANIMFUNC_2E
- const BATTLEANIMFUNC_2F
- const BATTLEANIMFUNC_30
- const BATTLEANIMFUNC_31
- const BATTLEANIMFUNC_32
- const BATTLEANIMFUNC_33
- const BATTLEANIMFUNC_34
- const BATTLEANIMFUNC_35
- const BATTLEANIMFUNC_36
- const BATTLEANIMFUNC_37
- const BATTLEANIMFUNC_38
- const BATTLEANIMFUNC_39
- const BATTLEANIMFUNC_3A
- const BATTLEANIMFUNC_3B
- const BATTLEANIMFUNC_3C
- const BATTLEANIMFUNC_3D
- const BATTLEANIMFUNC_3E
- const BATTLEANIMFUNC_3F
- const BATTLEANIMFUNC_40
- const BATTLEANIMFUNC_41
- const BATTLEANIMFUNC_42
- const BATTLEANIMFUNC_43
- const BATTLEANIMFUNC_44
- const BATTLEANIMFUNC_45
- const BATTLEANIMFUNC_46
- const BATTLEANIMFUNC_47
- const BATTLEANIMFUNC_48
- const BATTLEANIMFUNC_49
- const BATTLEANIMFUNC_4A
- const BATTLEANIMFUNC_4B
- const BATTLEANIMFUNC_4C
- const BATTLEANIMFUNC_4D
- const BATTLEANIMFUNC_4E
- const BATTLEANIMFUNC_4F
-
-; BattleAnimFrameData indexes (see data/anims/framesets.asm)
- const_def
- const BATTLEANIMFRAMESET_00
- const BATTLEANIMFRAMESET_01
- const BATTLEANIMFRAMESET_02
- const BATTLEANIMFRAMESET_03
- const BATTLEANIMFRAMESET_04
- const BATTLEANIMFRAMESET_05
- const BATTLEANIMFRAMESET_06
- const BATTLEANIMFRAMESET_07
- const BATTLEANIMFRAMESET_08
- const BATTLEANIMFRAMESET_09
- const BATTLEANIMFRAMESET_0A
- const BATTLEANIMFRAMESET_0B
- const BATTLEANIMFRAMESET_0C
- const BATTLEANIMFRAMESET_0D
- const BATTLEANIMFRAMESET_0E
- const BATTLEANIMFRAMESET_0F
- const BATTLEANIMFRAMESET_10
- const BATTLEANIMFRAMESET_11
- const BATTLEANIMFRAMESET_12
- const BATTLEANIMFRAMESET_13
- const BATTLEANIMFRAMESET_14
- const BATTLEANIMFRAMESET_15
- const BATTLEANIMFRAMESET_16
- const BATTLEANIMFRAMESET_17
- const BATTLEANIMFRAMESET_18
- const BATTLEANIMFRAMESET_19
- const BATTLEANIMFRAMESET_1A
- const BATTLEANIMFRAMESET_1B
- const BATTLEANIMFRAMESET_1C
- const BATTLEANIMFRAMESET_1D
- const BATTLEANIMFRAMESET_1E
- const BATTLEANIMFRAMESET_1F
- const BATTLEANIMFRAMESET_20
- const BATTLEANIMFRAMESET_21
- const BATTLEANIMFRAMESET_22
- const BATTLEANIMFRAMESET_23
- const BATTLEANIMFRAMESET_24
- const BATTLEANIMFRAMESET_25
- const BATTLEANIMFRAMESET_26
- const BATTLEANIMFRAMESET_27
- const BATTLEANIMFRAMESET_28
- const BATTLEANIMFRAMESET_29
- const BATTLEANIMFRAMESET_2A
- const BATTLEANIMFRAMESET_2B
- const BATTLEANIMFRAMESET_2C
- const BATTLEANIMFRAMESET_2D
- const BATTLEANIMFRAMESET_2E
- const BATTLEANIMFRAMESET_2F
- const BATTLEANIMFRAMESET_30
- const BATTLEANIMFRAMESET_31
- const BATTLEANIMFRAMESET_32
- const BATTLEANIMFRAMESET_33
- const BATTLEANIMFRAMESET_34
- const BATTLEANIMFRAMESET_35
- const BATTLEANIMFRAMESET_36
- const BATTLEANIMFRAMESET_37
- const BATTLEANIMFRAMESET_38
- const BATTLEANIMFRAMESET_39
- const BATTLEANIMFRAMESET_3A
- const BATTLEANIMFRAMESET_3B
- const BATTLEANIMFRAMESET_3C
- const BATTLEANIMFRAMESET_3D
- const BATTLEANIMFRAMESET_3E
- const BATTLEANIMFRAMESET_3F
- const BATTLEANIMFRAMESET_40
- const BATTLEANIMFRAMESET_41
- const BATTLEANIMFRAMESET_42
- const BATTLEANIMFRAMESET_43
- const BATTLEANIMFRAMESET_44
- const BATTLEANIMFRAMESET_45
- const BATTLEANIMFRAMESET_46
- const BATTLEANIMFRAMESET_47
- const BATTLEANIMFRAMESET_48
- const BATTLEANIMFRAMESET_49
- const BATTLEANIMFRAMESET_4A
- const BATTLEANIMFRAMESET_4B
- const BATTLEANIMFRAMESET_4C
- const BATTLEANIMFRAMESET_4D
- const BATTLEANIMFRAMESET_4E
- const BATTLEANIMFRAMESET_4F
- const BATTLEANIMFRAMESET_50
- const BATTLEANIMFRAMESET_51
- const BATTLEANIMFRAMESET_52
- const BATTLEANIMFRAMESET_53
- const BATTLEANIMFRAMESET_54
- const BATTLEANIMFRAMESET_55
- const BATTLEANIMFRAMESET_56
- const BATTLEANIMFRAMESET_57
- const BATTLEANIMFRAMESET_58
- const BATTLEANIMFRAMESET_59
- const BATTLEANIMFRAMESET_5A
- const BATTLEANIMFRAMESET_5B
- const BATTLEANIMFRAMESET_5C
- const BATTLEANIMFRAMESET_5D
- const BATTLEANIMFRAMESET_5E
- const BATTLEANIMFRAMESET_5F
- const BATTLEANIMFRAMESET_60
- const BATTLEANIMFRAMESET_61
- const BATTLEANIMFRAMESET_62
- const BATTLEANIMFRAMESET_63
- const BATTLEANIMFRAMESET_64
- const BATTLEANIMFRAMESET_65
- const BATTLEANIMFRAMESET_66
- const BATTLEANIMFRAMESET_67
- const BATTLEANIMFRAMESET_68
- const BATTLEANIMFRAMESET_69
- const BATTLEANIMFRAMESET_6A
- const BATTLEANIMFRAMESET_6B
- const BATTLEANIMFRAMESET_6C
- const BATTLEANIMFRAMESET_6D
- const BATTLEANIMFRAMESET_6E
- const BATTLEANIMFRAMESET_6F
- const BATTLEANIMFRAMESET_70
- const BATTLEANIMFRAMESET_71
- const BATTLEANIMFRAMESET_72
- const BATTLEANIMFRAMESET_73
- const BATTLEANIMFRAMESET_74
- const BATTLEANIMFRAMESET_75
- const BATTLEANIMFRAMESET_76
- const BATTLEANIMFRAMESET_77
- const BATTLEANIMFRAMESET_78
- const BATTLEANIMFRAMESET_79
- const BATTLEANIMFRAMESET_7A
- const BATTLEANIMFRAMESET_7B
- const BATTLEANIMFRAMESET_7C
- const BATTLEANIMFRAMESET_7D
- const BATTLEANIMFRAMESET_7E
- const BATTLEANIMFRAMESET_7F
- const BATTLEANIMFRAMESET_80
- const BATTLEANIMFRAMESET_81
- const BATTLEANIMFRAMESET_82
- const BATTLEANIMFRAMESET_83
- const BATTLEANIMFRAMESET_84
- const BATTLEANIMFRAMESET_85
- const BATTLEANIMFRAMESET_86
- const BATTLEANIMFRAMESET_87
- const BATTLEANIMFRAMESET_88
- const BATTLEANIMFRAMESET_89
- const BATTLEANIMFRAMESET_8A
- const BATTLEANIMFRAMESET_8B
- const BATTLEANIMFRAMESET_8C
- const BATTLEANIMFRAMESET_8D
- const BATTLEANIMFRAMESET_8E
- const BATTLEANIMFRAMESET_8F
- const BATTLEANIMFRAMESET_90
- const BATTLEANIMFRAMESET_91
- const BATTLEANIMFRAMESET_92
- const BATTLEANIMFRAMESET_93
- const BATTLEANIMFRAMESET_94
- const BATTLEANIMFRAMESET_95
- const BATTLEANIMFRAMESET_96
- const BATTLEANIMFRAMESET_97
- const BATTLEANIMFRAMESET_98
- const BATTLEANIMFRAMESET_99
- const BATTLEANIMFRAMESET_9A
- const BATTLEANIMFRAMESET_9B
- const BATTLEANIMFRAMESET_9C
- const BATTLEANIMFRAMESET_9D
- const BATTLEANIMFRAMESET_9E
- const BATTLEANIMFRAMESET_9F
- const BATTLEANIMFRAMESET_A0
- const BATTLEANIMFRAMESET_A1
- const BATTLEANIMFRAMESET_A2
- const BATTLEANIMFRAMESET_A3
- const BATTLEANIMFRAMESET_A4
- const BATTLEANIMFRAMESET_A5
- const BATTLEANIMFRAMESET_A6
- const BATTLEANIMFRAMESET_A7
- const BATTLEANIMFRAMESET_A8
- const BATTLEANIMFRAMESET_A9
- const BATTLEANIMFRAMESET_AA
- const BATTLEANIMFRAMESET_AB
- const BATTLEANIMFRAMESET_AC
- const BATTLEANIMFRAMESET_AD
- const BATTLEANIMFRAMESET_AE
- const BATTLEANIMFRAMESET_AF
- const BATTLEANIMFRAMESET_B0
- const BATTLEANIMFRAMESET_B1
- const BATTLEANIMFRAMESET_B2
- const BATTLEANIMFRAMESET_B3
- const BATTLEANIMFRAMESET_B4
- const BATTLEANIMFRAMESET_B5
- const BATTLEANIMFRAMESET_B6
- const BATTLEANIMFRAMESET_B7
- const BATTLEANIMFRAMESET_B8
-
-; BattleAnimOAMData indexes (see data/anims/oam.asm)
- const_def
- const BATTLEANIMOAMSET_00
- const BATTLEANIMOAMSET_01
- const BATTLEANIMOAMSET_02
- const BATTLEANIMOAMSET_03
- const BATTLEANIMOAMSET_04
- const BATTLEANIMOAMSET_05
- const BATTLEANIMOAMSET_06
- const BATTLEANIMOAMSET_07
- const BATTLEANIMOAMSET_08
- const BATTLEANIMOAMSET_09
- const BATTLEANIMOAMSET_0A
- const BATTLEANIMOAMSET_0B
- const BATTLEANIMOAMSET_0C
- const BATTLEANIMOAMSET_0D
- const BATTLEANIMOAMSET_0E
- const BATTLEANIMOAMSET_0F
- const BATTLEANIMOAMSET_10
- const BATTLEANIMOAMSET_11
- const BATTLEANIMOAMSET_12
- const BATTLEANIMOAMSET_13
- const BATTLEANIMOAMSET_14
- const BATTLEANIMOAMSET_15
- const BATTLEANIMOAMSET_16
- const BATTLEANIMOAMSET_17
- const BATTLEANIMOAMSET_18
- const BATTLEANIMOAMSET_19
- const BATTLEANIMOAMSET_1A
- const BATTLEANIMOAMSET_1B
- const BATTLEANIMOAMSET_1C
- const BATTLEANIMOAMSET_1D
- const BATTLEANIMOAMSET_1E
- const BATTLEANIMOAMSET_1F
- const BATTLEANIMOAMSET_20
- const BATTLEANIMOAMSET_21
- const BATTLEANIMOAMSET_22
- const BATTLEANIMOAMSET_23
- const BATTLEANIMOAMSET_24
- const BATTLEANIMOAMSET_25
- const BATTLEANIMOAMSET_26
- const BATTLEANIMOAMSET_27
- const BATTLEANIMOAMSET_28
- const BATTLEANIMOAMSET_29
- const BATTLEANIMOAMSET_2A
- const BATTLEANIMOAMSET_2B
- const BATTLEANIMOAMSET_2C
- const BATTLEANIMOAMSET_2D
- const BATTLEANIMOAMSET_2E
- const BATTLEANIMOAMSET_2F
- const BATTLEANIMOAMSET_30
- const BATTLEANIMOAMSET_31
- const BATTLEANIMOAMSET_32
- const BATTLEANIMOAMSET_33
- const BATTLEANIMOAMSET_34
- const BATTLEANIMOAMSET_35
- const BATTLEANIMOAMSET_36
- const BATTLEANIMOAMSET_37
- const BATTLEANIMOAMSET_38
- const BATTLEANIMOAMSET_39
- const BATTLEANIMOAMSET_3A
- const BATTLEANIMOAMSET_3B
- const BATTLEANIMOAMSET_3C
- const BATTLEANIMOAMSET_3D
- const BATTLEANIMOAMSET_3E
- const BATTLEANIMOAMSET_3F
- const BATTLEANIMOAMSET_40
- const BATTLEANIMOAMSET_41
- const BATTLEANIMOAMSET_42
- const BATTLEANIMOAMSET_43
- const BATTLEANIMOAMSET_44
- const BATTLEANIMOAMSET_45
- const BATTLEANIMOAMSET_46
- const BATTLEANIMOAMSET_47
- const BATTLEANIMOAMSET_48
- const BATTLEANIMOAMSET_49
- const BATTLEANIMOAMSET_4A
- const BATTLEANIMOAMSET_4B
- const BATTLEANIMOAMSET_4C
- const BATTLEANIMOAMSET_4D
- const BATTLEANIMOAMSET_4E
- const BATTLEANIMOAMSET_4F
- const BATTLEANIMOAMSET_50
- const BATTLEANIMOAMSET_51
- const BATTLEANIMOAMSET_52
- const BATTLEANIMOAMSET_53
- const BATTLEANIMOAMSET_54
- const BATTLEANIMOAMSET_55
- const BATTLEANIMOAMSET_56
- const BATTLEANIMOAMSET_57
- const BATTLEANIMOAMSET_58
- const BATTLEANIMOAMSET_59
- const BATTLEANIMOAMSET_5A
- const BATTLEANIMOAMSET_5B
- const BATTLEANIMOAMSET_5C
- const BATTLEANIMOAMSET_5D
- const BATTLEANIMOAMSET_5E
- const BATTLEANIMOAMSET_5F
- const BATTLEANIMOAMSET_60
- const BATTLEANIMOAMSET_61
- const BATTLEANIMOAMSET_62
- const BATTLEANIMOAMSET_63
- const BATTLEANIMOAMSET_64
- const BATTLEANIMOAMSET_65
- const BATTLEANIMOAMSET_66
- const BATTLEANIMOAMSET_67
- const BATTLEANIMOAMSET_68
- const BATTLEANIMOAMSET_69
- const BATTLEANIMOAMSET_6A
- const BATTLEANIMOAMSET_6B
- const BATTLEANIMOAMSET_6C
- const BATTLEANIMOAMSET_6D
- const BATTLEANIMOAMSET_6E
- const BATTLEANIMOAMSET_6F
- const BATTLEANIMOAMSET_70
- const BATTLEANIMOAMSET_71
- const BATTLEANIMOAMSET_72
- const BATTLEANIMOAMSET_73
- const BATTLEANIMOAMSET_74
- const BATTLEANIMOAMSET_75
- const BATTLEANIMOAMSET_76
- const BATTLEANIMOAMSET_77
- const BATTLEANIMOAMSET_78
- const BATTLEANIMOAMSET_79
- const BATTLEANIMOAMSET_7A
- const BATTLEANIMOAMSET_7B
- const BATTLEANIMOAMSET_7C
- const BATTLEANIMOAMSET_7D
- const BATTLEANIMOAMSET_7E
- const BATTLEANIMOAMSET_7F
- const BATTLEANIMOAMSET_80
- const BATTLEANIMOAMSET_81
- const BATTLEANIMOAMSET_82
- const BATTLEANIMOAMSET_83
- const BATTLEANIMOAMSET_84
- const BATTLEANIMOAMSET_85
- const BATTLEANIMOAMSET_86
- const BATTLEANIMOAMSET_87
- const BATTLEANIMOAMSET_88
- const BATTLEANIMOAMSET_89
- const BATTLEANIMOAMSET_8A
- const BATTLEANIMOAMSET_8B
- const BATTLEANIMOAMSET_8C
- const BATTLEANIMOAMSET_8D
- const BATTLEANIMOAMSET_8E
- const BATTLEANIMOAMSET_8F
- const BATTLEANIMOAMSET_90
- const BATTLEANIMOAMSET_91
- const BATTLEANIMOAMSET_92
- const BATTLEANIMOAMSET_93
- const BATTLEANIMOAMSET_94
- const BATTLEANIMOAMSET_95
- const BATTLEANIMOAMSET_96
- const BATTLEANIMOAMSET_97
- const BATTLEANIMOAMSET_98
- const BATTLEANIMOAMSET_99
- const BATTLEANIMOAMSET_9A
- const BATTLEANIMOAMSET_9B
- const BATTLEANIMOAMSET_9C
- const BATTLEANIMOAMSET_9D
- const BATTLEANIMOAMSET_9E
- const BATTLEANIMOAMSET_9F
- const BATTLEANIMOAMSET_A0
- const BATTLEANIMOAMSET_A1
- const BATTLEANIMOAMSET_A2
- const BATTLEANIMOAMSET_A3
- const BATTLEANIMOAMSET_A4
- const BATTLEANIMOAMSET_A5
- const BATTLEANIMOAMSET_A6
- const BATTLEANIMOAMSET_A7
- const BATTLEANIMOAMSET_A8
- const BATTLEANIMOAMSET_A9
- const BATTLEANIMOAMSET_AA
- const BATTLEANIMOAMSET_AB
- const BATTLEANIMOAMSET_AC
- const BATTLEANIMOAMSET_AD
- const BATTLEANIMOAMSET_AE
- const BATTLEANIMOAMSET_AF
- const BATTLEANIMOAMSET_B0
- const BATTLEANIMOAMSET_B1
- const BATTLEANIMOAMSET_B2
- const BATTLEANIMOAMSET_B3
- const BATTLEANIMOAMSET_B4
- const BATTLEANIMOAMSET_B5
- const BATTLEANIMOAMSET_B6
- const BATTLEANIMOAMSET_B7
- const BATTLEANIMOAMSET_B8
- const BATTLEANIMOAMSET_B9
- const BATTLEANIMOAMSET_BA
- const BATTLEANIMOAMSET_BB
- const BATTLEANIMOAMSET_BC
- const BATTLEANIMOAMSET_BD
- const BATTLEANIMOAMSET_BE
- const BATTLEANIMOAMSET_BF
- const BATTLEANIMOAMSET_C0
- const BATTLEANIMOAMSET_C1
- const BATTLEANIMOAMSET_C2
- const BATTLEANIMOAMSET_C3
- const BATTLEANIMOAMSET_C4
- const BATTLEANIMOAMSET_C5
- const BATTLEANIMOAMSET_C6
- const BATTLEANIMOAMSET_C7
- const BATTLEANIMOAMSET_C8
- const BATTLEANIMOAMSET_C9
- const BATTLEANIMOAMSET_CA
- const BATTLEANIMOAMSET_CB
- const BATTLEANIMOAMSET_CC
- const BATTLEANIMOAMSET_CD
- const BATTLEANIMOAMSET_CE
- const BATTLEANIMOAMSET_CF
- const BATTLEANIMOAMSET_D0
- const BATTLEANIMOAMSET_D1
- const BATTLEANIMOAMSET_D2
- const BATTLEANIMOAMSET_D3
- const BATTLEANIMOAMSET_D4
- const BATTLEANIMOAMSET_D5
- const BATTLEANIMOAMSET_D6
- const BATTLEANIMOAMSET_D7
-
-; BattleBGEffects indexes (see engine/anims/bg_effects.asm)
-const_value SET 1
- const ANIM_BG_FLASH_INVERTED
- const ANIM_BG_FLASH_WHITE
- const ANIM_BG_WHITE_HUES
- const ANIM_BG_BLACK_HUES
- const ANIM_BG_ALTERNATE_HUES
- const ANIM_BG_06
- const ANIM_BG_07
- const ANIM_BG_08
- const ANIM_BG_HIDE_MON
- const ANIM_BG_SHOW_MON
- const ANIM_BG_ENTER_MON
- const ANIM_BG_RETURN_MON
- const ANIM_BG_SURF
- const ANIM_BG_WHIRLPOOL
- const ANIM_BG_TELEPORT
- const ANIM_BG_NIGHT_SHADE
- const ANIM_BG_FEET_FOLLOW
- const ANIM_BG_HEAD_FOLLOW
- const ANIM_BG_DOUBLE_TEAM
- const ANIM_BG_ACID_ARMOR
- const ANIM_BG_RAPID_FLASH
- const ANIM_BG_16
- const ANIM_BG_17
- const ANIM_BG_18
- const ANIM_BG_19
- const ANIM_BG_1A
- const ANIM_BG_1B
- const ANIM_BG_1C
- const ANIM_BG_1D
- const ANIM_BG_1E
- const ANIM_BG_1F
- const ANIM_BG_20
- const ANIM_BG_WITHDRAW
- const ANIM_BG_BOUNCE_DOWN
- const ANIM_BG_DIG
- const ANIM_BG_TACKLE
- const ANIM_BG_25
- const ANIM_BG_26
- const ANIM_BG_27
- const ANIM_BG_WAVE_DEFORM_USER
- const ANIM_BG_PSYCHIC
- const ANIM_BG_2A
- const ANIM_BG_2B
- const ANIM_BG_2C
- const ANIM_BG_2D
- const ANIM_BG_2E
- const ANIM_BG_2F
- const ANIM_BG_30
- const ANIM_BG_31
- const ANIM_BG_32
- const ANIM_BG_VIBRATE_MON
- const ANIM_BG_WOBBLE_MON
- const ANIM_BG_35
-
-; AnimObjGFX indexes (see data/anims/object_gfx.asm)
-const_value SET 1
- const ANIM_GFX_HIT
- const ANIM_GFX_CUT
- const ANIM_GFX_FIRE
- const ANIM_GFX_WATER
- const ANIM_GFX_LIGHTNING
- const ANIM_GFX_PLANT
- const ANIM_GFX_SMOKE
- const ANIM_GFX_EXPLOSION
- const ANIM_GFX_ROCKS
- const ANIM_GFX_ICE
- const ANIM_GFX_POKE_BALL
- const ANIM_GFX_POISON
- const ANIM_GFX_BUBBLE
- const ANIM_GFX_NOISE
- const ANIM_GFX_POWDER
- const ANIM_GFX_BEAM
- const ANIM_GFX_SPEED
- const ANIM_GFX_CHARGE
- const ANIM_GFX_WIND
- const ANIM_GFX_WHIP
- const ANIM_GFX_EGG
- const ANIM_GFX_ROPE
- const ANIM_GFX_PSYCHIC
- const ANIM_GFX_REFLECT
- const ANIM_GFX_STATUS
- const ANIM_GFX_SAND
- const ANIM_GFX_WEB
- const ANIM_GFX_HAZE
- const ANIM_GFX_HORN
- const ANIM_GFX_FLOWER
- const ANIM_GFX_MISC
- const ANIM_GFX_SKY_ATTACK
- const ANIM_GFX_GLOBE
- const ANIM_GFX_SHAPES
- const ANIM_GFX_OBJECTS
- const ANIM_GFX_SHINE
- const ANIM_GFX_ANGELS
- const ANIM_GFX_WAVE
- const ANIM_GFX_AEROBLAST
-
-; battle_bg_effect struct members (see macros/wram.asm)
- const_def
- const BG_EFFECT_STRUCT_FUNCTION
- const BG_EFFECT_STRUCT_JT_INDEX
- const BG_EFFECT_STRUCT_BATTLE_TURN
- const BG_EFFECT_STRUCT_03
-
-; battle palettes
- const_def
- const PAL_BATTLE_BG_PLAYER ; 0
- const PAL_BATTLE_BG_ENEMY ; 1
- const PAL_BATTLE_BG_ENEMY_HP ; 2
- const PAL_BATTLE_BG_PLAYER_HP ; 3
- const PAL_BATTLE_BG_EXP ; 4
- const PAL_BATTLE_BG_5 ; 5
- const PAL_BATTLE_BG_6 ; 6
- const PAL_BATTLE_BG_TEXT ; 7
-
-; animation object palettes
- const_def
- const PAL_BATTLE_OB_ENEMY ; 0
- const PAL_BATTLE_OB_PLAYER ; 1
- const PAL_BATTLE_OB_GRAY ; 2
- const PAL_BATTLE_OB_YELLOW ; 3
- const PAL_BATTLE_OB_RED ; 4
- const PAL_BATTLE_OB_GREEN ; 5
- const PAL_BATTLE_OB_BLUE ; 6
- const PAL_BATTLE_OB_BROWN ; 7
--- /dev/null
+++ b/constants/battle_anim_constants.asm
@@ -1,0 +1,835 @@
+; battle_anim_struct members (see macros/wram.asm)
+ const_def
+ const BATTLEANIMSTRUCT_INDEX
+ const BATTLEANIMSTRUCT_01
+ const BATTLEANIMSTRUCT_02
+ const BATTLEANIMSTRUCT_FRAMESET_ID
+ const BATTLEANIMSTRUCT_FUNCTION
+ const BATTLEANIMSTRUCT_PALETTE
+ const BATTLEANIMSTRUCT_TILEID
+ const BATTLEANIMSTRUCT_XCOORD
+ const BATTLEANIMSTRUCT_YCOORD
+ const BATTLEANIMSTRUCT_XOFFSET
+ const BATTLEANIMSTRUCT_YOFFSET
+ const BATTLEANIMSTRUCT_0B
+ const BATTLEANIMSTRUCT_DURATION
+ const BATTLEANIMSTRUCT_FRAME
+ const BATTLEANIMSTRUCT_ANON_JT_INDEX
+ const BATTLEANIMSTRUCT_0F
+ const BATTLEANIMSTRUCT_10
+ const BATTLEANIMSTRUCT_11
+ const BATTLEANIMSTRUCT_12
+ const BATTLEANIMSTRUCT_13
+ const BATTLEANIMSTRUCT_14
+ const BATTLEANIMSTRUCT_15
+ const BATTLEANIMSTRUCT_16
+ const BATTLEANIMSTRUCT_17
+BATTLEANIMSTRUCT_LENGTH EQU const_value
+
+; BattleAnimObjects indexes (see data/battle_anims/objects.asm)
+ const_def
+ const ANIM_OBJ_00
+ const ANIM_OBJ_01
+ const ANIM_OBJ_02
+ const ANIM_OBJ_03
+ const ANIM_OBJ_04
+ const ANIM_OBJ_05
+ const ANIM_OBJ_06
+ const ANIM_OBJ_07
+ const ANIM_OBJ_08
+ const ANIM_OBJ_09
+ const ANIM_OBJ_0A
+ const ANIM_OBJ_0B
+ const ANIM_OBJ_0C
+ const ANIM_OBJ_0D
+ const ANIM_OBJ_0E
+ const ANIM_OBJ_0F
+ const ANIM_OBJ_BURNED
+ const ANIM_OBJ_BLIZZARD
+ const ANIM_OBJ_12
+ const ANIM_OBJ_ICE_BEAM
+ const ANIM_OBJ_RAZOR_LEAF
+ const ANIM_OBJ_POKE_BALL
+ const ANIM_OBJ_POKE_BALL_BLOCKED
+ const ANIM_OBJ_17
+ const ANIM_OBJ_18
+ const ANIM_OBJ_19
+ const ANIM_OBJ_1A
+ const ANIM_OBJ_1B
+ const ANIM_OBJ_BALL_POOF
+ const ANIM_OBJ_1D
+ const ANIM_OBJ_1E
+ const ANIM_OBJ_1F
+ const ANIM_OBJ_20
+ const ANIM_OBJ_BUBBLE
+ const ANIM_OBJ_22
+ const ANIM_OBJ_23
+ const ANIM_OBJ_24
+ const ANIM_OBJ_25
+ const ANIM_OBJ_26
+ const ANIM_OBJ_27
+ const ANIM_OBJ_28
+ const ANIM_OBJ_ICE_BUILDUP
+ const ANIM_OBJ_FROZEN
+ const ANIM_OBJ_MASTER_BALL_SPARKLE
+ const ANIM_OBJ_2C
+ const ANIM_OBJ_2D
+ const ANIM_OBJ_2E
+ const ANIM_OBJ_2F
+ const ANIM_OBJ_30
+ const ANIM_OBJ_31
+ const ANIM_OBJ_LIGHTNING_BOLT
+ const ANIM_OBJ_33
+ const ANIM_OBJ_34
+ const ANIM_OBJ_35
+ const ANIM_OBJ_36
+ const ANIM_OBJ_37
+ const ANIM_OBJ_38
+ const ANIM_OBJ_39
+ const ANIM_OBJ_3A
+ const ANIM_OBJ_3B
+ const ANIM_OBJ_3C
+ const ANIM_OBJ_3D
+ const ANIM_OBJ_GUST
+ const ANIM_OBJ_3F
+ const ANIM_OBJ_40
+ const ANIM_OBJ_41
+ const ANIM_OBJ_42
+ const ANIM_OBJ_43
+ const ANIM_OBJ_44
+ const ANIM_OBJ_ABSORB
+ const ANIM_OBJ_46
+ const ANIM_OBJ_47
+ const ANIM_OBJ_48
+ const ANIM_OBJ_49
+ const ANIM_OBJ_LEECH_SEED
+ const ANIM_OBJ_4B
+ const ANIM_OBJ_4C
+ const ANIM_OBJ_4D
+ const ANIM_OBJ_4E
+ const ANIM_OBJ_4F
+ const ANIM_OBJ_50
+ const ANIM_OBJ_51
+ const ANIM_OBJ_CHICK
+ const ANIM_OBJ_53
+ const ANIM_OBJ_54
+ const ANIM_OBJ_SKULL
+ const ANIM_OBJ_56
+ const ANIM_OBJ_57
+ const ANIM_OBJ_58
+ const ANIM_OBJ_PARALYZED
+ const ANIM_OBJ_5A
+ const ANIM_OBJ_HAZE
+ const ANIM_OBJ_MIST
+ const ANIM_OBJ_SMOG
+ const ANIM_OBJ_POISON_GAS
+ const ANIM_OBJ_HORN
+ const ANIM_OBJ_60
+ const ANIM_OBJ_61
+ const ANIM_OBJ_62
+ const ANIM_OBJ_63
+ const ANIM_OBJ_64
+ const ANIM_OBJ_65
+ const ANIM_OBJ_66
+ const ANIM_OBJ_67
+ const ANIM_OBJ_68
+ const ANIM_OBJ_69
+ const ANIM_OBJ_6A
+ const ANIM_OBJ_6B
+ const ANIM_OBJ_6C
+ const ANIM_OBJ_6D
+ const ANIM_OBJ_SKY_ATTACK_FEAROW
+ const ANIM_OBJ_LICK
+ const ANIM_OBJ_WITHDRAW
+ const ANIM_OBJ_71
+ const ANIM_OBJ_72
+ const ANIM_OBJ_73
+ const ANIM_OBJ_74
+ const ANIM_OBJ_75
+ const ANIM_OBJ_76
+ const ANIM_OBJ_77
+ const ANIM_OBJ_78
+ const ANIM_OBJ_79
+ const ANIM_OBJ_7A
+ const ANIM_OBJ_7B
+ const ANIM_OBJ_7C
+ const ANIM_OBJ_7D
+ const ANIM_OBJ_HEART
+ const ANIM_OBJ_7F
+ const ANIM_OBJ_80
+ const ANIM_OBJ_COTTON_SPORE
+ const ANIM_OBJ_82
+ const ANIM_OBJ_83
+ const ANIM_OBJ_84
+ const ANIM_OBJ_85
+ const ANIM_OBJ_86
+ const ANIM_OBJ_87
+ const ANIM_OBJ_88
+ const ANIM_OBJ_89
+ const ANIM_OBJ_8A
+ const ANIM_OBJ_8B
+ const ANIM_OBJ_8C
+ const ANIM_OBJ_8D
+ const ANIM_OBJ_SPIKES
+ const ANIM_OBJ_8F
+ const ANIM_OBJ_90
+ const ANIM_OBJ_91
+ const ANIM_OBJ_92
+ const ANIM_OBJ_93
+ const ANIM_OBJ_94
+ const ANIM_OBJ_95
+ const ANIM_OBJ_96
+ const ANIM_OBJ_97
+ const ANIM_OBJ_98
+ const ANIM_OBJ_99
+ const ANIM_OBJ_9A
+ const ANIM_OBJ_9B
+ const ANIM_OBJ_9C
+ const ANIM_OBJ_9D
+ const ANIM_OBJ_9E
+ const ANIM_OBJ_9F
+ const ANIM_OBJ_A0
+ const ANIM_OBJ_A1
+ const ANIM_OBJ_A2
+ const ANIM_OBJ_A3
+ const ANIM_OBJ_A4
+ const ANIM_OBJ_A5
+ const ANIM_OBJ_PERISH_SONG
+ const ANIM_OBJ_A7
+ const ANIM_OBJ_A8
+ const ANIM_OBJ_A9
+ const ANIM_OBJ_AA
+ const ANIM_OBJ_AB
+ const ANIM_OBJ_AC
+ const ANIM_OBJ_AD
+ const ANIM_OBJ_AE
+ const ANIM_OBJ_AF
+ const ANIM_OBJ_B0
+ const ANIM_OBJ_B1
+ const ANIM_OBJ_B2
+ const ANIM_OBJ_B3
+ const ANIM_OBJ_B4
+ const ANIM_OBJ_B5
+ const ANIM_OBJ_FLOWER
+ const ANIM_OBJ_COTTON
+ const ANIM_OBJ_PLAYERFEETFOLLOW
+ const ANIM_OBJ_ENEMYFEETFOLLOW
+ const ANIM_OBJ_BA
+ const ANIM_OBJ_BB
+
+; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)
+ const_def
+ const BATTLEANIMFUNC_00
+ const BATTLEANIMFUNC_01
+ const BATTLEANIMFUNC_02
+ const BATTLEANIMFUNC_03
+ const BATTLEANIMFUNC_04
+ const BATTLEANIMFUNC_05
+ const BATTLEANIMFUNC_06
+ const BATTLEANIMFUNC_07
+ const BATTLEANIMFUNC_08
+ const BATTLEANIMFUNC_09
+ const BATTLEANIMFUNC_0A
+ const BATTLEANIMFUNC_RAZOR_LEAF
+ const BATTLEANIMFUNC_0C
+ const BATTLEANIMFUNC_0D
+ const BATTLEANIMFUNC_0E
+ const BATTLEANIMFUNC_0F
+ const BATTLEANIMFUNC_10
+ const BATTLEANIMFUNC_11
+ const BATTLEANIMFUNC_12
+ const BATTLEANIMFUNC_13
+ const BATTLEANIMFUNC_14
+ const BATTLEANIMFUNC_15
+ const BATTLEANIMFUNC_16
+ const BATTLEANIMFUNC_17
+ const BATTLEANIMFUNC_18
+ const BATTLEANIMFUNC_19
+ const BATTLEANIMFUNC_1A
+ const BATTLEANIMFUNC_1B
+ const BATTLEANIMFUNC_1C
+ const BATTLEANIMFUNC_1D
+ const BATTLEANIMFUNC_1E
+ const BATTLEANIMFUNC_1F
+ const BATTLEANIMFUNC_LEECH_SEED
+ const BATTLEANIMFUNC_21
+ const BATTLEANIMFUNC_22
+ const BATTLEANIMFUNC_23
+ const BATTLEANIMFUNC_24
+ const BATTLEANIMFUNC_25
+ const BATTLEANIMFUNC_26
+ const BATTLEANIMFUNC_27
+ const BATTLEANIMFUNC_28
+ const BATTLEANIMFUNC_SPRIAL_DESCENT
+ const BATTLEANIMFUNC_POISON_GAS
+ const BATTLEANIMFUNC_HORN
+ const BATTLEANIMFUNC_2C
+ const BATTLEANIMFUNC_2D
+ const BATTLEANIMFUNC_2E
+ const BATTLEANIMFUNC_2F
+ const BATTLEANIMFUNC_30
+ const BATTLEANIMFUNC_31
+ const BATTLEANIMFUNC_32
+ const BATTLEANIMFUNC_33
+ const BATTLEANIMFUNC_34
+ const BATTLEANIMFUNC_35
+ const BATTLEANIMFUNC_36
+ const BATTLEANIMFUNC_37
+ const BATTLEANIMFUNC_38
+ const BATTLEANIMFUNC_39
+ const BATTLEANIMFUNC_3A
+ const BATTLEANIMFUNC_3B
+ const BATTLEANIMFUNC_3C
+ const BATTLEANIMFUNC_3D
+ const BATTLEANIMFUNC_3E
+ const BATTLEANIMFUNC_3F
+ const BATTLEANIMFUNC_40
+ const BATTLEANIMFUNC_41
+ const BATTLEANIMFUNC_42
+ const BATTLEANIMFUNC_43
+ const BATTLEANIMFUNC_44
+ const BATTLEANIMFUNC_45
+ const BATTLEANIMFUNC_46
+ const BATTLEANIMFUNC_47
+ const BATTLEANIMFUNC_48
+ const BATTLEANIMFUNC_49
+ const BATTLEANIMFUNC_4A
+ const BATTLEANIMFUNC_4B
+ const BATTLEANIMFUNC_4C
+ const BATTLEANIMFUNC_4D
+ const BATTLEANIMFUNC_4E
+ const BATTLEANIMFUNC_4F
+
+; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm)
+ const_def
+ const BATTLEANIMFRAMESET_00
+ const BATTLEANIMFRAMESET_01
+ const BATTLEANIMFRAMESET_02
+ const BATTLEANIMFRAMESET_03
+ const BATTLEANIMFRAMESET_04
+ const BATTLEANIMFRAMESET_05
+ const BATTLEANIMFRAMESET_06
+ const BATTLEANIMFRAMESET_07
+ const BATTLEANIMFRAMESET_08
+ const BATTLEANIMFRAMESET_09
+ const BATTLEANIMFRAMESET_0A
+ const BATTLEANIMFRAMESET_0B
+ const BATTLEANIMFRAMESET_0C
+ const BATTLEANIMFRAMESET_0D
+ const BATTLEANIMFRAMESET_0E
+ const BATTLEANIMFRAMESET_0F
+ const BATTLEANIMFRAMESET_10
+ const BATTLEANIMFRAMESET_11
+ const BATTLEANIMFRAMESET_12
+ const BATTLEANIMFRAMESET_13
+ const BATTLEANIMFRAMESET_14
+ const BATTLEANIMFRAMESET_15
+ const BATTLEANIMFRAMESET_16
+ const BATTLEANIMFRAMESET_17
+ const BATTLEANIMFRAMESET_18
+ const BATTLEANIMFRAMESET_19
+ const BATTLEANIMFRAMESET_1A
+ const BATTLEANIMFRAMESET_1B
+ const BATTLEANIMFRAMESET_1C
+ const BATTLEANIMFRAMESET_1D
+ const BATTLEANIMFRAMESET_1E
+ const BATTLEANIMFRAMESET_1F
+ const BATTLEANIMFRAMESET_20
+ const BATTLEANIMFRAMESET_21
+ const BATTLEANIMFRAMESET_22
+ const BATTLEANIMFRAMESET_23
+ const BATTLEANIMFRAMESET_24
+ const BATTLEANIMFRAMESET_25
+ const BATTLEANIMFRAMESET_26
+ const BATTLEANIMFRAMESET_27
+ const BATTLEANIMFRAMESET_28
+ const BATTLEANIMFRAMESET_29
+ const BATTLEANIMFRAMESET_2A
+ const BATTLEANIMFRAMESET_2B
+ const BATTLEANIMFRAMESET_2C
+ const BATTLEANIMFRAMESET_2D
+ const BATTLEANIMFRAMESET_2E
+ const BATTLEANIMFRAMESET_2F
+ const BATTLEANIMFRAMESET_30
+ const BATTLEANIMFRAMESET_31
+ const BATTLEANIMFRAMESET_32
+ const BATTLEANIMFRAMESET_33
+ const BATTLEANIMFRAMESET_34
+ const BATTLEANIMFRAMESET_35
+ const BATTLEANIMFRAMESET_36
+ const BATTLEANIMFRAMESET_37
+ const BATTLEANIMFRAMESET_38
+ const BATTLEANIMFRAMESET_39
+ const BATTLEANIMFRAMESET_3A
+ const BATTLEANIMFRAMESET_3B
+ const BATTLEANIMFRAMESET_3C
+ const BATTLEANIMFRAMESET_3D
+ const BATTLEANIMFRAMESET_3E
+ const BATTLEANIMFRAMESET_3F
+ const BATTLEANIMFRAMESET_40
+ const BATTLEANIMFRAMESET_41
+ const BATTLEANIMFRAMESET_42
+ const BATTLEANIMFRAMESET_43
+ const BATTLEANIMFRAMESET_44
+ const BATTLEANIMFRAMESET_45
+ const BATTLEANIMFRAMESET_46
+ const BATTLEANIMFRAMESET_47
+ const BATTLEANIMFRAMESET_48
+ const BATTLEANIMFRAMESET_49
+ const BATTLEANIMFRAMESET_4A
+ const BATTLEANIMFRAMESET_4B
+ const BATTLEANIMFRAMESET_4C
+ const BATTLEANIMFRAMESET_4D
+ const BATTLEANIMFRAMESET_4E
+ const BATTLEANIMFRAMESET_4F
+ const BATTLEANIMFRAMESET_50
+ const BATTLEANIMFRAMESET_51
+ const BATTLEANIMFRAMESET_52
+ const BATTLEANIMFRAMESET_53
+ const BATTLEANIMFRAMESET_54
+ const BATTLEANIMFRAMESET_55
+ const BATTLEANIMFRAMESET_56
+ const BATTLEANIMFRAMESET_57
+ const BATTLEANIMFRAMESET_58
+ const BATTLEANIMFRAMESET_59
+ const BATTLEANIMFRAMESET_5A
+ const BATTLEANIMFRAMESET_5B
+ const BATTLEANIMFRAMESET_5C
+ const BATTLEANIMFRAMESET_5D
+ const BATTLEANIMFRAMESET_5E
+ const BATTLEANIMFRAMESET_5F
+ const BATTLEANIMFRAMESET_60
+ const BATTLEANIMFRAMESET_61
+ const BATTLEANIMFRAMESET_62
+ const BATTLEANIMFRAMESET_63
+ const BATTLEANIMFRAMESET_64
+ const BATTLEANIMFRAMESET_65
+ const BATTLEANIMFRAMESET_66
+ const BATTLEANIMFRAMESET_67
+ const BATTLEANIMFRAMESET_68
+ const BATTLEANIMFRAMESET_69
+ const BATTLEANIMFRAMESET_6A
+ const BATTLEANIMFRAMESET_6B
+ const BATTLEANIMFRAMESET_6C
+ const BATTLEANIMFRAMESET_6D
+ const BATTLEANIMFRAMESET_6E
+ const BATTLEANIMFRAMESET_6F
+ const BATTLEANIMFRAMESET_70
+ const BATTLEANIMFRAMESET_71
+ const BATTLEANIMFRAMESET_72
+ const BATTLEANIMFRAMESET_73
+ const BATTLEANIMFRAMESET_74
+ const BATTLEANIMFRAMESET_75
+ const BATTLEANIMFRAMESET_76
+ const BATTLEANIMFRAMESET_77
+ const BATTLEANIMFRAMESET_78
+ const BATTLEANIMFRAMESET_79
+ const BATTLEANIMFRAMESET_7A
+ const BATTLEANIMFRAMESET_7B
+ const BATTLEANIMFRAMESET_7C
+ const BATTLEANIMFRAMESET_7D
+ const BATTLEANIMFRAMESET_7E
+ const BATTLEANIMFRAMESET_7F
+ const BATTLEANIMFRAMESET_80
+ const BATTLEANIMFRAMESET_81
+ const BATTLEANIMFRAMESET_82
+ const BATTLEANIMFRAMESET_83
+ const BATTLEANIMFRAMESET_84
+ const BATTLEANIMFRAMESET_85
+ const BATTLEANIMFRAMESET_86
+ const BATTLEANIMFRAMESET_87
+ const BATTLEANIMFRAMESET_88
+ const BATTLEANIMFRAMESET_89
+ const BATTLEANIMFRAMESET_8A
+ const BATTLEANIMFRAMESET_8B
+ const BATTLEANIMFRAMESET_8C
+ const BATTLEANIMFRAMESET_8D
+ const BATTLEANIMFRAMESET_8E
+ const BATTLEANIMFRAMESET_8F
+ const BATTLEANIMFRAMESET_90
+ const BATTLEANIMFRAMESET_91
+ const BATTLEANIMFRAMESET_92
+ const BATTLEANIMFRAMESET_93
+ const BATTLEANIMFRAMESET_94
+ const BATTLEANIMFRAMESET_95
+ const BATTLEANIMFRAMESET_96
+ const BATTLEANIMFRAMESET_97
+ const BATTLEANIMFRAMESET_98
+ const BATTLEANIMFRAMESET_99
+ const BATTLEANIMFRAMESET_9A
+ const BATTLEANIMFRAMESET_9B
+ const BATTLEANIMFRAMESET_9C
+ const BATTLEANIMFRAMESET_9D
+ const BATTLEANIMFRAMESET_9E
+ const BATTLEANIMFRAMESET_9F
+ const BATTLEANIMFRAMESET_A0
+ const BATTLEANIMFRAMESET_A1
+ const BATTLEANIMFRAMESET_A2
+ const BATTLEANIMFRAMESET_A3
+ const BATTLEANIMFRAMESET_A4
+ const BATTLEANIMFRAMESET_A5
+ const BATTLEANIMFRAMESET_A6
+ const BATTLEANIMFRAMESET_A7
+ const BATTLEANIMFRAMESET_A8
+ const BATTLEANIMFRAMESET_A9
+ const BATTLEANIMFRAMESET_AA
+ const BATTLEANIMFRAMESET_AB
+ const BATTLEANIMFRAMESET_AC
+ const BATTLEANIMFRAMESET_AD
+ const BATTLEANIMFRAMESET_AE
+ const BATTLEANIMFRAMESET_AF
+ const BATTLEANIMFRAMESET_B0
+ const BATTLEANIMFRAMESET_B1
+ const BATTLEANIMFRAMESET_B2
+ const BATTLEANIMFRAMESET_B3
+ const BATTLEANIMFRAMESET_B4
+ const BATTLEANIMFRAMESET_B5
+ const BATTLEANIMFRAMESET_B6
+ const BATTLEANIMFRAMESET_B7
+ const BATTLEANIMFRAMESET_B8
+
+; BattleAnimOAMData indexes (see data/battle_anims/oam.asm)
+ const_def
+ const BATTLEANIMOAMSET_00
+ const BATTLEANIMOAMSET_01
+ const BATTLEANIMOAMSET_02
+ const BATTLEANIMOAMSET_03
+ const BATTLEANIMOAMSET_04
+ const BATTLEANIMOAMSET_05
+ const BATTLEANIMOAMSET_06
+ const BATTLEANIMOAMSET_07
+ const BATTLEANIMOAMSET_08
+ const BATTLEANIMOAMSET_09
+ const BATTLEANIMOAMSET_0A
+ const BATTLEANIMOAMSET_0B
+ const BATTLEANIMOAMSET_0C
+ const BATTLEANIMOAMSET_0D
+ const BATTLEANIMOAMSET_0E
+ const BATTLEANIMOAMSET_0F
+ const BATTLEANIMOAMSET_10
+ const BATTLEANIMOAMSET_11
+ const BATTLEANIMOAMSET_12
+ const BATTLEANIMOAMSET_13
+ const BATTLEANIMOAMSET_14
+ const BATTLEANIMOAMSET_15
+ const BATTLEANIMOAMSET_16
+ const BATTLEANIMOAMSET_17
+ const BATTLEANIMOAMSET_18
+ const BATTLEANIMOAMSET_19
+ const BATTLEANIMOAMSET_1A
+ const BATTLEANIMOAMSET_1B
+ const BATTLEANIMOAMSET_1C
+ const BATTLEANIMOAMSET_1D
+ const BATTLEANIMOAMSET_1E
+ const BATTLEANIMOAMSET_1F
+ const BATTLEANIMOAMSET_20
+ const BATTLEANIMOAMSET_21
+ const BATTLEANIMOAMSET_22
+ const BATTLEANIMOAMSET_23
+ const BATTLEANIMOAMSET_24
+ const BATTLEANIMOAMSET_25
+ const BATTLEANIMOAMSET_26
+ const BATTLEANIMOAMSET_27
+ const BATTLEANIMOAMSET_28
+ const BATTLEANIMOAMSET_29
+ const BATTLEANIMOAMSET_2A
+ const BATTLEANIMOAMSET_2B
+ const BATTLEANIMOAMSET_2C
+ const BATTLEANIMOAMSET_2D
+ const BATTLEANIMOAMSET_2E
+ const BATTLEANIMOAMSET_2F
+ const BATTLEANIMOAMSET_30
+ const BATTLEANIMOAMSET_31
+ const BATTLEANIMOAMSET_32
+ const BATTLEANIMOAMSET_33
+ const BATTLEANIMOAMSET_34
+ const BATTLEANIMOAMSET_35
+ const BATTLEANIMOAMSET_36
+ const BATTLEANIMOAMSET_37
+ const BATTLEANIMOAMSET_38
+ const BATTLEANIMOAMSET_39
+ const BATTLEANIMOAMSET_3A
+ const BATTLEANIMOAMSET_3B
+ const BATTLEANIMOAMSET_3C
+ const BATTLEANIMOAMSET_3D
+ const BATTLEANIMOAMSET_3E
+ const BATTLEANIMOAMSET_3F
+ const BATTLEANIMOAMSET_40
+ const BATTLEANIMOAMSET_41
+ const BATTLEANIMOAMSET_42
+ const BATTLEANIMOAMSET_43
+ const BATTLEANIMOAMSET_44
+ const BATTLEANIMOAMSET_45
+ const BATTLEANIMOAMSET_46
+ const BATTLEANIMOAMSET_47
+ const BATTLEANIMOAMSET_48
+ const BATTLEANIMOAMSET_49
+ const BATTLEANIMOAMSET_4A
+ const BATTLEANIMOAMSET_4B
+ const BATTLEANIMOAMSET_4C
+ const BATTLEANIMOAMSET_4D
+ const BATTLEANIMOAMSET_4E
+ const BATTLEANIMOAMSET_4F
+ const BATTLEANIMOAMSET_50
+ const BATTLEANIMOAMSET_51
+ const BATTLEANIMOAMSET_52
+ const BATTLEANIMOAMSET_53
+ const BATTLEANIMOAMSET_54
+ const BATTLEANIMOAMSET_55
+ const BATTLEANIMOAMSET_56
+ const BATTLEANIMOAMSET_57
+ const BATTLEANIMOAMSET_58
+ const BATTLEANIMOAMSET_59
+ const BATTLEANIMOAMSET_5A
+ const BATTLEANIMOAMSET_5B
+ const BATTLEANIMOAMSET_5C
+ const BATTLEANIMOAMSET_5D
+ const BATTLEANIMOAMSET_5E
+ const BATTLEANIMOAMSET_5F
+ const BATTLEANIMOAMSET_60
+ const BATTLEANIMOAMSET_61
+ const BATTLEANIMOAMSET_62
+ const BATTLEANIMOAMSET_63
+ const BATTLEANIMOAMSET_64
+ const BATTLEANIMOAMSET_65
+ const BATTLEANIMOAMSET_66
+ const BATTLEANIMOAMSET_67
+ const BATTLEANIMOAMSET_68
+ const BATTLEANIMOAMSET_69
+ const BATTLEANIMOAMSET_6A
+ const BATTLEANIMOAMSET_6B
+ const BATTLEANIMOAMSET_6C
+ const BATTLEANIMOAMSET_6D
+ const BATTLEANIMOAMSET_6E
+ const BATTLEANIMOAMSET_6F
+ const BATTLEANIMOAMSET_70
+ const BATTLEANIMOAMSET_71
+ const BATTLEANIMOAMSET_72
+ const BATTLEANIMOAMSET_73
+ const BATTLEANIMOAMSET_74
+ const BATTLEANIMOAMSET_75
+ const BATTLEANIMOAMSET_76
+ const BATTLEANIMOAMSET_77
+ const BATTLEANIMOAMSET_78
+ const BATTLEANIMOAMSET_79
+ const BATTLEANIMOAMSET_7A
+ const BATTLEANIMOAMSET_7B
+ const BATTLEANIMOAMSET_7C
+ const BATTLEANIMOAMSET_7D
+ const BATTLEANIMOAMSET_7E
+ const BATTLEANIMOAMSET_7F
+ const BATTLEANIMOAMSET_80
+ const BATTLEANIMOAMSET_81
+ const BATTLEANIMOAMSET_82
+ const BATTLEANIMOAMSET_83
+ const BATTLEANIMOAMSET_84
+ const BATTLEANIMOAMSET_85
+ const BATTLEANIMOAMSET_86
+ const BATTLEANIMOAMSET_87
+ const BATTLEANIMOAMSET_88
+ const BATTLEANIMOAMSET_89
+ const BATTLEANIMOAMSET_8A
+ const BATTLEANIMOAMSET_8B
+ const BATTLEANIMOAMSET_8C
+ const BATTLEANIMOAMSET_8D
+ const BATTLEANIMOAMSET_8E
+ const BATTLEANIMOAMSET_8F
+ const BATTLEANIMOAMSET_90
+ const BATTLEANIMOAMSET_91
+ const BATTLEANIMOAMSET_92
+ const BATTLEANIMOAMSET_93
+ const BATTLEANIMOAMSET_94
+ const BATTLEANIMOAMSET_95
+ const BATTLEANIMOAMSET_96
+ const BATTLEANIMOAMSET_97
+ const BATTLEANIMOAMSET_98
+ const BATTLEANIMOAMSET_99
+ const BATTLEANIMOAMSET_9A
+ const BATTLEANIMOAMSET_9B
+ const BATTLEANIMOAMSET_9C
+ const BATTLEANIMOAMSET_9D
+ const BATTLEANIMOAMSET_9E
+ const BATTLEANIMOAMSET_9F
+ const BATTLEANIMOAMSET_A0
+ const BATTLEANIMOAMSET_A1
+ const BATTLEANIMOAMSET_A2
+ const BATTLEANIMOAMSET_A3
+ const BATTLEANIMOAMSET_A4
+ const BATTLEANIMOAMSET_A5
+ const BATTLEANIMOAMSET_A6
+ const BATTLEANIMOAMSET_A7
+ const BATTLEANIMOAMSET_A8
+ const BATTLEANIMOAMSET_A9
+ const BATTLEANIMOAMSET_AA
+ const BATTLEANIMOAMSET_AB
+ const BATTLEANIMOAMSET_AC
+ const BATTLEANIMOAMSET_AD
+ const BATTLEANIMOAMSET_AE
+ const BATTLEANIMOAMSET_AF
+ const BATTLEANIMOAMSET_B0
+ const BATTLEANIMOAMSET_B1
+ const BATTLEANIMOAMSET_B2
+ const BATTLEANIMOAMSET_B3
+ const BATTLEANIMOAMSET_B4
+ const BATTLEANIMOAMSET_B5
+ const BATTLEANIMOAMSET_B6
+ const BATTLEANIMOAMSET_B7
+ const BATTLEANIMOAMSET_B8
+ const BATTLEANIMOAMSET_B9
+ const BATTLEANIMOAMSET_BA
+ const BATTLEANIMOAMSET_BB
+ const BATTLEANIMOAMSET_BC
+ const BATTLEANIMOAMSET_BD
+ const BATTLEANIMOAMSET_BE
+ const BATTLEANIMOAMSET_BF
+ const BATTLEANIMOAMSET_C0
+ const BATTLEANIMOAMSET_C1
+ const BATTLEANIMOAMSET_C2
+ const BATTLEANIMOAMSET_C3
+ const BATTLEANIMOAMSET_C4
+ const BATTLEANIMOAMSET_C5
+ const BATTLEANIMOAMSET_C6
+ const BATTLEANIMOAMSET_C7
+ const BATTLEANIMOAMSET_C8
+ const BATTLEANIMOAMSET_C9
+ const BATTLEANIMOAMSET_CA
+ const BATTLEANIMOAMSET_CB
+ const BATTLEANIMOAMSET_CC
+ const BATTLEANIMOAMSET_CD
+ const BATTLEANIMOAMSET_CE
+ const BATTLEANIMOAMSET_CF
+ const BATTLEANIMOAMSET_D0
+ const BATTLEANIMOAMSET_D1
+ const BATTLEANIMOAMSET_D2
+ const BATTLEANIMOAMSET_D3
+ const BATTLEANIMOAMSET_D4
+ const BATTLEANIMOAMSET_D5
+ const BATTLEANIMOAMSET_D6
+ const BATTLEANIMOAMSET_D7
+
+; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm)
+const_value SET 1
+ const ANIM_BG_FLASH_INVERTED
+ const ANIM_BG_FLASH_WHITE
+ const ANIM_BG_WHITE_HUES
+ const ANIM_BG_BLACK_HUES
+ const ANIM_BG_ALTERNATE_HUES
+ const ANIM_BG_06
+ const ANIM_BG_07
+ const ANIM_BG_08
+ const ANIM_BG_HIDE_MON
+ const ANIM_BG_SHOW_MON
+ const ANIM_BG_ENTER_MON
+ const ANIM_BG_RETURN_MON
+ const ANIM_BG_SURF
+ const ANIM_BG_WHIRLPOOL
+ const ANIM_BG_TELEPORT
+ const ANIM_BG_NIGHT_SHADE
+ const ANIM_BG_FEET_FOLLOW
+ const ANIM_BG_HEAD_FOLLOW
+ const ANIM_BG_DOUBLE_TEAM
+ const ANIM_BG_ACID_ARMOR
+ const ANIM_BG_RAPID_FLASH
+ const ANIM_BG_16
+ const ANIM_BG_17
+ const ANIM_BG_18
+ const ANIM_BG_19
+ const ANIM_BG_1A
+ const ANIM_BG_1B
+ const ANIM_BG_1C
+ const ANIM_BG_1D
+ const ANIM_BG_1E
+ const ANIM_BG_1F
+ const ANIM_BG_20
+ const ANIM_BG_WITHDRAW
+ const ANIM_BG_BOUNCE_DOWN
+ const ANIM_BG_DIG
+ const ANIM_BG_TACKLE
+ const ANIM_BG_25
+ const ANIM_BG_26
+ const ANIM_BG_27
+ const ANIM_BG_WAVE_DEFORM_USER
+ const ANIM_BG_PSYCHIC
+ const ANIM_BG_2A
+ const ANIM_BG_2B
+ const ANIM_BG_2C
+ const ANIM_BG_2D
+ const ANIM_BG_2E
+ const ANIM_BG_2F
+ const ANIM_BG_30
+ const ANIM_BG_31
+ const ANIM_BG_32
+ const ANIM_BG_VIBRATE_MON
+ const ANIM_BG_WOBBLE_MON
+ const ANIM_BG_35
+
+; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm)
+const_value SET 1
+ const ANIM_GFX_HIT
+ const ANIM_GFX_CUT
+ const ANIM_GFX_FIRE
+ const ANIM_GFX_WATER
+ const ANIM_GFX_LIGHTNING
+ const ANIM_GFX_PLANT
+ const ANIM_GFX_SMOKE
+ const ANIM_GFX_EXPLOSION
+ const ANIM_GFX_ROCKS
+ const ANIM_GFX_ICE
+ const ANIM_GFX_POKE_BALL
+ const ANIM_GFX_POISON
+ const ANIM_GFX_BUBBLE
+ const ANIM_GFX_NOISE
+ const ANIM_GFX_POWDER
+ const ANIM_GFX_BEAM
+ const ANIM_GFX_SPEED
+ const ANIM_GFX_CHARGE
+ const ANIM_GFX_WIND
+ const ANIM_GFX_WHIP
+ const ANIM_GFX_EGG
+ const ANIM_GFX_ROPE
+ const ANIM_GFX_PSYCHIC
+ const ANIM_GFX_REFLECT
+ const ANIM_GFX_STATUS
+ const ANIM_GFX_SAND
+ const ANIM_GFX_WEB
+ const ANIM_GFX_HAZE
+ const ANIM_GFX_HORN
+ const ANIM_GFX_FLOWER
+ const ANIM_GFX_MISC
+ const ANIM_GFX_SKY_ATTACK
+ const ANIM_GFX_GLOBE
+ const ANIM_GFX_SHAPES
+ const ANIM_GFX_OBJECTS
+ const ANIM_GFX_SHINE
+ const ANIM_GFX_ANGELS
+ const ANIM_GFX_WAVE
+ const ANIM_GFX_AEROBLAST
+
+; battle_bg_effect struct members (see macros/wram.asm)
+ const_def
+ const BG_EFFECT_STRUCT_FUNCTION
+ const BG_EFFECT_STRUCT_JT_INDEX
+ const BG_EFFECT_STRUCT_BATTLE_TURN
+ const BG_EFFECT_STRUCT_03
+
+; battle palettes
+ const_def
+ const PAL_BATTLE_BG_PLAYER ; 0
+ const PAL_BATTLE_BG_ENEMY ; 1
+ const PAL_BATTLE_BG_ENEMY_HP ; 2
+ const PAL_BATTLE_BG_PLAYER_HP ; 3
+ const PAL_BATTLE_BG_EXP ; 4
+ const PAL_BATTLE_BG_5 ; 5
+ const PAL_BATTLE_BG_6 ; 6
+ const PAL_BATTLE_BG_TEXT ; 7
+
+; animation object palettes
+ const_def
+ const PAL_BATTLE_OB_ENEMY ; 0
+ const PAL_BATTLE_OB_PLAYER ; 1
+ const PAL_BATTLE_OB_GRAY ; 2
+ const PAL_BATTLE_OB_YELLOW ; 3
+ const PAL_BATTLE_OB_RED ; 4
+ const PAL_BATTLE_OB_GREEN ; 5
+ const PAL_BATTLE_OB_BLUE ; 6
+ const PAL_BATTLE_OB_BROWN ; 7
--- /dev/null
+++ b/constants/icon_constants.asm
@@ -1,0 +1,41 @@
+; IconPointers indexes (see data/icon_pointers.asm)
+ const_def
+ const ICON_NULL
+ const ICON_POLIWAG
+ const ICON_JIGGLYPUFF
+ const ICON_DIGLETT
+ const ICON_PIKACHU
+ const ICON_STARYU
+ const ICON_FISH
+ const ICON_BIRD
+ const ICON_MONSTER
+ const ICON_CLEFAIRY
+ const ICON_ODDISH
+ const ICON_BUG
+ const ICON_GHOST
+ const ICON_LAPRAS
+ const ICON_HUMANSHAPE
+ const ICON_FOX
+ const ICON_EQUINE
+ const ICON_SHELL
+ const ICON_BLOB
+ const ICON_SERPENT
+ const ICON_VOLTORB
+ const ICON_SQUIRTLE
+ const ICON_BULBASAUR
+ const ICON_CHARMANDER
+ const ICON_CATERPILLAR
+ const ICON_UNOWN
+ const ICON_GEODUDE
+ const ICON_FIGHTER
+ const ICON_EGG
+ const ICON_JELLYFISH
+ const ICON_MOTH
+ const ICON_BAT
+ const ICON_SNORLAX
+ const ICON_HO_OH
+ const ICON_LUGIA
+ const ICON_GYARADOS
+ const ICON_SLOWPOKE
+ const ICON_SUDOWOODO
+ const ICON_BIGMON
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -10,8 +10,8 @@
; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm)
; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm)
; - FramesPointers (see gfx/pokemon/frame_pointers.asm)
-; - PokemonPalettes (see gfx/pokemon/palette_pointers.asm)
; - PicPointers (see gfx/pokemon/pic_pointers.asm)
+; - PokemonPalettes (see data/palettes/pokemon_palettes.asm)
; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm)
; - NewPokedexOrder (see data/pokemon/dex_order_new.asm)
; - MonMenuIcons (see data/pokemon/menu_icons.asm)
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -102,49 +102,6 @@
PARTY_LENGTH EQU 6
-; IconPointers indexes (see gfx/icon_pointers.asm)
- const_def
- const ICON_NULL
- const ICON_POLIWAG
- const ICON_JIGGLYPUFF
- const ICON_DIGLETT
- const ICON_PIKACHU
- const ICON_STARYU
- const ICON_FISH
- const ICON_BIRD
- const ICON_MONSTER
- const ICON_CLEFAIRY
- const ICON_ODDISH
- const ICON_BUG
- const ICON_GHOST
- const ICON_LAPRAS
- const ICON_HUMANSHAPE
- const ICON_FOX
- const ICON_EQUINE
- const ICON_SHELL
- const ICON_BLOB
- const ICON_SERPENT
- const ICON_VOLTORB
- const ICON_SQUIRTLE
- const ICON_BULBASAUR
- const ICON_CHARMANDER
- const ICON_CATERPILLAR
- const ICON_UNOWN
- const ICON_GEODUDE
- const ICON_FIGHTER
- const ICON_EGG
- const ICON_JELLYFISH
- const ICON_MOTH
- const ICON_BAT
- const ICON_SNORLAX
- const ICON_HO_OH
- const ICON_LUGIA
- const ICON_GYARADOS
- const ICON_SLOWPOKE
- const ICON_SUDOWOODO
- const ICON_BIGMON
-
-
; evolution types (used in data/pokemon/evos_attacks.asm)
const_value SET 1
const EVOLVE_LEVEL
--- a/constants/sprite_anim_constants.asm
+++ b/constants/sprite_anim_constants.asm
@@ -17,7 +17,7 @@
const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f
-; SpriteAnimSeqData indexes (see data/sprites/sequences.asm)
+; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm)
const_def
const SPRITE_ANIM_INDEX_PARTY_MON ; 00
const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01
@@ -103,7 +103,7 @@
const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21
const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22
-; SpriteAnimFrameData indexes (see data/sprites/framesets.asm)
+; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
const_def
const SPRITE_ANIM_FRAMESET_00
const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01
@@ -172,7 +172,7 @@
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
-; SpriteAnimOAMData indexes (see data/sprites/oam.asm)
+; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm)
const_def
const SPRITE_ANIM_OAMSET_RED_WALK_1 ; 00
const SPRITE_ANIM_OAMSET_RED_WALK_2 ; 01
--- a/data/anims/ball_colors.asm
+++ /dev/null
@@ -1,16 +1,0 @@
-; colors of balls thrown in battle
-
-BallColors: ; cd26c (33:526c)
- db MASTER_BALL, PAL_BATTLE_OB_GREEN
- db ULTRA_BALL, PAL_BATTLE_OB_YELLOW
- db GREAT_BALL, PAL_BATTLE_OB_BLUE
- db POKE_BALL, PAL_BATTLE_OB_RED
- db HEAVY_BALL, PAL_BATTLE_OB_GRAY
- db LEVEL_BALL, PAL_BATTLE_OB_BROWN
- db LURE_BALL, PAL_BATTLE_OB_BLUE
- db FAST_BALL, PAL_BATTLE_OB_BLUE
- db FRIEND_BALL, PAL_BATTLE_OB_YELLOW
- db MOON_BALL, PAL_BATTLE_OB_GRAY
- db LOVE_BALL, PAL_BATTLE_OB_RED
- db -1, PAL_BATTLE_OB_GRAY
-; cd284
--- a/data/anims/framesets.asm
+++ /dev/null
@@ -1,1271 +1,0 @@
-BattleAnimFrameData: ; ce85e
-; entries correspond to BATTLEANIMFRAMESET_* constants
- dw .Frameset_00 ; BATTLEANIMFRAMESET_00
- dw .Frameset_01 ; BATTLEANIMFRAMESET_01
- dw .Frameset_02 ; BATTLEANIMFRAMESET_02
- dw .Frameset_03 ; BATTLEANIMFRAMESET_03
- dw .Frameset_04 ; BATTLEANIMFRAMESET_04
- dw .Frameset_05 ; BATTLEANIMFRAMESET_05
- dw .Frameset_06 ; BATTLEANIMFRAMESET_06
- dw .Frameset_07 ; BATTLEANIMFRAMESET_07
- dw .Frameset_08 ; BATTLEANIMFRAMESET_08
- dw .Frameset_09 ; BATTLEANIMFRAMESET_09
- dw .Frameset_0a ; BATTLEANIMFRAMESET_0A
- dw .Frameset_0b ; BATTLEANIMFRAMESET_0B
- dw .Frameset_0c ; BATTLEANIMFRAMESET_0C
- dw .Frameset_0d ; BATTLEANIMFRAMESET_0D
- dw .Frameset_0e ; BATTLEANIMFRAMESET_0E
- dw .Frameset_0f ; BATTLEANIMFRAMESET_0F
- dw .Frameset_10 ; BATTLEANIMFRAMESET_10
- dw .Frameset_11 ; BATTLEANIMFRAMESET_11
- dw .Frameset_12 ; BATTLEANIMFRAMESET_12
- dw .Frameset_13 ; BATTLEANIMFRAMESET_13
- dw .Frameset_14 ; BATTLEANIMFRAMESET_14
- dw .Frameset_15 ; BATTLEANIMFRAMESET_15
- dw .Frameset_16 ; BATTLEANIMFRAMESET_16
- dw .Frameset_17 ; BATTLEANIMFRAMESET_17
- dw .Frameset_18 ; BATTLEANIMFRAMESET_18
- dw .Frameset_19 ; BATTLEANIMFRAMESET_19
- dw .Frameset_1a ; BATTLEANIMFRAMESET_1A
- dw .Frameset_1b ; BATTLEANIMFRAMESET_1B
- dw .Frameset_1c ; BATTLEANIMFRAMESET_1C
- dw .Frameset_1d ; BATTLEANIMFRAMESET_1D
- dw .Frameset_1e ; BATTLEANIMFRAMESET_1E
- dw .Frameset_1f ; BATTLEANIMFRAMESET_1F
- dw .Frameset_20 ; BATTLEANIMFRAMESET_20
- dw .Frameset_21 ; BATTLEANIMFRAMESET_21
- dw .Frameset_22 ; BATTLEANIMFRAMESET_22
- dw .Frameset_23 ; BATTLEANIMFRAMESET_23
- dw .Frameset_24 ; BATTLEANIMFRAMESET_24
- dw .Frameset_25 ; BATTLEANIMFRAMESET_25
- dw .Frameset_26 ; BATTLEANIMFRAMESET_26
- dw .Frameset_27 ; BATTLEANIMFRAMESET_27
- dw .Frameset_28 ; BATTLEANIMFRAMESET_28
- dw .Frameset_29 ; BATTLEANIMFRAMESET_29
- dw .Frameset_2a ; BATTLEANIMFRAMESET_2A
- dw .Frameset_2b ; BATTLEANIMFRAMESET_2B
- dw .Frameset_2c ; BATTLEANIMFRAMESET_2C
- dw .Frameset_2d ; BATTLEANIMFRAMESET_2D
- dw .Frameset_2e ; BATTLEANIMFRAMESET_2E
- dw .Frameset_2f ; BATTLEANIMFRAMESET_2F
- dw .Frameset_30 ; BATTLEANIMFRAMESET_30
- dw .Frameset_31 ; BATTLEANIMFRAMESET_31
- dw .Frameset_32 ; BATTLEANIMFRAMESET_32
- dw .Frameset_33 ; BATTLEANIMFRAMESET_33
- dw .Frameset_34 ; BATTLEANIMFRAMESET_34
- dw .Frameset_35 ; BATTLEANIMFRAMESET_35
- dw .Frameset_36 ; BATTLEANIMFRAMESET_36
- dw .Frameset_37 ; BATTLEANIMFRAMESET_37
- dw .Frameset_38 ; BATTLEANIMFRAMESET_38
- dw .Frameset_39 ; BATTLEANIMFRAMESET_39
- dw .Frameset_3a ; BATTLEANIMFRAMESET_3A
- dw .Frameset_3b ; BATTLEANIMFRAMESET_3B
- dw .Frameset_3c ; BATTLEANIMFRAMESET_3C
- dw .Frameset_3d ; BATTLEANIMFRAMESET_3D
- dw .Frameset_3e ; BATTLEANIMFRAMESET_3E
- dw .Frameset_3f ; BATTLEANIMFRAMESET_3F
- dw .Frameset_40 ; BATTLEANIMFRAMESET_40
- dw .Frameset_41 ; BATTLEANIMFRAMESET_41
- dw .Frameset_42 ; BATTLEANIMFRAMESET_42
- dw .Frameset_43 ; BATTLEANIMFRAMESET_43
- dw .Frameset_44 ; BATTLEANIMFRAMESET_44
- dw .Frameset_45 ; BATTLEANIMFRAMESET_45
- dw .Frameset_46 ; BATTLEANIMFRAMESET_46
- dw .Frameset_47 ; BATTLEANIMFRAMESET_47
- dw .Frameset_48 ; BATTLEANIMFRAMESET_48
- dw .Frameset_49 ; BATTLEANIMFRAMESET_49
- dw .Frameset_4a ; BATTLEANIMFRAMESET_4A
- dw .Frameset_4b ; BATTLEANIMFRAMESET_4B
- dw .Frameset_4c ; BATTLEANIMFRAMESET_4C
- dw .Frameset_4d ; BATTLEANIMFRAMESET_4D
- dw .Frameset_4e ; BATTLEANIMFRAMESET_4E
- dw .Frameset_4f ; BATTLEANIMFRAMESET_4F
- dw .Frameset_50 ; BATTLEANIMFRAMESET_50
- dw .Frameset_51 ; BATTLEANIMFRAMESET_51
- dw .Frameset_52 ; BATTLEANIMFRAMESET_52
- dw .Frameset_53 ; BATTLEANIMFRAMESET_53
- dw .Frameset_54 ; BATTLEANIMFRAMESET_54
- dw .Frameset_55 ; BATTLEANIMFRAMESET_55
- dw .Frameset_56 ; BATTLEANIMFRAMESET_56
- dw .Frameset_57 ; BATTLEANIMFRAMESET_57
- dw .Frameset_58 ; BATTLEANIMFRAMESET_58
- dw .Frameset_59 ; BATTLEANIMFRAMESET_59
- dw .Frameset_5a ; BATTLEANIMFRAMESET_5A
- dw .Frameset_5b ; BATTLEANIMFRAMESET_5B
- dw .Frameset_5c ; BATTLEANIMFRAMESET_5C
- dw .Frameset_5d ; BATTLEANIMFRAMESET_5D
- dw .Frameset_5e ; BATTLEANIMFRAMESET_5E
- dw .Frameset_5f ; BATTLEANIMFRAMESET_5F
- dw .Frameset_60 ; BATTLEANIMFRAMESET_60
- dw .Frameset_61 ; BATTLEANIMFRAMESET_61
- dw .Frameset_62 ; BATTLEANIMFRAMESET_62
- dw .Frameset_63 ; BATTLEANIMFRAMESET_63
- dw .Frameset_64 ; BATTLEANIMFRAMESET_64
- dw .Frameset_65 ; BATTLEANIMFRAMESET_65
- dw .Frameset_66 ; BATTLEANIMFRAMESET_66
- dw .Frameset_67 ; BATTLEANIMFRAMESET_67
- dw .Frameset_68 ; BATTLEANIMFRAMESET_68
- dw .Frameset_69 ; BATTLEANIMFRAMESET_69
- dw .Frameset_6a ; BATTLEANIMFRAMESET_6A
- dw .Frameset_6b ; BATTLEANIMFRAMESET_6B
- dw .Frameset_6c ; BATTLEANIMFRAMESET_6C
- dw .Frameset_6d ; BATTLEANIMFRAMESET_6D
- dw .Frameset_6e ; BATTLEANIMFRAMESET_6E
- dw .Frameset_6f ; BATTLEANIMFRAMESET_6F
- dw .Frameset_70 ; BATTLEANIMFRAMESET_70
- dw .Frameset_71 ; BATTLEANIMFRAMESET_71
- dw .Frameset_72 ; BATTLEANIMFRAMESET_72
- dw .Frameset_73 ; BATTLEANIMFRAMESET_73
- dw .Frameset_74 ; BATTLEANIMFRAMESET_74
- dw .Frameset_75 ; BATTLEANIMFRAMESET_75
- dw .Frameset_76 ; BATTLEANIMFRAMESET_76
- dw .Frameset_77 ; BATTLEANIMFRAMESET_77
- dw .Frameset_78 ; BATTLEANIMFRAMESET_78
- dw .Frameset_79 ; BATTLEANIMFRAMESET_79
- dw .Frameset_7a ; BATTLEANIMFRAMESET_7A
- dw .Frameset_7b ; BATTLEANIMFRAMESET_7B
- dw .Frameset_7c ; BATTLEANIMFRAMESET_7C
- dw .Frameset_7d ; BATTLEANIMFRAMESET_7D
- dw .Frameset_7e ; BATTLEANIMFRAMESET_7E
- dw .Frameset_7f ; BATTLEANIMFRAMESET_7F
- dw .Frameset_80 ; BATTLEANIMFRAMESET_80
- dw .Frameset_81 ; BATTLEANIMFRAMESET_81
- dw .Frameset_82 ; BATTLEANIMFRAMESET_82
- dw .Frameset_83 ; BATTLEANIMFRAMESET_83
- dw .Frameset_84 ; BATTLEANIMFRAMESET_84
- dw .Frameset_85 ; BATTLEANIMFRAMESET_85
- dw .Frameset_86 ; BATTLEANIMFRAMESET_86
- dw .Frameset_87 ; BATTLEANIMFRAMESET_87
- dw .Frameset_88 ; BATTLEANIMFRAMESET_88
- dw .Frameset_89 ; BATTLEANIMFRAMESET_89
- dw .Frameset_8a ; BATTLEANIMFRAMESET_8A
- dw .Frameset_8b ; BATTLEANIMFRAMESET_8B
- dw .Frameset_8c ; BATTLEANIMFRAMESET_8C
- dw .Frameset_8d ; BATTLEANIMFRAMESET_8D
- dw .Frameset_8e ; BATTLEANIMFRAMESET_8E
- dw .Frameset_8f ; BATTLEANIMFRAMESET_8F
- dw .Frameset_90 ; BATTLEANIMFRAMESET_90
- dw .Frameset_91 ; BATTLEANIMFRAMESET_91
- dw .Frameset_92 ; BATTLEANIMFRAMESET_92
- dw .Frameset_93 ; BATTLEANIMFRAMESET_93
- dw .Frameset_94 ; BATTLEANIMFRAMESET_94
- dw .Frameset_95 ; BATTLEANIMFRAMESET_95
- dw .Frameset_96 ; BATTLEANIMFRAMESET_96
- dw .Frameset_97 ; BATTLEANIMFRAMESET_97
- dw .Frameset_98 ; BATTLEANIMFRAMESET_98
- dw .Frameset_99 ; BATTLEANIMFRAMESET_99
- dw .Frameset_9a ; BATTLEANIMFRAMESET_9A
- dw .Frameset_9b ; BATTLEANIMFRAMESET_9B
- dw .Frameset_9c ; BATTLEANIMFRAMESET_9C
- dw .Frameset_9d ; BATTLEANIMFRAMESET_9D
- dw .Frameset_9e ; BATTLEANIMFRAMESET_9E
- dw .Frameset_9f ; BATTLEANIMFRAMESET_9F
- dw .Frameset_a0 ; BATTLEANIMFRAMESET_A0
- dw .Frameset_a1 ; BATTLEANIMFRAMESET_A1
- dw .Frameset_a2 ; BATTLEANIMFRAMESET_A2
- dw .Frameset_a3 ; BATTLEANIMFRAMESET_A3
- dw .Frameset_a4 ; BATTLEANIMFRAMESET_A4
- dw .Frameset_a5 ; BATTLEANIMFRAMESET_A5
- dw .Frameset_a6 ; BATTLEANIMFRAMESET_A6
- dw .Frameset_a7 ; BATTLEANIMFRAMESET_A7
- dw .Frameset_a8 ; BATTLEANIMFRAMESET_A8
- dw .Frameset_a9 ; BATTLEANIMFRAMESET_A9
- dw .Frameset_aa ; BATTLEANIMFRAMESET_AA
- dw .Frameset_ab ; BATTLEANIMFRAMESET_AB
- dw .Frameset_ac ; BATTLEANIMFRAMESET_AC
- dw .Frameset_ad ; BATTLEANIMFRAMESET_AD
- dw .Frameset_ae ; BATTLEANIMFRAMESET_AE
- dw .Frameset_af ; BATTLEANIMFRAMESET_AF
- dw .Frameset_b0 ; BATTLEANIMFRAMESET_B0
- dw .Frameset_b1 ; BATTLEANIMFRAMESET_B1
- dw .Frameset_b2 ; BATTLEANIMFRAMESET_B2
- dw .Frameset_b3 ; BATTLEANIMFRAMESET_B3
- dw .Frameset_b4 ; BATTLEANIMFRAMESET_B4
- dw .Frameset_b5 ; BATTLEANIMFRAMESET_B5
- dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6
- dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7
- dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8
-
- ; OAM index (see data/anims/oam.asm), flip flags / duration
-.Frameset_00:
- db BATTLEANIMOAMSET_00, $06
- db -4
-
-.Frameset_01:
- db BATTLEANIMOAMSET_01, $06
- db -4
-
-.Frameset_02:
- db BATTLEANIMOAMSET_02, $06
- db -4
-
-.Frameset_03:
- db BATTLEANIMOAMSET_03, $06
- db -4
-
-.Frameset_04:
- db BATTLEANIMOAMSET_04, $06
- db -4
-
-.Frameset_05:
- db BATTLEANIMOAMSET_05, $06
- db -4
-
-.Frameset_06:
- db BATTLEANIMOAMSET_06, $06
- db -4
-
-.Frameset_07:
- db BATTLEANIMOAMSET_03, $04
- db BATTLEANIMOAMSET_01, $01
- db BATTLEANIMOAMSET_03, $04
- db BATTLEANIMOAMSET_01, $01
- db BATTLEANIMOAMSET_03, $04
- db BATTLEANIMOAMSET_01, $01
- db BATTLEANIMOAMSET_03, $04
- db BATTLEANIMOAMSET_01, $01
- db -4
-
-.Frameset_3e:
- db BATTLEANIMOAMSET_4B, $02
- db BATTLEANIMOAMSET_4C, $02
- db BATTLEANIMOAMSET_4D, $04
- db BATTLEANIMOAMSET_4E, $02
- db -3, $02
- db BATTLEANIMOAMSET_4E, $02
- db -3, $02
- db BATTLEANIMOAMSET_4E, $02
- db -3, $02
- db BATTLEANIMOAMSET_4E, $02
- db -4
-
-.Frameset_3f:
- db BATTLEANIMOAMSET_4B, $42
- db BATTLEANIMOAMSET_4C, $42
- db BATTLEANIMOAMSET_4D, $44
- db BATTLEANIMOAMSET_4E, $42
- db -3, $02
- db BATTLEANIMOAMSET_4E, $42
- db -3, $02
- db BATTLEANIMOAMSET_4E, $42
- db -3, $02
- db BATTLEANIMOAMSET_4E, $42
- db -4
-
-.Frameset_40:
- db BATTLEANIMOAMSET_4B, $c2
- db BATTLEANIMOAMSET_4C, $c2
- db BATTLEANIMOAMSET_4D, $c4
- db BATTLEANIMOAMSET_4E, $c2
- db -3, $02
- db BATTLEANIMOAMSET_4E, $c2
- db -3, $02
- db BATTLEANIMOAMSET_4E, $c2
- db -3, $02
- db BATTLEANIMOAMSET_4E, $c2
- db -4
-
-.Frameset_41:
- db BATTLEANIMOAMSET_4B, $01
- db BATTLEANIMOAMSET_4C, $01
- db BATTLEANIMOAMSET_4D, $01
- db BATTLEANIMOAMSET_4F, $01
- db BATTLEANIMOAMSET_50, $01
- db BATTLEANIMOAMSET_51, $01
- db BATTLEANIMOAMSET_52, $02
- db -3, $02
- db BATTLEANIMOAMSET_52, $02
- db -3, $02
- db BATTLEANIMOAMSET_52, $02
- db -3, $02
- db BATTLEANIMOAMSET_52, $02
- db -4
-
-.Frameset_42:
- db BATTLEANIMOAMSET_4B, $41
- db BATTLEANIMOAMSET_4C, $41
- db BATTLEANIMOAMSET_4D, $41
- db BATTLEANIMOAMSET_4F, $41
- db BATTLEANIMOAMSET_50, $41
- db BATTLEANIMOAMSET_51, $41
- db BATTLEANIMOAMSET_52, $42
- db -3, $02
- db BATTLEANIMOAMSET_52, $42
- db -3, $02
- db BATTLEANIMOAMSET_52, $42
- db -3, $02
- db BATTLEANIMOAMSET_52, $42
- db -4
-
-.Frameset_08:
- db BATTLEANIMOAMSET_00, $03
- db BATTLEANIMOAMSET_07, $03
- db BATTLEANIMOAMSET_08, $03
- db BATTLEANIMOAMSET_09, $03
- db -4
-
-.Frameset_09:
- db BATTLEANIMOAMSET_0A, $07
- db BATTLEANIMOAMSET_0B, $07
- db BATTLEANIMOAMSET_0A, $07
- db BATTLEANIMOAMSET_0B, $47
- db -2
-
-.Frameset_0a:
- db BATTLEANIMOAMSET_0C, $08
- db -1
-
-.Frameset_0b:
- db BATTLEANIMOAMSET_0D, $08
- db -1
-
-.Frameset_0c:
- db BATTLEANIMOAMSET_0A, $08
- db -1
-
-.Frameset_0d:
- db BATTLEANIMOAMSET_0A, $07
- db BATTLEANIMOAMSET_0B, $07
- db BATTLEANIMOAMSET_0A, $07
- db BATTLEANIMOAMSET_0B, $47
- db BATTLEANIMOAMSET_0A, $07
- db -1
-
-.Frameset_0e:
- db BATTLEANIMOAMSET_0A, $08
- db -1
-
-.Frameset_0f:
- db BATTLEANIMOAMSET_0A, $04
- db BATTLEANIMOAMSET_0E, $04
- db -2
-
-.Frameset_10:
- db BATTLEANIMOAMSET_0F, $04
- db BATTLEANIMOAMSET_10, $04
- db -2
-
-.Frameset_11:
- db BATTLEANIMOAMSET_10, $04
- db BATTLEANIMOAMSET_0F, $04
- db BATTLEANIMOAMSET_0E, $04
- db BATTLEANIMOAMSET_0A, $04
- db BATTLEANIMOAMSET_0E, $04
- db BATTLEANIMOAMSET_0A, $04
- db BATTLEANIMOAMSET_0E, $04
- db BATTLEANIMOAMSET_0A, $04
- db -4
-
-.Frameset_12:
- db BATTLEANIMOAMSET_10, $01
- db BATTLEANIMOAMSET_0F, $01
- db BATTLEANIMOAMSET_12, $01
- db BATTLEANIMOAMSET_11, $01
- db BATTLEANIMOAMSET_12, $01
- db BATTLEANIMOAMSET_0F, $01
- db -2
-
-.Frameset_13:
- db BATTLEANIMOAMSET_10, $03
- db BATTLEANIMOAMSET_0F, $03
- db BATTLEANIMOAMSET_12, $01
- db -3, $01
- db BATTLEANIMOAMSET_12, $01
- db -3, $01
- db BATTLEANIMOAMSET_12, $01
- db -3, $01
- db BATTLEANIMOAMSET_12, $01
- db -3, $01
- db BATTLEANIMOAMSET_12, $03
- db -4
-
-.Frameset_14:
- db BATTLEANIMOAMSET_13, $14
- db -4
-
-.Frameset_15:
- db BATTLEANIMOAMSET_10, $01
- db BATTLEANIMOAMSET_0F, $01
- db -2
-
-.Frameset_16:
- db BATTLEANIMOAMSET_14, $08
- db -1
-
-.Frameset_17:
- db BATTLEANIMOAMSET_17, $04
- db BATTLEANIMOAMSET_16, $08
- db BATTLEANIMOAMSET_15, $08
- db BATTLEANIMOAMSET_16, $08
- db BATTLEANIMOAMSET_17, $04
- db BATTLEANIMOAMSET_17, $04
- db BATTLEANIMOAMSET_16, $48
- db BATTLEANIMOAMSET_15, $48
- db BATTLEANIMOAMSET_16, $48
- db BATTLEANIMOAMSET_17, $04
- db -2
-
-.Frameset_56:
- db BATTLEANIMOAMSET_69, $08
- db -1
-
-.Frameset_57:
- db BATTLEANIMOAMSET_69, $20
- db BATTLEANIMOAMSET_6A, $04
- db BATTLEANIMOAMSET_6B, $04
- db BATTLEANIMOAMSET_6D, $04
- db BATTLEANIMOAMSET_6C, $04
- db -1
-
-.Frameset_58:
- db BATTLEANIMOAMSET_6C, $08
- db BATTLEANIMOAMSET_6D, $08
- db -2
-
-.Frameset_18:
- db BATTLEANIMOAMSET_18, $04
- db BATTLEANIMOAMSET_19, $04
- db BATTLEANIMOAMSET_1A, $04
- db -4
-
-.Frameset_19:
- db BATTLEANIMOAMSET_1B, $08
- db -1
-
-.Frameset_1a:
- db BATTLEANIMOAMSET_0F, $08
- db -1
-
-.Frameset_1b:
- db BATTLEANIMOAMSET_1C, $08
- db -1
-
-.Frameset_1c:
- db BATTLEANIMOAMSET_0A, $08
- db -4
-
-.Frameset_1d:
- db BATTLEANIMOAMSET_1D, $08
- db -1
-
-.Frameset_1e:
- db BATTLEANIMOAMSET_17, $08
- db -1
-
-.Frameset_1f:
- db BATTLEANIMOAMSET_0F, $03
- db BATTLEANIMOAMSET_10, $03
- db BATTLEANIMOAMSET_1E, $03
- db -1
-
-.Frameset_20:
- db BATTLEANIMOAMSET_1F, $10
- db BATTLEANIMOAMSET_20, $03
- db -4
-
-.Frameset_21:
- db BATTLEANIMOAMSET_20, $08
- db -1
-
-.Frameset_22:
- db BATTLEANIMOAMSET_20, $08
- db BATTLEANIMOAMSET_21, $08
- db BATTLEANIMOAMSET_1B, $08
- db BATTLEANIMOAMSET_21, $08
- db -2
-
-.Frameset_23:
- db BATTLEANIMOAMSET_22, $08
- db -1
-
-.Frameset_24:
- db BATTLEANIMOAMSET_1B, $08
- db -1
-
-.Frameset_25:
- db BATTLEANIMOAMSET_23, $08
- db -1
-
-.Frameset_26:
- db BATTLEANIMOAMSET_24, $08
- db -1
-
-.Frameset_27:
- db BATTLEANIMOAMSET_25, $08
- db -1
-
-.Frameset_28:
- db BATTLEANIMOAMSET_26, $08
- db BATTLEANIMOAMSET_27, $08
- db -1
-
-.Frameset_29:
- db BATTLEANIMOAMSET_28, $08
- db BATTLEANIMOAMSET_29, $08
- db -4
-
-.Frameset_2a:
- db BATTLEANIMOAMSET_2A, $01
- db BATTLEANIMOAMSET_2B, $01
- db BATTLEANIMOAMSET_2C, $01
- db BATTLEANIMOAMSET_2D, $01
- db BATTLEANIMOAMSET_2E, $01
- db BATTLEANIMOAMSET_2D, $01
- db BATTLEANIMOAMSET_2C, $01
- db BATTLEANIMOAMSET_2B, $01
- db BATTLEANIMOAMSET_2A, $01
- db -4
-
-.Frameset_2b:
- db BATTLEANIMOAMSET_14, $01
- db BATTLEANIMOAMSET_15, $01
- db -2
-
-.Frameset_2c:
- db BATTLEANIMOAMSET_2F, $04
- db BATTLEANIMOAMSET_30, $28
- db -4
-
-.Frameset_2d:
- db BATTLEANIMOAMSET_31, $08
- db -1
-
-.Frameset_2e:
- db BATTLEANIMOAMSET_32, $20
- db BATTLEANIMOAMSET_33, $20
- db BATTLEANIMOAMSET_34, $20
- db BATTLEANIMOAMSET_35, $20 ; fallthrough
-.Frameset_2f:
- db -3, $02
- db BATTLEANIMOAMSET_35, $04
- db -3, $02
- db BATTLEANIMOAMSET_35, $04
- db -3, $02
- db BATTLEANIMOAMSET_35, $04
- db -3, $02
- db BATTLEANIMOAMSET_35, $04
- db -4
-
-.Frameset_30:
- db BATTLEANIMOAMSET_14, $04
- db BATTLEANIMOAMSET_15, $04
- db -2
-
-.Frameset_31:
- db BATTLEANIMOAMSET_36, $02
- db BATTLEANIMOAMSET_37, $02
- db BATTLEANIMOAMSET_38, $02
- db BATTLEANIMOAMSET_39, $20
- db -4
-
-.Frameset_32:
- db BATTLEANIMOAMSET_3A, $02
- db BATTLEANIMOAMSET_3B, $02
- db BATTLEANIMOAMSET_3C, $02
- db BATTLEANIMOAMSET_3D, $20
- db -4
-
-.Frameset_33:
- db BATTLEANIMOAMSET_3A, $42
- db BATTLEANIMOAMSET_3B, $42
- db BATTLEANIMOAMSET_3C, $42
- db BATTLEANIMOAMSET_3D, $60
- db -4
-
-.Frameset_34:
- db BATTLEANIMOAMSET_3E, $08
- db BATTLEANIMOAMSET_3F, $08
- db BATTLEANIMOAMSET_40, $08
- db -1
-
-.Frameset_35:
- db BATTLEANIMOAMSET_40, $02
- db -3, $02
- db BATTLEANIMOAMSET_40, $02
- db -3, $02
- db BATTLEANIMOAMSET_41, $02
- db -3, $02
- db BATTLEANIMOAMSET_41, $02
- db -3, $02
- db -2
-
-.Frameset_36:
- db BATTLEANIMOAMSET_42, $02
- db BATTLEANIMOAMSET_43, $02
- db BATTLEANIMOAMSET_44, $02
- db BATTLEANIMOAMSET_45, $02
- db -2
-
-.Frameset_37:
- db BATTLEANIMOAMSET_19, $02
- db -3, $02
- db -2
-
-.Frameset_38:
- db BATTLEANIMOAMSET_46, $04
- db BATTLEANIMOAMSET_47, $04
- db -2
-
-.Frameset_39:
- db BATTLEANIMOAMSET_18, $02
- db -3, $02
- db -2
-
-.Frameset_3a:
- db BATTLEANIMOAMSET_48, $08
- db -1
-
-.Frameset_3b:
- db BATTLEANIMOAMSET_48, $48
- db -1
-
-.Frameset_3c:
- db BATTLEANIMOAMSET_49, $08
- db -1
-
-.Frameset_3d:
- db BATTLEANIMOAMSET_4A, $08
- db -1
-
-.Frameset_43:
- db BATTLEANIMOAMSET_20, $10
- db BATTLEANIMOAMSET_1F, $10
- db BATTLEANIMOAMSET_1E, $10
- db -1
-
-.Frameset_4c:
- db BATTLEANIMOAMSET_20, $08
- db BATTLEANIMOAMSET_1F, $08
- db BATTLEANIMOAMSET_1E, $08
- db -1
-
-.Frameset_44:
- db -3, $14
- db BATTLEANIMOAMSET_55, $28
- db BATTLEANIMOAMSET_54, $28
- db BATTLEANIMOAMSET_53, $14
- db -3, $04
- db BATTLEANIMOAMSET_53, $04
- db -3, $04
- db BATTLEANIMOAMSET_53, $04
- db -3, $04
- db BATTLEANIMOAMSET_53, $04
- db -4
-
-.Frameset_7e:
- db BATTLEANIMOAMSET_1E, $08
- db BATTLEANIMOAMSET_1F, $08
- db BATTLEANIMOAMSET_20, $08
- db -4
-
-.Frameset_45:
- db -3, $00
- db BATTLEANIMOAMSET_14, $00
- db BATTLEANIMOAMSET_15, $00
- db BATTLEANIMOAMSET_14, $40
- db -3, $00
- db BATTLEANIMOAMSET_16, $40
- db BATTLEANIMOAMSET_15, $00
- db BATTLEANIMOAMSET_16, $00
- db -2
-
-.Frameset_46:
- db BATTLEANIMOAMSET_56, $02
- db BATTLEANIMOAMSET_57, $04
- db -4
-
-.Frameset_47:
- db BATTLEANIMOAMSET_56, $c2
- db BATTLEANIMOAMSET_57, $c4
- db -4
-
-.Frameset_48:
- db BATTLEANIMOAMSET_56, $01
- db BATTLEANIMOAMSET_57, $01
- db BATTLEANIMOAMSET_58, $01
- db BATTLEANIMOAMSET_57, $c1
- db BATTLEANIMOAMSET_58, $c1
- db BATTLEANIMOAMSET_57, $02
- db -4
-
-.Frameset_49:
- db BATTLEANIMOAMSET_56, $c1
- db BATTLEANIMOAMSET_57, $c1
- db BATTLEANIMOAMSET_58, $c1
- db BATTLEANIMOAMSET_57, $01
- db BATTLEANIMOAMSET_58, $01
- db BATTLEANIMOAMSET_57, $c2
- db -4
-
-.Frameset_4a:
- db BATTLEANIMOAMSET_57, $c1
- db BATTLEANIMOAMSET_58, $c1
- db BATTLEANIMOAMSET_57, $01
- db BATTLEANIMOAMSET_58, $01
- db -2
-
-.Frameset_4b:
- db BATTLEANIMOAMSET_59, $01
- db BATTLEANIMOAMSET_5A, $01
- db BATTLEANIMOAMSET_5B, $01
- db BATTLEANIMOAMSET_5C, $02
- db -4
-
-.Frameset_4d:
- db BATTLEANIMOAMSET_0A, $0a
- db BATTLEANIMOAMSET_0B, $43
- db BATTLEANIMOAMSET_5D, $43
- db BATTLEANIMOAMSET_0B, $c3
- db BATTLEANIMOAMSET_0A, $82
- db BATTLEANIMOAMSET_0B, $81
- db BATTLEANIMOAMSET_5D, $01
- db BATTLEANIMOAMSET_0B, $01
- db -2
-
-.Frameset_4e:
- db BATTLEANIMOAMSET_0A, $03
- db BATTLEANIMOAMSET_0B, $47
- db BATTLEANIMOAMSET_0A, $07
- db BATTLEANIMOAMSET_0B, $07
- db BATTLEANIMOAMSET_0A, $03
- db -2
-
-.Frameset_4f:
- db BATTLEANIMOAMSET_5E, $20
- db BATTLEANIMOAMSET_5E, $20
- db -4
-
-.Frameset_50:
- db BATTLEANIMOAMSET_5F, $20
- db BATTLEANIMOAMSET_5F, $20
- db -4
-
-.Frameset_51:
- db BATTLEANIMOAMSET_60, $08
- db -1
-
-.Frameset_52:
- db BATTLEANIMOAMSET_61, $01
- db BATTLEANIMOAMSET_62, $01
- db BATTLEANIMOAMSET_63, $01
- db -1
-
-.Frameset_53:
- db BATTLEANIMOAMSET_63, $07
- db BATTLEANIMOAMSET_64, $07
- db -2
-
-.Frameset_54:
- db BATTLEANIMOAMSET_65, $01
- db BATTLEANIMOAMSET_66, $01
- db BATTLEANIMOAMSET_67, $01
- db -1
-
-.Frameset_55:
- db BATTLEANIMOAMSET_67, $07
- db BATTLEANIMOAMSET_68, $07
- db -2
-
-.Frameset_59:
- db BATTLEANIMOAMSET_6E, $08
- db -1
-
-.Frameset_5a:
- db BATTLEANIMOAMSET_6F, $08
- db -1
-
-.Frameset_5b:
- db BATTLEANIMOAMSET_6E, $88
- db -1
-
-.Frameset_5c:
- db BATTLEANIMOAMSET_18, $04
- db BATTLEANIMOAMSET_70, $04
- db BATTLEANIMOAMSET_71, $04
- db BATTLEANIMOAMSET_72, $04
- db BATTLEANIMOAMSET_73, $04
- db -4
-
-.Frameset_5d:
- db BATTLEANIMOAMSET_74, $04
- db BATTLEANIMOAMSET_75, $04
- db -2
-
-.Frameset_5e:
- db BATTLEANIMOAMSET_14, $08
- db -1
-
-.Frameset_7a:
- db BATTLEANIMOAMSET_74, $03
- db BATTLEANIMOAMSET_14, $03
- db BATTLEANIMOAMSET_15, $03
- db BATTLEANIMOAMSET_14, $03
- db BATTLEANIMOAMSET_15, $03
- db -4
-
-.Frameset_af:
- db BATTLEANIMOAMSET_14, $00
- db BATTLEANIMOAMSET_15, $00
- db BATTLEANIMOAMSET_14, $00
- db BATTLEANIMOAMSET_15, $00
- db BATTLEANIMOAMSET_74, $0c
- db -4
-
-.Frameset_5f:
- db BATTLEANIMOAMSET_76, $08
- db -1
-
-.Frameset_60:
- db BATTLEANIMOAMSET_77, $01
- db BATTLEANIMOAMSET_78, $01
- db BATTLEANIMOAMSET_79, $01
- db BATTLEANIMOAMSET_7A, $01
- db BATTLEANIMOAMSET_7B, $01
- db BATTLEANIMOAMSET_7C, $01
- db BATTLEANIMOAMSET_7D, $01
- db BATTLEANIMOAMSET_7C, $c1
- db BATTLEANIMOAMSET_7B, $c1
- db BATTLEANIMOAMSET_7A, $c1
- db BATTLEANIMOAMSET_79, $c1
- db BATTLEANIMOAMSET_78, $c1
- db BATTLEANIMOAMSET_77, $c1
- db -4
-
-.Frameset_61:
- db BATTLEANIMOAMSET_1B, $04
- db BATTLEANIMOAMSET_7E, $04
- db -2
-
-.Frameset_62:
- db BATTLEANIMOAMSET_1B, $44
- db BATTLEANIMOAMSET_7E, $44
- db -2
-
-.Frameset_63:
- db BATTLEANIMOAMSET_7F, $08
- db -1
-
-.Frameset_64:
- db BATTLEANIMOAMSET_25, $08
- db -1
-
-.Frameset_65:
- db BATTLEANIMOAMSET_80, $08
- db -1
-
-.Frameset_66:
- db BATTLEANIMOAMSET_83, $07
- db BATTLEANIMOAMSET_82, $07
- db BATTLEANIMOAMSET_81, $07
- db BATTLEANIMOAMSET_82, $07
- db BATTLEANIMOAMSET_83, $07
- db BATTLEANIMOAMSET_82, $07
- db BATTLEANIMOAMSET_81, $07
- db -4
-
-.Frameset_67:
- db BATTLEANIMOAMSET_1B, $10
- db -4
-
-.Frameset_68:
- db -3, $0f
- db BATTLEANIMOAMSET_84, $0f
- db BATTLEANIMOAMSET_85, $0f
- db BATTLEANIMOAMSET_29, $0f
- db BATTLEANIMOAMSET_28, $0f
- db BATTLEANIMOAMSET_86, $20
- db -4
-
-.Frameset_69:
- db BATTLEANIMOAMSET_1B, $03
- db BATTLEANIMOAMSET_87, $03
- db BATTLEANIMOAMSET_88, $03
- db BATTLEANIMOAMSET_89, $03
- db -4
-
-.Frameset_6a:
- db BATTLEANIMOAMSET_8A, $02
- db BATTLEANIMOAMSET_8B, $02
- db BATTLEANIMOAMSET_8C, $02
- db BATTLEANIMOAMSET_8D, $02
- db -4
-
-.Frameset_6b:
- db BATTLEANIMOAMSET_61, $02
- db BATTLEANIMOAMSET_62, $02
- db BATTLEANIMOAMSET_63, $02
- db -1
-
-.Frameset_6c:
- db BATTLEANIMOAMSET_65, $02
- db BATTLEANIMOAMSET_66, $02
- db BATTLEANIMOAMSET_67, $02
- db -1
-
-.Frameset_6d:
- db BATTLEANIMOAMSET_8E, $08
- db -1
-
-.Frameset_6e:
- db BATTLEANIMOAMSET_8E, $48
- db -1
-
-.Frameset_6f:
- db BATTLEANIMOAMSET_8F, $10
- db BATTLEANIMOAMSET_90, $10
- db -2
-
-.Frameset_70:
- db BATTLEANIMOAMSET_91, $10
- db BATTLEANIMOAMSET_92, $10
- db -2
-
-.Frameset_71:
- db BATTLEANIMOAMSET_93, $08
- db -1
-
-.Frameset_72:
- db BATTLEANIMOAMSET_1E, $08
- db -1
-
-.Frameset_73:
- db BATTLEANIMOAMSET_1B, $07
- db BATTLEANIMOAMSET_94, $07
- db -2
-
-.Frameset_74:
- db BATTLEANIMOAMSET_95, $08
- db -1
-
-.Frameset_75:
- db BATTLEANIMOAMSET_96, $08
- db -1
-
-.Frameset_76:
- db BATTLEANIMOAMSET_95, $08
- db -1
-
-.Frameset_77:
- db BATTLEANIMOAMSET_97, $01
- db BATTLEANIMOAMSET_97, $41
- db -2
-
-.Frameset_78:
- db BATTLEANIMOAMSET_98, $08
- db -1
-
-.Frameset_79:
- db BATTLEANIMOAMSET_99, $20
- db BATTLEANIMOAMSET_99, $20
- db BATTLEANIMOAMSET_99, $20
- db BATTLEANIMOAMSET_99, $20
- db BATTLEANIMOAMSET_99, $20
- db BATTLEANIMOAMSET_9A, $08
- db -1
-
-.Frameset_7b:
- db BATTLEANIMOAMSET_9B, $08
- db -1
-
-.Frameset_7c:
- db BATTLEANIMOAMSET_9C, $02
- db BATTLEANIMOAMSET_9D, $02
- db BATTLEANIMOAMSET_9E, $08
- db -3, $02
- db BATTLEANIMOAMSET_9E, $02
- db -3, $02
- db BATTLEANIMOAMSET_9E, $02
- db -3, $02
- db BATTLEANIMOAMSET_9E, $02
- db -4
-
-.Frameset_7d:
- db BATTLEANIMOAMSET_9F, $08
- db -1
-
-.Frameset_7f:
- db BATTLEANIMOAMSET_0F, $08
- db -1
-
-.Frameset_80:
- db BATTLEANIMOAMSET_6B, $18
- db -4
-
-.Frameset_81:
- db BATTLEANIMOAMSET_A0, $01 ; fallthrough
-.Frameset_82:
- db BATTLEANIMOAMSET_A1, $01 ; fallthrough
-.Frameset_83:
- db BATTLEANIMOAMSET_A2, $01
- db -4
-
-.Frameset_84:
- db BATTLEANIMOAMSET_A3, $08
- db -1
-
-.Frameset_85:
- db BATTLEANIMOAMSET_A4, $04
- db BATTLEANIMOAMSET_A5, $04
- db BATTLEANIMOAMSET_A6, $04
- db BATTLEANIMOAMSET_A7, $04
- db BATTLEANIMOAMSET_A6, $44
- db BATTLEANIMOAMSET_A5, $44
- db -2
-
-.Frameset_86:
- db BATTLEANIMOAMSET_A8, $04
- db BATTLEANIMOAMSET_A9, $04
- db BATTLEANIMOAMSET_AA, $04
- db BATTLEANIMOAMSET_AB, $04
- db BATTLEANIMOAMSET_AA, $44
- db BATTLEANIMOAMSET_A9, $44
- db -2
-
-.Frameset_87:
- db BATTLEANIMOAMSET_1B, $08
- db -1
-
-.Frameset_88:
- db BATTLEANIMOAMSET_AC, $08
- db -1
-
-.Frameset_89:
- db BATTLEANIMOAMSET_AD, $08
- db -1
-
-.Frameset_8a:
- db BATTLEANIMOAMSET_AE, $08
- db -1
-
-.Frameset_8b:
- db BATTLEANIMOAMSET_AF, $08
- db -1
-
-.Frameset_8c:
- db BATTLEANIMOAMSET_B0, $20
- db -4
-
-.Frameset_8d:
- db BATTLEANIMOAMSET_B1, $07
- db BATTLEANIMOAMSET_B1, $47
- db -2
-
-.Frameset_8e:
- db BATTLEANIMOAMSET_B2, $08
- db -1
-
-.Frameset_8f:
- db BATTLEANIMOAMSET_B3, $08
- db -1
-
-.Frameset_90:
- db BATTLEANIMOAMSET_B3, $48
- db -1
-
-.Frameset_91:
- db BATTLEANIMOAMSET_B3, $88
- db -1
-
-.Frameset_92:
- db BATTLEANIMOAMSET_B3, $c8
- db -1
-
-.Frameset_93:
- db BATTLEANIMOAMSET_B5, $08
- db -1
-
-.Frameset_94:
- db BATTLEANIMOAMSET_B5, $48
- db -1
-
-.Frameset_95:
- db BATTLEANIMOAMSET_B5, $88
- db -1
-
-.Frameset_96:
- db BATTLEANIMOAMSET_B5, $c8
- db -1
-
-.Frameset_97:
- db BATTLEANIMOAMSET_B4, $08
- db -1
-
-.Frameset_98:
- db BATTLEANIMOAMSET_6B, $08
- db -1
-
-.Frameset_99:
- db BATTLEANIMOAMSET_B6, $08
- db -1
-
-.Frameset_9a:
- db BATTLEANIMOAMSET_B7, $20
- db -1
-
-.Frameset_9b:
- db BATTLEANIMOAMSET_1B, $20
- db -1
-
-.Frameset_9c:
- db BATTLEANIMOAMSET_B8, $20
- db -1
-
-.Frameset_9d:
- db BATTLEANIMOAMSET_B8, $60
- db -1
-
-.Frameset_9e:
- db BATTLEANIMOAMSET_B9, $20
- db -1
-
-.Frameset_9f:
- db BATTLEANIMOAMSET_BA, $20
- db -1
-
-.Frameset_a0:
- db BATTLEANIMOAMSET_BB, $60
- db -1
-
-.Frameset_a1:
- db BATTLEANIMOAMSET_BB, $20
- db -1
-
-.Frameset_a2:
- db BATTLEANIMOAMSET_BC, $20
- db -1
-
-.Frameset_a3:
- db BATTLEANIMOAMSET_BD, $0b
- db BATTLEANIMOAMSET_BE, $0b
- db BATTLEANIMOAMSET_1B, $0b
- db -4
-
-.Frameset_a4:
- db BATTLEANIMOAMSET_BF, $04
- db BATTLEANIMOAMSET_C0, $04
- db BATTLEANIMOAMSET_C1, $04
- db -4
-
-.Frameset_a5:
- db BATTLEANIMOAMSET_C2, $20
- db BATTLEANIMOAMSET_C2, $20
- db -4
-
-.Frameset_a6:
- db BATTLEANIMOAMSET_4B, $02
- db BATTLEANIMOAMSET_4C, $02
- db BATTLEANIMOAMSET_4D, $20
- db BATTLEANIMOAMSET_4D, $20
- db BATTLEANIMOAMSET_4D, $20
- db BATTLEANIMOAMSET_4F, $01
- db BATTLEANIMOAMSET_50, $01
- db BATTLEANIMOAMSET_51, $01
- db BATTLEANIMOAMSET_52, $02
- db -3, $02
- db BATTLEANIMOAMSET_52, $02
- db -3, $02
- db BATTLEANIMOAMSET_52, $02
- db -3, $02
- db BATTLEANIMOAMSET_52, $02
- db -4
-
-.Frameset_a7:
- db BATTLEANIMOAMSET_4B, $c2
- db BATTLEANIMOAMSET_4C, $c2
- db BATTLEANIMOAMSET_4D, $e0
- db BATTLEANIMOAMSET_4D, $e0
- db BATTLEANIMOAMSET_4D, $e0
- db BATTLEANIMOAMSET_4F, $c1
- db BATTLEANIMOAMSET_50, $c1
- db BATTLEANIMOAMSET_51, $c1
- db BATTLEANIMOAMSET_52, $c2
- db -3, $02
- db BATTLEANIMOAMSET_52, $c2
- db -3, $02
- db BATTLEANIMOAMSET_52, $c2
- db -3, $02
- db BATTLEANIMOAMSET_52, $c2
- db -4
-
-.Frameset_a8:
- db BATTLEANIMOAMSET_C3, $01
- db BATTLEANIMOAMSET_C3, $c1
- db -2
-
-.Frameset_a9:
- db BATTLEANIMOAMSET_C4, $20
- db -1
-
-.Frameset_aa:
- db BATTLEANIMOAMSET_C5, $04
- db BATTLEANIMOAMSET_C6, $04
- db BATTLEANIMOAMSET_C7, $04
- db -4
-
-.Frameset_ab:
- db BATTLEANIMOAMSET_C8, $01
- db BATTLEANIMOAMSET_C8, $41
- db -2
-
-.Frameset_ac:
- db BATTLEANIMOAMSET_C9, $03
- db BATTLEANIMOAMSET_05, $03
- db -4
-
-.Frameset_ad:
- db BATTLEANIMOAMSET_CA, $20
- db BATTLEANIMOAMSET_CB, $03
- db BATTLEANIMOAMSET_CA, $03
- db BATTLEANIMOAMSET_CB, $03
- db -2
-
-.Frameset_ae:
- db BATTLEANIMOAMSET_03, $a0
- db -1
-
-.Frameset_b0:
- db BATTLEANIMOAMSET_CC, $20
- db -1
-
-.Frameset_b1:
- db BATTLEANIMOAMSET_7F, $02
- db BATTLEANIMOAMSET_25, $02
- db BATTLEANIMOAMSET_80, $02
- db BATTLEANIMOAMSET_25, $02
- db -2
-
-.Frameset_b2:
- db BATTLEANIMOAMSET_CD, $04
- db BATTLEANIMOAMSET_CE, $04
- db BATTLEANIMOAMSET_CD, $c4
- db BATTLEANIMOAMSET_CE, $c4
- db -2
-
-.Frameset_b3:
- db BATTLEANIMOAMSET_CF, $04
- db BATTLEANIMOAMSET_D0, $04
- db BATTLEANIMOAMSET_D1, $04
- db BATTLEANIMOAMSET_D2, $04
- db -4
-
-.Frameset_b4:
- db BATTLEANIMOAMSET_D3, $20
- db -1
-
-.Frameset_b5:
- db BATTLEANIMOAMSET_D4, $08
- db -1
-
-.Frameset_b6:
- db BATTLEANIMOAMSET_D5, $08
- db -1
-
-.Frameset_b7:
- db BATTLEANIMOAMSET_D6, $08
- db -1
-
-.Frameset_b8:
- db BATTLEANIMOAMSET_D7, $08
- db -1
-
-; ceeae
--- a/data/anims/oam.asm
+++ /dev/null
@@ -1,1086 +1,0 @@
-BattleAnimOAMData: ; ceeae
-; entries correspond to BATTLEANIMOAMSET_* constants
- ; vtile offset, length, pointer
- dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00
- dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01
- dbbw $08, 4, .OAMData_02 ; BATTLEANIMOAMSET_02
- dbbw $09, 4, .OAMData_03 ; BATTLEANIMOAMSET_03
- dbbw $0d, 4, .OAMData_04 ; BATTLEANIMOAMSET_04
- dbbw $0f, 4, .OAMData_03 ; BATTLEANIMOAMSET_05
- dbbw $13, 4, .OAMData_04 ; BATTLEANIMOAMSET_06
- dbbw $04, 16, .OAMData_00 ; BATTLEANIMOAMSET_07
- dbbw $08, 16, .OAMData_00 ; BATTLEANIMOAMSET_08
- dbbw $08, 16, .OAMData_09 ; BATTLEANIMOAMSET_09
- dbbw $00, 4, .OAMData_04 ; BATTLEANIMOAMSET_0A
- dbbw $02, 4, .OAMData_03 ; BATTLEANIMOAMSET_0B
- dbbw $06, 2, .OAMData_0c ; BATTLEANIMOAMSET_0C
- dbbw $07, 2, .OAMData_0c ; BATTLEANIMOAMSET_0D
- dbbw $02, 4, .OAMData_04 ; BATTLEANIMOAMSET_0E
- dbbw $04, 1, .OAMData_0f ; BATTLEANIMOAMSET_0F
- dbbw $05, 1, .OAMData_0f ; BATTLEANIMOAMSET_10
- dbbw $00, 2, .OAMData_11 ; BATTLEANIMOAMSET_11
- dbbw $02, 2, .OAMData_11 ; BATTLEANIMOAMSET_12
- dbbw $00, 4, .OAMData_13 ; BATTLEANIMOAMSET_13
- dbbw $00, 1, .OAMData_0f ; BATTLEANIMOAMSET_14
- dbbw $01, 1, .OAMData_0f ; BATTLEANIMOAMSET_15
- dbbw $02, 1, .OAMData_0f ; BATTLEANIMOAMSET_16
- dbbw $03, 1, .OAMData_0f ; BATTLEANIMOAMSET_17
- dbbw $00, 4, .OAMData_02 ; BATTLEANIMOAMSET_18
- dbbw $01, 16, .OAMData_00 ; BATTLEANIMOAMSET_19
- dbbw $05, 16, .OAMData_00 ; BATTLEANIMOAMSET_1A
- dbbw $00, 4, .OAMData_03 ; BATTLEANIMOAMSET_1B
- dbbw $05, 12, .OAMData_1c ; BATTLEANIMOAMSET_1C
- dbbw $02, 4, .OAMData_02 ; BATTLEANIMOAMSET_1D
- dbbw $06, 1, .OAMData_0f ; BATTLEANIMOAMSET_1E
- dbbw $07, 1, .OAMData_0f ; BATTLEANIMOAMSET_1F
- dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_20
- dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_21
- dbbw $09, 22, .OAMData_22 ; BATTLEANIMOAMSET_22
- dbbw $04, 2, .OAMData_11 ; BATTLEANIMOAMSET_23
- dbbw $06, 2, .OAMData_11 ; BATTLEANIMOAMSET_24
- dbbw $0c, 1, .OAMData_0f ; BATTLEANIMOAMSET_25
- dbbw $0a, 1, .OAMData_0f ; BATTLEANIMOAMSET_26
- dbbw $0b, 4, .OAMData_02 ; BATTLEANIMOAMSET_27
- dbbw $08, 4, .OAMData_04 ; BATTLEANIMOAMSET_28
- dbbw $06, 4, .OAMData_04 ; BATTLEANIMOAMSET_29
- dbbw $00, 5, .OAMData_2a ; BATTLEANIMOAMSET_2A
- dbbw $03, 6, .OAMData_2b ; BATTLEANIMOAMSET_2B
- dbbw $00, 7, .OAMData_2c ; BATTLEANIMOAMSET_2C
- dbbw $03, 8, .OAMData_2d ; BATTLEANIMOAMSET_2D
- dbbw $00, 9, .OAMData_2e ; BATTLEANIMOAMSET_2E
- dbbw $00, 4, .OAMData_2f ; BATTLEANIMOAMSET_2F
- dbbw $02, 4, .OAMData_30 ; BATTLEANIMOAMSET_30
- dbbw $04, 6, .OAMData_31 ; BATTLEANIMOAMSET_31
- dbbw $00, 2, .OAMData_32 ; BATTLEANIMOAMSET_32
- dbbw $00, 7, .OAMData_33 ; BATTLEANIMOAMSET_33
- dbbw $00, 14, .OAMData_32 ; BATTLEANIMOAMSET_34
- dbbw $00, 21, .OAMData_33 ; BATTLEANIMOAMSET_35
- dbbw $00, 2, .OAMData_36 ; BATTLEANIMOAMSET_36
- dbbw $00, 6, .OAMData_36 ; BATTLEANIMOAMSET_37
- dbbw $00, 10, .OAMData_36 ; BATTLEANIMOAMSET_38
- dbbw $00, 14, .OAMData_36 ; BATTLEANIMOAMSET_39
- dbbw $00, 2, .OAMData_3a ; BATTLEANIMOAMSET_3A
- dbbw $00, 6, .OAMData_3a ; BATTLEANIMOAMSET_3B
- dbbw $00, 10, .OAMData_3a ; BATTLEANIMOAMSET_3C
- dbbw $00, 14, .OAMData_3a ; BATTLEANIMOAMSET_3D
- dbbw $00, 4, .OAMData_3e ; BATTLEANIMOAMSET_3E
- dbbw $00, 16, .OAMData_3e ; BATTLEANIMOAMSET_3F
- dbbw $00, 26, .OAMData_3e ; BATTLEANIMOAMSET_40
- dbbw $00, 26, .OAMData_41 ; BATTLEANIMOAMSET_41
- dbbw $0e, 4, .OAMData_42 ; BATTLEANIMOAMSET_42
- dbbw $0e, 8, .OAMData_42 ; BATTLEANIMOAMSET_43
- dbbw $0e, 4, .OAMData_44 ; BATTLEANIMOAMSET_44
- dbbw $0e, 8, .OAMData_44 ; BATTLEANIMOAMSET_45
- dbbw $0e, 4, .OAMData_46 ; BATTLEANIMOAMSET_46
- dbbw $0e, 4, .OAMData_47 ; BATTLEANIMOAMSET_47
- dbbw $00, 6, .OAMData_48 ; BATTLEANIMOAMSET_48
- dbbw $03, 4, .OAMData_49 ; BATTLEANIMOAMSET_49
- dbbw $03, 2, .OAMData_4a ; BATTLEANIMOAMSET_4A
- dbbw $01, 5, .OAMData_0f ; BATTLEANIMOAMSET_4B
- dbbw $01, 6, .OAMData_4c ; BATTLEANIMOAMSET_4C
- dbbw $01, 7, .OAMData_4d ; BATTLEANIMOAMSET_4D
- dbbw $01, 3, .OAMData_4d ; BATTLEANIMOAMSET_4E
- dbbw $01, 8, .OAMData_4f ; BATTLEANIMOAMSET_4F
- dbbw $01, 9, .OAMData_50 ; BATTLEANIMOAMSET_50
- dbbw $01, 10, .OAMData_51 ; BATTLEANIMOAMSET_51
- dbbw $01, 6, .OAMData_51 ; BATTLEANIMOAMSET_52
- dbbw $00, 9, .OAMData_01 ; BATTLEANIMOAMSET_53
- dbbw $04, 4, .OAMData_02 ; BATTLEANIMOAMSET_54
- dbbw $05, 4, .OAMData_02 ; BATTLEANIMOAMSET_55
- dbbw $00, 2, .OAMData_56 ; BATTLEANIMOAMSET_56
- dbbw $02, 2, .OAMData_56 ; BATTLEANIMOAMSET_57
- dbbw $04, 2, .OAMData_56 ; BATTLEANIMOAMSET_58
- dbbw $02, 4, .OAMData_59 ; BATTLEANIMOAMSET_59
- dbbw $02, 4, .OAMData_5a ; BATTLEANIMOAMSET_5A
- dbbw $02, 2, .OAMData_0c ; BATTLEANIMOAMSET_5B
- dbbw $04, 2, .OAMData_0c ; BATTLEANIMOAMSET_5C
- dbbw $06, 4, .OAMData_5d ; BATTLEANIMOAMSET_5D
- dbbw $08, 2, .OAMData_0c ; BATTLEANIMOAMSET_5E
- dbbw $09, 2, .OAMData_0c ; BATTLEANIMOAMSET_5F
- dbbw $05, 2, .OAMData_60 ; BATTLEANIMOAMSET_60
- dbbw $00, 2, .OAMData_61 ; BATTLEANIMOAMSET_61
- dbbw $00, 5, .OAMData_61 ; BATTLEANIMOAMSET_62
- dbbw $00, 9, .OAMData_61 ; BATTLEANIMOAMSET_63
- dbbw $09, 9, .OAMData_61 ; BATTLEANIMOAMSET_64
- dbbw $00, 4, .OAMData_65 ; BATTLEANIMOAMSET_65
- dbbw $00, 7, .OAMData_65 ; BATTLEANIMOAMSET_66
- dbbw $00, 9, .OAMData_65 ; BATTLEANIMOAMSET_67
- dbbw $09, 9, .OAMData_65 ; BATTLEANIMOAMSET_68
- dbbw $04, 1, .OAMData_69 ; BATTLEANIMOAMSET_69
- dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_6A
- dbbw $06, 4, .OAMData_03 ; BATTLEANIMOAMSET_6B
- dbbw $0a, 4, .OAMData_03 ; BATTLEANIMOAMSET_6C
- dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_6D
- dbbw $08, 5, .OAMData_6e ; BATTLEANIMOAMSET_6E
- dbbw $0d, 3, .OAMData_6f ; BATTLEANIMOAMSET_6F
- dbbw $01, 8, .OAMData_70 ; BATTLEANIMOAMSET_70
- dbbw $03, 8, .OAMData_70 ; BATTLEANIMOAMSET_71
- dbbw $05, 8, .OAMData_70 ; BATTLEANIMOAMSET_72
- dbbw $07, 8, .OAMData_70 ; BATTLEANIMOAMSET_73
- dbbw $06, 4, .OAMData_02 ; BATTLEANIMOAMSET_74
- dbbw $07, 4, .OAMData_02 ; BATTLEANIMOAMSET_75
- dbbw $0a, 2, .OAMData_76 ; BATTLEANIMOAMSET_76
- dbbw $00, 1, .OAMData_77 ; BATTLEANIMOAMSET_77
- dbbw $00, 3, .OAMData_78 ; BATTLEANIMOAMSET_78
- dbbw $00, 6, .OAMData_79 ; BATTLEANIMOAMSET_79
- dbbw $00, 9, .OAMData_7a ; BATTLEANIMOAMSET_7A
- dbbw $00, 12, .OAMData_7b ; BATTLEANIMOAMSET_7B
- dbbw $00, 14, .OAMData_7c ; BATTLEANIMOAMSET_7C
- dbbw $00, 15, .OAMData_7d ; BATTLEANIMOAMSET_7D
- dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_7E
- dbbw $08, 4, .OAMData_03 ; BATTLEANIMOAMSET_7F
- dbbw $0d, 1, .OAMData_0f ; BATTLEANIMOAMSET_80
- dbbw $0e, 4, .OAMData_81 ; BATTLEANIMOAMSET_81
- dbbw $10, 1, .OAMData_0f ; BATTLEANIMOAMSET_82
- dbbw $11, 1, .OAMData_0f ; BATTLEANIMOAMSET_83
- dbbw $04, 2, .OAMData_6a ; BATTLEANIMOAMSET_84
- dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_85
- dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_86
- dbbw $00, 8, .OAMData_87 ; BATTLEANIMOAMSET_87
- dbbw $00, 12, .OAMData_88 ; BATTLEANIMOAMSET_88
- dbbw $00, 16, .OAMData_87 ; BATTLEANIMOAMSET_89
- dbbw $09, 2, .OAMData_8a ; BATTLEANIMOAMSET_8A
- dbbw $09, 4, .OAMData_8a ; BATTLEANIMOAMSET_8B
- dbbw $09, 6, .OAMData_8a ; BATTLEANIMOAMSET_8C
- dbbw $09, 8, .OAMData_8a ; BATTLEANIMOAMSET_8D
- dbbw $12, 5, .OAMData_8e ; BATTLEANIMOAMSET_8E
- dbbw $00, 4, .OAMData_8f ; BATTLEANIMOAMSET_8F
- dbbw $04, 4, .OAMData_8f ; BATTLEANIMOAMSET_90
- dbbw $08, 4, .OAMData_8f ; BATTLEANIMOAMSET_91
- dbbw $0c, 4, .OAMData_8f ; BATTLEANIMOAMSET_92
- dbbw $00, 6, .OAMData_93 ; BATTLEANIMOAMSET_93
- dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_94
- dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_95
- dbbw $15, 4, .OAMData_30 ; BATTLEANIMOAMSET_96
- dbbw $04, 4, .OAMData_30 ; BATTLEANIMOAMSET_97
- dbbw $0c, 4, .OAMData_04 ; BATTLEANIMOAMSET_98
- dbbw $0a, 4, .OAMData_99 ; BATTLEANIMOAMSET_99
- dbbw $0c, 4, .OAMData_03 ; BATTLEANIMOAMSET_9A
- dbbw $00, 36, .OAMData_9b ; BATTLEANIMOAMSET_9B
- dbbw $0d, 2, .OAMData_9c ; BATTLEANIMOAMSET_9C
- dbbw $0d, 4, .OAMData_9c ; BATTLEANIMOAMSET_9D
- dbbw $0d, 6, .OAMData_9c ; BATTLEANIMOAMSET_9E
- dbbw $02, 8, .OAMData_9f ; BATTLEANIMOAMSET_9F
- dbbw $08, 7, .OAMData_a0 ; BATTLEANIMOAMSET_A0
- dbbw $08, 5, .OAMData_a0 ; BATTLEANIMOAMSET_A1
- dbbw $08, 3, .OAMData_a0 ; BATTLEANIMOAMSET_A2
- dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_A3
- dbbw $00, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A4
- dbbw $06, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A5
- dbbw $0c, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A6
- dbbw $12, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A7
- dbbw $18, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A8
- dbbw $1e, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A9
- dbbw $24, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AA
- dbbw $2a, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AB
- dbbw $03, 4, .OAMData_ac ; BATTLEANIMOAMSET_AC
- dbbw $12, 4, .OAMData_03 ; BATTLEANIMOAMSET_AD
- dbbw $10, 4, .OAMData_04 ; BATTLEANIMOAMSET_AE
- dbbw $16, 1, .OAMData_0f ; BATTLEANIMOAMSET_AF
- dbbw $17, 4, .OAMData_02 ; BATTLEANIMOAMSET_B0
- dbbw $18, 4, .OAMData_03 ; BATTLEANIMOAMSET_B1
- dbbw $1c, 4, .OAMData_03 ; BATTLEANIMOAMSET_B2
- dbbw $20, 3, .OAMData_03 ; BATTLEANIMOAMSET_B3
- dbbw $23, 4, .OAMData_04 ; BATTLEANIMOAMSET_B4
- dbbw $25, 3, .OAMData_03 ; BATTLEANIMOAMSET_B5
- dbbw $17, 4, .OAMData_03 ; BATTLEANIMOAMSET_B6
- dbbw $0a, 16, .OAMData_00 ; BATTLEANIMOAMSET_B7
- dbbw $10, 16, .OAMData_1c ; BATTLEANIMOAMSET_B8
- dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_B9
- dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BA
- dbbw $08, 2, .OAMData_11 ; BATTLEANIMOAMSET_BB
- dbbw $20, 6, .OAMData_bc ; BATTLEANIMOAMSET_BC
- dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_BD
- dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BE
- dbbw $1a, 4, .OAMData_30 ; BATTLEANIMOAMSET_BF
- dbbw $16, 9, .OAMData_01 ; BATTLEANIMOAMSET_C0
- dbbw $10, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C1
- dbbw $09, 6, .OAMData_c2 ; BATTLEANIMOAMSET_C2
- dbbw $11, 9, .OAMData_c3 ; BATTLEANIMOAMSET_C3
- dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_C4
- dbbw $0b, 4, .OAMData_30 ; BATTLEANIMOAMSET_C5
- dbbw $1c, 6, .OAMData_02 ; BATTLEANIMOAMSET_C6
- dbbw $20, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C7
- dbbw $05, 6, .OAMData_c8 ; BATTLEANIMOAMSET_C8
- dbbw $0b, 4, .OAMData_03 ; BATTLEANIMOAMSET_C9
- dbbw $09, 4, .OAMData_ca ; BATTLEANIMOAMSET_CA
- dbbw $0b, 4, .OAMData_04 ; BATTLEANIMOAMSET_CB
- dbbw $11, 13, .OAMData_cc ; BATTLEANIMOAMSET_CC
- dbbw $00, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CD
- dbbw $09, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CE
- dbbw $00, 12, .OAMData_cf ; BATTLEANIMOAMSET_CF
- dbbw $06, 12, .OAMData_cf ; BATTLEANIMOAMSET_D0
- dbbw $0c, 12, .OAMData_cf ; BATTLEANIMOAMSET_D1
- dbbw $12, 12, .OAMData_cf ; BATTLEANIMOAMSET_D2
- dbbw $00, 13, .OAMData_cc ; BATTLEANIMOAMSET_D3
- dbbw $00, 7, .OAMData_d4 ; BATTLEANIMOAMSET_D4
- dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5
- dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6
- dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7
-
-.OAMData_11:
- dsprite -1, 0, -1, 4, $00, $00
- dsprite 0, 0, -1, 4, $01, $00
-
-.OAMData_56:
- dsprite -1, 4, -1, 0, $00, $00
- dsprite -1, 4, 0, 0, $01, $00
-
-.OAMData_03:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $02, $00
- dsprite 0, 0, 0, 0, $03, $00
-
-.OAMData_02:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $00, $20
- dsprite 0, 0, -1, 0, $00, $40
- dsprite 0, 0, 0, 0, $00, $60
-
-.OAMData_c3:
- dsprite -2, 4, -2, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -2, 4, 0, 4, $02, $00
- dsprite -1, 4, -2, 4, $03, $00
- dsprite -1, 4, -1, 4, $04, $00
- dsprite -1, 4, 0, 4, $05, $00
- dsprite 0, 4, -2, 4, $06, $00
- dsprite 0, 4, -1, 4, $07, $00
- dsprite 0, 4, 0, 4, $08, $00
-
-.OAMData_01:
- dsprite -2, 4, -2, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -2, 4, 0, 4, $00, $20
- dsprite -1, 4, -2, 4, $02, $00
- dsprite -1, 4, -1, 4, $03, $00
- dsprite -1, 4, 0, 4, $02, $60
- dsprite 0, 4, -2, 4, $00, $40
- dsprite 0, 4, -1, 4, $01, $60
- dsprite 0, 4, 0, 4, $00, $60
-
-.OAMData_cf:
- dsprite -2, 0, -2, 4, $00, $00
- dsprite -2, 0, -1, 4, $01, $00
- dsprite -2, 0, 0, 4, $02, $00
- dsprite -1, 0, -2, 4, $03, $00
- dsprite -1, 0, -1, 4, $04, $00
- dsprite -1, 0, 0, 4, $05, $00
- dsprite 0, 0, -2, 4, $05, $60
- dsprite 0, 0, -1, 4, $04, $60
- dsprite 0, 0, 0, 4, $03, $60
- dsprite 1, 0, -2, 4, $02, $60
- dsprite 1, 0, -1, 4, $01, $60
- dsprite 1, 0, 0, 4, $00, $60
-
-.OAMData_1c:
- dsprite -2, 0, -2, 0, $00, $00
- dsprite -2, 0, -1, 0, $01, $00
- dsprite -2, 0, 0, 0, $02, $00
- dsprite -2, 0, 1, 0, $03, $00
- dsprite -1, 0, -2, 0, $04, $00
- dsprite -1, 0, -1, 0, $05, $00
- dsprite -1, 0, 0, 0, $06, $00
- dsprite -1, 0, 1, 0, $07, $00
- dsprite 0, 0, -2, 0, $08, $00
- dsprite 0, 0, -1, 0, $09, $00
- dsprite 0, 0, 0, 0, $0a, $00
- dsprite 0, 0, 1, 0, $0b, $00
- dsprite 1, 0, -2, 0, $0c, $00
- dsprite 1, 0, -1, 0, $0d, $00
- dsprite 1, 0, 0, 0, $0e, $00
- dsprite 1, 0, 1, 0, $0f, $00
-
-.OAMData_00:
- dsprite -2, 0, -2, 0, $00, $00
- dsprite -2, 0, -1, 0, $01, $00
- dsprite -1, 0, -2, 0, $02, $00
- dsprite -1, 0, -1, 0, $03, $00
- dsprite -2, 0, 0, 0, $01, $20
- dsprite -2, 0, 1, 0, $00, $20
- dsprite -1, 0, 0, 0, $03, $20
- dsprite -1, 0, 1, 0, $02, $20
- dsprite 0, 0, -2, 0, $02, $40
- dsprite 0, 0, -1, 0, $03, $40
- dsprite 1, 0, -2, 0, $00, $40
- dsprite 1, 0, -1, 0, $01, $40
- dsprite 0, 0, 0, 0, $03, $60
- dsprite 0, 0, 1, 0, $02, $60
- dsprite 1, 0, 0, 0, $01, $60
- dsprite 1, 0, 1, 0, $00, $60
-
-.OAMData_09:
- dsprite -3, 4, -3, 4, $00, $00
- dsprite -3, 4, -2, 4, $01, $00
- dsprite -2, 4, -3, 4, $02, $00
- dsprite -2, 4, -2, 4, $03, $00
- dsprite -3, 4, 0, 4, $01, $20
- dsprite -3, 4, 1, 4, $00, $20
- dsprite -2, 4, 0, 4, $03, $20
- dsprite -2, 4, 1, 4, $02, $20
- dsprite 0, 4, -3, 4, $02, $40
- dsprite 0, 4, -2, 4, $03, $40
- dsprite 1, 4, -3, 4, $00, $40
- dsprite 1, 4, -2, 4, $01, $40
- dsprite 0, 4, 0, 4, $03, $60
- dsprite 0, 4, 1, 4, $02, $60
- dsprite 1, 4, 0, 4, $01, $60
- dsprite 1, 4, 1, 4, $00, $60
-
-.OAMData_0c:
- dsprite -1, 4, -1, 0, $00, $00
- dsprite -1, 4, 0, 0, $00, $20
-
-.OAMData_6a:
- dsprite 0, 0, -1, 0, $00, $00
- dsprite 0, 0, 0, 0, $00, $20
-
-.OAMData_04:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $00, $20
- dsprite 0, 0, -1, 0, $01, $00
- dsprite 0, 0, 0, 0, $01, $20
-
-.OAMData_5d:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $00, $40
- dsprite 0, 0, 0, 0, $01, $40
-
-.OAMData_13:
- dsprite -1, 2, -1, 0, $02, $00
- dsprite 0, 2, -1, 0, $03, $00
- dsprite -2, 6, 0, 0, $02, $00
- dsprite -1, 6, 0, 0, $03, $00
-
-.OAMData_22:
- dsprite 1, 0, -11, 0, $01, $00
- dsprite 0, 0, -10, 0, $02, $00
- dsprite 0, 0, -9, 0, $03, $00
- dsprite 0, 0, -8, 0, $00, $00
- dsprite 0, 0, -7, 0, $03, $00
- dsprite 0, 0, -6, 0, $00, $00
- dsprite 0, 0, -5, 0, $03, $00
- dsprite 0, 0, -4, 0, $00, $00
- dsprite 0, 0, -3, 0, $03, $00
- dsprite 0, 0, -2, 0, $00, $00
- dsprite 0, 0, -1, 0, $01, $00
- dsprite -1, 0, 0, 0, $02, $00
- dsprite -1, 0, 1, 0, $03, $00
- dsprite -1, 0, 2, 0, $00, $00
- dsprite -1, 0, 3, 0, $03, $00
- dsprite -1, 0, 4, 0, $00, $00
- dsprite -1, 0, 5, 0, $03, $00
- dsprite -1, 0, 6, 0, $00, $00
- dsprite -1, 0, 7, 0, $03, $00
- dsprite -1, 0, 8, 0, $00, $00
- dsprite -1, 0, 9, 0, $01, $00
- dsprite -2, 0, 10, 0, $02, $00
-
-.OAMData_2a:
- dsprite -3, 4, -1, 0, $00, $00
- dsprite -3, 4, 0, 0, $00, $20
- dsprite -2, 4, -1, 0, $01, $00
- dsprite -2, 4, 0, 0, $01, $20
- dsprite -1, 4, -1, 4, $02, $00
-
-.OAMData_2b:
- dsprite -4, 4, -1, 0, $00, $00
- dsprite -4, 4, 0, 0, $00, $20
- dsprite -3, 4, -1, 0, $01, $00
- dsprite -3, 4, 0, 0, $01, $20
- dsprite -2, 4, -1, 4, $02, $00
- dsprite -1, 4, -1, 4, $02, $00
-
-.OAMData_2c:
- dsprite -5, 4, -1, 0, $00, $00
- dsprite -5, 4, 0, 0, $00, $20
- dsprite -4, 4, -1, 0, $01, $00
- dsprite -4, 4, 0, 0, $01, $20
- dsprite -3, 4, -1, 4, $02, $00
- dsprite -2, 4, -1, 4, $02, $00
- dsprite -1, 4, -1, 4, $02, $00
-
-.OAMData_2d:
- dsprite -6, 4, -1, 0, $00, $00
- dsprite -6, 4, 0, 0, $00, $20
- dsprite -5, 4, -1, 0, $01, $00
- dsprite -5, 4, 0, 0, $01, $20
- dsprite -4, 4, -1, 4, $02, $00
- dsprite -3, 4, -1, 4, $02, $00
- dsprite -2, 4, -1, 4, $02, $00
- dsprite -1, 4, -1, 4, $02, $00
-
-.OAMData_2e:
- dsprite -7, 4, -1, 0, $00, $00
- dsprite -7, 4, 0, 0, $00, $20
- dsprite -6, 4, -1, 0, $01, $00
- dsprite -6, 4, 0, 0, $01, $20
- dsprite -5, 4, -1, 4, $02, $00
- dsprite -4, 4, -1, 4, $02, $00
- dsprite -3, 4, -1, 4, $02, $00
- dsprite -2, 4, -1, 4, $02, $00
- dsprite -1, 4, -1, 4, $02, $00
-
-.OAMData_2f:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $00, $20
- dsprite 0, 0, -1, 0, $01, $00
- dsprite 0, 0, 0, 0, $00, $60
-
-.OAMData_30:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $01, $60
- dsprite 0, 0, 0, 0, $00, $60
-
-.OAMData_31:
- dsprite -2, 4, -1, 0, $00, $00
- dsprite -2, 4, 0, 0, $01, $00
- dsprite -1, 4, -1, 0, $02, $00
- dsprite -1, 4, 0, 0, $03, $00
- dsprite 0, 4, -1, 0, $04, $00
- dsprite 0, 4, 0, 0, $05, $00
-
-.OAMData_76:
- dsprite -1, 5, -1, 0, $00, $00
- dsprite -1, 1, 0, 0, $00, $00
-
-.OAMData_32:
- dsprite -1, 0, -2, 4, $00, $00
- dsprite -1, 0, 0, 4, $00, $00
- dsprite -3, 0, -2, 4, $00, $00
- dsprite -3, 0, 0, 4, $00, $00
- dsprite -2, 0, -3, 4, $00, $00
- dsprite -2, 0, -2, 4, $01, $00
- dsprite -2, 0, -1, 4, $00, $00
- dsprite -2, 0, 0, 4, $01, $00
- dsprite -2, 0, 1, 4, $00, $00
- dsprite -1, 0, -4, 4, $00, $00
- dsprite -1, 0, -3, 4, $01, $00
- dsprite -1, 0, -1, 4, $01, $00
- dsprite -1, 0, 1, 4, $01, $00
- dsprite -1, 0, 2, 4, $00, $00
-
-.OAMData_33:
- dsprite -2, 0, -2, 4, $00, $00
- dsprite -2, 0, 0, 4, $00, $00
- dsprite -1, 0, -3, 4, $00, $00
- dsprite -1, 0, -2, 4, $01, $00
- dsprite -1, 0, -1, 4, $00, $00
- dsprite -1, 0, 0, 4, $01, $00
- dsprite -1, 0, 1, 4, $00, $00
- dsprite -4, 0, -2, 4, $00, $00
- dsprite -4, 0, 0, 4, $00, $00
- dsprite -3, 0, -3, 4, $00, $00
- dsprite -3, 0, -2, 4, $01, $00
- dsprite -3, 0, -1, 4, $00, $00
- dsprite -3, 0, 0, 4, $01, $00
- dsprite -3, 0, 1, 4, $00, $00
- dsprite -2, 0, -4, 4, $00, $00
- dsprite -2, 0, -3, 4, $01, $00
- dsprite -2, 0, -1, 4, $01, $00
- dsprite -2, 0, 1, 4, $01, $00
- dsprite -2, 0, 2, 4, $00, $00
- dsprite -1, 0, -4, 4, $01, $00
- dsprite -1, 0, 2, 4, $01, $00
-
-.OAMData_36:
- dsprite -7, 4, -1, 0, $00, $00
- dsprite -7, 4, 0, 0, $01, $00
- dsprite -6, 4, -1, 0, $02, $00
- dsprite -6, 4, 0, 0, $03, $00
- dsprite -5, 4, -1, 0, $04, $00
- dsprite -5, 4, 0, 0, $05, $00
- dsprite -4, 4, -1, 0, $06, $00
- dsprite -4, 4, 0, 0, $07, $00
- dsprite -3, 4, -1, 0, $08, $00
- dsprite -3, 4, 0, 0, $09, $00
- dsprite -2, 4, -1, 0, $0a, $00
- dsprite -2, 4, 0, 0, $0b, $00
- dsprite -1, 4, -1, 0, $0c, $00
- dsprite -1, 4, 0, 0, $0d, $00
-
-.OAMData_3a:
- dsprite -7, 4, -1, 0, $0c, $00
- dsprite -7, 4, 0, 0, $0d, $00
- dsprite -6, 4, -1, 0, $08, $00
- dsprite -6, 4, 0, 0, $09, $00
- dsprite -5, 4, -1, 0, $04, $00
- dsprite -5, 4, 0, 0, $05, $00
- dsprite -4, 4, -1, 0, $00, $00
- dsprite -4, 4, 0, 0, $01, $00
- dsprite -3, 4, -1, 0, $02, $00
- dsprite -3, 4, 0, 0, $03, $00
- dsprite -2, 4, 0, 0, $02, $00
- dsprite -2, 4, 1, 0, $03, $00
- dsprite -1, 4, 0, 0, $0a, $00
- dsprite -1, 4, 1, 0, $0b, $00
-
-.OAMData_3e:
- dsprite 1, 4, -2, 0, $00, $40
- dsprite 1, 4, -1, 0, $02, $40
- dsprite 1, 4, 0, 0, $02, $60
- dsprite 1, 4, 1, 0, $00, $60
- dsprite -1, 4, -3, 0, $09, $20
- dsprite -1, 4, -2, 0, $08, $20
- dsprite -1, 4, -1, 0, $06, $00
- dsprite -1, 4, 0, 0, $07, $00
- dsprite -1, 4, 1, 0, $08, $00
- dsprite -1, 4, 2, 0, $09, $00
- dsprite 0, 4, -3, 0, $01, $20
- dsprite 0, 4, -2, 0, $00, $20
- dsprite 0, 4, -1, 0, $0c, $00
- dsprite 0, 4, 0, 0, $0d, $00
- dsprite 0, 4, 1, 0, $00, $00
- dsprite 0, 4, 2, 0, $01, $00
- dsprite -3, 4, -2, 0, $00, $00
- dsprite -3, 4, -1, 0, $02, $00
- dsprite -3, 4, 0, 0, $02, $20
- dsprite -3, 4, 1, 0, $00, $20
- dsprite -2, 4, -3, 0, $03, $20
- dsprite -2, 4, -2, 0, $02, $20
- dsprite -2, 4, -1, 0, $04, $00
- dsprite -2, 4, 0, 0, $05, $00
- dsprite -2, 4, 1, 0, $02, $00
- dsprite -2, 4, 2, 0, $03, $00
-
-.OAMData_41:
- dsprite -3, 4, -2, 0, $00, $00
- dsprite -3, 4, -1, 0, $02, $00
- dsprite -3, 4, 0, 0, $02, $20
- dsprite -3, 4, 1, 0, $00, $20
- dsprite -2, 4, -3, 4, $00, $00
- dsprite -2, 4, -2, 4, $01, $00
- dsprite -2, 4, -1, 0, $05, $20
- dsprite -2, 4, 0, 0, $04, $20
- dsprite -2, 4, 0, 4, $01, $20
- dsprite -2, 4, 1, 4, $00, $20
- dsprite -1, 4, -3, 4, $02, $00
- dsprite -1, 4, -2, 4, $03, $00
- dsprite -1, 4, -1, 0, $07, $20
- dsprite -1, 4, 0, 0, $06, $20
- dsprite -1, 4, 0, 4, $03, $20
- dsprite -1, 4, 1, 4, $02, $20
- dsprite 0, 4, -3, 4, $04, $00
- dsprite 0, 4, -2, 4, $05, $00
- dsprite 0, 4, -1, 0, $0d, $20
- dsprite 0, 4, 0, 0, $0c, $20
- dsprite 0, 4, 0, 4, $05, $20
- dsprite 0, 4, 1, 4, $04, $20
- dsprite 1, 4, -2, 0, $00, $40
- dsprite 1, 4, -1, 0, $02, $40
- dsprite 1, 4, 0, 0, $02, $60
- dsprite 1, 4, 1, 0, $00, $60
-
-.OAMData_42:
- dsprite -3, 0, -1, 4, $02, $00
- dsprite 2, 0, -1, 4, $02, $60
- dsprite -1, 4, -3, 0, $01, $00
- dsprite -1, 4, 2, 0, $01, $60
- dsprite -4, 0, -1, 4, $02, $00
- dsprite 3, 0, -1, 4, $02, $60
- dsprite -1, 4, -4, 0, $01, $00
- dsprite -1, 4, 3, 0, $01, $60
-
-.OAMData_44:
- dsprite -3, 5, -3, 5, $00, $20
- dsprite -3, 5, 1, 3, $00, $00
- dsprite 1, 3, -3, 5, $00, $60
- dsprite 1, 3, 1, 3, $00, $40
- dsprite -4, 5, -4, 5, $00, $20
- dsprite -4, 5, 2, 3, $00, $00
- dsprite 2, 3, -4, 5, $00, $60
- dsprite 2, 3, 2, 3, $00, $40
-
-.OAMData_46:
- dsprite -3, 4, -1, 4, $02, $00
- dsprite 1, 4, -1, 4, $02, $60
- dsprite -1, 4, -3, 4, $01, $00
- dsprite -1, 4, 1, 4, $01, $60
-
-.OAMData_47:
- dsprite -2, 0, -2, 0, $00, $20
- dsprite -2, 0, 1, 0, $00, $00
- dsprite 1, 0, -2, 0, $00, $60
- dsprite 1, 0, 1, 0, $00, $40
-
-.OAMData_48:
- dsprite -3, 0, -1, 4, $00, $00
- dsprite -2, 0, -1, 2, $00, $00
- dsprite -1, 0, -1, 0, $00, $00
- dsprite 0, 0, -1, 0, $00, $00
- dsprite 1, 0, -1, 2, $00, $00
- dsprite 2, 0, -1, 4, $00, $00
-
-.OAMData_49:
- dsprite -1, 4, -2, 0, $00, $20
- dsprite -1, 2, -1, 0, $00, $20
- dsprite -1, 2, 0, 0, $00, $00
- dsprite -1, 4, 1, 0, $00, $00
-
-.OAMData_4a:
- dsprite -1, 4, -1, 0, $00, $60
- dsprite -1, 4, 0, 0, $00, $40
-
-.OAMData_0f:
- dsprite -1, 4, -1, 4, $00, $00
- dsprite -1, 4, -2, 4, $01, $00
- dsprite -1, 4, -1, 4, $01, $20
- dsprite 0, 4, -2, 4, $01, $40
- dsprite 0, 4, -1, 4, $01, $60
-
-.OAMData_4c:
- dsprite -1, 4, -1, 4, $00, $00
- dsprite 0, 2, -2, 6, $00, $00
- dsprite 0, 2, -3, 6, $01, $00
- dsprite 0, 2, -2, 6, $01, $20
- dsprite 1, 2, -3, 6, $01, $40
- dsprite 1, 2, -2, 6, $01, $60
-
-.OAMData_4d:
- dsprite -1, 4, -1, 4, $00, $00
- dsprite 0, 2, -2, 6, $00, $00
- dsprite 1, 0, -2, 0, $00, $00
- dsprite 1, 0, -3, 0, $01, $00
- dsprite 1, 0, -2, 0, $01, $20
- dsprite 2, 0, -3, 0, $01, $40
- dsprite 2, 0, -2, 0, $01, $60
-
-.OAMData_4f:
- dsprite -1, 4, -1, 4, $00, $00
- dsprite 0, 2, -2, 6, $00, $00
- dsprite 1, 0, -2, 0, $00, $00
- dsprite 1, 6, -3, 2, $00, $00
- dsprite 1, 6, -4, 2, $01, $00
- dsprite 1, 6, -3, 2, $01, $20
- dsprite 2, 6, -4, 2, $01, $40
- dsprite 2, 6, -3, 2, $01, $60
-
-.OAMData_50:
- dsprite -1, 4, -1, 4, $00, $00
- dsprite 0, 2, -2, 6, $00, $00
- dsprite 1, 0, -2, 0, $00, $00
- dsprite 1, 6, -3, 2, $00, $00
- dsprite 2, 4, -4, 4, $00, $00
- dsprite 2, 4, -5, 4, $01, $00
- dsprite 2, 4, -4, 4, $01, $20
- dsprite 3, 4, -5, 4, $01, $40
- dsprite 3, 4, -4, 4, $01, $60
-
-.OAMData_51:
- dsprite -1, 4, -1, 4, $00, $00
- dsprite 0, 2, -2, 6, $00, $00
- dsprite 1, 0, -2, 0, $00, $00
- dsprite 1, 6, -3, 2, $00, $00
- dsprite 2, 4, -4, 4, $00, $00
- dsprite 3, 2, -5, 6, $00, $00
- dsprite 3, 2, -6, 6, $01, $00
- dsprite 3, 2, -5, 6, $01, $20
- dsprite 4, 2, -6, 6, $01, $40
- dsprite 4, 2, -5, 6, $01, $60
-
-.OAMData_59:
- dsprite -1, 4, -2, 0, $00, $00
- dsprite -1, 4, -1, 0, $01, $00
- dsprite -1, 4, 0, 0, $01, $20
- dsprite -1, 4, 1, 0, $00, $20
-
-.OAMData_5a:
- dsprite -1, 4, -2, 0, $02, $00
- dsprite -1, 4, -1, 0, $01, $00
- dsprite -1, 4, 0, 0, $01, $20
- dsprite -1, 4, 1, 0, $02, $20
-
-.OAMData_60:
- dsprite -1, 0, -1, 4, $00, $00
-
-.OAMData_69:
- dsprite 0, 0, -1, 4, $00, $00
-
-.OAMData_61:
- dsprite -1, 4, -4, 4, $00, $00
- dsprite -1, 4, -3, 4, $01, $00
- dsprite -1, 4, -2, 4, $02, $00
- dsprite -1, 4, -1, 4, $03, $00
- dsprite -1, 4, 0, 4, $04, $00
- dsprite -1, 4, 1, 4, $05, $00
- dsprite -1, 4, 2, 4, $06, $00
- dsprite -2, 4, 1, 4, $07, $00
- dsprite -2, 4, 2, 4, $08, $00
-
-.OAMData_65:
- dsprite -2, 4, -4, 4, $08, $20
- dsprite -2, 4, -3, 4, $07, $20
- dsprite -1, 4, -4, 4, $06, $20
- dsprite -1, 4, -3, 4, $05, $20
- dsprite -1, 4, -2, 4, $04, $20
- dsprite -1, 4, -1, 4, $03, $20
- dsprite -1, 4, 0, 4, $02, $20
- dsprite -1, 4, 1, 4, $01, $20
- dsprite -1, 4, 2, 4, $00, $20
-
-.OAMData_d4:
- dsprite 0, 0, -4, 4, $00, $10
- dsprite 0, 0, -3, 4, $01, $10
- dsprite 0, 0, -2, 4, $02, $10
- dsprite 0, 0, -1, 4, $03, $10
- dsprite 0, 0, 0, 4, $04, $10
- dsprite 0, 0, 1, 4, $05, $10
- dsprite 0, 0, 2, 4, $06, $10
-
-.OAMData_d6:
- dsprite -1, 0, -4, 4, $00, $10
- dsprite 0, 0, -4, 4, $01, $10
- dsprite -1, 0, -3, 4, $02, $10
- dsprite 0, 0, -3, 4, $03, $10
- dsprite -1, 0, -2, 4, $04, $10
- dsprite 0, 0, -2, 4, $05, $10
- dsprite -1, 0, -1, 4, $06, $10
- dsprite 0, 0, -1, 4, $07, $10
- dsprite -1, 0, 0, 4, $08, $10
- dsprite 0, 0, 0, 4, $09, $10
- dsprite -1, 0, 1, 4, $0a, $10
- dsprite 0, 0, 1, 4, $0b, $10
- dsprite -1, 0, 2, 4, $0c, $10
- dsprite 0, 0, 2, 4, $0d, $10
-
-.OAMData_d5:
- dsprite 0, 0, -3, 0, $00, $11
- dsprite 0, 0, -2, 0, $01, $11
- dsprite 0, 0, -1, 0, $02, $11
- dsprite 0, 0, 0, 0, $03, $11
- dsprite 0, 0, 1, 0, $04, $11
- dsprite 0, 0, 2, 0, $05, $11
-
-.OAMData_d7:
- dsprite 0, 0, -3, 0, $00, $11
- dsprite 1, 0, -3, 0, $01, $11
- dsprite 0, 0, -2, 0, $02, $11
- dsprite 1, 0, -2, 0, $03, $11
- dsprite 0, 0, -1, 0, $04, $11
- dsprite 1, 0, -1, 0, $05, $11
- dsprite 0, 0, 0, 0, $06, $11
- dsprite 1, 0, 0, 0, $07, $11
- dsprite 0, 0, 1, 0, $08, $11
- dsprite 1, 0, 1, 0, $09, $11
- dsprite 0, 0, 2, 0, $0a, $11
- dsprite 1, 0, 2, 0, $0b, $11
-
-.OAMData_6e:
- dsprite -2, 4, 0, 4, $00, $00
- dsprite -1, 4, -2, 4, $01, $00
- dsprite -1, 4, -1, 4, $02, $00
- dsprite -1, 4, 0, 4, $03, $00
- dsprite 0, 4, -2, 4, $04, $00
-
-.OAMData_6f:
- dsprite -1, 4, -2, 4, $00, $00
- dsprite -1, 4, -1, 4, $01, $00
- dsprite -1, 4, 0, 4, $02, $00
-
-.OAMData_77:
- dsprite -4, 4, 1, 4, $01, $60
-
-.OAMData_78:
- dsprite -4, 4, 1, 4, $00, $00
- dsprite -4, 4, 0, 4, $01, $60
- dsprite -3, 4, 1, 4, $01, $60
-
-.OAMData_79:
- dsprite -4, 4, 1, 4, $01, $00
- dsprite -4, 4, 0, 4, $00, $00
- dsprite -4, 4, -1, 4, $01, $60
- dsprite -3, 4, 1, 4, $00, $00
- dsprite -3, 4, 0, 4, $01, $60
- dsprite -2, 4, 1, 4, $01, $60
-
-.OAMData_7a:
- dsprite -4, 4, -2, 4, $01, $60
- dsprite -4, 4, -1, 4, $00, $00
- dsprite -4, 4, 0, 4, $01, $00
- dsprite -3, 4, -1, 4, $01, $60
- dsprite -3, 4, 0, 4, $00, $00
- dsprite -3, 4, 1, 4, $01, $00
- dsprite -2, 4, 0, 4, $01, $60
- dsprite -2, 4, 1, 4, $00, $00
- dsprite -1, 4, 1, 4, $01, $60
-
-.OAMData_7b:
- dsprite -4, 4, -3, 4, $01, $60
- dsprite -4, 4, -2, 4, $00, $00
- dsprite -4, 4, -1, 4, $01, $00
- dsprite -3, 4, -2, 4, $01, $60
- dsprite -3, 4, -1, 4, $00, $00
- dsprite -3, 4, 0, 4, $01, $00
- dsprite -2, 4, -1, 4, $01, $60
- dsprite -2, 4, 0, 4, $00, $00
- dsprite -2, 4, 1, 4, $01, $00
- dsprite -1, 4, 0, 4, $01, $60
- dsprite -1, 4, 1, 4, $00, $00
- dsprite 0, 4, 1, 4, $01, $60
-
-.OAMData_7c:
- dsprite -4, 4, -3, 4, $00, $00
- dsprite -4, 4, -2, 4, $01, $00
- dsprite -3, 4, -3, 4, $01, $60
- dsprite -3, 4, -2, 4, $00, $00
- dsprite -3, 4, -1, 4, $01, $00
- dsprite -2, 4, -2, 4, $01, $60
- dsprite -2, 4, -1, 4, $00, $00
- dsprite -2, 4, 0, 4, $01, $00
- dsprite -1, 4, -1, 4, $01, $60
- dsprite -1, 4, 0, 4, $00, $00
- dsprite -1, 4, 1, 4, $01, $00
- dsprite 0, 4, 0, 4, $01, $60
- dsprite 0, 4, 1, 4, $00, $00
- dsprite 1, 4, 1, 4, $01, $60
-
-.OAMData_7d:
- dsprite -4, 4, -3, 4, $01, $00
- dsprite -3, 4, -3, 4, $00, $00
- dsprite -3, 4, -2, 4, $01, $00
- dsprite -2, 4, -3, 4, $01, $60
- dsprite -2, 4, -2, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -1, 4, -2, 4, $01, $60
- dsprite -1, 4, -1, 4, $00, $00
- dsprite -1, 4, 0, 4, $01, $00
- dsprite 0, 4, -1, 4, $01, $60
- dsprite 0, 4, 0, 4, $00, $00
- dsprite 0, 4, 1, 4, $01, $00
- dsprite 1, 4, 0, 4, $01, $60
- dsprite 1, 4, 1, 4, $00, $00
- dsprite 2, 4, 1, 4, $01, $60
-
-.OAMData_70:
- dsprite -2, 0, -1, 0, $00, $00
- dsprite -1, 0, -1, 0, $01, $00
- dsprite -2, 0, 0, 0, $00, $20
- dsprite -1, 0, 0, 0, $01, $20
- dsprite 0, 0, -1, 0, $01, $40
- dsprite 1, 0, -1, 0, $00, $40
- dsprite 0, 0, 0, 0, $01, $60
- dsprite 1, 0, 0, 0, $00, $60
-
-.OAMData_81:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $01, $60
- dsprite 0, 0, 0, 0, $00, $60
-
-.OAMData_87:
- dsprite -2, 4, -1, 0, $00, $00
- dsprite -2, 4, 0, 0, $01, $00
- dsprite -1, 4, -1, 0, $02, $00
- dsprite -1, 4, 0, 0, $03, $00
- dsprite -1, 4, -1, 0, $00, $00
- dsprite -1, 4, 0, 0, $01, $00
- dsprite 0, 4, -1, 0, $02, $00
- dsprite 0, 4, 0, 0, $03, $00
- dsprite -3, 4, -1, 0, $00, $00
- dsprite -3, 4, 0, 0, $01, $00
- dsprite -2, 4, -1, 0, $02, $00
- dsprite -2, 4, 0, 0, $03, $00
- dsprite 0, 4, -1, 0, $00, $00
- dsprite 0, 4, 0, 0, $01, $00
- dsprite 1, 4, -1, 0, $02, $00
- dsprite 1, 4, 0, 0, $03, $00
-
-.OAMData_88:
- dsprite -2, 0, -1, 0, $00, $00
- dsprite -2, 0, 0, 0, $01, $00
- dsprite -1, 0, -1, 0, $02, $00
- dsprite -1, 0, 0, 0, $03, $00
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $02, $00
- dsprite 0, 0, 0, 0, $03, $00
- dsprite 0, 0, -1, 0, $00, $00
- dsprite 0, 0, 0, 0, $01, $00
- dsprite 1, 0, -1, 0, $02, $00
- dsprite 1, 0, 0, 0, $03, $00
-
-.OAMData_8a:
- dsprite -1, 4, -1, 4, $00, $00
- dsprite -1, 0, 0, 4, $00, $00
- dsprite -2, 4, 1, 4, $00, $00
- dsprite -2, 0, 2, 4, $00, $00
- dsprite -3, 4, 3, 4, $00, $00
- dsprite -3, 0, 4, 4, $00, $00
- dsprite -4, 0, 5, 4, $00, $00
- dsprite -5, 4, 6, 4, $00, $00
-
-.OAMData_8e:
- dsprite -3, 4, -1, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -1, 4, -1, 4, $02, $00
- dsprite 0, 4, -1, 4, $01, $40
- dsprite 1, 4, -1, 4, $00, $40
-
-.OAMData_8f:
- dsprite -1, 4, -2, 0, $00, $00
- dsprite -1, 4, -1, 0, $01, $00
- dsprite -1, 4, 0, 0, $02, $00
- dsprite -1, 4, 1, 0, $03, $00
-
-.OAMData_93:
- dsprite -1, 0, -2, 4, $00, $00
- dsprite -1, 0, -1, 4, $01, $00
- dsprite -1, 0, 0, 4, $02, $00
- dsprite 0, 0, -2, 4, $03, $00
- dsprite 0, 0, -1, 4, $04, $00
- dsprite 0, 0, 0, 4, $05, $00
-
-.OAMData_99:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $05, $00
- dsprite 0, 0, -1, 0, $01, $00
- dsprite 0, 0, 0, 0, $05, $00
-
-.OAMData_9b:
- dsprite -4, 4, 1, 0, $00, $00
- dsprite -4, 4, 2, 0, $01, $00
- dsprite -3, 4, -1, 0, $02, $00
- dsprite -3, 4, 0, 0, $03, $00
- dsprite -3, 4, 1, 0, $04, $00
- dsprite -3, 4, 2, 0, $05, $00
- dsprite -3, 4, 3, 0, $06, $00
- dsprite -2, 4, -2, 0, $07, $00
- dsprite -2, 4, -1, 0, $08, $00
- dsprite -2, 4, 0, 0, $09, $00
- dsprite -2, 4, 1, 0, $0a, $00
- dsprite -2, 4, 2, 0, $0b, $00
- dsprite -2, 4, 3, 0, $0c, $00
- dsprite -2, 4, 4, 0, $0d, $00
- dsprite -1, 4, -3, 0, $0e, $00
- dsprite -1, 4, -2, 0, $0f, $00
- dsprite -1, 4, -1, 0, $10, $00
- dsprite -1, 4, 0, 0, $11, $00
- dsprite -1, 4, 1, 0, $12, $00
- dsprite -1, 4, 2, 0, $13, $00
- dsprite 0, 4, -5, 0, $14, $00
- dsprite 0, 4, -4, 0, $15, $00
- dsprite 0, 4, -3, 0, $16, $00
- dsprite 0, 4, -2, 0, $17, $00
- dsprite 0, 4, -1, 0, $18, $00
- dsprite 0, 4, 0, 0, $19, $00
- dsprite 0, 4, 1, 0, $1a, $00
- dsprite 0, 4, 2, 0, $1b, $00
- dsprite 0, 4, 3, 0, $1c, $00
- dsprite 1, 4, -5, 0, $1d, $00
- dsprite 1, 4, -4, 0, $1e, $00
- dsprite 1, 4, -2, 0, $1f, $00
- dsprite 1, 4, -1, 0, $20, $00
- dsprite 1, 4, 0, 0, $21, $00
- dsprite 1, 4, 1, 0, $22, $00
- dsprite 2, 4, 0, 0, $23, $00
-
-.OAMData_9c:
- dsprite 0, 4, -1, 0, $02, $00
- dsprite 0, 4, 0, 0, $03, $00
- dsprite -1, 4, -1, 0, $01, $00
- dsprite -1, 4, 0, 0, $01, $20
- dsprite -2, 4, -1, 0, $00, $00
- dsprite -2, 4, 0, 0, $00, $20
-
-.OAMData_9f:
- dsprite -1, 0, -2, 0, $00, $00
- dsprite -1, 0, -1, 0, $01, $00
- dsprite -1, 0, 0, 0, $02, $00
- dsprite -1, 0, 1, 0, $03, $00
- dsprite 0, 0, -2, 0, $04, $00
- dsprite 0, 0, -1, 0, $05, $00
- dsprite 0, 0, 0, 0, $06, $00
- dsprite 0, 0, 1, 0, $07, $00
-
-.OAMData_a0:
- dsprite -2, 4, -1, 4, $00, $00
- dsprite -1, 4, -1, 4, $00, $00
- dsprite 0, 4, -1, 4, $00, $00
- dsprite -3, 4, -1, 4, $00, $00
- dsprite 1, 4, -1, 4, $00, $00
- dsprite -4, 4, -1, 4, $00, $00
- dsprite 2, 4, -1, 4, $00, $00
-
-.OAMData_a4:
- dsprite -2, 4, -2, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -2, 4, 0, 4, $02, $00
- dsprite -1, 4, -2, 4, $03, $00
- dsprite -1, 4, -1, 4, $04, $00
- dsprite -1, 4, 0, 4, $05, $00
- dsprite 0, 4, -2, 4, $00, $40
- dsprite 0, 4, -1, 4, $01, $40
- dsprite 0, 4, 0, 4, $02, $40
-
-.OAMData_ac:
- dsprite -1, 4, -2, 0, $00, $00
- dsprite -1, 4, -1, 0, $01, $00
- dsprite -1, 4, 0, 0, $01, $20
- dsprite -1, 4, 1, 0, $00, $20
-
-.OAMData_bc:
- dsprite -1, 4, -3, 0, $00, $00
- dsprite -1, 4, -2, 0, $01, $00
- dsprite -1, 4, -1, 0, $02, $00
- dsprite -1, 4, 0, 0, $02, $20
- dsprite -1, 4, 1, 0, $01, $20
- dsprite -1, 4, 2, 0, $00, $20
-
-.OAMData_c1:
- dsprite -2, 0, -2, 0, $00, $00
- dsprite -2, 0, -1, 0, $01, $00
- dsprite -2, 0, 0, 0, $02, $00
- dsprite -2, 0, 1, 0, $00, $20
- dsprite -1, 0, -2, 0, $03, $00
- dsprite -1, 0, -1, 0, $04, $00
- dsprite -1, 0, 0, 0, $04, $20
- dsprite -1, 0, 1, 0, $05, $00
- dsprite 0, 0, -2, 0, $05, $60
- dsprite 0, 0, -1, 0, $04, $40
- dsprite 0, 0, 0, 0, $04, $60
- dsprite 0, 0, 1, 0, $03, $60
- dsprite 1, 0, -2, 0, $00, $40
- dsprite 1, 0, -1, 0, $02, $60
- dsprite 1, 0, 0, 0, $01, $60
- dsprite 1, 0, 1, 0, $00, $60
-
-.OAMData_c2:
- dsprite -1, 0, -2, 0, $00, $00
- dsprite -1, 0, -1, 0, $01, $00
- dsprite -1, 0, 0, 0, $00, $60
- dsprite 0, 0, -1, 0, $00, $00
- dsprite 0, 0, 0, 0, $01, $00
- dsprite 0, 0, 1, 0, $00, $60
-
-.OAMData_c8:
- dsprite -1, 0, 1, 4, $00, $00
- dsprite -1, 0, 2, 4, $01, $00
- dsprite 0, 0, -1, 4, $02, $00
- dsprite 0, 0, 0, 4, $03, $00
- dsprite 0, 0, 1, 4, $04, $00
- dsprite 0, 0, 2, 4, $05, $00
-
-.OAMData_ca:
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $60
- dsprite 0, 0, -1, 0, $01, $00
- dsprite 0, 0, 0, 0, $01, $20
-
-.OAMData_cc:
- dsprite -2, 0, -13, 4, $00, $00
- dsprite -4, 0, -11, 4, $00, $00
- dsprite -1, 0, -9, 4, $00, $00
- dsprite -5, 0, -7, 4, $00, $00
- dsprite -3, 0, -5, 4, $00, $00
- dsprite -5, 0, -3, 4, $00, $00
- dsprite -3, 0, -1, 4, $00, $00
- dsprite -3, 0, 0, 4, $00, $00
- dsprite -5, 0, 2, 4, $00, $00
- dsprite 0, 0, 4, 4, $00, $00
- dsprite -2, 0, 6, 4, $00, $00
- dsprite -4, 0, 8, 4, $00, $00
- dsprite -2, 0, 10, 4, $00, $00
-; cfcf6
--- a/data/anims/object_gfx.asm
+++ /dev/null
@@ -1,51 +1,0 @@
-anim_obj_gfx: MACRO
-; # tiles, label
- db \1
- dba \2
-ENDM
-
-AnimObjGFX: ; cfcf6
-; entries correspond to ANIM_GFX_* constants
- anim_obj_gfx 0, AnimObj00GFX
- anim_obj_gfx 21, AnimObjHitGFX
- anim_obj_gfx 6, AnimObjCutGFX
- anim_obj_gfx 6, AnimObjFireGFX
- anim_obj_gfx 20, AnimObjWaterGFX
- anim_obj_gfx 26, AnimObjLightningGFX
- anim_obj_gfx 18, AnimObjPlantGFX
- anim_obj_gfx 12, AnimObjSmokeGFX
- anim_obj_gfx 9, AnimObjExplosionGFX
- anim_obj_gfx 17, AnimObjRocksGFX
- anim_obj_gfx 6, AnimObjIceGFX
- anim_obj_gfx 10, AnimObjPokeBallGFX
- anim_obj_gfx 9, AnimObjPoisonGFX
- anim_obj_gfx 13, AnimObjBubbleGFX
- anim_obj_gfx 16, AnimObjNoiseGFX
- anim_obj_gfx 2, AnimObjPowderGFX
- anim_obj_gfx 11, AnimObjBeamGFX
- anim_obj_gfx 9, AnimObjSpeedGFX
- anim_obj_gfx 9, AnimObjChargeGFX
- anim_obj_gfx 19, AnimObjWindGFX
- anim_obj_gfx 10, AnimObjWhipGFX
- anim_obj_gfx 12, AnimObjEggGFX
- anim_obj_gfx 18, AnimObjRopeGFX
- anim_obj_gfx 13, AnimObjPsychicGFX
- anim_obj_gfx 10, AnimObjReflectGFX
- anim_obj_gfx 27, AnimObjStatusGFX
- anim_obj_gfx 12, AnimObjSandGFX
- anim_obj_gfx 14, AnimObjWebGFX
- anim_obj_gfx 16, AnimObjHazeGFX
- anim_obj_gfx 7, AnimObjHornGFX
- anim_obj_gfx 8, AnimObjFlowerGFX
- anim_obj_gfx 40, AnimObjMiscGFX
- anim_obj_gfx 36, AnimObjSkyAttackGFX
- anim_obj_gfx 16, AnimObjGlobeGFX
- anim_obj_gfx 48, AnimObjShapesGFX
- anim_obj_gfx 18, AnimObjObjectsGFX
- anim_obj_gfx 38, AnimObjShineGFX
- anim_obj_gfx 35, AnimObjAngelsGFX
- anim_obj_gfx 18, AnimObjWaveGFX
- anim_obj_gfx 24, AnimObjAeroblastGFX
- anim_obj_gfx 1, NULL
- anim_obj_gfx 1, NULL
-; cfd9e
--- a/data/anims/objects.asm
+++ /dev/null
@@ -1,209 +1,0 @@
-ABSOLUTE_X EQU $00
-RELATIVE_X EQU $01
-
-battleanimobj: MACRO
- db \1 ; flags
- ; bit 7: priority
- ; bit 6: y flip (for enemy)
- ; bit 5: x flip (for enemy)
- ; bit 0: enable enemy animation coord fixing (x = $b4 - x; see below for y)
- db \2 ; enemy animation y fix param
- ; if $FF: y = y + 5 tiles
- ; else: y = -y - (1 tile) * (is_softboiled_animation)
- db \3 ; video sequence
- db \4 ; callback
- db \5 ; palette
- db \6 ; tile offset
-endm
-
-BattleAnimObjects: ; ccb56
-; entries correspond to ANIM_OBJ_* constants
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_00
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_01
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_02
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_03
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_04
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_05
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A
- battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BEAM
- battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_RAZOR_LEAF
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL_BLOCKED
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_17
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_18
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_19
- battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B
- battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24
- battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25
- battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3A
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3B
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3C
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3D
- battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_GUST
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_3F
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42
- battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49
- battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51
- battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54
- battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE
- battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST
- battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG
- battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60
- battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65
- battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW
- battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C
- battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART
- battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80
- battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83
- battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84
- battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D
- battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99
- battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A
- battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7
- battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB
-; ccfbe
--- /dev/null
+++ b/data/battle_anims/ball_colors.asm
@@ -1,0 +1,16 @@
+; colors of balls thrown in battle
+
+BallColors: ; cd26c (33:526c)
+ db MASTER_BALL, PAL_BATTLE_OB_GREEN
+ db ULTRA_BALL, PAL_BATTLE_OB_YELLOW
+ db GREAT_BALL, PAL_BATTLE_OB_BLUE
+ db POKE_BALL, PAL_BATTLE_OB_RED
+ db HEAVY_BALL, PAL_BATTLE_OB_GRAY
+ db LEVEL_BALL, PAL_BATTLE_OB_BROWN
+ db LURE_BALL, PAL_BATTLE_OB_BLUE
+ db FAST_BALL, PAL_BATTLE_OB_BLUE
+ db FRIEND_BALL, PAL_BATTLE_OB_YELLOW
+ db MOON_BALL, PAL_BATTLE_OB_GRAY
+ db LOVE_BALL, PAL_BATTLE_OB_RED
+ db -1, PAL_BATTLE_OB_GRAY
+; cd284
--- /dev/null
+++ b/data/battle_anims/framesets.asm
@@ -1,0 +1,1270 @@
+BattleAnimFrameData: ; ce85e
+; entries correspond to BATTLEANIMFRAMESET_* constants
+ dw .Frameset_00 ; BATTLEANIMFRAMESET_00
+ dw .Frameset_01 ; BATTLEANIMFRAMESET_01
+ dw .Frameset_02 ; BATTLEANIMFRAMESET_02
+ dw .Frameset_03 ; BATTLEANIMFRAMESET_03
+ dw .Frameset_04 ; BATTLEANIMFRAMESET_04
+ dw .Frameset_05 ; BATTLEANIMFRAMESET_05
+ dw .Frameset_06 ; BATTLEANIMFRAMESET_06
+ dw .Frameset_07 ; BATTLEANIMFRAMESET_07
+ dw .Frameset_08 ; BATTLEANIMFRAMESET_08
+ dw .Frameset_09 ; BATTLEANIMFRAMESET_09
+ dw .Frameset_0a ; BATTLEANIMFRAMESET_0A
+ dw .Frameset_0b ; BATTLEANIMFRAMESET_0B
+ dw .Frameset_0c ; BATTLEANIMFRAMESET_0C
+ dw .Frameset_0d ; BATTLEANIMFRAMESET_0D
+ dw .Frameset_0e ; BATTLEANIMFRAMESET_0E
+ dw .Frameset_0f ; BATTLEANIMFRAMESET_0F
+ dw .Frameset_10 ; BATTLEANIMFRAMESET_10
+ dw .Frameset_11 ; BATTLEANIMFRAMESET_11
+ dw .Frameset_12 ; BATTLEANIMFRAMESET_12
+ dw .Frameset_13 ; BATTLEANIMFRAMESET_13
+ dw .Frameset_14 ; BATTLEANIMFRAMESET_14
+ dw .Frameset_15 ; BATTLEANIMFRAMESET_15
+ dw .Frameset_16 ; BATTLEANIMFRAMESET_16
+ dw .Frameset_17 ; BATTLEANIMFRAMESET_17
+ dw .Frameset_18 ; BATTLEANIMFRAMESET_18
+ dw .Frameset_19 ; BATTLEANIMFRAMESET_19
+ dw .Frameset_1a ; BATTLEANIMFRAMESET_1A
+ dw .Frameset_1b ; BATTLEANIMFRAMESET_1B
+ dw .Frameset_1c ; BATTLEANIMFRAMESET_1C
+ dw .Frameset_1d ; BATTLEANIMFRAMESET_1D
+ dw .Frameset_1e ; BATTLEANIMFRAMESET_1E
+ dw .Frameset_1f ; BATTLEANIMFRAMESET_1F
+ dw .Frameset_20 ; BATTLEANIMFRAMESET_20
+ dw .Frameset_21 ; BATTLEANIMFRAMESET_21
+ dw .Frameset_22 ; BATTLEANIMFRAMESET_22
+ dw .Frameset_23 ; BATTLEANIMFRAMESET_23
+ dw .Frameset_24 ; BATTLEANIMFRAMESET_24
+ dw .Frameset_25 ; BATTLEANIMFRAMESET_25
+ dw .Frameset_26 ; BATTLEANIMFRAMESET_26
+ dw .Frameset_27 ; BATTLEANIMFRAMESET_27
+ dw .Frameset_28 ; BATTLEANIMFRAMESET_28
+ dw .Frameset_29 ; BATTLEANIMFRAMESET_29
+ dw .Frameset_2a ; BATTLEANIMFRAMESET_2A
+ dw .Frameset_2b ; BATTLEANIMFRAMESET_2B
+ dw .Frameset_2c ; BATTLEANIMFRAMESET_2C
+ dw .Frameset_2d ; BATTLEANIMFRAMESET_2D
+ dw .Frameset_2e ; BATTLEANIMFRAMESET_2E
+ dw .Frameset_2f ; BATTLEANIMFRAMESET_2F
+ dw .Frameset_30 ; BATTLEANIMFRAMESET_30
+ dw .Frameset_31 ; BATTLEANIMFRAMESET_31
+ dw .Frameset_32 ; BATTLEANIMFRAMESET_32
+ dw .Frameset_33 ; BATTLEANIMFRAMESET_33
+ dw .Frameset_34 ; BATTLEANIMFRAMESET_34
+ dw .Frameset_35 ; BATTLEANIMFRAMESET_35
+ dw .Frameset_36 ; BATTLEANIMFRAMESET_36
+ dw .Frameset_37 ; BATTLEANIMFRAMESET_37
+ dw .Frameset_38 ; BATTLEANIMFRAMESET_38
+ dw .Frameset_39 ; BATTLEANIMFRAMESET_39
+ dw .Frameset_3a ; BATTLEANIMFRAMESET_3A
+ dw .Frameset_3b ; BATTLEANIMFRAMESET_3B
+ dw .Frameset_3c ; BATTLEANIMFRAMESET_3C
+ dw .Frameset_3d ; BATTLEANIMFRAMESET_3D
+ dw .Frameset_3e ; BATTLEANIMFRAMESET_3E
+ dw .Frameset_3f ; BATTLEANIMFRAMESET_3F
+ dw .Frameset_40 ; BATTLEANIMFRAMESET_40
+ dw .Frameset_41 ; BATTLEANIMFRAMESET_41
+ dw .Frameset_42 ; BATTLEANIMFRAMESET_42
+ dw .Frameset_43 ; BATTLEANIMFRAMESET_43
+ dw .Frameset_44 ; BATTLEANIMFRAMESET_44
+ dw .Frameset_45 ; BATTLEANIMFRAMESET_45
+ dw .Frameset_46 ; BATTLEANIMFRAMESET_46
+ dw .Frameset_47 ; BATTLEANIMFRAMESET_47
+ dw .Frameset_48 ; BATTLEANIMFRAMESET_48
+ dw .Frameset_49 ; BATTLEANIMFRAMESET_49
+ dw .Frameset_4a ; BATTLEANIMFRAMESET_4A
+ dw .Frameset_4b ; BATTLEANIMFRAMESET_4B
+ dw .Frameset_4c ; BATTLEANIMFRAMESET_4C
+ dw .Frameset_4d ; BATTLEANIMFRAMESET_4D
+ dw .Frameset_4e ; BATTLEANIMFRAMESET_4E
+ dw .Frameset_4f ; BATTLEANIMFRAMESET_4F
+ dw .Frameset_50 ; BATTLEANIMFRAMESET_50
+ dw .Frameset_51 ; BATTLEANIMFRAMESET_51
+ dw .Frameset_52 ; BATTLEANIMFRAMESET_52
+ dw .Frameset_53 ; BATTLEANIMFRAMESET_53
+ dw .Frameset_54 ; BATTLEANIMFRAMESET_54
+ dw .Frameset_55 ; BATTLEANIMFRAMESET_55
+ dw .Frameset_56 ; BATTLEANIMFRAMESET_56
+ dw .Frameset_57 ; BATTLEANIMFRAMESET_57
+ dw .Frameset_58 ; BATTLEANIMFRAMESET_58
+ dw .Frameset_59 ; BATTLEANIMFRAMESET_59
+ dw .Frameset_5a ; BATTLEANIMFRAMESET_5A
+ dw .Frameset_5b ; BATTLEANIMFRAMESET_5B
+ dw .Frameset_5c ; BATTLEANIMFRAMESET_5C
+ dw .Frameset_5d ; BATTLEANIMFRAMESET_5D
+ dw .Frameset_5e ; BATTLEANIMFRAMESET_5E
+ dw .Frameset_5f ; BATTLEANIMFRAMESET_5F
+ dw .Frameset_60 ; BATTLEANIMFRAMESET_60
+ dw .Frameset_61 ; BATTLEANIMFRAMESET_61
+ dw .Frameset_62 ; BATTLEANIMFRAMESET_62
+ dw .Frameset_63 ; BATTLEANIMFRAMESET_63
+ dw .Frameset_64 ; BATTLEANIMFRAMESET_64
+ dw .Frameset_65 ; BATTLEANIMFRAMESET_65
+ dw .Frameset_66 ; BATTLEANIMFRAMESET_66
+ dw .Frameset_67 ; BATTLEANIMFRAMESET_67
+ dw .Frameset_68 ; BATTLEANIMFRAMESET_68
+ dw .Frameset_69 ; BATTLEANIMFRAMESET_69
+ dw .Frameset_6a ; BATTLEANIMFRAMESET_6A
+ dw .Frameset_6b ; BATTLEANIMFRAMESET_6B
+ dw .Frameset_6c ; BATTLEANIMFRAMESET_6C
+ dw .Frameset_6d ; BATTLEANIMFRAMESET_6D
+ dw .Frameset_6e ; BATTLEANIMFRAMESET_6E
+ dw .Frameset_6f ; BATTLEANIMFRAMESET_6F
+ dw .Frameset_70 ; BATTLEANIMFRAMESET_70
+ dw .Frameset_71 ; BATTLEANIMFRAMESET_71
+ dw .Frameset_72 ; BATTLEANIMFRAMESET_72
+ dw .Frameset_73 ; BATTLEANIMFRAMESET_73
+ dw .Frameset_74 ; BATTLEANIMFRAMESET_74
+ dw .Frameset_75 ; BATTLEANIMFRAMESET_75
+ dw .Frameset_76 ; BATTLEANIMFRAMESET_76
+ dw .Frameset_77 ; BATTLEANIMFRAMESET_77
+ dw .Frameset_78 ; BATTLEANIMFRAMESET_78
+ dw .Frameset_79 ; BATTLEANIMFRAMESET_79
+ dw .Frameset_7a ; BATTLEANIMFRAMESET_7A
+ dw .Frameset_7b ; BATTLEANIMFRAMESET_7B
+ dw .Frameset_7c ; BATTLEANIMFRAMESET_7C
+ dw .Frameset_7d ; BATTLEANIMFRAMESET_7D
+ dw .Frameset_7e ; BATTLEANIMFRAMESET_7E
+ dw .Frameset_7f ; BATTLEANIMFRAMESET_7F
+ dw .Frameset_80 ; BATTLEANIMFRAMESET_80
+ dw .Frameset_81 ; BATTLEANIMFRAMESET_81
+ dw .Frameset_82 ; BATTLEANIMFRAMESET_82
+ dw .Frameset_83 ; BATTLEANIMFRAMESET_83
+ dw .Frameset_84 ; BATTLEANIMFRAMESET_84
+ dw .Frameset_85 ; BATTLEANIMFRAMESET_85
+ dw .Frameset_86 ; BATTLEANIMFRAMESET_86
+ dw .Frameset_87 ; BATTLEANIMFRAMESET_87
+ dw .Frameset_88 ; BATTLEANIMFRAMESET_88
+ dw .Frameset_89 ; BATTLEANIMFRAMESET_89
+ dw .Frameset_8a ; BATTLEANIMFRAMESET_8A
+ dw .Frameset_8b ; BATTLEANIMFRAMESET_8B
+ dw .Frameset_8c ; BATTLEANIMFRAMESET_8C
+ dw .Frameset_8d ; BATTLEANIMFRAMESET_8D
+ dw .Frameset_8e ; BATTLEANIMFRAMESET_8E
+ dw .Frameset_8f ; BATTLEANIMFRAMESET_8F
+ dw .Frameset_90 ; BATTLEANIMFRAMESET_90
+ dw .Frameset_91 ; BATTLEANIMFRAMESET_91
+ dw .Frameset_92 ; BATTLEANIMFRAMESET_92
+ dw .Frameset_93 ; BATTLEANIMFRAMESET_93
+ dw .Frameset_94 ; BATTLEANIMFRAMESET_94
+ dw .Frameset_95 ; BATTLEANIMFRAMESET_95
+ dw .Frameset_96 ; BATTLEANIMFRAMESET_96
+ dw .Frameset_97 ; BATTLEANIMFRAMESET_97
+ dw .Frameset_98 ; BATTLEANIMFRAMESET_98
+ dw .Frameset_99 ; BATTLEANIMFRAMESET_99
+ dw .Frameset_9a ; BATTLEANIMFRAMESET_9A
+ dw .Frameset_9b ; BATTLEANIMFRAMESET_9B
+ dw .Frameset_9c ; BATTLEANIMFRAMESET_9C
+ dw .Frameset_9d ; BATTLEANIMFRAMESET_9D
+ dw .Frameset_9e ; BATTLEANIMFRAMESET_9E
+ dw .Frameset_9f ; BATTLEANIMFRAMESET_9F
+ dw .Frameset_a0 ; BATTLEANIMFRAMESET_A0
+ dw .Frameset_a1 ; BATTLEANIMFRAMESET_A1
+ dw .Frameset_a2 ; BATTLEANIMFRAMESET_A2
+ dw .Frameset_a3 ; BATTLEANIMFRAMESET_A3
+ dw .Frameset_a4 ; BATTLEANIMFRAMESET_A4
+ dw .Frameset_a5 ; BATTLEANIMFRAMESET_A5
+ dw .Frameset_a6 ; BATTLEANIMFRAMESET_A6
+ dw .Frameset_a7 ; BATTLEANIMFRAMESET_A7
+ dw .Frameset_a8 ; BATTLEANIMFRAMESET_A8
+ dw .Frameset_a9 ; BATTLEANIMFRAMESET_A9
+ dw .Frameset_aa ; BATTLEANIMFRAMESET_AA
+ dw .Frameset_ab ; BATTLEANIMFRAMESET_AB
+ dw .Frameset_ac ; BATTLEANIMFRAMESET_AC
+ dw .Frameset_ad ; BATTLEANIMFRAMESET_AD
+ dw .Frameset_ae ; BATTLEANIMFRAMESET_AE
+ dw .Frameset_af ; BATTLEANIMFRAMESET_AF
+ dw .Frameset_b0 ; BATTLEANIMFRAMESET_B0
+ dw .Frameset_b1 ; BATTLEANIMFRAMESET_B1
+ dw .Frameset_b2 ; BATTLEANIMFRAMESET_B2
+ dw .Frameset_b3 ; BATTLEANIMFRAMESET_B3
+ dw .Frameset_b4 ; BATTLEANIMFRAMESET_B4
+ dw .Frameset_b5 ; BATTLEANIMFRAMESET_B5
+ dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6
+ dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7
+ dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8
+
+.Frameset_00:
+ frame BATTLEANIMOAMSET_00, $06
+ delanim
+
+.Frameset_01:
+ frame BATTLEANIMOAMSET_01, $06
+ delanim
+
+.Frameset_02:
+ frame BATTLEANIMOAMSET_02, $06
+ delanim
+
+.Frameset_03:
+ frame BATTLEANIMOAMSET_03, $06
+ delanim
+
+.Frameset_04:
+ frame BATTLEANIMOAMSET_04, $06
+ delanim
+
+.Frameset_05:
+ frame BATTLEANIMOAMSET_05, $06
+ delanim
+
+.Frameset_06:
+ frame BATTLEANIMOAMSET_06, $06
+ delanim
+
+.Frameset_07:
+ frame BATTLEANIMOAMSET_03, $04
+ frame BATTLEANIMOAMSET_01, $01
+ frame BATTLEANIMOAMSET_03, $04
+ frame BATTLEANIMOAMSET_01, $01
+ frame BATTLEANIMOAMSET_03, $04
+ frame BATTLEANIMOAMSET_01, $01
+ frame BATTLEANIMOAMSET_03, $04
+ frame BATTLEANIMOAMSET_01, $01
+ delanim
+
+.Frameset_3e:
+ frame BATTLEANIMOAMSET_4B, $02
+ frame BATTLEANIMOAMSET_4C, $02
+ frame BATTLEANIMOAMSET_4D, $04
+ frame BATTLEANIMOAMSET_4E, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $02
+ delanim
+
+.Frameset_3f:
+ frame BATTLEANIMOAMSET_4B, $42
+ frame BATTLEANIMOAMSET_4C, $42
+ frame BATTLEANIMOAMSET_4D, $44
+ frame BATTLEANIMOAMSET_4E, $42
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $42
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $42
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $42
+ delanim
+
+.Frameset_40:
+ frame BATTLEANIMOAMSET_4B, $c2
+ frame BATTLEANIMOAMSET_4C, $c2
+ frame BATTLEANIMOAMSET_4D, $c4
+ frame BATTLEANIMOAMSET_4E, $c2
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $c2
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $c2
+ dorepeat 2
+ frame BATTLEANIMOAMSET_4E, $c2
+ delanim
+
+.Frameset_41:
+ frame BATTLEANIMOAMSET_4B, $01
+ frame BATTLEANIMOAMSET_4C, $01
+ frame BATTLEANIMOAMSET_4D, $01
+ frame BATTLEANIMOAMSET_4F, $01
+ frame BATTLEANIMOAMSET_50, $01
+ frame BATTLEANIMOAMSET_51, $01
+ frame BATTLEANIMOAMSET_52, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $02
+ delanim
+
+.Frameset_42:
+ frame BATTLEANIMOAMSET_4B, $41
+ frame BATTLEANIMOAMSET_4C, $41
+ frame BATTLEANIMOAMSET_4D, $41
+ frame BATTLEANIMOAMSET_4F, $41
+ frame BATTLEANIMOAMSET_50, $41
+ frame BATTLEANIMOAMSET_51, $41
+ frame BATTLEANIMOAMSET_52, $42
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $42
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $42
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $42
+ delanim
+
+.Frameset_08:
+ frame BATTLEANIMOAMSET_00, $03
+ frame BATTLEANIMOAMSET_07, $03
+ frame BATTLEANIMOAMSET_08, $03
+ frame BATTLEANIMOAMSET_09, $03
+ delanim
+
+.Frameset_09:
+ frame BATTLEANIMOAMSET_0A, $07
+ frame BATTLEANIMOAMSET_0B, $07
+ frame BATTLEANIMOAMSET_0A, $07
+ frame BATTLEANIMOAMSET_0B, $47
+ dorestart
+
+.Frameset_0a:
+ frame BATTLEANIMOAMSET_0C, $08
+ endanim
+
+.Frameset_0b:
+ frame BATTLEANIMOAMSET_0D, $08
+ endanim
+
+.Frameset_0c:
+ frame BATTLEANIMOAMSET_0A, $08
+ endanim
+
+.Frameset_0d:
+ frame BATTLEANIMOAMSET_0A, $07
+ frame BATTLEANIMOAMSET_0B, $07
+ frame BATTLEANIMOAMSET_0A, $07
+ frame BATTLEANIMOAMSET_0B, $47
+ frame BATTLEANIMOAMSET_0A, $07
+ endanim
+
+.Frameset_0e:
+ frame BATTLEANIMOAMSET_0A, $08
+ endanim
+
+.Frameset_0f:
+ frame BATTLEANIMOAMSET_0A, $04
+ frame BATTLEANIMOAMSET_0E, $04
+ dorestart
+
+.Frameset_10:
+ frame BATTLEANIMOAMSET_0F, $04
+ frame BATTLEANIMOAMSET_10, $04
+ dorestart
+
+.Frameset_11:
+ frame BATTLEANIMOAMSET_10, $04
+ frame BATTLEANIMOAMSET_0F, $04
+ frame BATTLEANIMOAMSET_0E, $04
+ frame BATTLEANIMOAMSET_0A, $04
+ frame BATTLEANIMOAMSET_0E, $04
+ frame BATTLEANIMOAMSET_0A, $04
+ frame BATTLEANIMOAMSET_0E, $04
+ frame BATTLEANIMOAMSET_0A, $04
+ delanim
+
+.Frameset_12:
+ frame BATTLEANIMOAMSET_10, $01
+ frame BATTLEANIMOAMSET_0F, $01
+ frame BATTLEANIMOAMSET_12, $01
+ frame BATTLEANIMOAMSET_11, $01
+ frame BATTLEANIMOAMSET_12, $01
+ frame BATTLEANIMOAMSET_0F, $01
+ dorestart
+
+.Frameset_13:
+ frame BATTLEANIMOAMSET_10, $03
+ frame BATTLEANIMOAMSET_0F, $03
+ frame BATTLEANIMOAMSET_12, $01
+ dorepeat 1
+ frame BATTLEANIMOAMSET_12, $01
+ dorepeat 1
+ frame BATTLEANIMOAMSET_12, $01
+ dorepeat 1
+ frame BATTLEANIMOAMSET_12, $01
+ dorepeat 1
+ frame BATTLEANIMOAMSET_12, $03
+ delanim
+
+.Frameset_14:
+ frame BATTLEANIMOAMSET_13, $14
+ delanim
+
+.Frameset_15:
+ frame BATTLEANIMOAMSET_10, $01
+ frame BATTLEANIMOAMSET_0F, $01
+ dorestart
+
+.Frameset_16:
+ frame BATTLEANIMOAMSET_14, $08
+ endanim
+
+.Frameset_17:
+ frame BATTLEANIMOAMSET_17, $04
+ frame BATTLEANIMOAMSET_16, $08
+ frame BATTLEANIMOAMSET_15, $08
+ frame BATTLEANIMOAMSET_16, $08
+ frame BATTLEANIMOAMSET_17, $04
+ frame BATTLEANIMOAMSET_17, $04
+ frame BATTLEANIMOAMSET_16, $48
+ frame BATTLEANIMOAMSET_15, $48
+ frame BATTLEANIMOAMSET_16, $48
+ frame BATTLEANIMOAMSET_17, $04
+ dorestart
+
+.Frameset_56:
+ frame BATTLEANIMOAMSET_69, $08
+ endanim
+
+.Frameset_57:
+ frame BATTLEANIMOAMSET_69, $20
+ frame BATTLEANIMOAMSET_6A, $04
+ frame BATTLEANIMOAMSET_6B, $04
+ frame BATTLEANIMOAMSET_6D, $04
+ frame BATTLEANIMOAMSET_6C, $04
+ endanim
+
+.Frameset_58:
+ frame BATTLEANIMOAMSET_6C, $08
+ frame BATTLEANIMOAMSET_6D, $08
+ dorestart
+
+.Frameset_18:
+ frame BATTLEANIMOAMSET_18, $04
+ frame BATTLEANIMOAMSET_19, $04
+ frame BATTLEANIMOAMSET_1A, $04
+ delanim
+
+.Frameset_19:
+ frame BATTLEANIMOAMSET_1B, $08
+ endanim
+
+.Frameset_1a:
+ frame BATTLEANIMOAMSET_0F, $08
+ endanim
+
+.Frameset_1b:
+ frame BATTLEANIMOAMSET_1C, $08
+ endanim
+
+.Frameset_1c:
+ frame BATTLEANIMOAMSET_0A, $08
+ delanim
+
+.Frameset_1d:
+ frame BATTLEANIMOAMSET_1D, $08
+ endanim
+
+.Frameset_1e:
+ frame BATTLEANIMOAMSET_17, $08
+ endanim
+
+.Frameset_1f:
+ frame BATTLEANIMOAMSET_0F, $03
+ frame BATTLEANIMOAMSET_10, $03
+ frame BATTLEANIMOAMSET_1E, $03
+ endanim
+
+.Frameset_20:
+ frame BATTLEANIMOAMSET_1F, $10
+ frame BATTLEANIMOAMSET_20, $03
+ delanim
+
+.Frameset_21:
+ frame BATTLEANIMOAMSET_20, $08
+ endanim
+
+.Frameset_22:
+ frame BATTLEANIMOAMSET_20, $08
+ frame BATTLEANIMOAMSET_21, $08
+ frame BATTLEANIMOAMSET_1B, $08
+ frame BATTLEANIMOAMSET_21, $08
+ dorestart
+
+.Frameset_23:
+ frame BATTLEANIMOAMSET_22, $08
+ endanim
+
+.Frameset_24:
+ frame BATTLEANIMOAMSET_1B, $08
+ endanim
+
+.Frameset_25:
+ frame BATTLEANIMOAMSET_23, $08
+ endanim
+
+.Frameset_26:
+ frame BATTLEANIMOAMSET_24, $08
+ endanim
+
+.Frameset_27:
+ frame BATTLEANIMOAMSET_25, $08
+ endanim
+
+.Frameset_28:
+ frame BATTLEANIMOAMSET_26, $08
+ frame BATTLEANIMOAMSET_27, $08
+ endanim
+
+.Frameset_29:
+ frame BATTLEANIMOAMSET_28, $08
+ frame BATTLEANIMOAMSET_29, $08
+ delanim
+
+.Frameset_2a:
+ frame BATTLEANIMOAMSET_2A, $01
+ frame BATTLEANIMOAMSET_2B, $01
+ frame BATTLEANIMOAMSET_2C, $01
+ frame BATTLEANIMOAMSET_2D, $01
+ frame BATTLEANIMOAMSET_2E, $01
+ frame BATTLEANIMOAMSET_2D, $01
+ frame BATTLEANIMOAMSET_2C, $01
+ frame BATTLEANIMOAMSET_2B, $01
+ frame BATTLEANIMOAMSET_2A, $01
+ delanim
+
+.Frameset_2b:
+ frame BATTLEANIMOAMSET_14, $01
+ frame BATTLEANIMOAMSET_15, $01
+ dorestart
+
+.Frameset_2c:
+ frame BATTLEANIMOAMSET_2F, $04
+ frame BATTLEANIMOAMSET_30, $28
+ delanim
+
+.Frameset_2d:
+ frame BATTLEANIMOAMSET_31, $08
+ endanim
+
+.Frameset_2e:
+ frame BATTLEANIMOAMSET_32, $20
+ frame BATTLEANIMOAMSET_33, $20
+ frame BATTLEANIMOAMSET_34, $20
+ frame BATTLEANIMOAMSET_35, $20 ; fallthrough
+.Frameset_2f:
+ dorepeat 2
+ frame BATTLEANIMOAMSET_35, $04
+ dorepeat 2
+ frame BATTLEANIMOAMSET_35, $04
+ dorepeat 2
+ frame BATTLEANIMOAMSET_35, $04
+ dorepeat 2
+ frame BATTLEANIMOAMSET_35, $04
+ delanim
+
+.Frameset_30:
+ frame BATTLEANIMOAMSET_14, $04
+ frame BATTLEANIMOAMSET_15, $04
+ dorestart
+
+.Frameset_31:
+ frame BATTLEANIMOAMSET_36, $02
+ frame BATTLEANIMOAMSET_37, $02
+ frame BATTLEANIMOAMSET_38, $02
+ frame BATTLEANIMOAMSET_39, $20
+ delanim
+
+.Frameset_32:
+ frame BATTLEANIMOAMSET_3A, $02
+ frame BATTLEANIMOAMSET_3B, $02
+ frame BATTLEANIMOAMSET_3C, $02
+ frame BATTLEANIMOAMSET_3D, $20
+ delanim
+
+.Frameset_33:
+ frame BATTLEANIMOAMSET_3A, $42
+ frame BATTLEANIMOAMSET_3B, $42
+ frame BATTLEANIMOAMSET_3C, $42
+ frame BATTLEANIMOAMSET_3D, $60
+ delanim
+
+.Frameset_34:
+ frame BATTLEANIMOAMSET_3E, $08
+ frame BATTLEANIMOAMSET_3F, $08
+ frame BATTLEANIMOAMSET_40, $08
+ endanim
+
+.Frameset_35:
+ frame BATTLEANIMOAMSET_40, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_40, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_41, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_41, $02
+ dorepeat 2
+ dorestart
+
+.Frameset_36:
+ frame BATTLEANIMOAMSET_42, $02
+ frame BATTLEANIMOAMSET_43, $02
+ frame BATTLEANIMOAMSET_44, $02
+ frame BATTLEANIMOAMSET_45, $02
+ dorestart
+
+.Frameset_37:
+ frame BATTLEANIMOAMSET_19, $02
+ dorepeat 2
+ dorestart
+
+.Frameset_38:
+ frame BATTLEANIMOAMSET_46, $04
+ frame BATTLEANIMOAMSET_47, $04
+ dorestart
+
+.Frameset_39:
+ frame BATTLEANIMOAMSET_18, $02
+ dorepeat 2
+ dorestart
+
+.Frameset_3a:
+ frame BATTLEANIMOAMSET_48, $08
+ endanim
+
+.Frameset_3b:
+ frame BATTLEANIMOAMSET_48, $48
+ endanim
+
+.Frameset_3c:
+ frame BATTLEANIMOAMSET_49, $08
+ endanim
+
+.Frameset_3d:
+ frame BATTLEANIMOAMSET_4A, $08
+ endanim
+
+.Frameset_43:
+ frame BATTLEANIMOAMSET_20, $10
+ frame BATTLEANIMOAMSET_1F, $10
+ frame BATTLEANIMOAMSET_1E, $10
+ endanim
+
+.Frameset_4c:
+ frame BATTLEANIMOAMSET_20, $08
+ frame BATTLEANIMOAMSET_1F, $08
+ frame BATTLEANIMOAMSET_1E, $08
+ endanim
+
+.Frameset_44:
+ dorepeat 20
+ frame BATTLEANIMOAMSET_55, $28
+ frame BATTLEANIMOAMSET_54, $28
+ frame BATTLEANIMOAMSET_53, $14
+ dorepeat 4
+ frame BATTLEANIMOAMSET_53, $04
+ dorepeat 4
+ frame BATTLEANIMOAMSET_53, $04
+ dorepeat 4
+ frame BATTLEANIMOAMSET_53, $04
+ delanim
+
+.Frameset_7e:
+ frame BATTLEANIMOAMSET_1E, $08
+ frame BATTLEANIMOAMSET_1F, $08
+ frame BATTLEANIMOAMSET_20, $08
+ delanim
+
+.Frameset_45:
+ dorepeat 0
+ frame BATTLEANIMOAMSET_14, $00
+ frame BATTLEANIMOAMSET_15, $00
+ frame BATTLEANIMOAMSET_14, $40
+ dorepeat 0
+ frame BATTLEANIMOAMSET_16, $40
+ frame BATTLEANIMOAMSET_15, $00
+ frame BATTLEANIMOAMSET_16, $00
+ dorestart
+
+.Frameset_46:
+ frame BATTLEANIMOAMSET_56, $02
+ frame BATTLEANIMOAMSET_57, $04
+ delanim
+
+.Frameset_47:
+ frame BATTLEANIMOAMSET_56, $c2
+ frame BATTLEANIMOAMSET_57, $c4
+ delanim
+
+.Frameset_48:
+ frame BATTLEANIMOAMSET_56, $01
+ frame BATTLEANIMOAMSET_57, $01
+ frame BATTLEANIMOAMSET_58, $01
+ frame BATTLEANIMOAMSET_57, $c1
+ frame BATTLEANIMOAMSET_58, $c1
+ frame BATTLEANIMOAMSET_57, $02
+ delanim
+
+.Frameset_49:
+ frame BATTLEANIMOAMSET_56, $c1
+ frame BATTLEANIMOAMSET_57, $c1
+ frame BATTLEANIMOAMSET_58, $c1
+ frame BATTLEANIMOAMSET_57, $01
+ frame BATTLEANIMOAMSET_58, $01
+ frame BATTLEANIMOAMSET_57, $c2
+ delanim
+
+.Frameset_4a:
+ frame BATTLEANIMOAMSET_57, $c1
+ frame BATTLEANIMOAMSET_58, $c1
+ frame BATTLEANIMOAMSET_57, $01
+ frame BATTLEANIMOAMSET_58, $01
+ dorestart
+
+.Frameset_4b:
+ frame BATTLEANIMOAMSET_59, $01
+ frame BATTLEANIMOAMSET_5A, $01
+ frame BATTLEANIMOAMSET_5B, $01
+ frame BATTLEANIMOAMSET_5C, $02
+ delanim
+
+.Frameset_4d:
+ frame BATTLEANIMOAMSET_0A, $0a
+ frame BATTLEANIMOAMSET_0B, $43
+ frame BATTLEANIMOAMSET_5D, $43
+ frame BATTLEANIMOAMSET_0B, $c3
+ frame BATTLEANIMOAMSET_0A, $82
+ frame BATTLEANIMOAMSET_0B, $81
+ frame BATTLEANIMOAMSET_5D, $01
+ frame BATTLEANIMOAMSET_0B, $01
+ dorestart
+
+.Frameset_4e:
+ frame BATTLEANIMOAMSET_0A, $03
+ frame BATTLEANIMOAMSET_0B, $47
+ frame BATTLEANIMOAMSET_0A, $07
+ frame BATTLEANIMOAMSET_0B, $07
+ frame BATTLEANIMOAMSET_0A, $03
+ dorestart
+
+.Frameset_4f:
+ frame BATTLEANIMOAMSET_5E, $20
+ frame BATTLEANIMOAMSET_5E, $20
+ delanim
+
+.Frameset_50:
+ frame BATTLEANIMOAMSET_5F, $20
+ frame BATTLEANIMOAMSET_5F, $20
+ delanim
+
+.Frameset_51:
+ frame BATTLEANIMOAMSET_60, $08
+ endanim
+
+.Frameset_52:
+ frame BATTLEANIMOAMSET_61, $01
+ frame BATTLEANIMOAMSET_62, $01
+ frame BATTLEANIMOAMSET_63, $01
+ endanim
+
+.Frameset_53:
+ frame BATTLEANIMOAMSET_63, $07
+ frame BATTLEANIMOAMSET_64, $07
+ dorestart
+
+.Frameset_54:
+ frame BATTLEANIMOAMSET_65, $01
+ frame BATTLEANIMOAMSET_66, $01
+ frame BATTLEANIMOAMSET_67, $01
+ endanim
+
+.Frameset_55:
+ frame BATTLEANIMOAMSET_67, $07
+ frame BATTLEANIMOAMSET_68, $07
+ dorestart
+
+.Frameset_59:
+ frame BATTLEANIMOAMSET_6E, $08
+ endanim
+
+.Frameset_5a:
+ frame BATTLEANIMOAMSET_6F, $08
+ endanim
+
+.Frameset_5b:
+ frame BATTLEANIMOAMSET_6E, $88
+ endanim
+
+.Frameset_5c:
+ frame BATTLEANIMOAMSET_18, $04
+ frame BATTLEANIMOAMSET_70, $04
+ frame BATTLEANIMOAMSET_71, $04
+ frame BATTLEANIMOAMSET_72, $04
+ frame BATTLEANIMOAMSET_73, $04
+ delanim
+
+.Frameset_5d:
+ frame BATTLEANIMOAMSET_74, $04
+ frame BATTLEANIMOAMSET_75, $04
+ dorestart
+
+.Frameset_5e:
+ frame BATTLEANIMOAMSET_14, $08
+ endanim
+
+.Frameset_7a:
+ frame BATTLEANIMOAMSET_74, $03
+ frame BATTLEANIMOAMSET_14, $03
+ frame BATTLEANIMOAMSET_15, $03
+ frame BATTLEANIMOAMSET_14, $03
+ frame BATTLEANIMOAMSET_15, $03
+ delanim
+
+.Frameset_af:
+ frame BATTLEANIMOAMSET_14, $00
+ frame BATTLEANIMOAMSET_15, $00
+ frame BATTLEANIMOAMSET_14, $00
+ frame BATTLEANIMOAMSET_15, $00
+ frame BATTLEANIMOAMSET_74, $0c
+ delanim
+
+.Frameset_5f:
+ frame BATTLEANIMOAMSET_76, $08
+ endanim
+
+.Frameset_60:
+ frame BATTLEANIMOAMSET_77, $01
+ frame BATTLEANIMOAMSET_78, $01
+ frame BATTLEANIMOAMSET_79, $01
+ frame BATTLEANIMOAMSET_7A, $01
+ frame BATTLEANIMOAMSET_7B, $01
+ frame BATTLEANIMOAMSET_7C, $01
+ frame BATTLEANIMOAMSET_7D, $01
+ frame BATTLEANIMOAMSET_7C, $c1
+ frame BATTLEANIMOAMSET_7B, $c1
+ frame BATTLEANIMOAMSET_7A, $c1
+ frame BATTLEANIMOAMSET_79, $c1
+ frame BATTLEANIMOAMSET_78, $c1
+ frame BATTLEANIMOAMSET_77, $c1
+ delanim
+
+.Frameset_61:
+ frame BATTLEANIMOAMSET_1B, $04
+ frame BATTLEANIMOAMSET_7E, $04
+ dorestart
+
+.Frameset_62:
+ frame BATTLEANIMOAMSET_1B, $44
+ frame BATTLEANIMOAMSET_7E, $44
+ dorestart
+
+.Frameset_63:
+ frame BATTLEANIMOAMSET_7F, $08
+ endanim
+
+.Frameset_64:
+ frame BATTLEANIMOAMSET_25, $08
+ endanim
+
+.Frameset_65:
+ frame BATTLEANIMOAMSET_80, $08
+ endanim
+
+.Frameset_66:
+ frame BATTLEANIMOAMSET_83, $07
+ frame BATTLEANIMOAMSET_82, $07
+ frame BATTLEANIMOAMSET_81, $07
+ frame BATTLEANIMOAMSET_82, $07
+ frame BATTLEANIMOAMSET_83, $07
+ frame BATTLEANIMOAMSET_82, $07
+ frame BATTLEANIMOAMSET_81, $07
+ delanim
+
+.Frameset_67:
+ frame BATTLEANIMOAMSET_1B, $10
+ delanim
+
+.Frameset_68:
+ dorepeat 15
+ frame BATTLEANIMOAMSET_84, $0f
+ frame BATTLEANIMOAMSET_85, $0f
+ frame BATTLEANIMOAMSET_29, $0f
+ frame BATTLEANIMOAMSET_28, $0f
+ frame BATTLEANIMOAMSET_86, $20
+ delanim
+
+.Frameset_69:
+ frame BATTLEANIMOAMSET_1B, $03
+ frame BATTLEANIMOAMSET_87, $03
+ frame BATTLEANIMOAMSET_88, $03
+ frame BATTLEANIMOAMSET_89, $03
+ delanim
+
+.Frameset_6a:
+ frame BATTLEANIMOAMSET_8A, $02
+ frame BATTLEANIMOAMSET_8B, $02
+ frame BATTLEANIMOAMSET_8C, $02
+ frame BATTLEANIMOAMSET_8D, $02
+ delanim
+
+.Frameset_6b:
+ frame BATTLEANIMOAMSET_61, $02
+ frame BATTLEANIMOAMSET_62, $02
+ frame BATTLEANIMOAMSET_63, $02
+ endanim
+
+.Frameset_6c:
+ frame BATTLEANIMOAMSET_65, $02
+ frame BATTLEANIMOAMSET_66, $02
+ frame BATTLEANIMOAMSET_67, $02
+ endanim
+
+.Frameset_6d:
+ frame BATTLEANIMOAMSET_8E, $08
+ endanim
+
+.Frameset_6e:
+ frame BATTLEANIMOAMSET_8E, $48
+ endanim
+
+.Frameset_6f:
+ frame BATTLEANIMOAMSET_8F, $10
+ frame BATTLEANIMOAMSET_90, $10
+ dorestart
+
+.Frameset_70:
+ frame BATTLEANIMOAMSET_91, $10
+ frame BATTLEANIMOAMSET_92, $10
+ dorestart
+
+.Frameset_71:
+ frame BATTLEANIMOAMSET_93, $08
+ endanim
+
+.Frameset_72:
+ frame BATTLEANIMOAMSET_1E, $08
+ endanim
+
+.Frameset_73:
+ frame BATTLEANIMOAMSET_1B, $07
+ frame BATTLEANIMOAMSET_94, $07
+ dorestart
+
+.Frameset_74:
+ frame BATTLEANIMOAMSET_95, $08
+ endanim
+
+.Frameset_75:
+ frame BATTLEANIMOAMSET_96, $08
+ endanim
+
+.Frameset_76:
+ frame BATTLEANIMOAMSET_95, $08
+ endanim
+
+.Frameset_77:
+ frame BATTLEANIMOAMSET_97, $01
+ frame BATTLEANIMOAMSET_97, $41
+ dorestart
+
+.Frameset_78:
+ frame BATTLEANIMOAMSET_98, $08
+ endanim
+
+.Frameset_79:
+ frame BATTLEANIMOAMSET_99, $20
+ frame BATTLEANIMOAMSET_99, $20
+ frame BATTLEANIMOAMSET_99, $20
+ frame BATTLEANIMOAMSET_99, $20
+ frame BATTLEANIMOAMSET_99, $20
+ frame BATTLEANIMOAMSET_9A, $08
+ endanim
+
+.Frameset_7b:
+ frame BATTLEANIMOAMSET_9B, $08
+ endanim
+
+.Frameset_7c:
+ frame BATTLEANIMOAMSET_9C, $02
+ frame BATTLEANIMOAMSET_9D, $02
+ frame BATTLEANIMOAMSET_9E, $08
+ dorepeat 2
+ frame BATTLEANIMOAMSET_9E, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_9E, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_9E, $02
+ delanim
+
+.Frameset_7d:
+ frame BATTLEANIMOAMSET_9F, $08
+ endanim
+
+.Frameset_7f:
+ frame BATTLEANIMOAMSET_0F, $08
+ endanim
+
+.Frameset_80:
+ frame BATTLEANIMOAMSET_6B, $18
+ delanim
+
+.Frameset_81:
+ frame BATTLEANIMOAMSET_A0, $01 ; fallthrough
+.Frameset_82:
+ frame BATTLEANIMOAMSET_A1, $01 ; fallthrough
+.Frameset_83:
+ frame BATTLEANIMOAMSET_A2, $01
+ delanim
+
+.Frameset_84:
+ frame BATTLEANIMOAMSET_A3, $08
+ endanim
+
+.Frameset_85:
+ frame BATTLEANIMOAMSET_A4, $04
+ frame BATTLEANIMOAMSET_A5, $04
+ frame BATTLEANIMOAMSET_A6, $04
+ frame BATTLEANIMOAMSET_A7, $04
+ frame BATTLEANIMOAMSET_A6, $44
+ frame BATTLEANIMOAMSET_A5, $44
+ dorestart
+
+.Frameset_86:
+ frame BATTLEANIMOAMSET_A8, $04
+ frame BATTLEANIMOAMSET_A9, $04
+ frame BATTLEANIMOAMSET_AA, $04
+ frame BATTLEANIMOAMSET_AB, $04
+ frame BATTLEANIMOAMSET_AA, $44
+ frame BATTLEANIMOAMSET_A9, $44
+ dorestart
+
+.Frameset_87:
+ frame BATTLEANIMOAMSET_1B, $08
+ endanim
+
+.Frameset_88:
+ frame BATTLEANIMOAMSET_AC, $08
+ endanim
+
+.Frameset_89:
+ frame BATTLEANIMOAMSET_AD, $08
+ endanim
+
+.Frameset_8a:
+ frame BATTLEANIMOAMSET_AE, $08
+ endanim
+
+.Frameset_8b:
+ frame BATTLEANIMOAMSET_AF, $08
+ endanim
+
+.Frameset_8c:
+ frame BATTLEANIMOAMSET_B0, $20
+ delanim
+
+.Frameset_8d:
+ frame BATTLEANIMOAMSET_B1, $07
+ frame BATTLEANIMOAMSET_B1, $47
+ dorestart
+
+.Frameset_8e:
+ frame BATTLEANIMOAMSET_B2, $08
+ endanim
+
+.Frameset_8f:
+ frame BATTLEANIMOAMSET_B3, $08
+ endanim
+
+.Frameset_90:
+ frame BATTLEANIMOAMSET_B3, $48
+ endanim
+
+.Frameset_91:
+ frame BATTLEANIMOAMSET_B3, $88
+ endanim
+
+.Frameset_92:
+ frame BATTLEANIMOAMSET_B3, $c8
+ endanim
+
+.Frameset_93:
+ frame BATTLEANIMOAMSET_B5, $08
+ endanim
+
+.Frameset_94:
+ frame BATTLEANIMOAMSET_B5, $48
+ endanim
+
+.Frameset_95:
+ frame BATTLEANIMOAMSET_B5, $88
+ endanim
+
+.Frameset_96:
+ frame BATTLEANIMOAMSET_B5, $c8
+ endanim
+
+.Frameset_97:
+ frame BATTLEANIMOAMSET_B4, $08
+ endanim
+
+.Frameset_98:
+ frame BATTLEANIMOAMSET_6B, $08
+ endanim
+
+.Frameset_99:
+ frame BATTLEANIMOAMSET_B6, $08
+ endanim
+
+.Frameset_9a:
+ frame BATTLEANIMOAMSET_B7, $20
+ endanim
+
+.Frameset_9b:
+ frame BATTLEANIMOAMSET_1B, $20
+ endanim
+
+.Frameset_9c:
+ frame BATTLEANIMOAMSET_B8, $20
+ endanim
+
+.Frameset_9d:
+ frame BATTLEANIMOAMSET_B8, $60
+ endanim
+
+.Frameset_9e:
+ frame BATTLEANIMOAMSET_B9, $20
+ endanim
+
+.Frameset_9f:
+ frame BATTLEANIMOAMSET_BA, $20
+ endanim
+
+.Frameset_a0:
+ frame BATTLEANIMOAMSET_BB, $60
+ endanim
+
+.Frameset_a1:
+ frame BATTLEANIMOAMSET_BB, $20
+ endanim
+
+.Frameset_a2:
+ frame BATTLEANIMOAMSET_BC, $20
+ endanim
+
+.Frameset_a3:
+ frame BATTLEANIMOAMSET_BD, $0b
+ frame BATTLEANIMOAMSET_BE, $0b
+ frame BATTLEANIMOAMSET_1B, $0b
+ delanim
+
+.Frameset_a4:
+ frame BATTLEANIMOAMSET_BF, $04
+ frame BATTLEANIMOAMSET_C0, $04
+ frame BATTLEANIMOAMSET_C1, $04
+ delanim
+
+.Frameset_a5:
+ frame BATTLEANIMOAMSET_C2, $20
+ frame BATTLEANIMOAMSET_C2, $20
+ delanim
+
+.Frameset_a6:
+ frame BATTLEANIMOAMSET_4B, $02
+ frame BATTLEANIMOAMSET_4C, $02
+ frame BATTLEANIMOAMSET_4D, $20
+ frame BATTLEANIMOAMSET_4D, $20
+ frame BATTLEANIMOAMSET_4D, $20
+ frame BATTLEANIMOAMSET_4F, $01
+ frame BATTLEANIMOAMSET_50, $01
+ frame BATTLEANIMOAMSET_51, $01
+ frame BATTLEANIMOAMSET_52, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $02
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $02
+ delanim
+
+.Frameset_a7:
+ frame BATTLEANIMOAMSET_4B, $c2
+ frame BATTLEANIMOAMSET_4C, $c2
+ frame BATTLEANIMOAMSET_4D, $e0
+ frame BATTLEANIMOAMSET_4D, $e0
+ frame BATTLEANIMOAMSET_4D, $e0
+ frame BATTLEANIMOAMSET_4F, $c1
+ frame BATTLEANIMOAMSET_50, $c1
+ frame BATTLEANIMOAMSET_51, $c1
+ frame BATTLEANIMOAMSET_52, $c2
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $c2
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $c2
+ dorepeat 2
+ frame BATTLEANIMOAMSET_52, $c2
+ delanim
+
+.Frameset_a8:
+ frame BATTLEANIMOAMSET_C3, $01
+ frame BATTLEANIMOAMSET_C3, $c1
+ dorestart
+
+.Frameset_a9:
+ frame BATTLEANIMOAMSET_C4, $20
+ endanim
+
+.Frameset_aa:
+ frame BATTLEANIMOAMSET_C5, $04
+ frame BATTLEANIMOAMSET_C6, $04
+ frame BATTLEANIMOAMSET_C7, $04
+ delanim
+
+.Frameset_ab:
+ frame BATTLEANIMOAMSET_C8, $01
+ frame BATTLEANIMOAMSET_C8, $41
+ dorestart
+
+.Frameset_ac:
+ frame BATTLEANIMOAMSET_C9, $03
+ frame BATTLEANIMOAMSET_05, $03
+ delanim
+
+.Frameset_ad:
+ frame BATTLEANIMOAMSET_CA, $20
+ frame BATTLEANIMOAMSET_CB, $03
+ frame BATTLEANIMOAMSET_CA, $03
+ frame BATTLEANIMOAMSET_CB, $03
+ dorestart
+
+.Frameset_ae:
+ frame BATTLEANIMOAMSET_03, $a0
+ endanim
+
+.Frameset_b0:
+ frame BATTLEANIMOAMSET_CC, $20
+ endanim
+
+.Frameset_b1:
+ frame BATTLEANIMOAMSET_7F, $02
+ frame BATTLEANIMOAMSET_25, $02
+ frame BATTLEANIMOAMSET_80, $02
+ frame BATTLEANIMOAMSET_25, $02
+ dorestart
+
+.Frameset_b2:
+ frame BATTLEANIMOAMSET_CD, $04
+ frame BATTLEANIMOAMSET_CE, $04
+ frame BATTLEANIMOAMSET_CD, $c4
+ frame BATTLEANIMOAMSET_CE, $c4
+ dorestart
+
+.Frameset_b3:
+ frame BATTLEANIMOAMSET_CF, $04
+ frame BATTLEANIMOAMSET_D0, $04
+ frame BATTLEANIMOAMSET_D1, $04
+ frame BATTLEANIMOAMSET_D2, $04
+ delanim
+
+.Frameset_b4:
+ frame BATTLEANIMOAMSET_D3, $20
+ endanim
+
+.Frameset_b5:
+ frame BATTLEANIMOAMSET_D4, $08
+ endanim
+
+.Frameset_b6:
+ frame BATTLEANIMOAMSET_D5, $08
+ endanim
+
+.Frameset_b7:
+ frame BATTLEANIMOAMSET_D6, $08
+ endanim
+
+.Frameset_b8:
+ frame BATTLEANIMOAMSET_D7, $08
+ endanim
+
+; ceeae
--- /dev/null
+++ b/data/battle_anims/oam.asm
@@ -1,0 +1,1086 @@
+BattleAnimOAMData: ; ceeae
+; entries correspond to BATTLEANIMOAMSET_* constants
+ ; vtile offset, length, pointer
+ dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00
+ dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01
+ dbbw $08, 4, .OAMData_02 ; BATTLEANIMOAMSET_02
+ dbbw $09, 4, .OAMData_03 ; BATTLEANIMOAMSET_03
+ dbbw $0d, 4, .OAMData_04 ; BATTLEANIMOAMSET_04
+ dbbw $0f, 4, .OAMData_03 ; BATTLEANIMOAMSET_05
+ dbbw $13, 4, .OAMData_04 ; BATTLEANIMOAMSET_06
+ dbbw $04, 16, .OAMData_00 ; BATTLEANIMOAMSET_07
+ dbbw $08, 16, .OAMData_00 ; BATTLEANIMOAMSET_08
+ dbbw $08, 16, .OAMData_09 ; BATTLEANIMOAMSET_09
+ dbbw $00, 4, .OAMData_04 ; BATTLEANIMOAMSET_0A
+ dbbw $02, 4, .OAMData_03 ; BATTLEANIMOAMSET_0B
+ dbbw $06, 2, .OAMData_0c ; BATTLEANIMOAMSET_0C
+ dbbw $07, 2, .OAMData_0c ; BATTLEANIMOAMSET_0D
+ dbbw $02, 4, .OAMData_04 ; BATTLEANIMOAMSET_0E
+ dbbw $04, 1, .OAMData_0f ; BATTLEANIMOAMSET_0F
+ dbbw $05, 1, .OAMData_0f ; BATTLEANIMOAMSET_10
+ dbbw $00, 2, .OAMData_11 ; BATTLEANIMOAMSET_11
+ dbbw $02, 2, .OAMData_11 ; BATTLEANIMOAMSET_12
+ dbbw $00, 4, .OAMData_13 ; BATTLEANIMOAMSET_13
+ dbbw $00, 1, .OAMData_0f ; BATTLEANIMOAMSET_14
+ dbbw $01, 1, .OAMData_0f ; BATTLEANIMOAMSET_15
+ dbbw $02, 1, .OAMData_0f ; BATTLEANIMOAMSET_16
+ dbbw $03, 1, .OAMData_0f ; BATTLEANIMOAMSET_17
+ dbbw $00, 4, .OAMData_02 ; BATTLEANIMOAMSET_18
+ dbbw $01, 16, .OAMData_00 ; BATTLEANIMOAMSET_19
+ dbbw $05, 16, .OAMData_00 ; BATTLEANIMOAMSET_1A
+ dbbw $00, 4, .OAMData_03 ; BATTLEANIMOAMSET_1B
+ dbbw $05, 12, .OAMData_1c ; BATTLEANIMOAMSET_1C
+ dbbw $02, 4, .OAMData_02 ; BATTLEANIMOAMSET_1D
+ dbbw $06, 1, .OAMData_0f ; BATTLEANIMOAMSET_1E
+ dbbw $07, 1, .OAMData_0f ; BATTLEANIMOAMSET_1F
+ dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_20
+ dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_21
+ dbbw $09, 22, .OAMData_22 ; BATTLEANIMOAMSET_22
+ dbbw $04, 2, .OAMData_11 ; BATTLEANIMOAMSET_23
+ dbbw $06, 2, .OAMData_11 ; BATTLEANIMOAMSET_24
+ dbbw $0c, 1, .OAMData_0f ; BATTLEANIMOAMSET_25
+ dbbw $0a, 1, .OAMData_0f ; BATTLEANIMOAMSET_26
+ dbbw $0b, 4, .OAMData_02 ; BATTLEANIMOAMSET_27
+ dbbw $08, 4, .OAMData_04 ; BATTLEANIMOAMSET_28
+ dbbw $06, 4, .OAMData_04 ; BATTLEANIMOAMSET_29
+ dbbw $00, 5, .OAMData_2a ; BATTLEANIMOAMSET_2A
+ dbbw $03, 6, .OAMData_2b ; BATTLEANIMOAMSET_2B
+ dbbw $00, 7, .OAMData_2c ; BATTLEANIMOAMSET_2C
+ dbbw $03, 8, .OAMData_2d ; BATTLEANIMOAMSET_2D
+ dbbw $00, 9, .OAMData_2e ; BATTLEANIMOAMSET_2E
+ dbbw $00, 4, .OAMData_2f ; BATTLEANIMOAMSET_2F
+ dbbw $02, 4, .OAMData_30 ; BATTLEANIMOAMSET_30
+ dbbw $04, 6, .OAMData_31 ; BATTLEANIMOAMSET_31
+ dbbw $00, 2, .OAMData_32 ; BATTLEANIMOAMSET_32
+ dbbw $00, 7, .OAMData_33 ; BATTLEANIMOAMSET_33
+ dbbw $00, 14, .OAMData_32 ; BATTLEANIMOAMSET_34
+ dbbw $00, 21, .OAMData_33 ; BATTLEANIMOAMSET_35
+ dbbw $00, 2, .OAMData_36 ; BATTLEANIMOAMSET_36
+ dbbw $00, 6, .OAMData_36 ; BATTLEANIMOAMSET_37
+ dbbw $00, 10, .OAMData_36 ; BATTLEANIMOAMSET_38
+ dbbw $00, 14, .OAMData_36 ; BATTLEANIMOAMSET_39
+ dbbw $00, 2, .OAMData_3a ; BATTLEANIMOAMSET_3A
+ dbbw $00, 6, .OAMData_3a ; BATTLEANIMOAMSET_3B
+ dbbw $00, 10, .OAMData_3a ; BATTLEANIMOAMSET_3C
+ dbbw $00, 14, .OAMData_3a ; BATTLEANIMOAMSET_3D
+ dbbw $00, 4, .OAMData_3e ; BATTLEANIMOAMSET_3E
+ dbbw $00, 16, .OAMData_3e ; BATTLEANIMOAMSET_3F
+ dbbw $00, 26, .OAMData_3e ; BATTLEANIMOAMSET_40
+ dbbw $00, 26, .OAMData_41 ; BATTLEANIMOAMSET_41
+ dbbw $0e, 4, .OAMData_42 ; BATTLEANIMOAMSET_42
+ dbbw $0e, 8, .OAMData_42 ; BATTLEANIMOAMSET_43
+ dbbw $0e, 4, .OAMData_44 ; BATTLEANIMOAMSET_44
+ dbbw $0e, 8, .OAMData_44 ; BATTLEANIMOAMSET_45
+ dbbw $0e, 4, .OAMData_46 ; BATTLEANIMOAMSET_46
+ dbbw $0e, 4, .OAMData_47 ; BATTLEANIMOAMSET_47
+ dbbw $00, 6, .OAMData_48 ; BATTLEANIMOAMSET_48
+ dbbw $03, 4, .OAMData_49 ; BATTLEANIMOAMSET_49
+ dbbw $03, 2, .OAMData_4a ; BATTLEANIMOAMSET_4A
+ dbbw $01, 5, .OAMData_0f ; BATTLEANIMOAMSET_4B
+ dbbw $01, 6, .OAMData_4c ; BATTLEANIMOAMSET_4C
+ dbbw $01, 7, .OAMData_4d ; BATTLEANIMOAMSET_4D
+ dbbw $01, 3, .OAMData_4d ; BATTLEANIMOAMSET_4E
+ dbbw $01, 8, .OAMData_4f ; BATTLEANIMOAMSET_4F
+ dbbw $01, 9, .OAMData_50 ; BATTLEANIMOAMSET_50
+ dbbw $01, 10, .OAMData_51 ; BATTLEANIMOAMSET_51
+ dbbw $01, 6, .OAMData_51 ; BATTLEANIMOAMSET_52
+ dbbw $00, 9, .OAMData_01 ; BATTLEANIMOAMSET_53
+ dbbw $04, 4, .OAMData_02 ; BATTLEANIMOAMSET_54
+ dbbw $05, 4, .OAMData_02 ; BATTLEANIMOAMSET_55
+ dbbw $00, 2, .OAMData_56 ; BATTLEANIMOAMSET_56
+ dbbw $02, 2, .OAMData_56 ; BATTLEANIMOAMSET_57
+ dbbw $04, 2, .OAMData_56 ; BATTLEANIMOAMSET_58
+ dbbw $02, 4, .OAMData_59 ; BATTLEANIMOAMSET_59
+ dbbw $02, 4, .OAMData_5a ; BATTLEANIMOAMSET_5A
+ dbbw $02, 2, .OAMData_0c ; BATTLEANIMOAMSET_5B
+ dbbw $04, 2, .OAMData_0c ; BATTLEANIMOAMSET_5C
+ dbbw $06, 4, .OAMData_5d ; BATTLEANIMOAMSET_5D
+ dbbw $08, 2, .OAMData_0c ; BATTLEANIMOAMSET_5E
+ dbbw $09, 2, .OAMData_0c ; BATTLEANIMOAMSET_5F
+ dbbw $05, 2, .OAMData_60 ; BATTLEANIMOAMSET_60
+ dbbw $00, 2, .OAMData_61 ; BATTLEANIMOAMSET_61
+ dbbw $00, 5, .OAMData_61 ; BATTLEANIMOAMSET_62
+ dbbw $00, 9, .OAMData_61 ; BATTLEANIMOAMSET_63
+ dbbw $09, 9, .OAMData_61 ; BATTLEANIMOAMSET_64
+ dbbw $00, 4, .OAMData_65 ; BATTLEANIMOAMSET_65
+ dbbw $00, 7, .OAMData_65 ; BATTLEANIMOAMSET_66
+ dbbw $00, 9, .OAMData_65 ; BATTLEANIMOAMSET_67
+ dbbw $09, 9, .OAMData_65 ; BATTLEANIMOAMSET_68
+ dbbw $04, 1, .OAMData_69 ; BATTLEANIMOAMSET_69
+ dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_6A
+ dbbw $06, 4, .OAMData_03 ; BATTLEANIMOAMSET_6B
+ dbbw $0a, 4, .OAMData_03 ; BATTLEANIMOAMSET_6C
+ dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_6D
+ dbbw $08, 5, .OAMData_6e ; BATTLEANIMOAMSET_6E
+ dbbw $0d, 3, .OAMData_6f ; BATTLEANIMOAMSET_6F
+ dbbw $01, 8, .OAMData_70 ; BATTLEANIMOAMSET_70
+ dbbw $03, 8, .OAMData_70 ; BATTLEANIMOAMSET_71
+ dbbw $05, 8, .OAMData_70 ; BATTLEANIMOAMSET_72
+ dbbw $07, 8, .OAMData_70 ; BATTLEANIMOAMSET_73
+ dbbw $06, 4, .OAMData_02 ; BATTLEANIMOAMSET_74
+ dbbw $07, 4, .OAMData_02 ; BATTLEANIMOAMSET_75
+ dbbw $0a, 2, .OAMData_76 ; BATTLEANIMOAMSET_76
+ dbbw $00, 1, .OAMData_77 ; BATTLEANIMOAMSET_77
+ dbbw $00, 3, .OAMData_78 ; BATTLEANIMOAMSET_78
+ dbbw $00, 6, .OAMData_79 ; BATTLEANIMOAMSET_79
+ dbbw $00, 9, .OAMData_7a ; BATTLEANIMOAMSET_7A
+ dbbw $00, 12, .OAMData_7b ; BATTLEANIMOAMSET_7B
+ dbbw $00, 14, .OAMData_7c ; BATTLEANIMOAMSET_7C
+ dbbw $00, 15, .OAMData_7d ; BATTLEANIMOAMSET_7D
+ dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_7E
+ dbbw $08, 4, .OAMData_03 ; BATTLEANIMOAMSET_7F
+ dbbw $0d, 1, .OAMData_0f ; BATTLEANIMOAMSET_80
+ dbbw $0e, 4, .OAMData_81 ; BATTLEANIMOAMSET_81
+ dbbw $10, 1, .OAMData_0f ; BATTLEANIMOAMSET_82
+ dbbw $11, 1, .OAMData_0f ; BATTLEANIMOAMSET_83
+ dbbw $04, 2, .OAMData_6a ; BATTLEANIMOAMSET_84
+ dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_85
+ dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_86
+ dbbw $00, 8, .OAMData_87 ; BATTLEANIMOAMSET_87
+ dbbw $00, 12, .OAMData_88 ; BATTLEANIMOAMSET_88
+ dbbw $00, 16, .OAMData_87 ; BATTLEANIMOAMSET_89
+ dbbw $09, 2, .OAMData_8a ; BATTLEANIMOAMSET_8A
+ dbbw $09, 4, .OAMData_8a ; BATTLEANIMOAMSET_8B
+ dbbw $09, 6, .OAMData_8a ; BATTLEANIMOAMSET_8C
+ dbbw $09, 8, .OAMData_8a ; BATTLEANIMOAMSET_8D
+ dbbw $12, 5, .OAMData_8e ; BATTLEANIMOAMSET_8E
+ dbbw $00, 4, .OAMData_8f ; BATTLEANIMOAMSET_8F
+ dbbw $04, 4, .OAMData_8f ; BATTLEANIMOAMSET_90
+ dbbw $08, 4, .OAMData_8f ; BATTLEANIMOAMSET_91
+ dbbw $0c, 4, .OAMData_8f ; BATTLEANIMOAMSET_92
+ dbbw $00, 6, .OAMData_93 ; BATTLEANIMOAMSET_93
+ dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_94
+ dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_95
+ dbbw $15, 4, .OAMData_30 ; BATTLEANIMOAMSET_96
+ dbbw $04, 4, .OAMData_30 ; BATTLEANIMOAMSET_97
+ dbbw $0c, 4, .OAMData_04 ; BATTLEANIMOAMSET_98
+ dbbw $0a, 4, .OAMData_99 ; BATTLEANIMOAMSET_99
+ dbbw $0c, 4, .OAMData_03 ; BATTLEANIMOAMSET_9A
+ dbbw $00, 36, .OAMData_9b ; BATTLEANIMOAMSET_9B
+ dbbw $0d, 2, .OAMData_9c ; BATTLEANIMOAMSET_9C
+ dbbw $0d, 4, .OAMData_9c ; BATTLEANIMOAMSET_9D
+ dbbw $0d, 6, .OAMData_9c ; BATTLEANIMOAMSET_9E
+ dbbw $02, 8, .OAMData_9f ; BATTLEANIMOAMSET_9F
+ dbbw $08, 7, .OAMData_a0 ; BATTLEANIMOAMSET_A0
+ dbbw $08, 5, .OAMData_a0 ; BATTLEANIMOAMSET_A1
+ dbbw $08, 3, .OAMData_a0 ; BATTLEANIMOAMSET_A2
+ dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_A3
+ dbbw $00, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A4
+ dbbw $06, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A5
+ dbbw $0c, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A6
+ dbbw $12, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A7
+ dbbw $18, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A8
+ dbbw $1e, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A9
+ dbbw $24, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AA
+ dbbw $2a, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AB
+ dbbw $03, 4, .OAMData_ac ; BATTLEANIMOAMSET_AC
+ dbbw $12, 4, .OAMData_03 ; BATTLEANIMOAMSET_AD
+ dbbw $10, 4, .OAMData_04 ; BATTLEANIMOAMSET_AE
+ dbbw $16, 1, .OAMData_0f ; BATTLEANIMOAMSET_AF
+ dbbw $17, 4, .OAMData_02 ; BATTLEANIMOAMSET_B0
+ dbbw $18, 4, .OAMData_03 ; BATTLEANIMOAMSET_B1
+ dbbw $1c, 4, .OAMData_03 ; BATTLEANIMOAMSET_B2
+ dbbw $20, 3, .OAMData_03 ; BATTLEANIMOAMSET_B3
+ dbbw $23, 4, .OAMData_04 ; BATTLEANIMOAMSET_B4
+ dbbw $25, 3, .OAMData_03 ; BATTLEANIMOAMSET_B5
+ dbbw $17, 4, .OAMData_03 ; BATTLEANIMOAMSET_B6
+ dbbw $0a, 16, .OAMData_00 ; BATTLEANIMOAMSET_B7
+ dbbw $10, 16, .OAMData_1c ; BATTLEANIMOAMSET_B8
+ dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_B9
+ dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BA
+ dbbw $08, 2, .OAMData_11 ; BATTLEANIMOAMSET_BB
+ dbbw $20, 6, .OAMData_bc ; BATTLEANIMOAMSET_BC
+ dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_BD
+ dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BE
+ dbbw $1a, 4, .OAMData_30 ; BATTLEANIMOAMSET_BF
+ dbbw $16, 9, .OAMData_01 ; BATTLEANIMOAMSET_C0
+ dbbw $10, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C1
+ dbbw $09, 6, .OAMData_c2 ; BATTLEANIMOAMSET_C2
+ dbbw $11, 9, .OAMData_c3 ; BATTLEANIMOAMSET_C3
+ dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_C4
+ dbbw $0b, 4, .OAMData_30 ; BATTLEANIMOAMSET_C5
+ dbbw $1c, 6, .OAMData_02 ; BATTLEANIMOAMSET_C6
+ dbbw $20, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C7
+ dbbw $05, 6, .OAMData_c8 ; BATTLEANIMOAMSET_C8
+ dbbw $0b, 4, .OAMData_03 ; BATTLEANIMOAMSET_C9
+ dbbw $09, 4, .OAMData_ca ; BATTLEANIMOAMSET_CA
+ dbbw $0b, 4, .OAMData_04 ; BATTLEANIMOAMSET_CB
+ dbbw $11, 13, .OAMData_cc ; BATTLEANIMOAMSET_CC
+ dbbw $00, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CD
+ dbbw $09, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CE
+ dbbw $00, 12, .OAMData_cf ; BATTLEANIMOAMSET_CF
+ dbbw $06, 12, .OAMData_cf ; BATTLEANIMOAMSET_D0
+ dbbw $0c, 12, .OAMData_cf ; BATTLEANIMOAMSET_D1
+ dbbw $12, 12, .OAMData_cf ; BATTLEANIMOAMSET_D2
+ dbbw $00, 13, .OAMData_cc ; BATTLEANIMOAMSET_D3
+ dbbw $00, 7, .OAMData_d4 ; BATTLEANIMOAMSET_D4
+ dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5
+ dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6
+ dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7
+
+.OAMData_11:
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite 0, 0, -1, 4, $01, $00
+
+.OAMData_56:
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $01, $00
+
+.OAMData_03:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
+
+.OAMData_02:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_c3:
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 4, $04, $00
+ dsprite -1, 4, 0, 4, $05, $00
+ dsprite 0, 4, -2, 4, $06, $00
+ dsprite 0, 4, -1, 4, $07, $00
+ dsprite 0, 4, 0, 4, $08, $00
+
+.OAMData_01:
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $00, $20
+ dsprite -1, 4, -2, 4, $02, $00
+ dsprite -1, 4, -1, 4, $03, $00
+ dsprite -1, 4, 0, 4, $02, $60
+ dsprite 0, 4, -2, 4, $00, $40
+ dsprite 0, 4, -1, 4, $01, $60
+ dsprite 0, 4, 0, 4, $00, $60
+
+.OAMData_cf:
+ dsprite -2, 0, -2, 4, $00, $00
+ dsprite -2, 0, -1, 4, $01, $00
+ dsprite -2, 0, 0, 4, $02, $00
+ dsprite -1, 0, -2, 4, $03, $00
+ dsprite -1, 0, -1, 4, $04, $00
+ dsprite -1, 0, 0, 4, $05, $00
+ dsprite 0, 0, -2, 4, $05, $60
+ dsprite 0, 0, -1, 4, $04, $60
+ dsprite 0, 0, 0, 4, $03, $60
+ dsprite 1, 0, -2, 4, $02, $60
+ dsprite 1, 0, -1, 4, $01, $60
+ dsprite 1, 0, 0, 4, $00, $60
+
+.OAMData_1c:
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $03, $00
+ dsprite -1, 0, -2, 0, $04, $00
+ dsprite -1, 0, -1, 0, $05, $00
+ dsprite -1, 0, 0, 0, $06, $00
+ dsprite -1, 0, 1, 0, $07, $00
+ dsprite 0, 0, -2, 0, $08, $00
+ dsprite 0, 0, -1, 0, $09, $00
+ dsprite 0, 0, 0, 0, $0a, $00
+ dsprite 0, 0, 1, 0, $0b, $00
+ dsprite 1, 0, -2, 0, $0c, $00
+ dsprite 1, 0, -1, 0, $0d, $00
+ dsprite 1, 0, 0, 0, $0e, $00
+ dsprite 1, 0, 1, 0, $0f, $00
+
+.OAMData_00:
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, 0, 0, $01, $20
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, 0, 0, $03, $20
+ dsprite -1, 0, 1, 0, $02, $20
+ dsprite 0, 0, -2, 0, $02, $40
+ dsprite 0, 0, -1, 0, $03, $40
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $01, $40
+ dsprite 0, 0, 0, 0, $03, $60
+ dsprite 0, 0, 1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
+
+.OAMData_09:
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -3, 4, -2, 4, $01, $00
+ dsprite -2, 4, -3, 4, $02, $00
+ dsprite -2, 4, -2, 4, $03, $00
+ dsprite -3, 4, 0, 4, $01, $20
+ dsprite -3, 4, 1, 4, $00, $20
+ dsprite -2, 4, 0, 4, $03, $20
+ dsprite -2, 4, 1, 4, $02, $20
+ dsprite 0, 4, -3, 4, $02, $40
+ dsprite 0, 4, -2, 4, $03, $40
+ dsprite 1, 4, -3, 4, $00, $40
+ dsprite 1, 4, -2, 4, $01, $40
+ dsprite 0, 4, 0, 4, $03, $60
+ dsprite 0, 4, 1, 4, $02, $60
+ dsprite 1, 4, 0, 4, $01, $60
+ dsprite 1, 4, 1, 4, $00, $60
+
+.OAMData_0c:
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $00, $20
+
+.OAMData_6a:
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $00, $20
+
+.OAMData_04:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
+
+.OAMData_5d:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $01, $40
+
+.OAMData_13:
+ dsprite -1, 2, -1, 0, $02, $00
+ dsprite 0, 2, -1, 0, $03, $00
+ dsprite -2, 6, 0, 0, $02, $00
+ dsprite -1, 6, 0, 0, $03, $00
+
+.OAMData_22:
+ dsprite 1, 0, -11, 0, $01, $00
+ dsprite 0, 0, -10, 0, $02, $00
+ dsprite 0, 0, -9, 0, $03, $00
+ dsprite 0, 0, -8, 0, $00, $00
+ dsprite 0, 0, -7, 0, $03, $00
+ dsprite 0, 0, -6, 0, $00, $00
+ dsprite 0, 0, -5, 0, $03, $00
+ dsprite 0, 0, -4, 0, $00, $00
+ dsprite 0, 0, -3, 0, $03, $00
+ dsprite 0, 0, -2, 0, $00, $00
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+ dsprite -1, 0, 1, 0, $03, $00
+ dsprite -1, 0, 2, 0, $00, $00
+ dsprite -1, 0, 3, 0, $03, $00
+ dsprite -1, 0, 4, 0, $00, $00
+ dsprite -1, 0, 5, 0, $03, $00
+ dsprite -1, 0, 6, 0, $00, $00
+ dsprite -1, 0, 7, 0, $03, $00
+ dsprite -1, 0, 8, 0, $00, $00
+ dsprite -1, 0, 9, 0, $01, $00
+ dsprite -2, 0, 10, 0, $02, $00
+
+.OAMData_2a:
+ dsprite -3, 4, -1, 0, $00, $00
+ dsprite -3, 4, 0, 0, $00, $20
+ dsprite -2, 4, -1, 0, $01, $00
+ dsprite -2, 4, 0, 0, $01, $20
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2b:
+ dsprite -4, 4, -1, 0, $00, $00
+ dsprite -4, 4, 0, 0, $00, $20
+ dsprite -3, 4, -1, 0, $01, $00
+ dsprite -3, 4, 0, 0, $01, $20
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2c:
+ dsprite -5, 4, -1, 0, $00, $00
+ dsprite -5, 4, 0, 0, $00, $20
+ dsprite -4, 4, -1, 0, $01, $00
+ dsprite -4, 4, 0, 0, $01, $20
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2d:
+ dsprite -6, 4, -1, 0, $00, $00
+ dsprite -6, 4, 0, 0, $00, $20
+ dsprite -5, 4, -1, 0, $01, $00
+ dsprite -5, 4, 0, 0, $01, $20
+ dsprite -4, 4, -1, 4, $02, $00
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2e:
+ dsprite -7, 4, -1, 0, $00, $00
+ dsprite -7, 4, 0, 0, $00, $20
+ dsprite -6, 4, -1, 0, $01, $00
+ dsprite -6, 4, 0, 0, $01, $20
+ dsprite -5, 4, -1, 4, $02, $00
+ dsprite -4, 4, -1, 4, $02, $00
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite -2, 4, -1, 4, $02, $00
+ dsprite -1, 4, -1, 4, $02, $00
+
+.OAMData_2f:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_30:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $01, $60
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_31:
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $03, $00
+ dsprite 0, 4, -1, 0, $04, $00
+ dsprite 0, 4, 0, 0, $05, $00
+
+.OAMData_76:
+ dsprite -1, 5, -1, 0, $00, $00
+ dsprite -1, 1, 0, 0, $00, $00
+
+.OAMData_32:
+ dsprite -1, 0, -2, 4, $00, $00
+ dsprite -1, 0, 0, 4, $00, $00
+ dsprite -3, 0, -2, 4, $00, $00
+ dsprite -3, 0, 0, 4, $00, $00
+ dsprite -2, 0, -3, 4, $00, $00
+ dsprite -2, 0, -2, 4, $01, $00
+ dsprite -2, 0, -1, 4, $00, $00
+ dsprite -2, 0, 0, 4, $01, $00
+ dsprite -2, 0, 1, 4, $00, $00
+ dsprite -1, 0, -4, 4, $00, $00
+ dsprite -1, 0, -3, 4, $01, $00
+ dsprite -1, 0, -1, 4, $01, $00
+ dsprite -1, 0, 1, 4, $01, $00
+ dsprite -1, 0, 2, 4, $00, $00
+
+.OAMData_33:
+ dsprite -2, 0, -2, 4, $00, $00
+ dsprite -2, 0, 0, 4, $00, $00
+ dsprite -1, 0, -3, 4, $00, $00
+ dsprite -1, 0, -2, 4, $01, $00
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite -1, 0, 0, 4, $01, $00
+ dsprite -1, 0, 1, 4, $00, $00
+ dsprite -4, 0, -2, 4, $00, $00
+ dsprite -4, 0, 0, 4, $00, $00
+ dsprite -3, 0, -3, 4, $00, $00
+ dsprite -3, 0, -2, 4, $01, $00
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -3, 0, 0, 4, $01, $00
+ dsprite -3, 0, 1, 4, $00, $00
+ dsprite -2, 0, -4, 4, $00, $00
+ dsprite -2, 0, -3, 4, $01, $00
+ dsprite -2, 0, -1, 4, $01, $00
+ dsprite -2, 0, 1, 4, $01, $00
+ dsprite -2, 0, 2, 4, $00, $00
+ dsprite -1, 0, -4, 4, $01, $00
+ dsprite -1, 0, 2, 4, $01, $00
+
+.OAMData_36:
+ dsprite -7, 4, -1, 0, $00, $00
+ dsprite -7, 4, 0, 0, $01, $00
+ dsprite -6, 4, -1, 0, $02, $00
+ dsprite -6, 4, 0, 0, $03, $00
+ dsprite -5, 4, -1, 0, $04, $00
+ dsprite -5, 4, 0, 0, $05, $00
+ dsprite -4, 4, -1, 0, $06, $00
+ dsprite -4, 4, 0, 0, $07, $00
+ dsprite -3, 4, -1, 0, $08, $00
+ dsprite -3, 4, 0, 0, $09, $00
+ dsprite -2, 4, -1, 0, $0a, $00
+ dsprite -2, 4, 0, 0, $0b, $00
+ dsprite -1, 4, -1, 0, $0c, $00
+ dsprite -1, 4, 0, 0, $0d, $00
+
+.OAMData_3a:
+ dsprite -7, 4, -1, 0, $0c, $00
+ dsprite -7, 4, 0, 0, $0d, $00
+ dsprite -6, 4, -1, 0, $08, $00
+ dsprite -6, 4, 0, 0, $09, $00
+ dsprite -5, 4, -1, 0, $04, $00
+ dsprite -5, 4, 0, 0, $05, $00
+ dsprite -4, 4, -1, 0, $00, $00
+ dsprite -4, 4, 0, 0, $01, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $03, $00
+ dsprite -2, 4, 0, 0, $02, $00
+ dsprite -2, 4, 1, 0, $03, $00
+ dsprite -1, 4, 0, 0, $0a, $00
+ dsprite -1, 4, 1, 0, $0b, $00
+
+.OAMData_3e:
+ dsprite 1, 4, -2, 0, $00, $40
+ dsprite 1, 4, -1, 0, $02, $40
+ dsprite 1, 4, 0, 0, $02, $60
+ dsprite 1, 4, 1, 0, $00, $60
+ dsprite -1, 4, -3, 0, $09, $20
+ dsprite -1, 4, -2, 0, $08, $20
+ dsprite -1, 4, -1, 0, $06, $00
+ dsprite -1, 4, 0, 0, $07, $00
+ dsprite -1, 4, 1, 0, $08, $00
+ dsprite -1, 4, 2, 0, $09, $00
+ dsprite 0, 4, -3, 0, $01, $20
+ dsprite 0, 4, -2, 0, $00, $20
+ dsprite 0, 4, -1, 0, $0c, $00
+ dsprite 0, 4, 0, 0, $0d, $00
+ dsprite 0, 4, 1, 0, $00, $00
+ dsprite 0, 4, 2, 0, $01, $00
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $02, $20
+ dsprite -3, 4, 1, 0, $00, $20
+ dsprite -2, 4, -3, 0, $03, $20
+ dsprite -2, 4, -2, 0, $02, $20
+ dsprite -2, 4, -1, 0, $04, $00
+ dsprite -2, 4, 0, 0, $05, $00
+ dsprite -2, 4, 1, 0, $02, $00
+ dsprite -2, 4, 2, 0, $03, $00
+
+.OAMData_41:
+ dsprite -3, 4, -2, 0, $00, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $02, $20
+ dsprite -3, 4, 1, 0, $00, $20
+ dsprite -2, 4, -3, 4, $00, $00
+ dsprite -2, 4, -2, 4, $01, $00
+ dsprite -2, 4, -1, 0, $05, $20
+ dsprite -2, 4, 0, 0, $04, $20
+ dsprite -2, 4, 0, 4, $01, $20
+ dsprite -2, 4, 1, 4, $00, $20
+ dsprite -1, 4, -3, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 0, $07, $20
+ dsprite -1, 4, 0, 0, $06, $20
+ dsprite -1, 4, 0, 4, $03, $20
+ dsprite -1, 4, 1, 4, $02, $20
+ dsprite 0, 4, -3, 4, $04, $00
+ dsprite 0, 4, -2, 4, $05, $00
+ dsprite 0, 4, -1, 0, $0d, $20
+ dsprite 0, 4, 0, 0, $0c, $20
+ dsprite 0, 4, 0, 4, $05, $20
+ dsprite 0, 4, 1, 4, $04, $20
+ dsprite 1, 4, -2, 0, $00, $40
+ dsprite 1, 4, -1, 0, $02, $40
+ dsprite 1, 4, 0, 0, $02, $60
+ dsprite 1, 4, 1, 0, $00, $60
+
+.OAMData_42:
+ dsprite -3, 0, -1, 4, $02, $00
+ dsprite 2, 0, -1, 4, $02, $60
+ dsprite -1, 4, -3, 0, $01, $00
+ dsprite -1, 4, 2, 0, $01, $60
+ dsprite -4, 0, -1, 4, $02, $00
+ dsprite 3, 0, -1, 4, $02, $60
+ dsprite -1, 4, -4, 0, $01, $00
+ dsprite -1, 4, 3, 0, $01, $60
+
+.OAMData_44:
+ dsprite -3, 5, -3, 5, $00, $20
+ dsprite -3, 5, 1, 3, $00, $00
+ dsprite 1, 3, -3, 5, $00, $60
+ dsprite 1, 3, 1, 3, $00, $40
+ dsprite -4, 5, -4, 5, $00, $20
+ dsprite -4, 5, 2, 3, $00, $00
+ dsprite 2, 3, -4, 5, $00, $60
+ dsprite 2, 3, 2, 3, $00, $40
+
+.OAMData_46:
+ dsprite -3, 4, -1, 4, $02, $00
+ dsprite 1, 4, -1, 4, $02, $60
+ dsprite -1, 4, -3, 4, $01, $00
+ dsprite -1, 4, 1, 4, $01, $60
+
+.OAMData_47:
+ dsprite -2, 0, -2, 0, $00, $20
+ dsprite -2, 0, 1, 0, $00, $00
+ dsprite 1, 0, -2, 0, $00, $60
+ dsprite 1, 0, 1, 0, $00, $40
+
+.OAMData_48:
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -2, 0, -1, 2, $00, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 1, 0, -1, 2, $00, $00
+ dsprite 2, 0, -1, 4, $00, $00
+
+.OAMData_49:
+ dsprite -1, 4, -2, 0, $00, $20
+ dsprite -1, 2, -1, 0, $00, $20
+ dsprite -1, 2, 0, 0, $00, $00
+ dsprite -1, 4, 1, 0, $00, $00
+
+.OAMData_4a:
+ dsprite -1, 4, -1, 0, $00, $60
+ dsprite -1, 4, 0, 0, $00, $40
+
+.OAMData_0f:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, -2, 4, $01, $00
+ dsprite -1, 4, -1, 4, $01, $20
+ dsprite 0, 4, -2, 4, $01, $40
+ dsprite 0, 4, -1, 4, $01, $60
+
+.OAMData_4c:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 0, 2, -3, 6, $01, $00
+ dsprite 0, 2, -2, 6, $01, $20
+ dsprite 1, 2, -3, 6, $01, $40
+ dsprite 1, 2, -2, 6, $01, $60
+
+.OAMData_4d:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 0, -3, 0, $01, $00
+ dsprite 1, 0, -2, 0, $01, $20
+ dsprite 2, 0, -3, 0, $01, $40
+ dsprite 2, 0, -2, 0, $01, $60
+
+.OAMData_4f:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 1, 6, -4, 2, $01, $00
+ dsprite 1, 6, -3, 2, $01, $20
+ dsprite 2, 6, -4, 2, $01, $40
+ dsprite 2, 6, -3, 2, $01, $60
+
+.OAMData_50:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 2, 4, -4, 4, $00, $00
+ dsprite 2, 4, -5, 4, $01, $00
+ dsprite 2, 4, -4, 4, $01, $20
+ dsprite 3, 4, -5, 4, $01, $40
+ dsprite 3, 4, -4, 4, $01, $60
+
+.OAMData_51:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 2, -2, 6, $00, $00
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 1, 6, -3, 2, $00, $00
+ dsprite 2, 4, -4, 4, $00, $00
+ dsprite 3, 2, -5, 6, $00, $00
+ dsprite 3, 2, -6, 6, $01, $00
+ dsprite 3, 2, -5, 6, $01, $20
+ dsprite 4, 2, -6, 6, $01, $40
+ dsprite 4, 2, -5, 6, $01, $60
+
+.OAMData_59:
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $00, $20
+
+.OAMData_5a:
+ dsprite -1, 4, -2, 0, $02, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $02, $20
+
+.OAMData_60:
+ dsprite -1, 0, -1, 4, $00, $00
+
+.OAMData_69:
+ dsprite 0, 0, -1, 4, $00, $00
+
+.OAMData_61:
+ dsprite -1, 4, -4, 4, $00, $00
+ dsprite -1, 4, -3, 4, $01, $00
+ dsprite -1, 4, -2, 4, $02, $00
+ dsprite -1, 4, -1, 4, $03, $00
+ dsprite -1, 4, 0, 4, $04, $00
+ dsprite -1, 4, 1, 4, $05, $00
+ dsprite -1, 4, 2, 4, $06, $00
+ dsprite -2, 4, 1, 4, $07, $00
+ dsprite -2, 4, 2, 4, $08, $00
+
+.OAMData_65:
+ dsprite -2, 4, -4, 4, $08, $20
+ dsprite -2, 4, -3, 4, $07, $20
+ dsprite -1, 4, -4, 4, $06, $20
+ dsprite -1, 4, -3, 4, $05, $20
+ dsprite -1, 4, -2, 4, $04, $20
+ dsprite -1, 4, -1, 4, $03, $20
+ dsprite -1, 4, 0, 4, $02, $20
+ dsprite -1, 4, 1, 4, $01, $20
+ dsprite -1, 4, 2, 4, $00, $20
+
+.OAMData_d4:
+ dsprite 0, 0, -4, 4, $00, $10
+ dsprite 0, 0, -3, 4, $01, $10
+ dsprite 0, 0, -2, 4, $02, $10
+ dsprite 0, 0, -1, 4, $03, $10
+ dsprite 0, 0, 0, 4, $04, $10
+ dsprite 0, 0, 1, 4, $05, $10
+ dsprite 0, 0, 2, 4, $06, $10
+
+.OAMData_d6:
+ dsprite -1, 0, -4, 4, $00, $10
+ dsprite 0, 0, -4, 4, $01, $10
+ dsprite -1, 0, -3, 4, $02, $10
+ dsprite 0, 0, -3, 4, $03, $10
+ dsprite -1, 0, -2, 4, $04, $10
+ dsprite 0, 0, -2, 4, $05, $10
+ dsprite -1, 0, -1, 4, $06, $10
+ dsprite 0, 0, -1, 4, $07, $10
+ dsprite -1, 0, 0, 4, $08, $10
+ dsprite 0, 0, 0, 4, $09, $10
+ dsprite -1, 0, 1, 4, $0a, $10
+ dsprite 0, 0, 1, 4, $0b, $10
+ dsprite -1, 0, 2, 4, $0c, $10
+ dsprite 0, 0, 2, 4, $0d, $10
+
+.OAMData_d5:
+ dsprite 0, 0, -3, 0, $00, $11
+ dsprite 0, 0, -2, 0, $01, $11
+ dsprite 0, 0, -1, 0, $02, $11
+ dsprite 0, 0, 0, 0, $03, $11
+ dsprite 0, 0, 1, 0, $04, $11
+ dsprite 0, 0, 2, 0, $05, $11
+
+.OAMData_d7:
+ dsprite 0, 0, -3, 0, $00, $11
+ dsprite 1, 0, -3, 0, $01, $11
+ dsprite 0, 0, -2, 0, $02, $11
+ dsprite 1, 0, -2, 0, $03, $11
+ dsprite 0, 0, -1, 0, $04, $11
+ dsprite 1, 0, -1, 0, $05, $11
+ dsprite 0, 0, 0, 0, $06, $11
+ dsprite 1, 0, 0, 0, $07, $11
+ dsprite 0, 0, 1, 0, $08, $11
+ dsprite 1, 0, 1, 0, $09, $11
+ dsprite 0, 0, 2, 0, $0a, $11
+ dsprite 1, 0, 2, 0, $0b, $11
+
+.OAMData_6e:
+ dsprite -2, 4, 0, 4, $00, $00
+ dsprite -1, 4, -2, 4, $01, $00
+ dsprite -1, 4, -1, 4, $02, $00
+ dsprite -1, 4, 0, 4, $03, $00
+ dsprite 0, 4, -2, 4, $04, $00
+
+.OAMData_6f:
+ dsprite -1, 4, -2, 4, $00, $00
+ dsprite -1, 4, -1, 4, $01, $00
+ dsprite -1, 4, 0, 4, $02, $00
+
+.OAMData_77:
+ dsprite -4, 4, 1, 4, $01, $60
+
+.OAMData_78:
+ dsprite -4, 4, 1, 4, $00, $00
+ dsprite -4, 4, 0, 4, $01, $60
+ dsprite -3, 4, 1, 4, $01, $60
+
+.OAMData_79:
+ dsprite -4, 4, 1, 4, $01, $00
+ dsprite -4, 4, 0, 4, $00, $00
+ dsprite -4, 4, -1, 4, $01, $60
+ dsprite -3, 4, 1, 4, $00, $00
+ dsprite -3, 4, 0, 4, $01, $60
+ dsprite -2, 4, 1, 4, $01, $60
+
+.OAMData_7a:
+ dsprite -4, 4, -2, 4, $01, $60
+ dsprite -4, 4, -1, 4, $00, $00
+ dsprite -4, 4, 0, 4, $01, $00
+ dsprite -3, 4, -1, 4, $01, $60
+ dsprite -3, 4, 0, 4, $00, $00
+ dsprite -3, 4, 1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $01, $60
+ dsprite -2, 4, 1, 4, $00, $00
+ dsprite -1, 4, 1, 4, $01, $60
+
+.OAMData_7b:
+ dsprite -4, 4, -3, 4, $01, $60
+ dsprite -4, 4, -2, 4, $00, $00
+ dsprite -4, 4, -1, 4, $01, $00
+ dsprite -3, 4, -2, 4, $01, $60
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite -3, 4, 0, 4, $01, $00
+ dsprite -2, 4, -1, 4, $01, $60
+ dsprite -2, 4, 0, 4, $00, $00
+ dsprite -2, 4, 1, 4, $01, $00
+ dsprite -1, 4, 0, 4, $01, $60
+ dsprite -1, 4, 1, 4, $00, $00
+ dsprite 0, 4, 1, 4, $01, $60
+
+.OAMData_7c:
+ dsprite -4, 4, -3, 4, $00, $00
+ dsprite -4, 4, -2, 4, $01, $00
+ dsprite -3, 4, -3, 4, $01, $60
+ dsprite -3, 4, -2, 4, $00, $00
+ dsprite -3, 4, -1, 4, $01, $00
+ dsprite -2, 4, -2, 4, $01, $60
+ dsprite -2, 4, -1, 4, $00, $00
+ dsprite -2, 4, 0, 4, $01, $00
+ dsprite -1, 4, -1, 4, $01, $60
+ dsprite -1, 4, 0, 4, $00, $00
+ dsprite -1, 4, 1, 4, $01, $00
+ dsprite 0, 4, 0, 4, $01, $60
+ dsprite 0, 4, 1, 4, $00, $00
+ dsprite 1, 4, 1, 4, $01, $60
+
+.OAMData_7d:
+ dsprite -4, 4, -3, 4, $01, $00
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -3, 4, -2, 4, $01, $00
+ dsprite -2, 4, -3, 4, $01, $60
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -1, 4, -2, 4, $01, $60
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, 0, 4, $01, $00
+ dsprite 0, 4, -1, 4, $01, $60
+ dsprite 0, 4, 0, 4, $00, $00
+ dsprite 0, 4, 1, 4, $01, $00
+ dsprite 1, 4, 0, 4, $01, $60
+ dsprite 1, 4, 1, 4, $00, $00
+ dsprite 2, 4, 1, 4, $01, $60
+
+.OAMData_70:
+ dsprite -2, 0, -1, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $00, $20
+ dsprite -1, 0, 0, 0, $01, $20
+ dsprite 0, 0, -1, 0, $01, $40
+ dsprite 1, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $01, $60
+ dsprite 1, 0, 0, 0, $00, $60
+
+.OAMData_81:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $01, $60
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_87:
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $03, $00
+ dsprite -1, 4, -1, 0, $00, $00
+ dsprite -1, 4, 0, 0, $01, $00
+ dsprite 0, 4, -1, 0, $02, $00
+ dsprite 0, 4, 0, 0, $03, $00
+ dsprite -3, 4, -1, 0, $00, $00
+ dsprite -3, 4, 0, 0, $01, $00
+ dsprite -2, 4, -1, 0, $02, $00
+ dsprite -2, 4, 0, 0, $03, $00
+ dsprite 0, 4, -1, 0, $00, $00
+ dsprite 0, 4, 0, 0, $01, $00
+ dsprite 1, 4, -1, 0, $02, $00
+ dsprite 1, 4, 0, 0, $03, $00
+
+.OAMData_88:
+ dsprite -2, 0, -1, 0, $00, $00
+ dsprite -2, 0, 0, 0, $01, $00
+ dsprite -1, 0, -1, 0, $02, $00
+ dsprite -1, 0, 0, 0, $03, $00
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $02, $00
+ dsprite 0, 0, 0, 0, $03, $00
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $01, $00
+ dsprite 1, 0, -1, 0, $02, $00
+ dsprite 1, 0, 0, 0, $03, $00
+
+.OAMData_8a:
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 0, 0, 4, $00, $00
+ dsprite -2, 4, 1, 4, $00, $00
+ dsprite -2, 0, 2, 4, $00, $00
+ dsprite -3, 4, 3, 4, $00, $00
+ dsprite -3, 0, 4, 4, $00, $00
+ dsprite -4, 0, 5, 4, $00, $00
+ dsprite -5, 4, 6, 4, $00, $00
+
+.OAMData_8e:
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -1, 4, -1, 4, $02, $00
+ dsprite 0, 4, -1, 4, $01, $40
+ dsprite 1, 4, -1, 4, $00, $40
+
+.OAMData_8f:
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $02, $00
+ dsprite -1, 4, 1, 0, $03, $00
+
+.OAMData_93:
+ dsprite -1, 0, -2, 4, $00, $00
+ dsprite -1, 0, -1, 4, $01, $00
+ dsprite -1, 0, 0, 4, $02, $00
+ dsprite 0, 0, -2, 4, $03, $00
+ dsprite 0, 0, -1, 4, $04, $00
+ dsprite 0, 0, 0, 4, $05, $00
+
+.OAMData_99:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $05, $00
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $05, $00
+
+.OAMData_9b:
+ dsprite -4, 4, 1, 0, $00, $00
+ dsprite -4, 4, 2, 0, $01, $00
+ dsprite -3, 4, -1, 0, $02, $00
+ dsprite -3, 4, 0, 0, $03, $00
+ dsprite -3, 4, 1, 0, $04, $00
+ dsprite -3, 4, 2, 0, $05, $00
+ dsprite -3, 4, 3, 0, $06, $00
+ dsprite -2, 4, -2, 0, $07, $00
+ dsprite -2, 4, -1, 0, $08, $00
+ dsprite -2, 4, 0, 0, $09, $00
+ dsprite -2, 4, 1, 0, $0a, $00
+ dsprite -2, 4, 2, 0, $0b, $00
+ dsprite -2, 4, 3, 0, $0c, $00
+ dsprite -2, 4, 4, 0, $0d, $00
+ dsprite -1, 4, -3, 0, $0e, $00
+ dsprite -1, 4, -2, 0, $0f, $00
+ dsprite -1, 4, -1, 0, $10, $00
+ dsprite -1, 4, 0, 0, $11, $00
+ dsprite -1, 4, 1, 0, $12, $00
+ dsprite -1, 4, 2, 0, $13, $00
+ dsprite 0, 4, -5, 0, $14, $00
+ dsprite 0, 4, -4, 0, $15, $00
+ dsprite 0, 4, -3, 0, $16, $00
+ dsprite 0, 4, -2, 0, $17, $00
+ dsprite 0, 4, -1, 0, $18, $00
+ dsprite 0, 4, 0, 0, $19, $00
+ dsprite 0, 4, 1, 0, $1a, $00
+ dsprite 0, 4, 2, 0, $1b, $00
+ dsprite 0, 4, 3, 0, $1c, $00
+ dsprite 1, 4, -5, 0, $1d, $00
+ dsprite 1, 4, -4, 0, $1e, $00
+ dsprite 1, 4, -2, 0, $1f, $00
+ dsprite 1, 4, -1, 0, $20, $00
+ dsprite 1, 4, 0, 0, $21, $00
+ dsprite 1, 4, 1, 0, $22, $00
+ dsprite 2, 4, 0, 0, $23, $00
+
+.OAMData_9c:
+ dsprite 0, 4, -1, 0, $02, $00
+ dsprite 0, 4, 0, 0, $03, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -2, 4, -1, 0, $00, $00
+ dsprite -2, 4, 0, 0, $00, $20
+
+.OAMData_9f:
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+ dsprite -1, 0, 1, 0, $03, $00
+ dsprite 0, 0, -2, 0, $04, $00
+ dsprite 0, 0, -1, 0, $05, $00
+ dsprite 0, 0, 0, 0, $06, $00
+ dsprite 0, 0, 1, 0, $07, $00
+
+.OAMData_a0:
+ dsprite -2, 4, -1, 4, $00, $00
+ dsprite -1, 4, -1, 4, $00, $00
+ dsprite 0, 4, -1, 4, $00, $00
+ dsprite -3, 4, -1, 4, $00, $00
+ dsprite 1, 4, -1, 4, $00, $00
+ dsprite -4, 4, -1, 4, $00, $00
+ dsprite 2, 4, -1, 4, $00, $00
+
+.OAMData_a4:
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $03, $00
+ dsprite -1, 4, -1, 4, $04, $00
+ dsprite -1, 4, 0, 4, $05, $00
+ dsprite 0, 4, -2, 4, $00, $40
+ dsprite 0, 4, -1, 4, $01, $40
+ dsprite 0, 4, 0, 4, $02, $40
+
+.OAMData_ac:
+ dsprite -1, 4, -2, 0, $00, $00
+ dsprite -1, 4, -1, 0, $01, $00
+ dsprite -1, 4, 0, 0, $01, $20
+ dsprite -1, 4, 1, 0, $00, $20
+
+.OAMData_bc:
+ dsprite -1, 4, -3, 0, $00, $00
+ dsprite -1, 4, -2, 0, $01, $00
+ dsprite -1, 4, -1, 0, $02, $00
+ dsprite -1, 4, 0, 0, $02, $20
+ dsprite -1, 4, 1, 0, $01, $20
+ dsprite -1, 4, 2, 0, $00, $20
+
+.OAMData_c1:
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $00, $20
+ dsprite -1, 0, -2, 0, $03, $00
+ dsprite -1, 0, -1, 0, $04, $00
+ dsprite -1, 0, 0, 0, $04, $20
+ dsprite -1, 0, 1, 0, $05, $00
+ dsprite 0, 0, -2, 0, $05, $60
+ dsprite 0, 0, -1, 0, $04, $40
+ dsprite 0, 0, 0, 0, $04, $60
+ dsprite 0, 0, 1, 0, $03, $60
+ dsprite 1, 0, -2, 0, $00, $40
+ dsprite 1, 0, -1, 0, $02, $60
+ dsprite 1, 0, 0, 0, $01, $60
+ dsprite 1, 0, 1, 0, $00, $60
+
+.OAMData_c2:
+ dsprite -1, 0, -2, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $00, $60
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite 0, 0, 0, 0, $01, $00
+ dsprite 0, 0, 1, 0, $00, $60
+
+.OAMData_c8:
+ dsprite -1, 0, 1, 4, $00, $00
+ dsprite -1, 0, 2, 4, $01, $00
+ dsprite 0, 0, -1, 4, $02, $00
+ dsprite 0, 0, 0, 4, $03, $00
+ dsprite 0, 0, 1, 4, $04, $00
+ dsprite 0, 0, 2, 4, $05, $00
+
+.OAMData_ca:
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $60
+ dsprite 0, 0, -1, 0, $01, $00
+ dsprite 0, 0, 0, 0, $01, $20
+
+.OAMData_cc:
+ dsprite -2, 0, -13, 4, $00, $00
+ dsprite -4, 0, -11, 4, $00, $00
+ dsprite -1, 0, -9, 4, $00, $00
+ dsprite -5, 0, -7, 4, $00, $00
+ dsprite -3, 0, -5, 4, $00, $00
+ dsprite -5, 0, -3, 4, $00, $00
+ dsprite -3, 0, -1, 4, $00, $00
+ dsprite -3, 0, 0, 4, $00, $00
+ dsprite -5, 0, 2, 4, $00, $00
+ dsprite 0, 0, 4, 4, $00, $00
+ dsprite -2, 0, 6, 4, $00, $00
+ dsprite -4, 0, 8, 4, $00, $00
+ dsprite -2, 0, 10, 4, $00, $00
+; cfcf6
--- /dev/null
+++ b/data/battle_anims/object_gfx.asm
@@ -1,0 +1,51 @@
+anim_obj_gfx: MACRO
+; # tiles, label
+ db \1
+ dba \2
+ENDM
+
+AnimObjGFX: ; cfcf6
+; entries correspond to ANIM_GFX_* constants
+ anim_obj_gfx 0, AnimObj00GFX
+ anim_obj_gfx 21, AnimObjHitGFX
+ anim_obj_gfx 6, AnimObjCutGFX
+ anim_obj_gfx 6, AnimObjFireGFX
+ anim_obj_gfx 20, AnimObjWaterGFX
+ anim_obj_gfx 26, AnimObjLightningGFX
+ anim_obj_gfx 18, AnimObjPlantGFX
+ anim_obj_gfx 12, AnimObjSmokeGFX
+ anim_obj_gfx 9, AnimObjExplosionGFX
+ anim_obj_gfx 17, AnimObjRocksGFX
+ anim_obj_gfx 6, AnimObjIceGFX
+ anim_obj_gfx 10, AnimObjPokeBallGFX
+ anim_obj_gfx 9, AnimObjPoisonGFX
+ anim_obj_gfx 13, AnimObjBubbleGFX
+ anim_obj_gfx 16, AnimObjNoiseGFX
+ anim_obj_gfx 2, AnimObjPowderGFX
+ anim_obj_gfx 11, AnimObjBeamGFX
+ anim_obj_gfx 9, AnimObjSpeedGFX
+ anim_obj_gfx 9, AnimObjChargeGFX
+ anim_obj_gfx 19, AnimObjWindGFX
+ anim_obj_gfx 10, AnimObjWhipGFX
+ anim_obj_gfx 12, AnimObjEggGFX
+ anim_obj_gfx 18, AnimObjRopeGFX
+ anim_obj_gfx 13, AnimObjPsychicGFX
+ anim_obj_gfx 10, AnimObjReflectGFX
+ anim_obj_gfx 27, AnimObjStatusGFX
+ anim_obj_gfx 12, AnimObjSandGFX
+ anim_obj_gfx 14, AnimObjWebGFX
+ anim_obj_gfx 16, AnimObjHazeGFX
+ anim_obj_gfx 7, AnimObjHornGFX
+ anim_obj_gfx 8, AnimObjFlowerGFX
+ anim_obj_gfx 40, AnimObjMiscGFX
+ anim_obj_gfx 36, AnimObjSkyAttackGFX
+ anim_obj_gfx 16, AnimObjGlobeGFX
+ anim_obj_gfx 48, AnimObjShapesGFX
+ anim_obj_gfx 18, AnimObjObjectsGFX
+ anim_obj_gfx 38, AnimObjShineGFX
+ anim_obj_gfx 35, AnimObjAngelsGFX
+ anim_obj_gfx 18, AnimObjWaveGFX
+ anim_obj_gfx 24, AnimObjAeroblastGFX
+ anim_obj_gfx 1, NULL
+ anim_obj_gfx 1, NULL
+; cfd9e
--- /dev/null
+++ b/data/battle_anims/objects.asm
@@ -1,0 +1,209 @@
+ABSOLUTE_X EQU $00
+RELATIVE_X EQU $01
+
+battleanimobj: MACRO
+ db \1 ; flags
+ ; bit 7: priority
+ ; bit 6: y flip (for enemy)
+ ; bit 5: x flip (for enemy)
+ ; bit 0: enable enemy animation coord fixing (x = $b4 - x; see below for y)
+ db \2 ; enemy animation y fix param
+ ; if $FF: y = y + 5 tiles
+ ; else: y = -y - (1 tile) * (is_softboiled_animation)
+ db \3 ; video sequence
+ db \4 ; callback
+ db \5 ; palette
+ db \6 ; tile offset
+endm
+
+BattleAnimObjects: ; ccb56
+; entries correspond to ANIM_OBJ_* constants
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_00
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_01
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_02
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_03
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_04
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_05
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A
+ battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BEAM
+ battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_RAZOR_LEAF
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL_BLOCKED
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_17
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_18
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_19
+ battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B
+ battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24
+ battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25
+ battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3A
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3B
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3C
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3D
+ battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_GUST
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_3F
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42
+ battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49
+ battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51
+ battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54
+ battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE
+ battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST
+ battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG
+ battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60
+ battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65
+ battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW
+ battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C
+ battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART
+ battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80
+ battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83
+ battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84
+ battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D
+ battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99
+ battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A
+ battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7
+ battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB
+; ccfbe
--- /dev/null
+++ b/data/icon_pointers.asm
@@ -1,0 +1,41 @@
+IconPointers:
+; entries correspond to ICON_* constants
+ dw NullIcon
+ dw PoliwagIcon
+ dw JigglypuffIcon
+ dw DiglettIcon
+ dw PikachuIcon
+ dw StaryuIcon
+ dw FishIcon
+ dw BirdIcon
+ dw MonsterIcon
+ dw ClefairyIcon
+ dw OddishIcon
+ dw BugIcon
+ dw GhostIcon
+ dw LaprasIcon
+ dw HumanshapeIcon
+ dw FoxIcon
+ dw EquineIcon
+ dw ShellIcon
+ dw BlobIcon
+ dw SerpentIcon
+ dw VoltorbIcon
+ dw SquirtleIcon
+ dw BulbasaurIcon
+ dw CharmanderIcon
+ dw CaterpillarIcon
+ dw UnownIcon
+ dw GeodudeIcon
+ dw FighterIcon
+ dw EggIcon
+ dw JellyfishIcon
+ dw MothIcon
+ dw BatIcon
+ dw SnorlaxIcon
+ dw HoOhIcon
+ dw LugiaIcon
+ dw GyaradosIcon
+ dw SlowpokeIcon
+ dw SudowoodoIcon
+ dw BigmonIcon
--- /dev/null
+++ b/data/palettes/pokemon_palettes.asm
@@ -1,0 +1,541 @@
+PokemonPalettes: ; a8ce
+
+; 000
+ RGB 30, 22, 17
+ RGB 16, 14, 19
+; 000 shiny
+ RGB 30, 22, 17
+ RGB 16, 14, 19
+
+INCLUDE "gfx/pokemon/bulbasaur/normal.pal"
+INCLUDE "gfx/pokemon/bulbasaur/shiny.pal"
+INCLUDE "gfx/pokemon/ivysaur/normal.pal"
+INCLUDE "gfx/pokemon/ivysaur/shiny.pal"
+INCLUDE "gfx/pokemon/venusaur/normal.pal"
+INCLUDE "gfx/pokemon/venusaur/shiny.pal"
+INCLUDE "gfx/pokemon/charmander/normal.pal"
+INCLUDE "gfx/pokemon/charmander/shiny.pal"
+INCLUDE "gfx/pokemon/charmeleon/normal.pal"
+INCLUDE "gfx/pokemon/charmeleon/shiny.pal"
+INCLUDE "gfx/pokemon/charizard/normal.pal"
+INCLUDE "gfx/pokemon/charizard/shiny.pal"
+INCLUDE "gfx/pokemon/squirtle/normal.pal"
+INCLUDE "gfx/pokemon/squirtle/shiny.pal"
+INCLUDE "gfx/pokemon/wartortle/normal.pal"
+INCLUDE "gfx/pokemon/wartortle/shiny.pal"
+INCLUDE "gfx/pokemon/blastoise/normal.pal"
+INCLUDE "gfx/pokemon/blastoise/shiny.pal"
+INCLUDE "gfx/pokemon/caterpie/normal.pal"
+INCLUDE "gfx/pokemon/caterpie/shiny.pal"
+INCLUDE "gfx/pokemon/metapod/normal.pal"
+INCLUDE "gfx/pokemon/metapod/shiny.pal"
+INCLUDE "gfx/pokemon/butterfree/normal.pal"
+INCLUDE "gfx/pokemon/butterfree/shiny.pal"
+INCLUDE "gfx/pokemon/weedle/normal.pal"
+INCLUDE "gfx/pokemon/weedle/shiny.pal"
+INCLUDE "gfx/pokemon/kakuna/normal.pal"
+INCLUDE "gfx/pokemon/kakuna/shiny.pal"
+INCLUDE "gfx/pokemon/beedrill/normal.pal"
+INCLUDE "gfx/pokemon/beedrill/shiny.pal"
+INCLUDE "gfx/pokemon/pidgey/normal.pal"
+INCLUDE "gfx/pokemon/pidgey/shiny.pal"
+INCLUDE "gfx/pokemon/pidgeotto/normal.pal"
+INCLUDE "gfx/pokemon/pidgeotto/shiny.pal"
+INCLUDE "gfx/pokemon/pidgeot/normal.pal"
+INCLUDE "gfx/pokemon/pidgeot/shiny.pal"
+INCLUDE "gfx/pokemon/rattata/normal.pal"
+INCLUDE "gfx/pokemon/rattata/shiny.pal"
+INCLUDE "gfx/pokemon/raticate/normal.pal"
+INCLUDE "gfx/pokemon/raticate/shiny.pal"
+INCLUDE "gfx/pokemon/spearow/normal.pal"
+INCLUDE "gfx/pokemon/spearow/shiny.pal"
+INCLUDE "gfx/pokemon/fearow/normal.pal"
+INCLUDE "gfx/pokemon/fearow/shiny.pal"
+INCLUDE "gfx/pokemon/ekans/normal.pal"
+INCLUDE "gfx/pokemon/ekans/shiny.pal"
+INCLUDE "gfx/pokemon/arbok/normal.pal"
+INCLUDE "gfx/pokemon/arbok/shiny.pal"
+INCLUDE "gfx/pokemon/pikachu/normal.pal"
+INCLUDE "gfx/pokemon/pikachu/shiny.pal"
+INCLUDE "gfx/pokemon/raichu/normal.pal"
+INCLUDE "gfx/pokemon/raichu/shiny.pal"
+INCLUDE "gfx/pokemon/sandshrew/normal.pal"
+INCLUDE "gfx/pokemon/sandshrew/shiny.pal"
+INCLUDE "gfx/pokemon/sandslash/normal.pal"
+INCLUDE "gfx/pokemon/sandslash/shiny.pal"
+INCLUDE "gfx/pokemon/nidoran_f/normal.pal"
+INCLUDE "gfx/pokemon/nidoran_f/shiny.pal"
+INCLUDE "gfx/pokemon/nidorina/normal.pal"
+INCLUDE "gfx/pokemon/nidorina/shiny.pal"
+INCLUDE "gfx/pokemon/nidoqueen/normal.pal"
+INCLUDE "gfx/pokemon/nidoqueen/shiny.pal"
+INCLUDE "gfx/pokemon/nidoran_m/normal.pal"
+INCLUDE "gfx/pokemon/nidoran_m/shiny.pal"
+INCLUDE "gfx/pokemon/nidorino/normal.pal"
+INCLUDE "gfx/pokemon/nidorino/shiny.pal"
+INCLUDE "gfx/pokemon/nidoking/normal.pal"
+INCLUDE "gfx/pokemon/nidoking/shiny.pal"
+INCLUDE "gfx/pokemon/clefairy/normal.pal"
+INCLUDE "gfx/pokemon/clefairy/shiny.pal"
+INCLUDE "gfx/pokemon/clefable/normal.pal"
+INCLUDE "gfx/pokemon/clefable/shiny.pal"
+INCLUDE "gfx/pokemon/vulpix/normal.pal"
+INCLUDE "gfx/pokemon/vulpix/shiny.pal"
+INCLUDE "gfx/pokemon/ninetales/normal.pal"
+INCLUDE "gfx/pokemon/ninetales/shiny.pal"
+INCLUDE "gfx/pokemon/jigglypuff/normal.pal"
+INCLUDE "gfx/pokemon/jigglypuff/shiny.pal"
+INCLUDE "gfx/pokemon/wigglytuff/normal.pal"
+INCLUDE "gfx/pokemon/wigglytuff/shiny.pal"
+INCLUDE "gfx/pokemon/zubat/normal.pal"
+INCLUDE "gfx/pokemon/zubat/shiny.pal"
+INCLUDE "gfx/pokemon/golbat/normal.pal"
+INCLUDE "gfx/pokemon/golbat/shiny.pal"
+INCLUDE "gfx/pokemon/oddish/normal.pal"
+INCLUDE "gfx/pokemon/oddish/shiny.pal"
+INCLUDE "gfx/pokemon/gloom/normal.pal"
+INCLUDE "gfx/pokemon/gloom/shiny.pal"
+INCLUDE "gfx/pokemon/vileplume/normal.pal"
+INCLUDE "gfx/pokemon/vileplume/shiny.pal"
+INCLUDE "gfx/pokemon/paras/normal.pal"
+INCLUDE "gfx/pokemon/paras/shiny.pal"
+INCLUDE "gfx/pokemon/parasect/normal.pal"
+INCLUDE "gfx/pokemon/parasect/shiny.pal"
+INCLUDE "gfx/pokemon/venonat/normal.pal"
+INCLUDE "gfx/pokemon/venonat/shiny.pal"
+INCLUDE "gfx/pokemon/venomoth/normal.pal"
+INCLUDE "gfx/pokemon/venomoth/shiny.pal"
+INCLUDE "gfx/pokemon/diglett/normal.pal"
+INCLUDE "gfx/pokemon/diglett/shiny.pal"
+INCLUDE "gfx/pokemon/dugtrio/normal.pal"
+INCLUDE "gfx/pokemon/dugtrio/shiny.pal"
+INCLUDE "gfx/pokemon/meowth/normal.pal"
+INCLUDE "gfx/pokemon/meowth/shiny.pal"
+INCLUDE "gfx/pokemon/persian/normal.pal"
+INCLUDE "gfx/pokemon/persian/shiny.pal"
+INCLUDE "gfx/pokemon/psyduck/normal.pal"
+INCLUDE "gfx/pokemon/psyduck/shiny.pal"
+INCLUDE "gfx/pokemon/golduck/normal.pal"
+INCLUDE "gfx/pokemon/golduck/shiny.pal"
+INCLUDE "gfx/pokemon/mankey/normal.pal"
+INCLUDE "gfx/pokemon/mankey/shiny.pal"
+INCLUDE "gfx/pokemon/primeape/normal.pal"
+INCLUDE "gfx/pokemon/primeape/shiny.pal"
+INCLUDE "gfx/pokemon/growlithe/normal.pal"
+INCLUDE "gfx/pokemon/growlithe/shiny.pal"
+INCLUDE "gfx/pokemon/arcanine/normal.pal"
+INCLUDE "gfx/pokemon/arcanine/shiny.pal"
+INCLUDE "gfx/pokemon/poliwag/normal.pal"
+INCLUDE "gfx/pokemon/poliwag/shiny.pal"
+INCLUDE "gfx/pokemon/poliwhirl/normal.pal"
+INCLUDE "gfx/pokemon/poliwhirl/shiny.pal"
+INCLUDE "gfx/pokemon/poliwrath/normal.pal"
+INCLUDE "gfx/pokemon/poliwrath/shiny.pal"
+INCLUDE "gfx/pokemon/abra/normal.pal"
+INCLUDE "gfx/pokemon/abra/shiny.pal"
+INCLUDE "gfx/pokemon/kadabra/normal.pal"
+INCLUDE "gfx/pokemon/kadabra/shiny.pal"
+INCLUDE "gfx/pokemon/alakazam/normal.pal"
+INCLUDE "gfx/pokemon/alakazam/shiny.pal"
+INCLUDE "gfx/pokemon/machop/normal.pal"
+INCLUDE "gfx/pokemon/machop/shiny.pal"
+INCLUDE "gfx/pokemon/machoke/normal.pal"
+INCLUDE "gfx/pokemon/machoke/shiny.pal"
+INCLUDE "gfx/pokemon/machamp/normal.pal"
+INCLUDE "gfx/pokemon/machamp/shiny.pal"
+INCLUDE "gfx/pokemon/bellsprout/normal.pal"
+INCLUDE "gfx/pokemon/bellsprout/shiny.pal"
+INCLUDE "gfx/pokemon/weepinbell/normal.pal"
+INCLUDE "gfx/pokemon/weepinbell/shiny.pal"
+INCLUDE "gfx/pokemon/victreebel/normal.pal"
+INCLUDE "gfx/pokemon/victreebel/shiny.pal"
+INCLUDE "gfx/pokemon/tentacool/normal.pal"
+INCLUDE "gfx/pokemon/tentacool/shiny.pal"
+INCLUDE "gfx/pokemon/tentacruel/normal.pal"
+INCLUDE "gfx/pokemon/tentacruel/shiny.pal"
+INCLUDE "gfx/pokemon/geodude/normal.pal"
+INCLUDE "gfx/pokemon/geodude/shiny.pal"
+INCLUDE "gfx/pokemon/graveler/normal.pal"
+INCLUDE "gfx/pokemon/graveler/shiny.pal"
+INCLUDE "gfx/pokemon/golem/normal.pal"
+INCLUDE "gfx/pokemon/golem/shiny.pal"
+INCLUDE "gfx/pokemon/ponyta/normal.pal"
+INCLUDE "gfx/pokemon/ponyta/shiny.pal"
+INCLUDE "gfx/pokemon/rapidash/normal.pal"
+INCLUDE "gfx/pokemon/rapidash/shiny.pal"
+INCLUDE "gfx/pokemon/slowpoke/normal.pal"
+INCLUDE "gfx/pokemon/slowpoke/shiny.pal"
+INCLUDE "gfx/pokemon/slowbro/normal.pal"
+INCLUDE "gfx/pokemon/slowbro/shiny.pal"
+INCLUDE "gfx/pokemon/magnemite/normal.pal"
+INCLUDE "gfx/pokemon/magnemite/shiny.pal"
+INCLUDE "gfx/pokemon/magneton/normal.pal"
+INCLUDE "gfx/pokemon/magneton/shiny.pal"
+INCLUDE "gfx/pokemon/farfetch_d/normal.pal"
+INCLUDE "gfx/pokemon/farfetch_d/shiny.pal"
+INCLUDE "gfx/pokemon/doduo/normal.pal"
+INCLUDE "gfx/pokemon/doduo/shiny.pal"
+INCLUDE "gfx/pokemon/dodrio/normal.pal"
+INCLUDE "gfx/pokemon/dodrio/shiny.pal"
+INCLUDE "gfx/pokemon/seel/normal.pal"
+INCLUDE "gfx/pokemon/seel/shiny.pal"
+INCLUDE "gfx/pokemon/dewgong/normal.pal"
+INCLUDE "gfx/pokemon/dewgong/shiny.pal"
+INCLUDE "gfx/pokemon/grimer/normal.pal"
+INCLUDE "gfx/pokemon/grimer/shiny.pal"
+INCLUDE "gfx/pokemon/muk/normal.pal"
+INCLUDE "gfx/pokemon/muk/shiny.pal"
+INCLUDE "gfx/pokemon/shellder/normal.pal"
+INCLUDE "gfx/pokemon/shellder/shiny.pal"
+INCLUDE "gfx/pokemon/cloyster/normal.pal"
+INCLUDE "gfx/pokemon/cloyster/shiny.pal"
+INCLUDE "gfx/pokemon/gastly/normal.pal"
+INCLUDE "gfx/pokemon/gastly/shiny.pal"
+INCLUDE "gfx/pokemon/haunter/normal.pal"
+INCLUDE "gfx/pokemon/haunter/shiny.pal"
+INCLUDE "gfx/pokemon/gengar/normal.pal"
+INCLUDE "gfx/pokemon/gengar/shiny.pal"
+INCLUDE "gfx/pokemon/onix/normal.pal"
+INCLUDE "gfx/pokemon/onix/shiny.pal"
+INCLUDE "gfx/pokemon/drowzee/normal.pal"
+INCLUDE "gfx/pokemon/drowzee/shiny.pal"
+INCLUDE "gfx/pokemon/hypno/normal.pal"
+INCLUDE "gfx/pokemon/hypno/shiny.pal"
+INCLUDE "gfx/pokemon/krabby/normal.pal"
+INCLUDE "gfx/pokemon/krabby/shiny.pal"
+INCLUDE "gfx/pokemon/kingler/normal.pal"
+INCLUDE "gfx/pokemon/kingler/shiny.pal"
+INCLUDE "gfx/pokemon/voltorb/normal.pal"
+INCLUDE "gfx/pokemon/voltorb/shiny.pal"
+INCLUDE "gfx/pokemon/electrode/normal.pal"
+INCLUDE "gfx/pokemon/electrode/shiny.pal"
+INCLUDE "gfx/pokemon/exeggcute/normal.pal"
+INCLUDE "gfx/pokemon/exeggcute/shiny.pal"
+INCLUDE "gfx/pokemon/exeggutor/normal.pal"
+INCLUDE "gfx/pokemon/exeggutor/shiny.pal"
+INCLUDE "gfx/pokemon/cubone/normal.pal"
+INCLUDE "gfx/pokemon/cubone/shiny.pal"
+INCLUDE "gfx/pokemon/marowak/normal.pal"
+INCLUDE "gfx/pokemon/marowak/shiny.pal"
+INCLUDE "gfx/pokemon/hitmonlee/normal.pal"
+INCLUDE "gfx/pokemon/hitmonlee/shiny.pal"
+INCLUDE "gfx/pokemon/hitmonchan/normal.pal"
+INCLUDE "gfx/pokemon/hitmonchan/shiny.pal"
+INCLUDE "gfx/pokemon/lickitung/normal.pal"
+INCLUDE "gfx/pokemon/lickitung/shiny.pal"
+INCLUDE "gfx/pokemon/koffing/normal.pal"
+INCLUDE "gfx/pokemon/koffing/shiny.pal"
+INCLUDE "gfx/pokemon/weezing/normal.pal"
+INCLUDE "gfx/pokemon/weezing/shiny.pal"
+INCLUDE "gfx/pokemon/rhyhorn/normal.pal"
+INCLUDE "gfx/pokemon/rhyhorn/shiny.pal"
+INCLUDE "gfx/pokemon/rhydon/normal.pal"
+INCLUDE "gfx/pokemon/rhydon/shiny.pal"
+INCLUDE "gfx/pokemon/chansey/normal.pal"
+INCLUDE "gfx/pokemon/chansey/shiny.pal"
+INCLUDE "gfx/pokemon/tangela/normal.pal"
+INCLUDE "gfx/pokemon/tangela/shiny.pal"
+INCLUDE "gfx/pokemon/kangaskhan/normal.pal"
+INCLUDE "gfx/pokemon/kangaskhan/shiny.pal"
+INCLUDE "gfx/pokemon/horsea/normal.pal"
+INCLUDE "gfx/pokemon/horsea/shiny.pal"
+INCLUDE "gfx/pokemon/seadra/normal.pal"
+INCLUDE "gfx/pokemon/seadra/shiny.pal"
+INCLUDE "gfx/pokemon/goldeen/normal.pal"
+INCLUDE "gfx/pokemon/goldeen/shiny.pal"
+INCLUDE "gfx/pokemon/seaking/normal.pal"
+INCLUDE "gfx/pokemon/seaking/shiny.pal"
+INCLUDE "gfx/pokemon/staryu/normal.pal"
+INCLUDE "gfx/pokemon/staryu/shiny.pal"
+INCLUDE "gfx/pokemon/starmie/normal.pal"
+INCLUDE "gfx/pokemon/starmie/shiny.pal"
+INCLUDE "gfx/pokemon/mr__mime/normal.pal"
+INCLUDE "gfx/pokemon/mr__mime/shiny.pal"
+INCLUDE "gfx/pokemon/scyther/normal.pal"
+INCLUDE "gfx/pokemon/scyther/shiny.pal"
+INCLUDE "gfx/pokemon/jynx/normal.pal"
+INCLUDE "gfx/pokemon/jynx/shiny.pal"
+INCLUDE "gfx/pokemon/electabuzz/normal.pal"
+INCLUDE "gfx/pokemon/electabuzz/shiny.pal"
+INCLUDE "gfx/pokemon/magmar/normal.pal"
+INCLUDE "gfx/pokemon/magmar/shiny.pal"
+INCLUDE "gfx/pokemon/pinsir/normal.pal"
+INCLUDE "gfx/pokemon/pinsir/shiny.pal"
+INCLUDE "gfx/pokemon/tauros/normal.pal"
+INCLUDE "gfx/pokemon/tauros/shiny.pal"
+INCLUDE "gfx/pokemon/magikarp/normal.pal"
+INCLUDE "gfx/pokemon/magikarp/shiny.pal"
+INCLUDE "gfx/pokemon/gyarados/normal.pal"
+INCLUDE "gfx/pokemon/gyarados/shiny.pal"
+INCLUDE "gfx/pokemon/lapras/normal.pal"
+INCLUDE "gfx/pokemon/lapras/shiny.pal"
+INCLUDE "gfx/pokemon/ditto/normal.pal"
+INCLUDE "gfx/pokemon/ditto/shiny.pal"
+INCLUDE "gfx/pokemon/eevee/normal.pal"
+INCLUDE "gfx/pokemon/eevee/shiny.pal"
+INCLUDE "gfx/pokemon/vaporeon/normal.pal"
+INCLUDE "gfx/pokemon/vaporeon/shiny.pal"
+INCLUDE "gfx/pokemon/jolteon/normal.pal"
+INCLUDE "gfx/pokemon/jolteon/shiny.pal"
+INCLUDE "gfx/pokemon/flareon/normal.pal"
+INCLUDE "gfx/pokemon/flareon/shiny.pal"
+INCLUDE "gfx/pokemon/porygon/normal.pal"
+INCLUDE "gfx/pokemon/porygon/shiny.pal"
+INCLUDE "gfx/pokemon/omanyte/normal.pal"
+INCLUDE "gfx/pokemon/omanyte/shiny.pal"
+INCLUDE "gfx/pokemon/omastar/normal.pal"
+INCLUDE "gfx/pokemon/omastar/shiny.pal"
+INCLUDE "gfx/pokemon/kabuto/normal.pal"
+INCLUDE "gfx/pokemon/kabuto/shiny.pal"
+INCLUDE "gfx/pokemon/kabutops/normal.pal"
+INCLUDE "gfx/pokemon/kabutops/shiny.pal"
+INCLUDE "gfx/pokemon/aerodactyl/normal.pal"
+INCLUDE "gfx/pokemon/aerodactyl/shiny.pal"
+INCLUDE "gfx/pokemon/snorlax/normal.pal"
+INCLUDE "gfx/pokemon/snorlax/shiny.pal"
+INCLUDE "gfx/pokemon/articuno/normal.pal"
+INCLUDE "gfx/pokemon/articuno/shiny.pal"
+INCLUDE "gfx/pokemon/zapdos/normal.pal"
+INCLUDE "gfx/pokemon/zapdos/shiny.pal"
+INCLUDE "gfx/pokemon/moltres/normal.pal"
+INCLUDE "gfx/pokemon/moltres/shiny.pal"
+INCLUDE "gfx/pokemon/dratini/normal.pal"
+INCLUDE "gfx/pokemon/dratini/shiny.pal"
+INCLUDE "gfx/pokemon/dragonair/normal.pal"
+INCLUDE "gfx/pokemon/dragonair/shiny.pal"
+INCLUDE "gfx/pokemon/dragonite/normal.pal"
+INCLUDE "gfx/pokemon/dragonite/shiny.pal"
+INCLUDE "gfx/pokemon/mewtwo/normal.pal"
+INCLUDE "gfx/pokemon/mewtwo/shiny.pal"
+INCLUDE "gfx/pokemon/mew/normal.pal"
+INCLUDE "gfx/pokemon/mew/shiny.pal"
+INCLUDE "gfx/pokemon/chikorita/normal.pal"
+INCLUDE "gfx/pokemon/chikorita/shiny.pal"
+INCLUDE "gfx/pokemon/bayleef/normal.pal"
+INCLUDE "gfx/pokemon/bayleef/shiny.pal"
+INCLUDE "gfx/pokemon/meganium/normal.pal"
+INCLUDE "gfx/pokemon/meganium/shiny.pal"
+INCLUDE "gfx/pokemon/cyndaquil/normal.pal"
+INCLUDE "gfx/pokemon/cyndaquil/shiny.pal"
+INCLUDE "gfx/pokemon/quilava/normal.pal"
+INCLUDE "gfx/pokemon/quilava/shiny.pal"
+INCLUDE "gfx/pokemon/typhlosion/normal.pal"
+INCLUDE "gfx/pokemon/typhlosion/shiny.pal"
+INCLUDE "gfx/pokemon/totodile/normal.pal"
+INCLUDE "gfx/pokemon/totodile/shiny.pal"
+INCLUDE "gfx/pokemon/croconaw/normal.pal"
+INCLUDE "gfx/pokemon/croconaw/shiny.pal"
+INCLUDE "gfx/pokemon/feraligatr/normal.pal"
+INCLUDE "gfx/pokemon/feraligatr/shiny.pal"
+INCLUDE "gfx/pokemon/sentret/normal.pal"
+INCLUDE "gfx/pokemon/sentret/shiny.pal"
+INCLUDE "gfx/pokemon/furret/normal.pal"
+INCLUDE "gfx/pokemon/furret/shiny.pal"
+INCLUDE "gfx/pokemon/hoothoot/normal.pal"
+INCLUDE "gfx/pokemon/hoothoot/shiny.pal"
+INCLUDE "gfx/pokemon/noctowl/normal.pal"
+INCLUDE "gfx/pokemon/noctowl/shiny.pal"
+INCLUDE "gfx/pokemon/ledyba/normal.pal"
+INCLUDE "gfx/pokemon/ledyba/shiny.pal"
+INCLUDE "gfx/pokemon/ledian/normal.pal"
+INCLUDE "gfx/pokemon/ledian/shiny.pal"
+INCLUDE "gfx/pokemon/spinarak/normal.pal"
+INCLUDE "gfx/pokemon/spinarak/shiny.pal"
+INCLUDE "gfx/pokemon/ariados/normal.pal"
+INCLUDE "gfx/pokemon/ariados/shiny.pal"
+INCLUDE "gfx/pokemon/crobat/normal.pal"
+INCLUDE "gfx/pokemon/crobat/shiny.pal"
+INCLUDE "gfx/pokemon/chinchou/normal.pal"
+INCLUDE "gfx/pokemon/chinchou/shiny.pal"
+INCLUDE "gfx/pokemon/lanturn/normal.pal"
+INCLUDE "gfx/pokemon/lanturn/shiny.pal"
+INCLUDE "gfx/pokemon/pichu/normal.pal"
+INCLUDE "gfx/pokemon/pichu/shiny.pal"
+INCLUDE "gfx/pokemon/cleffa/normal.pal"
+INCLUDE "gfx/pokemon/cleffa/shiny.pal"
+INCLUDE "gfx/pokemon/igglybuff/normal.pal"
+INCLUDE "gfx/pokemon/igglybuff/shiny.pal"
+INCLUDE "gfx/pokemon/togepi/normal.pal"
+INCLUDE "gfx/pokemon/togepi/shiny.pal"
+INCLUDE "gfx/pokemon/togetic/normal.pal"
+INCLUDE "gfx/pokemon/togetic/shiny.pal"
+INCLUDE "gfx/pokemon/natu/normal.pal"
+INCLUDE "gfx/pokemon/natu/shiny.pal"
+INCLUDE "gfx/pokemon/xatu/normal.pal"
+INCLUDE "gfx/pokemon/xatu/shiny.pal"
+INCLUDE "gfx/pokemon/mareep/normal.pal"
+INCLUDE "gfx/pokemon/mareep/shiny.pal"
+INCLUDE "gfx/pokemon/flaaffy/normal.pal"
+INCLUDE "gfx/pokemon/flaaffy/shiny.pal"
+INCLUDE "gfx/pokemon/ampharos/normal.pal"
+INCLUDE "gfx/pokemon/ampharos/shiny.pal"
+INCLUDE "gfx/pokemon/bellossom/normal.pal"
+INCLUDE "gfx/pokemon/bellossom/shiny.pal"
+INCLUDE "gfx/pokemon/marill/normal.pal"
+INCLUDE "gfx/pokemon/marill/shiny.pal"
+INCLUDE "gfx/pokemon/azumarill/normal.pal"
+INCLUDE "gfx/pokemon/azumarill/shiny.pal"
+INCLUDE "gfx/pokemon/sudowoodo/normal.pal"
+INCLUDE "gfx/pokemon/sudowoodo/shiny.pal"
+INCLUDE "gfx/pokemon/politoed/normal.pal"
+INCLUDE "gfx/pokemon/politoed/shiny.pal"
+INCLUDE "gfx/pokemon/hoppip/normal.pal"
+INCLUDE "gfx/pokemon/hoppip/shiny.pal"
+INCLUDE "gfx/pokemon/skiploom/normal.pal"
+INCLUDE "gfx/pokemon/skiploom/shiny.pal"
+INCLUDE "gfx/pokemon/jumpluff/normal.pal"
+INCLUDE "gfx/pokemon/jumpluff/shiny.pal"
+INCLUDE "gfx/pokemon/aipom/normal.pal"
+INCLUDE "gfx/pokemon/aipom/shiny.pal"
+INCLUDE "gfx/pokemon/sunkern/normal.pal"
+INCLUDE "gfx/pokemon/sunkern/shiny.pal"
+INCLUDE "gfx/pokemon/sunflora/normal.pal"
+INCLUDE "gfx/pokemon/sunflora/shiny.pal"
+INCLUDE "gfx/pokemon/yanma/normal.pal"
+INCLUDE "gfx/pokemon/yanma/shiny.pal"
+INCLUDE "gfx/pokemon/wooper/normal.pal"
+INCLUDE "gfx/pokemon/wooper/shiny.pal"
+INCLUDE "gfx/pokemon/quagsire/normal.pal"
+INCLUDE "gfx/pokemon/quagsire/shiny.pal"
+INCLUDE "gfx/pokemon/espeon/normal.pal"
+INCLUDE "gfx/pokemon/espeon/shiny.pal"
+INCLUDE "gfx/pokemon/umbreon/normal.pal"
+INCLUDE "gfx/pokemon/umbreon/shiny.pal"
+INCLUDE "gfx/pokemon/murkrow/normal.pal"
+INCLUDE "gfx/pokemon/murkrow/shiny.pal"
+INCLUDE "gfx/pokemon/slowking/normal.pal"
+INCLUDE "gfx/pokemon/slowking/shiny.pal"
+INCLUDE "gfx/pokemon/misdreavus/normal.pal"
+INCLUDE "gfx/pokemon/misdreavus/shiny.pal"
+INCLUDE "gfx/pokemon/unown/normal.pal"
+INCLUDE "gfx/pokemon/unown/shiny.pal"
+INCLUDE "gfx/pokemon/wobbuffet/normal.pal"
+INCLUDE "gfx/pokemon/wobbuffet/shiny.pal"
+INCLUDE "gfx/pokemon/girafarig/normal.pal"
+INCLUDE "gfx/pokemon/girafarig/shiny.pal"
+INCLUDE "gfx/pokemon/pineco/normal.pal"
+INCLUDE "gfx/pokemon/pineco/shiny.pal"
+INCLUDE "gfx/pokemon/forretress/normal.pal"
+INCLUDE "gfx/pokemon/forretress/shiny.pal"
+INCLUDE "gfx/pokemon/dunsparce/normal.pal"
+INCLUDE "gfx/pokemon/dunsparce/shiny.pal"
+INCLUDE "gfx/pokemon/gligar/normal.pal"
+INCLUDE "gfx/pokemon/gligar/shiny.pal"
+INCLUDE "gfx/pokemon/steelix/normal.pal"
+INCLUDE "gfx/pokemon/steelix/shiny.pal"
+INCLUDE "gfx/pokemon/snubbull/normal.pal"
+INCLUDE "gfx/pokemon/snubbull/shiny.pal"
+INCLUDE "gfx/pokemon/granbull/normal.pal"
+INCLUDE "gfx/pokemon/granbull/shiny.pal"
+INCLUDE "gfx/pokemon/qwilfish/normal.pal"
+INCLUDE "gfx/pokemon/qwilfish/shiny.pal"
+INCLUDE "gfx/pokemon/scizor/normal.pal"
+INCLUDE "gfx/pokemon/scizor/shiny.pal"
+INCLUDE "gfx/pokemon/shuckle/normal.pal"
+INCLUDE "gfx/pokemon/shuckle/shiny.pal"
+INCLUDE "gfx/pokemon/heracross/normal.pal"
+INCLUDE "gfx/pokemon/heracross/shiny.pal"
+INCLUDE "gfx/pokemon/sneasel/normal.pal"
+INCLUDE "gfx/pokemon/sneasel/shiny.pal"
+INCLUDE "gfx/pokemon/teddiursa/normal.pal"
+INCLUDE "gfx/pokemon/teddiursa/shiny.pal"
+INCLUDE "gfx/pokemon/ursaring/normal.pal"
+INCLUDE "gfx/pokemon/ursaring/shiny.pal"
+INCLUDE "gfx/pokemon/slugma/normal.pal"
+INCLUDE "gfx/pokemon/slugma/shiny.pal"
+INCLUDE "gfx/pokemon/magcargo/normal.pal"
+INCLUDE "gfx/pokemon/magcargo/shiny.pal"
+INCLUDE "gfx/pokemon/swinub/normal.pal"
+INCLUDE "gfx/pokemon/swinub/shiny.pal"
+INCLUDE "gfx/pokemon/piloswine/normal.pal"
+INCLUDE "gfx/pokemon/piloswine/shiny.pal"
+INCLUDE "gfx/pokemon/corsola/normal.pal"
+INCLUDE "gfx/pokemon/corsola/shiny.pal"
+INCLUDE "gfx/pokemon/remoraid/normal.pal"
+INCLUDE "gfx/pokemon/remoraid/shiny.pal"
+INCLUDE "gfx/pokemon/octillery/normal.pal"
+INCLUDE "gfx/pokemon/octillery/shiny.pal"
+INCLUDE "gfx/pokemon/delibird/normal.pal"
+INCLUDE "gfx/pokemon/delibird/shiny.pal"
+INCLUDE "gfx/pokemon/mantine/normal.pal"
+INCLUDE "gfx/pokemon/mantine/shiny.pal"
+INCLUDE "gfx/pokemon/skarmory/normal.pal"
+INCLUDE "gfx/pokemon/skarmory/shiny.pal"
+INCLUDE "gfx/pokemon/houndour/normal.pal"
+INCLUDE "gfx/pokemon/houndour/shiny.pal"
+INCLUDE "gfx/pokemon/houndoom/normal.pal"
+INCLUDE "gfx/pokemon/houndoom/shiny.pal"
+INCLUDE "gfx/pokemon/kingdra/normal.pal"
+INCLUDE "gfx/pokemon/kingdra/shiny.pal"
+INCLUDE "gfx/pokemon/phanpy/normal.pal"
+INCLUDE "gfx/pokemon/phanpy/shiny.pal"
+INCLUDE "gfx/pokemon/donphan/normal.pal"
+INCLUDE "gfx/pokemon/donphan/shiny.pal"
+INCLUDE "gfx/pokemon/porygon2/normal.pal"
+INCLUDE "gfx/pokemon/porygon2/shiny.pal"
+INCLUDE "gfx/pokemon/stantler/normal.pal"
+INCLUDE "gfx/pokemon/stantler/shiny.pal"
+INCLUDE "gfx/pokemon/smeargle/normal.pal"
+INCLUDE "gfx/pokemon/smeargle/shiny.pal"
+INCLUDE "gfx/pokemon/tyrogue/normal.pal"
+INCLUDE "gfx/pokemon/tyrogue/shiny.pal"
+INCLUDE "gfx/pokemon/hitmontop/normal.pal"
+INCLUDE "gfx/pokemon/hitmontop/shiny.pal"
+INCLUDE "gfx/pokemon/smoochum/normal.pal"
+INCLUDE "gfx/pokemon/smoochum/shiny.pal"
+INCLUDE "gfx/pokemon/elekid/normal.pal"
+INCLUDE "gfx/pokemon/elekid/shiny.pal"
+INCLUDE "gfx/pokemon/magby/normal.pal"
+INCLUDE "gfx/pokemon/magby/shiny.pal"
+INCLUDE "gfx/pokemon/miltank/normal.pal"
+INCLUDE "gfx/pokemon/miltank/shiny.pal"
+INCLUDE "gfx/pokemon/blissey/normal.pal"
+INCLUDE "gfx/pokemon/blissey/shiny.pal"
+INCLUDE "gfx/pokemon/raikou/normal.pal"
+INCLUDE "gfx/pokemon/raikou/shiny.pal"
+INCLUDE "gfx/pokemon/entei/normal.pal"
+INCLUDE "gfx/pokemon/entei/shiny.pal"
+INCLUDE "gfx/pokemon/suicune/normal.pal"
+INCLUDE "gfx/pokemon/suicune/shiny.pal"
+INCLUDE "gfx/pokemon/larvitar/normal.pal"
+INCLUDE "gfx/pokemon/larvitar/shiny.pal"
+INCLUDE "gfx/pokemon/pupitar/normal.pal"
+INCLUDE "gfx/pokemon/pupitar/shiny.pal"
+INCLUDE "gfx/pokemon/tyranitar/normal.pal"
+INCLUDE "gfx/pokemon/tyranitar/shiny.pal"
+INCLUDE "gfx/pokemon/lugia/normal.pal"
+INCLUDE "gfx/pokemon/lugia/shiny.pal"
+INCLUDE "gfx/pokemon/ho_oh/normal.pal"
+INCLUDE "gfx/pokemon/ho_oh/shiny.pal"
+INCLUDE "gfx/pokemon/celebi/normal.pal"
+INCLUDE "gfx/pokemon/celebi/shiny.pal"
+
+; 252
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+; 252 shiny
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+
+; Egg
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+; Egg shiny
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+
+; 254
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+; 254 shiny
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+
+; 255
+ RGB 23, 23, 23
+ RGB 17, 17, 17
+; 255 shiny
+ RGB 23, 23, 23
+ RGB 17, 17, 17
+
+; b0ce
--- /dev/null
+++ b/data/palettes/trainer_palettes.asm
@@ -1,0 +1,76 @@
+TrainerPalettes: ; b0ce
+; entries correspond to trainer classes
+
+PlayerPalette: ; b0ce
+; Chris uses the same colors as Cal
+INCLUDE "gfx/trainers/cal.pal"
+KrisPalette: ; b0d0
+; Kris shares Falkner's palette
+INCLUDE "gfx/trainers/falkner.pal"
+INCLUDE "gfx/trainers/whitney.pal"
+INCLUDE "gfx/trainers/bugsy.pal"
+INCLUDE "gfx/trainers/morty.pal"
+INCLUDE "gfx/trainers/pryce.pal"
+INCLUDE "gfx/trainers/jasmine.pal"
+INCLUDE "gfx/trainers/chuck.pal"
+INCLUDE "gfx/trainers/clair.pal"
+INCLUDE "gfx/trainers/rival1.pal"
+INCLUDE "gfx/trainers/oak.pal"
+INCLUDE "gfx/trainers/will.pal"
+INCLUDE "gfx/trainers/cal.pal"
+INCLUDE "gfx/trainers/bruno.pal"
+INCLUDE "gfx/trainers/karen.pal"
+INCLUDE "gfx/trainers/koga.pal"
+INCLUDE "gfx/trainers/champion.pal"
+INCLUDE "gfx/trainers/brock.pal"
+INCLUDE "gfx/trainers/misty.pal"
+INCLUDE "gfx/trainers/lt_surge.pal"
+INCLUDE "gfx/trainers/scientist.pal"
+INCLUDE "gfx/trainers/erika.pal"
+INCLUDE "gfx/trainers/youngster.pal"
+INCLUDE "gfx/trainers/schoolboy.pal"
+INCLUDE "gfx/trainers/bird_keeper.pal"
+INCLUDE "gfx/trainers/lass.pal"
+INCLUDE "gfx/trainers/janine.pal"
+INCLUDE "gfx/trainers/cooltrainer_m.pal"
+INCLUDE "gfx/trainers/cooltrainer_f.pal"
+INCLUDE "gfx/trainers/beauty.pal"
+INCLUDE "gfx/trainers/pokemaniac.pal"
+INCLUDE "gfx/trainers/grunt_m.pal"
+INCLUDE "gfx/trainers/gentleman.pal"
+INCLUDE "gfx/trainers/skier.pal"
+INCLUDE "gfx/trainers/teacher.pal"
+INCLUDE "gfx/trainers/sabrina.pal"
+INCLUDE "gfx/trainers/bug_catcher.pal"
+INCLUDE "gfx/trainers/fisher.pal"
+INCLUDE "gfx/trainers/swimmer_m.pal"
+INCLUDE "gfx/trainers/swimmer_f.pal"
+INCLUDE "gfx/trainers/sailor.pal"
+INCLUDE "gfx/trainers/super_nerd.pal"
+INCLUDE "gfx/trainers/rival2.pal"
+INCLUDE "gfx/trainers/guitarist.pal"
+INCLUDE "gfx/trainers/hiker.pal"
+INCLUDE "gfx/trainers/biker.pal"
+INCLUDE "gfx/trainers/blaine.pal"
+INCLUDE "gfx/trainers/burglar.pal"
+INCLUDE "gfx/trainers/firebreather.pal"
+INCLUDE "gfx/trainers/juggler.pal"
+INCLUDE "gfx/trainers/blackbelt_t.pal"
+INCLUDE "gfx/trainers/executive_m.pal"
+INCLUDE "gfx/trainers/psychic_t.pal"
+INCLUDE "gfx/trainers/picnicker.pal"
+INCLUDE "gfx/trainers/camper.pal"
+INCLUDE "gfx/trainers/executive_f.pal"
+INCLUDE "gfx/trainers/sage.pal"
+INCLUDE "gfx/trainers/medium.pal"
+INCLUDE "gfx/trainers/boarder.pal"
+INCLUDE "gfx/trainers/pokefan_m.pal"
+INCLUDE "gfx/trainers/kimono_girl.pal"
+INCLUDE "gfx/trainers/twins.pal"
+INCLUDE "gfx/trainers/pokefan_f.pal"
+INCLUDE "gfx/trainers/red.pal"
+INCLUDE "gfx/trainers/blue.pal"
+INCLUDE "gfx/trainers/officer.pal"
+INCLUDE "gfx/trainers/grunt_f.pal"
+INCLUDE "gfx/trainers/mysticalman.pal"
+; b1de
--- /dev/null
+++ b/data/pokemon/pic_pointers.asm
@@ -1,0 +1,511 @@
+PicPointers::
+; entries correspond to constants/pokemon_constants.asm, two apiece
+ dba_pic BulbasaurFrontpic
+ dba_pic BulbasaurBackpic
+ dba_pic IvysaurFrontpic
+ dba_pic IvysaurBackpic
+ dba_pic VenusaurFrontpic
+ dba_pic VenusaurBackpic
+ dba_pic CharmanderFrontpic
+ dba_pic CharmanderBackpic
+ dba_pic CharmeleonFrontpic
+ dba_pic CharmeleonBackpic
+ dba_pic CharizardFrontpic
+ dba_pic CharizardBackpic
+ dba_pic SquirtleFrontpic
+ dba_pic SquirtleBackpic
+ dba_pic WartortleFrontpic
+ dba_pic WartortleBackpic
+ dba_pic BlastoiseFrontpic
+ dba_pic BlastoiseBackpic
+ dba_pic CaterpieFrontpic
+ dba_pic CaterpieBackpic
+ dba_pic MetapodFrontpic
+ dba_pic MetapodBackpic
+ dba_pic ButterfreeFrontpic
+ dba_pic ButterfreeBackpic
+ dba_pic WeedleFrontpic
+ dba_pic WeedleBackpic
+ dba_pic KakunaFrontpic
+ dba_pic KakunaBackpic
+ dba_pic BeedrillFrontpic
+ dba_pic BeedrillBackpic
+ dba_pic PidgeyFrontpic
+ dba_pic PidgeyBackpic
+ dba_pic PidgeottoFrontpic
+ dba_pic PidgeottoBackpic
+ dba_pic PidgeotFrontpic
+ dba_pic PidgeotBackpic
+ dba_pic RattataFrontpic
+ dba_pic RattataBackpic
+ dba_pic RaticateFrontpic
+ dba_pic RaticateBackpic
+ dba_pic SpearowFrontpic
+ dba_pic SpearowBackpic
+ dba_pic FearowFrontpic
+ dba_pic FearowBackpic
+ dba_pic EkansFrontpic
+ dba_pic EkansBackpic
+ dba_pic ArbokFrontpic
+ dba_pic ArbokBackpic
+ dba_pic PikachuFrontpic
+ dba_pic PikachuBackpic
+ dba_pic RaichuFrontpic
+ dba_pic RaichuBackpic
+ dba_pic SandshrewFrontpic
+ dba_pic SandshrewBackpic
+ dba_pic SandslashFrontpic
+ dba_pic SandslashBackpic
+ dba_pic NidoranFFrontpic
+ dba_pic NidoranFBackpic
+ dba_pic NidorinaFrontpic
+ dba_pic NidorinaBackpic
+ dba_pic NidoqueenFrontpic
+ dba_pic NidoqueenBackpic
+ dba_pic NidoranMFrontpic
+ dba_pic NidoranMBackpic
+ dba_pic NidorinoFrontpic
+ dba_pic NidorinoBackpic
+ dba_pic NidokingFrontpic
+ dba_pic NidokingBackpic
+ dba_pic ClefairyFrontpic
+ dba_pic ClefairyBackpic
+ dba_pic ClefableFrontpic
+ dba_pic ClefableBackpic
+ dba_pic VulpixFrontpic
+ dba_pic VulpixBackpic
+ dba_pic NinetalesFrontpic
+ dba_pic NinetalesBackpic
+ dba_pic JigglypuffFrontpic
+ dba_pic JigglypuffBackpic
+ dba_pic WigglytuffFrontpic
+ dba_pic WigglytuffBackpic
+ dba_pic ZubatFrontpic
+ dba_pic ZubatBackpic
+ dba_pic GolbatFrontpic
+ dba_pic GolbatBackpic
+ dba_pic OddishFrontpic
+ dba_pic OddishBackpic
+ dba_pic GloomFrontpic
+ dba_pic GloomBackpic
+ dba_pic VileplumeFrontpic
+ dba_pic VileplumeBackpic
+ dba_pic ParasFrontpic
+ dba_pic ParasBackpic
+ dba_pic ParasectFrontpic
+ dba_pic ParasectBackpic
+ dba_pic VenonatFrontpic
+ dba_pic VenonatBackpic
+ dba_pic VenomothFrontpic
+ dba_pic VenomothBackpic
+ dba_pic DiglettFrontpic
+ dba_pic DiglettBackpic
+ dba_pic DugtrioFrontpic
+ dba_pic DugtrioBackpic
+ dba_pic MeowthFrontpic
+ dba_pic MeowthBackpic
+ dba_pic PersianFrontpic
+ dba_pic PersianBackpic
+ dba_pic PsyduckFrontpic
+ dba_pic PsyduckBackpic
+ dba_pic GolduckFrontpic
+ dba_pic GolduckBackpic
+ dba_pic MankeyFrontpic
+ dba_pic MankeyBackpic
+ dba_pic PrimeapeFrontpic
+ dba_pic PrimeapeBackpic
+ dba_pic GrowlitheFrontpic
+ dba_pic GrowlitheBackpic
+ dba_pic ArcanineFrontpic
+ dba_pic ArcanineBackpic
+ dba_pic PoliwagFrontpic
+ dba_pic PoliwagBackpic
+ dba_pic PoliwhirlFrontpic
+ dba_pic PoliwhirlBackpic
+ dba_pic PoliwrathFrontpic
+ dba_pic PoliwrathBackpic
+ dba_pic AbraFrontpic
+ dba_pic AbraBackpic
+ dba_pic KadabraFrontpic
+ dba_pic KadabraBackpic
+ dba_pic AlakazamFrontpic
+ dba_pic AlakazamBackpic
+ dba_pic MachopFrontpic
+ dba_pic MachopBackpic
+ dba_pic MachokeFrontpic
+ dba_pic MachokeBackpic
+ dba_pic MachampFrontpic
+ dba_pic MachampBackpic
+ dba_pic BellsproutFrontpic
+ dba_pic BellsproutBackpic
+ dba_pic WeepinbellFrontpic
+ dba_pic WeepinbellBackpic
+ dba_pic VictreebelFrontpic
+ dba_pic VictreebelBackpic
+ dba_pic TentacoolFrontpic
+ dba_pic TentacoolBackpic
+ dba_pic TentacruelFrontpic
+ dba_pic TentacruelBackpic
+ dba_pic GeodudeFrontpic
+ dba_pic GeodudeBackpic
+ dba_pic GravelerFrontpic
+ dba_pic GravelerBackpic
+ dba_pic GolemFrontpic
+ dba_pic GolemBackpic
+ dba_pic PonytaFrontpic
+ dba_pic PonytaBackpic
+ dba_pic RapidashFrontpic
+ dba_pic RapidashBackpic
+ dba_pic SlowpokeFrontpic
+ dba_pic SlowpokeBackpic
+ dba_pic SlowbroFrontpic
+ dba_pic SlowbroBackpic
+ dba_pic MagnemiteFrontpic
+ dba_pic MagnemiteBackpic
+ dba_pic MagnetonFrontpic
+ dba_pic MagnetonBackpic
+ dba_pic FarfetchDFrontpic
+ dba_pic FarfetchDBackpic
+ dba_pic DoduoFrontpic
+ dba_pic DoduoBackpic
+ dba_pic DodrioFrontpic
+ dba_pic DodrioBackpic
+ dba_pic SeelFrontpic
+ dba_pic SeelBackpic
+ dba_pic DewgongFrontpic
+ dba_pic DewgongBackpic
+ dba_pic GrimerFrontpic
+ dba_pic GrimerBackpic
+ dba_pic MukFrontpic
+ dba_pic MukBackpic
+ dba_pic ShellderFrontpic
+ dba_pic ShellderBackpic
+ dba_pic CloysterFrontpic
+ dba_pic CloysterBackpic
+ dba_pic GastlyFrontpic
+ dba_pic GastlyBackpic
+ dba_pic HaunterFrontpic
+ dba_pic HaunterBackpic
+ dba_pic GengarFrontpic
+ dba_pic GengarBackpic
+ dba_pic OnixFrontpic
+ dba_pic OnixBackpic
+ dba_pic DrowzeeFrontpic
+ dba_pic DrowzeeBackpic
+ dba_pic HypnoFrontpic
+ dba_pic HypnoBackpic
+ dba_pic KrabbyFrontpic
+ dba_pic KrabbyBackpic
+ dba_pic KinglerFrontpic
+ dba_pic KinglerBackpic
+ dba_pic VoltorbFrontpic
+ dba_pic VoltorbBackpic
+ dba_pic ElectrodeFrontpic
+ dba_pic ElectrodeBackpic
+ dba_pic ExeggcuteFrontpic
+ dba_pic ExeggcuteBackpic
+ dba_pic ExeggutorFrontpic
+ dba_pic ExeggutorBackpic
+ dba_pic CuboneFrontpic
+ dba_pic CuboneBackpic
+ dba_pic MarowakFrontpic
+ dba_pic MarowakBackpic
+ dba_pic HitmonleeFrontpic
+ dba_pic HitmonleeBackpic
+ dba_pic HitmonchanFrontpic
+ dba_pic HitmonchanBackpic
+ dba_pic LickitungFrontpic
+ dba_pic LickitungBackpic
+ dba_pic KoffingFrontpic
+ dba_pic KoffingBackpic
+ dba_pic WeezingFrontpic
+ dba_pic WeezingBackpic
+ dba_pic RhyhornFrontpic
+ dba_pic RhyhornBackpic
+ dba_pic RhydonFrontpic
+ dba_pic RhydonBackpic
+ dba_pic ChanseyFrontpic
+ dba_pic ChanseyBackpic
+ dba_pic TangelaFrontpic
+ dba_pic TangelaBackpic
+ dba_pic KangaskhanFrontpic
+ dba_pic KangaskhanBackpic
+ dba_pic HorseaFrontpic
+ dba_pic HorseaBackpic
+ dba_pic SeadraFrontpic
+ dba_pic SeadraBackpic
+ dba_pic GoldeenFrontpic
+ dba_pic GoldeenBackpic
+ dba_pic SeakingFrontpic
+ dba_pic SeakingBackpic
+ dba_pic StaryuFrontpic
+ dba_pic StaryuBackpic
+ dba_pic StarmieFrontpic
+ dba_pic StarmieBackpic
+ dba_pic MrMimeFrontpic
+ dba_pic MrMimeBackpic
+ dba_pic ScytherFrontpic
+ dba_pic ScytherBackpic
+ dba_pic JynxFrontpic
+ dba_pic JynxBackpic
+ dba_pic ElectabuzzFrontpic
+ dba_pic ElectabuzzBackpic
+ dba_pic MagmarFrontpic
+ dba_pic MagmarBackpic
+ dba_pic PinsirFrontpic
+ dba_pic PinsirBackpic
+ dba_pic TaurosFrontpic
+ dba_pic TaurosBackpic
+ dba_pic MagikarpFrontpic
+ dba_pic MagikarpBackpic
+ dba_pic GyaradosFrontpic
+ dba_pic GyaradosBackpic
+ dba_pic LaprasFrontpic
+ dba_pic LaprasBackpic
+ dba_pic DittoFrontpic
+ dba_pic DittoBackpic
+ dba_pic EeveeFrontpic
+ dba_pic EeveeBackpic
+ dba_pic VaporeonFrontpic
+ dba_pic VaporeonBackpic
+ dba_pic JolteonFrontpic
+ dba_pic JolteonBackpic
+ dba_pic FlareonFrontpic
+ dba_pic FlareonBackpic
+ dba_pic PorygonFrontpic
+ dba_pic PorygonBackpic
+ dba_pic OmanyteFrontpic
+ dba_pic OmanyteBackpic
+ dba_pic OmastarFrontpic
+ dba_pic OmastarBackpic
+ dba_pic KabutoFrontpic
+ dba_pic KabutoBackpic
+ dba_pic KabutopsFrontpic
+ dba_pic KabutopsBackpic
+ dba_pic AerodactylFrontpic
+ dba_pic AerodactylBackpic
+ dba_pic SnorlaxFrontpic
+ dba_pic SnorlaxBackpic
+ dba_pic ArticunoFrontpic
+ dba_pic ArticunoBackpic
+ dba_pic ZapdosFrontpic
+ dba_pic ZapdosBackpic
+ dba_pic MoltresFrontpic
+ dba_pic MoltresBackpic
+ dba_pic DratiniFrontpic
+ dba_pic DratiniBackpic
+ dba_pic DragonairFrontpic
+ dba_pic DragonairBackpic
+ dba_pic DragoniteFrontpic
+ dba_pic DragoniteBackpic
+ dba_pic MewtwoFrontpic
+ dba_pic MewtwoBackpic
+ dba_pic MewFrontpic
+ dba_pic MewBackpic
+ dba_pic ChikoritaFrontpic
+ dba_pic ChikoritaBackpic
+ dba_pic BayleefFrontpic
+ dba_pic BayleefBackpic
+ dba_pic MeganiumFrontpic
+ dba_pic MeganiumBackpic
+ dba_pic CyndaquilFrontpic
+ dba_pic CyndaquilBackpic
+ dba_pic QuilavaFrontpic
+ dba_pic QuilavaBackpic
+ dba_pic TyphlosionFrontpic
+ dba_pic TyphlosionBackpic
+ dba_pic TotodileFrontpic
+ dba_pic TotodileBackpic
+ dba_pic CroconawFrontpic
+ dba_pic CroconawBackpic
+ dba_pic FeraligatrFrontpic
+ dba_pic FeraligatrBackpic
+ dba_pic SentretFrontpic
+ dba_pic SentretBackpic
+ dba_pic FurretFrontpic
+ dba_pic FurretBackpic
+ dba_pic HoothootFrontpic
+ dba_pic HoothootBackpic
+ dba_pic NoctowlFrontpic
+ dba_pic NoctowlBackpic
+ dba_pic LedybaFrontpic
+ dba_pic LedybaBackpic
+ dba_pic LedianFrontpic
+ dba_pic LedianBackpic
+ dba_pic SpinarakFrontpic
+ dba_pic SpinarakBackpic
+ dba_pic AriadosFrontpic
+ dba_pic AriadosBackpic
+ dba_pic CrobatFrontpic
+ dba_pic CrobatBackpic
+ dba_pic ChinchouFrontpic
+ dba_pic ChinchouBackpic
+ dba_pic LanturnFrontpic
+ dba_pic LanturnBackpic
+ dba_pic PichuFrontpic
+ dba_pic PichuBackpic
+ dba_pic CleffaFrontpic
+ dba_pic CleffaBackpic
+ dba_pic IgglybuffFrontpic
+ dba_pic IgglybuffBackpic
+ dba_pic TogepiFrontpic
+ dba_pic TogepiBackpic
+ dba_pic TogeticFrontpic
+ dba_pic TogeticBackpic
+ dba_pic NatuFrontpic
+ dba_pic NatuBackpic
+ dba_pic XatuFrontpic
+ dba_pic XatuBackpic
+ dba_pic MareepFrontpic
+ dba_pic MareepBackpic
+ dba_pic FlaaffyFrontpic
+ dba_pic FlaaffyBackpic
+ dba_pic AmpharosFrontpic
+ dba_pic AmpharosBackpic
+ dba_pic BellossomFrontpic
+ dba_pic BellossomBackpic
+ dba_pic MarillFrontpic
+ dba_pic MarillBackpic
+ dba_pic AzumarillFrontpic
+ dba_pic AzumarillBackpic
+ dba_pic SudowoodoFrontpic
+ dba_pic SudowoodoBackpic
+ dba_pic PolitoedFrontpic
+ dba_pic PolitoedBackpic
+ dba_pic HoppipFrontpic
+ dba_pic HoppipBackpic
+ dba_pic SkiploomFrontpic
+ dba_pic SkiploomBackpic
+ dba_pic JumpluffFrontpic
+ dba_pic JumpluffBackpic
+ dba_pic AipomFrontpic
+ dba_pic AipomBackpic
+ dba_pic SunkernFrontpic
+ dba_pic SunkernBackpic
+ dba_pic SunfloraFrontpic
+ dba_pic SunfloraBackpic
+ dba_pic YanmaFrontpic
+ dba_pic YanmaBackpic
+ dba_pic WooperFrontpic
+ dba_pic WooperBackpic
+ dba_pic QuagsireFrontpic
+ dba_pic QuagsireBackpic
+ dba_pic EspeonFrontpic
+ dba_pic EspeonBackpic
+ dba_pic UmbreonFrontpic
+ dba_pic UmbreonBackpic
+ dba_pic MurkrowFrontpic
+ dba_pic MurkrowBackpic
+ dba_pic SlowkingFrontpic
+ dba_pic SlowkingBackpic
+ dba_pic MisdreavusFrontpic
+ dba_pic MisdreavusBackpic
+
+ ; Unown pics have their own table. See UnownPicPointers
+ dbw -1, -1
+ dbw -1, -1
+
+ dba_pic WobbuffetFrontpic
+ dba_pic WobbuffetBackpic
+ dba_pic GirafarigFrontpic
+ dba_pic GirafarigBackpic
+ dba_pic PinecoFrontpic
+ dba_pic PinecoBackpic
+ dba_pic ForretressFrontpic
+ dba_pic ForretressBackpic
+ dba_pic DunsparceFrontpic
+ dba_pic DunsparceBackpic
+ dba_pic GligarFrontpic
+ dba_pic GligarBackpic
+ dba_pic SteelixFrontpic
+ dba_pic SteelixBackpic
+ dba_pic SnubbullFrontpic
+ dba_pic SnubbullBackpic
+ dba_pic GranbullFrontpic
+ dba_pic GranbullBackpic
+ dba_pic QwilfishFrontpic
+ dba_pic QwilfishBackpic
+ dba_pic ScizorFrontpic
+ dba_pic ScizorBackpic
+ dba_pic ShuckleFrontpic
+ dba_pic ShuckleBackpic
+ dba_pic HeracrossFrontpic
+ dba_pic HeracrossBackpic
+ dba_pic SneaselFrontpic
+ dba_pic SneaselBackpic
+ dba_pic TeddiursaFrontpic
+ dba_pic TeddiursaBackpic
+ dba_pic UrsaringFrontpic
+ dba_pic UrsaringBackpic
+ dba_pic SlugmaFrontpic
+ dba_pic SlugmaBackpic
+ dba_pic MagcargoFrontpic
+ dba_pic MagcargoBackpic
+ dba_pic SwinubFrontpic
+ dba_pic SwinubBackpic
+ dba_pic PiloswineFrontpic
+ dba_pic PiloswineBackpic
+ dba_pic CorsolaFrontpic
+ dba_pic CorsolaBackpic
+ dba_pic RemoraidFrontpic
+ dba_pic RemoraidBackpic
+ dba_pic OctilleryFrontpic
+ dba_pic OctilleryBackpic
+ dba_pic DelibirdFrontpic
+ dba_pic DelibirdBackpic
+ dba_pic MantineFrontpic
+ dba_pic MantineBackpic
+ dba_pic SkarmoryFrontpic
+ dba_pic SkarmoryBackpic
+ dba_pic HoundourFrontpic
+ dba_pic HoundourBackpic
+ dba_pic HoundoomFrontpic
+ dba_pic HoundoomBackpic
+ dba_pic KingdraFrontpic
+ dba_pic KingdraBackpic
+ dba_pic PhanpyFrontpic
+ dba_pic PhanpyBackpic
+ dba_pic DonphanFrontpic
+ dba_pic DonphanBackpic
+ dba_pic Porygon2Frontpic
+ dba_pic Porygon2Backpic
+ dba_pic StantlerFrontpic
+ dba_pic StantlerBackpic
+ dba_pic SmeargleFrontpic
+ dba_pic SmeargleBackpic
+ dba_pic TyrogueFrontpic
+ dba_pic TyrogueBackpic
+ dba_pic HitmontopFrontpic
+ dba_pic HitmontopBackpic
+ dba_pic SmoochumFrontpic
+ dba_pic SmoochumBackpic
+ dba_pic ElekidFrontpic
+ dba_pic ElekidBackpic
+ dba_pic MagbyFrontpic
+ dba_pic MagbyBackpic
+ dba_pic MiltankFrontpic
+ dba_pic MiltankBackpic
+ dba_pic BlisseyFrontpic
+ dba_pic BlisseyBackpic
+ dba_pic RaikouFrontpic
+ dba_pic RaikouBackpic
+ dba_pic EnteiFrontpic
+ dba_pic EnteiBackpic
+ dba_pic SuicuneFrontpic
+ dba_pic SuicuneBackpic
+ dba_pic LarvitarFrontpic
+ dba_pic LarvitarBackpic
+ dba_pic PupitarFrontpic
+ dba_pic PupitarBackpic
+ dba_pic TyranitarFrontpic
+ dba_pic TyranitarBackpic
+ dba_pic LugiaFrontpic
+ dba_pic LugiaBackpic
+ dba_pic HoOhFrontpic
+ dba_pic HoOhBackpic
+ dba_pic CelebiFrontpic
+ dba_pic CelebiBackpic
+ dbw -1, -1 ; unused
+ dbw -1, -1 ; unused
+ dba_pic EggPic
+ dbw -1, -1 ; unused
--- /dev/null
+++ b/data/pokemon/unown_pic_pointers.asm
@@ -1,0 +1,54 @@
+UnownPicPointers::
+; entries correspond to Unown letters, two apiece
+ dba_pic UnownAFrontpic
+ dba_pic UnownABackpic
+ dba_pic UnownBFrontpic
+ dba_pic UnownBBackpic
+ dba_pic UnownCFrontpic
+ dba_pic UnownCBackpic
+ dba_pic UnownDFrontpic
+ dba_pic UnownDBackpic
+ dba_pic UnownEFrontpic
+ dba_pic UnownEBackpic
+ dba_pic UnownFFrontpic
+ dba_pic UnownFBackpic
+ dba_pic UnownGFrontpic
+ dba_pic UnownGBackpic
+ dba_pic UnownHFrontpic
+ dba_pic UnownHBackpic
+ dba_pic UnownIFrontpic
+ dba_pic UnownIBackpic
+ dba_pic UnownJFrontpic
+ dba_pic UnownJBackpic
+ dba_pic UnownKFrontpic
+ dba_pic UnownKBackpic
+ dba_pic UnownLFrontpic
+ dba_pic UnownLBackpic
+ dba_pic UnownMFrontpic
+ dba_pic UnownMBackpic
+ dba_pic UnownNFrontpic
+ dba_pic UnownNBackpic
+ dba_pic UnownOFrontpic
+ dba_pic UnownOBackpic
+ dba_pic UnownPFrontpic
+ dba_pic UnownPBackpic
+ dba_pic UnownQFrontpic
+ dba_pic UnownQBackpic
+ dba_pic UnownRFrontpic
+ dba_pic UnownRBackpic
+ dba_pic UnownSFrontpic
+ dba_pic UnownSBackpic
+ dba_pic UnownTFrontpic
+ dba_pic UnownTBackpic
+ dba_pic UnownUFrontpic
+ dba_pic UnownUBackpic
+ dba_pic UnownVFrontpic
+ dba_pic UnownVBackpic
+ dba_pic UnownWFrontpic
+ dba_pic UnownWBackpic
+ dba_pic UnownXFrontpic
+ dba_pic UnownXBackpic
+ dba_pic UnownYFrontpic
+ dba_pic UnownYBackpic
+ dba_pic UnownZFrontpic
+ dba_pic UnownZBackpic
--- /dev/null
+++ b/data/sprite_anims/framesets.asm
@@ -1,0 +1,499 @@
+SpriteAnimFrameData: ; 8d6e6
+; entries correspond to SPRITE_ANIM_FRAMESET_* constants
+ dw .Frameset_00
+ dw .Frameset_PartyMon
+ dw .Frameset_PartyMonWithMail
+ dw .Frameset_PartyMonWithItem
+ dw .Frameset_PartyMonFast
+ dw .Frameset_PartyMonWithMailFast
+ dw .Frameset_PartyMonWithItemFast
+ dw .Frameset_GSTitleTrail
+ dw .Frameset_TextEntryCursor
+ dw .Frameset_09
+ dw .Frameset_GameFreakLogo
+ dw .Frameset_GSIntroStar
+ dw .Frameset_GSIntroSparkle
+ dw .Frameset_SlotsGolem
+ dw .Frameset_SlotsChansey
+ dw .Frameset_SlotsChansey2
+ dw .Frameset_SlotsEgg
+ dw .Frameset_RedWalk
+ dw .Frameset_StillCursor
+ dw .Frameset_TradePokeBall
+ dw .Frameset_TradePokeBall0
+ dw .Frameset_TradePoof
+ dw .Frameset_TradeTubeBulge
+ dw .Frameset_TrademonIcon
+ dw .Frameset_TrademonBubble
+ dw .Frameset_EvolutionBallOfLight
+ dw .Frameset_RadioTuningKnob
+ dw .Frameset_MagnetTrainRed
+ dw .Frameset_1c
+ dw .Frameset_Leaf
+ dw .Frameset_CutTree
+ dw .Frameset_EggCrack
+ dw .Frameset_EggHatch
+ dw .Frameset_21
+ dw .Frameset_22
+ dw .Frameset_23
+ dw .Frameset_24
+ dw .Frameset_HeadbuttTree
+ dw .Frameset_26
+ dw .Frameset_27
+ dw .Frameset_28
+ dw .Frameset_29
+ dw .Frameset_2a
+ dw .Frameset_2b
+ dw .Frameset_2c
+ dw .Frameset_BlueWalk
+ dw .Frameset_MagnetTrainBlue
+ dw .Frameset_MobileTradeSentBall
+ dw .Frameset_MobileTradeOTBall
+ dw .Frameset_ForMobile22
+ dw .Frameset_ForMobile23
+ dw .Frameset_ForMobile24
+ dw .Frameset_ForMobile25
+ dw .Frameset_IntroSuicune
+ dw .Frameset_IntroSuicune2
+ dw .Frameset_IntroPichu
+ dw .Frameset_IntroWooper
+ dw .Frameset_IntroUnown1
+ dw .Frameset_IntroUnown2
+ dw .Frameset_IntroUnown3
+ dw .Frameset_IntroUnown4
+ dw .Frameset_IntroUnownF2
+ dw .Frameset_IntroSuicuneAway
+ dw .Frameset_IntroUnownF
+ dw .Frameset_CelebiLeft
+ dw .Frameset_CelebiRight
+; 8d76a
+
+.Frameset_00:
+ frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32
+ endanim
+
+.Frameset_PartyMon:
+ frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
+ frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8
+ dorestart
+
+.Frameset_PartyMonWithMail:
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8
+ dorestart
+
+.Frameset_PartyMonWithItem:
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8
+ dorestart
+
+.Frameset_PartyMonFast:
+ frame SPRITE_ANIM_OAMSET_RED_WALK_1, 4
+ frame SPRITE_ANIM_OAMSET_RED_WALK_2, 4
+ dorestart
+
+.Frameset_PartyMonWithMailFast:
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 4
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 4
+ dorestart
+
+.Frameset_PartyMonWithItemFast:
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 4
+ frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 4
+ dorestart
+
+.Frameset_RedWalk:
+ frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
+ frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8
+ frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
+ frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP
+ dorestart
+
+.Frameset_BlueWalk:
+ frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
+ frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8
+ frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
+ frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP
+ dorestart
+
+.Frameset_MagnetTrainBlue:
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP
+ dorestart
+
+.Frameset_GSTitleTrail:
+ frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1
+ frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1
+ dorestart
+
+.Frameset_TextEntryCursor:
+ frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1
+ dorepeat 1
+ dorestart
+
+.Frameset_09:
+ frame SPRITE_ANIM_OAMSET_FOR_FRAMESET_09, 1
+ dorepeat 1
+ dorestart
+
+.Frameset_GameFreakLogo:
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 1
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 1
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 4
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 12
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 4
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4, 32
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5, 3
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6, 3
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7, 4
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8, 4
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9, 4
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10, 10
+ frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7
+ endanim
+
+.Frameset_GSIntroStar:
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3, OAM_Y_FLIP
+ dorestart
+
+.Frameset_GSIntroSparkle:
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1, 2
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3, 2
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2
+ dorestart
+
+.Frameset_SlotsGolem:
+ frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP
+ dorestart
+
+.Frameset_SlotsChansey:
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7
+ dorestart
+
+.Frameset_SlotsChansey2:
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
+ frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
+ endanim
+
+.Frameset_SlotsEgg:
+ frame SPRITE_ANIM_OAMSET_SLOTS_EGG, 20
+ endanim
+
+.Frameset_StillCursor:
+ frame SPRITE_ANIM_OAMSET_STILL_CURSOR, 32
+ endanim
+
+.Frameset_TradePokeBall:
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32
+ endanim
+
+.Frameset_TradePokeBall0:
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
+ dorestart
+
+.Frameset_TradePoof:
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4
+ delanim
+
+.Frameset_TradeTubeBulge:
+ frame SPRITE_ANIM_OAMSET_35, 3
+ frame SPRITE_ANIM_OAMSET_36, 3
+ dorestart
+
+.Frameset_TrademonIcon:
+ frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7
+ frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7
+ dorestart
+
+.Frameset_TrademonBubble:
+ frame SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32
+ endanim
+
+.Frameset_EvolutionBallOfLight:
+ frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
+ frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2
+ frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
+ endanim
+
+.Frameset_RadioTuningKnob:
+ frame SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32
+ endanim
+
+.Frameset_MagnetTrainRed:
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
+ frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
+ dorestart
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_43, 8
+ frame SPRITE_ANIM_OAMSET_44, 8
+ dorestart
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_45, 8
+ frame SPRITE_ANIM_OAMSET_46, 8
+ dorestart
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_47, 8
+ frame SPRITE_ANIM_OAMSET_48, 8
+ dorestart
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_49, 1
+ frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_49, 1, OAM_Y_FLIP
+ dorestart
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_4A, 32
+ endanim
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_4B, 32
+ endanim
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_4C, 32
+ endanim
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_4D, 32
+ endanim
+
+; XXX
+ frame SPRITE_ANIM_OAMSET_4E, 3
+ dorepeat 3
+ dorestart
+
+.Frameset_1c:
+ dorepeat 32
+ endanim
+
+.Frameset_Leaf:
+ frame SPRITE_ANIM_OAMSET_LEAF, 32
+ endanim
+
+.Frameset_CutTree:
+ frame SPRITE_ANIM_OAMSET_TREE_1, 2
+ frame SPRITE_ANIM_OAMSET_CUT_TREE_2, 16
+ dorepeat 1
+ frame SPRITE_ANIM_OAMSET_CUT_TREE_3, 1
+ dorepeat 1
+ frame SPRITE_ANIM_OAMSET_CUT_TREE_4, 1
+ delanim
+
+.Frameset_EggCrack:
+ frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32
+ endanim
+
+.Frameset_EggHatch:
+ frame SPRITE_ANIM_OAMSET_55, 32
+ endanim
+
+.Frameset_21:
+ frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP
+ endanim
+
+.Frameset_22:
+ frame SPRITE_ANIM_OAMSET_55, 32, OAM_Y_FLIP
+ endanim
+
+.Frameset_23:
+ frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP, OAM_Y_FLIP
+ endanim
+
+.Frameset_24:
+ frame SPRITE_ANIM_OAMSET_56, 10
+ frame SPRITE_ANIM_OAMSET_57, 9
+ frame SPRITE_ANIM_OAMSET_58, 10
+ frame SPRITE_ANIM_OAMSET_59, 10
+ frame SPRITE_ANIM_OAMSET_58, 9
+ frame SPRITE_ANIM_OAMSET_5A, 10
+ dorestart
+
+.Frameset_HeadbuttTree:
+ frame SPRITE_ANIM_OAMSET_TREE_1, 2
+ frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2
+ frame SPRITE_ANIM_OAMSET_TREE_1, 2
+ frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP
+ dorestart
+
+.Frameset_26:
+ frame SPRITE_ANIM_OAMSET_5C, 2
+ endanim
+
+.Frameset_27:
+ frame SPRITE_ANIM_OAMSET_5D, 2
+ endanim
+
+.Frameset_28:
+ frame SPRITE_ANIM_OAMSET_5E, 2
+ endanim
+
+.Frameset_29:
+ frame SPRITE_ANIM_OAMSET_5F, 2
+ endanim
+
+.Frameset_2a:
+ frame SPRITE_ANIM_OAMSET_60, 2
+ endanim
+
+.Frameset_2b:
+ frame SPRITE_ANIM_OAMSET_61, 2
+ endanim
+
+.Frameset_2c:
+ frame SPRITE_ANIM_OAMSET_62, 2
+ endanim
+
+.Frameset_MobileTradeSentBall:
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
+ endanim
+
+.Frameset_MobileTradeOTBall:
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
+ delanim
+
+.Frameset_ForMobile22:
+ frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1, 3
+ frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2, 3
+ dorestart
+
+.Frameset_ForMobile23:
+ frame SPRITE_ANIM_OAMSET_FOR_MOBILE_23, 3
+ endanim
+
+.Frameset_ForMobile24:
+ frame SPRITE_ANIM_OAMSET_FOR_MOBILE_24, 3
+ endanim
+
+.Frameset_ForMobile25:
+ frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1, 2
+ frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2, 2
+ frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3, 2
+ delanim
+
+.Frameset_IntroSuicune:
+ frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
+ dorestart
+
+.Frameset_IntroSuicune2:
+ frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 7
+ endanim
+
+.Frameset_IntroPichu:
+ frame SPRITE_ANIM_OAMSET_INTRO_PICHU_1, 32
+ frame SPRITE_ANIM_OAMSET_INTRO_PICHU_2, 7
+ frame SPRITE_ANIM_OAMSET_INTRO_PICHU_3, 7
+ endanim
+
+.Frameset_IntroWooper:
+ frame SPRITE_ANIM_OAMSET_INTRO_WOOPER, 3
+ endanim
+
+.Frameset_IntroUnown1:
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7
+ delanim
+
+.Frameset_IntroUnown2:
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP
+ delanim
+
+.Frameset_IntroUnown3:
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP
+ delanim
+
+.Frameset_IntroUnown4:
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP
+ delanim
+
+.Frameset_IntroUnownF2:
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3, 3
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4, 7
+ frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5, 7
+ endanim
+
+.Frameset_IntroSuicuneAway:
+ frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY, 3
+ endanim
+
+.Frameset_IntroUnownF:
+ dorepeat 0
+ endanim
+
+.Frameset_CelebiLeft:
+ frame SPRITE_ANIM_OAMSET_CELEBI_1, 8
+ frame SPRITE_ANIM_OAMSET_CELEBI_2, 8
+ endanim
+
+.Frameset_CelebiRight:
+ frame SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP
+ endanim
+; 8d94d
--- /dev/null
+++ b/data/sprite_anims/oam.asm
@@ -1,0 +1,1131 @@
+SpriteAnimOAMData: ; 8d94d
+; entries correspond to SPRITE_ANIM_OAMSET_* constants
+ ; vtile offset, pointer
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2
+ dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_02
+ dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_03
+ dbw $6c, .OAMData_04 ; SPRITE_ANIM_OAMSET_04
+ dbw $6e, .OAMData_04 ; SPRITE_ANIM_OAMSET_05
+ dbw $2d, .OAMData_06 ; SPRITE_ANIM_OAMSET_06
+ dbw $4d, .OAMData_06 ; SPRITE_ANIM_OAMSET_07
+ dbw $60, .OAMData_08 ; SPRITE_ANIM_OAMSET_08
+ dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_09
+ dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_0A
+ dbw $06, .OAMData_08 ; SPRITE_ANIM_OAMSET_0B
+ dbw $0c, .OAMData_0c ; SPRITE_ANIM_OAMSET_0C
+ dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_0D
+ dbw $00, .OAMData_0e ; SPRITE_ANIM_OAMSET_0E
+ dbw $04, .OAMData_0e ; SPRITE_ANIM_OAMSET_0F
+ dbw $08, .OAMData_0e ; SPRITE_ANIM_OAMSET_10
+ dbw $40, .OAMData_0e ; SPRITE_ANIM_OAMSET_11
+ dbw $44, .OAMData_0e ; SPRITE_ANIM_OAMSET_12
+ dbw $48, .OAMData_0e ; SPRITE_ANIM_OAMSET_13
+ dbw $4c, .OAMData_0e ; SPRITE_ANIM_OAMSET_14
+ dbw $80, .OAMData_15 ; SPRITE_ANIM_OAMSET_15
+ dbw $85, .OAMData_15 ; SPRITE_ANIM_OAMSET_16
+ dbw $8a, .OAMData_15 ; SPRITE_ANIM_OAMSET_17
+ dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_18
+ dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_19
+ dbw $09, .OAMData_1a ; SPRITE_ANIM_OAMSET_1A
+ dbw $10, .OAMData_1b ; SPRITE_ANIM_OAMSET_1B
+ dbw $29, .OAMData_1b ; SPRITE_ANIM_OAMSET_1C
+ dbw $42, .OAMData_1b ; SPRITE_ANIM_OAMSET_1D
+ dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1
+ dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
+ dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
+ dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_OAMSET_FOR_FRAMESET_09
+ dbw $00, .OAMData_22 ; SPRITE_ANIM_OAMSET_22
+ dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR
+ dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1
+ dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2
+ dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3
+ dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
+ dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
+ dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
+ dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2
+ dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3
+ dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4
+ dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5
+ dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR
+ dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1
+ dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2
+ dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1
+ dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2
+ dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3
+ dbw $12, .OAMData_35 ; SPRITE_ANIM_OAMSET_35
+ dbw $13, .OAMData_35 ; SPRITE_ANIM_OAMSET_36
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2
+ dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE
+ dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1
+ dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2
+ dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB
+ dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1
+ dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2
+ dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1
+ dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2
+ dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1
+ dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2
+ dbw $00, .OAMData_43 ; SPRITE_ANIM_OAMSET_43
+ dbw $30, .OAMData_43 ; SPRITE_ANIM_OAMSET_44
+ dbw $03, .OAMData_43 ; SPRITE_ANIM_OAMSET_45
+ dbw $33, .OAMData_43 ; SPRITE_ANIM_OAMSET_46
+ dbw $06, .OAMData_43 ; SPRITE_ANIM_OAMSET_47
+ dbw $36, .OAMData_43 ; SPRITE_ANIM_OAMSET_48
+ dbw $09, .OAMData_43 ; SPRITE_ANIM_OAMSET_49
+ dbw $39, .OAMData_43 ; SPRITE_ANIM_OAMSET_4A
+ dbw $0c, .OAMData_4b ; SPRITE_ANIM_OAMSET_4B
+ dbw $0c, .OAMData_4c ; SPRITE_ANIM_OAMSET_4C
+ dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4D
+ dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4E
+ dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF
+ dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1
+ dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2
+ dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3
+ dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4
+ dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK
+ dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_55
+ dbw $00, .OAMData_56 ; SPRITE_ANIM_OAMSET_56
+ dbw $00, .OAMData_57 ; SPRITE_ANIM_OAMSET_57
+ dbw $00, .OAMData_58 ; SPRITE_ANIM_OAMSET_58
+ dbw $00, .OAMData_59 ; SPRITE_ANIM_OAMSET_59
+ dbw $00, .OAMData_5a ; SPRITE_ANIM_OAMSET_5A
+ dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2
+ dbw $00, .OAMData_5c ; SPRITE_ANIM_OAMSET_5C
+ dbw $00, .OAMData_5d ; SPRITE_ANIM_OAMSET_5D
+ dbw $00, .OAMData_5e ; SPRITE_ANIM_OAMSET_5E
+ dbw $00, .OAMData_5f ; SPRITE_ANIM_OAMSET_5F
+ dbw $00, .OAMData_60 ; SPRITE_ANIM_OAMSET_60
+ dbw $00, .OAMData_61 ; SPRITE_ANIM_OAMSET_61
+ dbw $00, .OAMData_62 ; SPRITE_ANIM_OAMSET_62
+ dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1
+ dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2
+ dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1
+ dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2
+ dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1
+ dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2
+ dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1
+ dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2
+ dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3
+ dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_23
+ dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_24
+ dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1
+ dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2
+ dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3
+ dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4
+ dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1
+ dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2
+ dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3
+ dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER
+ dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1
+ dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2
+ dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3
+ dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1
+ dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2
+ dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3
+ dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4
+ dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5
+ dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY
+ dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1
+ dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2
+ dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1
+ dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2
+ dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3
+ dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4
+ dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5
+ dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6
+ dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7
+ dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8
+ dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
+ dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
+ dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
+
+.OAMData_1x1_Palette0:
+ db 1
+ dsprite -1, 4, -1, 4, $00, $00
+
+.OAMData_04:
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $01, $00
+ dsprite 0, 0, -1, 0, $10, $00
+ dsprite 0, 0, 0, 0, $11, $00
+
+.OAMData_GSIntroStar:
+ db 4
+ dsprite -1, 0, -1, 0, $00, 0
+ dsprite -1, 0, 0, 0, $00, 0 | X_FLIP
+ dsprite 0, 0, -1, 0, $01, 0
+ dsprite 0, 0, 0, 0, $01, 0 | X_FLIP
+
+.OAMData_TradePokeBall1:
+ db 4
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $00, $a0
+ dsprite 0, 0, -1, 0, $01, $80
+ dsprite 0, 0, 0, 0, $01, $a0
+
+.OAMData_18:
+ db 4
+ dsprite -1, 0, -1, 0, $00, $00
+ dsprite -1, 0, 0, 0, $00, $20
+ dsprite 0, 0, -1, 0, $00, $40
+ dsprite 0, 0, 0, 0, $00, $60
+
+.OAMData_35:
+ db 4
+ dsprite -1, 0, -1, 0, $00, $07
+ dsprite -1, 0, 0, 0, $00, $27
+ dsprite 0, 0, -1, 0, $00, $47
+ dsprite 0, 0, 0, 0, $00, $67
+; 8db4b
+
+; 8db4b
+ db 4
+ dsprite -1, 0, -1, 0, $00, $80
+ dsprite -1, 0, 0, 0, $00, $a0
+ dsprite 0, 0, -1, 0, $00, $c0
+ dsprite 0, 0, 0, 0, $00, $e0
+
+.OAMData_TradePoofBubble:
+ db 16
+ dsprite -2, 0, -2, 0, $00, 0
+ dsprite -2, 0, -1, 0, $01, 0
+ dsprite -1, 0, -2, 0, $02, 0
+ dsprite -1, 0, -1, 0, $03, 0
+ dsprite -2, 0, 0, 0, $01, 0 | X_FLIP
+ dsprite -2, 0, 1, 0, $00, 0 | X_FLIP
+ dsprite -1, 0, 0, 0, $03, 0 | X_FLIP
+ dsprite -1, 0, 1, 0, $02, 0 | X_FLIP
+ dsprite 0, 0, -2, 0, $02, 0 | Y_FLIP
+ dsprite 0, 0, -1, 0, $03, 0 | Y_FLIP
+ dsprite 1, 0, -2, 0, $00, 0 | Y_FLIP
+ dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $03, 0 | X_FLIP | Y_FLIP
+ dsprite 0, 0, 1, 0, $02, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP
+
+.OAMData_1a:
+ db 36
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -2, 0, -3, 0, $03, $00
+ dsprite -2, 0, -2, 0, $04, $00
+ dsprite -2, 0, -1, 0, $05, $00
+ dsprite -1, 0, -3, 0, $06, $00
+ dsprite -1, 0, -2, 0, $05, $00
+ dsprite -1, 0, -1, 0, $05, $00
+ dsprite -3, 0, 0, 0, $02, $20
+ dsprite -3, 0, 1, 0, $01, $20
+ dsprite -3, 0, 2, 0, $00, $20
+ dsprite -2, 0, 0, 0, $05, $20
+ dsprite -2, 0, 1, 0, $04, $20
+ dsprite -2, 0, 2, 0, $03, $20
+ dsprite -1, 0, 0, 0, $05, $20
+ dsprite -1, 0, 1, 0, $05, $20
+ dsprite -1, 0, 2, 0, $06, $20
+ dsprite 0, 0, -3, 0, $06, $40
+ dsprite 0, 0, -2, 0, $05, $40
+ dsprite 0, 0, -1, 0, $05, $40
+ dsprite 1, 0, -3, 0, $03, $40
+ dsprite 1, 0, -2, 0, $04, $40
+ dsprite 1, 0, -1, 0, $05, $40
+ dsprite 2, 0, -3, 0, $00, $40
+ dsprite 2, 0, -2, 0, $01, $40
+ dsprite 2, 0, -1, 0, $02, $40
+ dsprite 0, 0, 0, 0, $05, $60
+ dsprite 0, 0, 1, 0, $05, $60
+ dsprite 0, 0, 2, 0, $06, $60
+ dsprite 1, 0, 0, 0, $05, $60
+ dsprite 1, 0, 1, 0, $04, $60
+ dsprite 1, 0, 2, 0, $03, $60
+ dsprite 2, 0, 0, 0, $02, $60
+ dsprite 2, 0, 1, 0, $01, $60
+ dsprite 2, 0, 2, 0, $00, $60
+
+.OAMData_43:
+ db 9
+ dsprite -2, 4, -2, 4, $00, $00
+ dsprite -2, 4, -1, 4, $01, $00
+ dsprite -2, 4, 0, 4, $02, $00
+ dsprite -1, 4, -2, 4, $10, $00
+ dsprite -1, 4, -1, 4, $11, $00
+ dsprite -1, 4, 0, 4, $12, $00
+ dsprite 0, 4, -2, 4, $20, $00
+ dsprite 0, 4, -1, 4, $21, $00
+ dsprite 0, 4, 0, 4, $22, $00
+
+.OAMData_0e:
+ db 16
+ dsprite -2, 0, -2, 0, $00, $00
+ dsprite -2, 0, -1, 0, $01, $00
+ dsprite -2, 0, 0, 0, $02, $00
+ dsprite -2, 0, 1, 0, $03, $00
+ dsprite -1, 0, -2, 0, $10, $00
+ dsprite -1, 0, -1, 0, $11, $00
+ dsprite -1, 0, 0, 0, $12, $00
+ dsprite -1, 0, 1, 0, $13, $00
+ dsprite 0, 0, -2, 0, $20, $00
+ dsprite 0, 0, -1, 0, $21, $00
+ dsprite 0, 0, 0, 0, $22, $00
+ dsprite 0, 0, 1, 0, $23, $00
+ dsprite 1, 0, -2, 0, $30, $00
+ dsprite 1, 0, -1, 0, $31, $00
+ dsprite 1, 0, 0, 0, $32, $00
+ dsprite 1, 0, 1, 0, $33, $00
+
+.OAMData_1b:
+ db 25
+ dsprite -3, 4, -3, 4, $00, $00
+ dsprite -2, 4, -3, 4, $01, $00
+ dsprite -1, 4, -3, 4, $02, $00
+ dsprite 0, 4, -3, 4, $03, $00
+ dsprite 1, 4, -3, 4, $04, $00
+ dsprite -3, 4, -2, 4, $05, $00
+ dsprite -2, 4, -2, 4, $06, $00
+ dsprite -1, 4, -2, 4, $07, $00
+ dsprite 0, 4, -2, 4, $08, $00
+ dsprite 1, 4, -2, 4, $09, $00
+ dsprite -3, 4, -1, 4, $0a, $00
+ dsprite -2, 4, -1, 4, $0b, $00
+ dsprite -1, 4, -1, 4, $0c, $00
+ dsprite 0, 4, -1, 4, $0d, $00
+ dsprite 1, 4, -1, 4, $0e, $00
+ dsprite -3, 4, 0, 4, $0f, $00
+ dsprite -2, 4, 0, 4, $10, $00
+ dsprite -1, 4, 0, 4, $11, $00
+ dsprite 0, 4, 0, 4, $12, $00
+ dsprite 1, 4, 0, 4, $13, $00
+ dsprite -3, 4, 1, 4, $14, $00
+ dsprite -2, 4, 1, 4, $15, $00
+ dsprite -1, 4, 1, 4, $16, $00
+ dsprite 0, 4, 1, 4, $17, $00
+ dsprite 1, 4, 1, 4, $18, $00
+; 8dcf9
+
+; 8dcf9
+ db 36
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $03, $00
+ dsprite -3, 0, 1, 0, $04, $00
+ dsprite -3, 0, 2, 0, $05, $00
+ dsprite -2, 0, -3, 0, $06, $00
+ dsprite -2, 0, -2, 0, $07, $00
+ dsprite -2, 0, -1, 0, $08, $00
+ dsprite -2, 0, 0, 0, $09, $00
+ dsprite -2, 0, 1, 0, $0a, $00
+ dsprite -2, 0, 2, 0, $0b, $00
+ dsprite -1, 0, -3, 0, $0c, $00
+ dsprite -1, 0, -2, 0, $0d, $00
+ dsprite -1, 0, -1, 0, $0e, $00
+ dsprite -1, 0, 0, 0, $0f, $00
+ dsprite -1, 0, 1, 0, $10, $00
+ dsprite -1, 0, 2, 0, $11, $00
+ dsprite 0, 0, -3, 0, $12, $00
+ dsprite 0, 0, -2, 0, $13, $00
+ dsprite 0, 0, -1, 0, $14, $00
+ dsprite 0, 0, 0, 0, $15, $00
+ dsprite 0, 0, 1, 0, $16, $00
+ dsprite 0, 0, 2, 0, $17, $00
+ dsprite 1, 0, -3, 0, $18, $00
+ dsprite 1, 0, -2, 0, $19, $00
+ dsprite 1, 0, -1, 0, $1a, $00
+ dsprite 1, 0, 0, 0, $1b, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite 1, 0, 2, 0, $1d, $00
+ dsprite 2, 0, -3, 0, $1e, $00
+ dsprite 2, 0, -2, 0, $1f, $00
+ dsprite 2, 0, -1, 0, $20, $00
+ dsprite 2, 0, 0, 0, $21, $00
+ dsprite 2, 0, 1, 0, $22, $00
+ dsprite 2, 0, 2, 0, $23, $00
+
+.OAMData_RedWalk:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $02, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED
+
+.OAMData_MagnetTrainRed:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED | BEHIND_BG
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED | BEHIND_BG
+ dsprite 0, 0, -1, 0, $02, PAL_OW_RED | BEHIND_BG
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED | BEHIND_BG
+
+.OAMData_PartyMonWithMail1:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $08, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED
+
+.OAMData_PartyMonWithMail2:
+ db 4
+ dsprite -1, 0, -1, 0, $04, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $05, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $08, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $07, PAL_OW_RED
+
+.OAMData_PartyMonWithItem1:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $09, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED
+
+.OAMData_PartyMonWithItem2:
+ db 4
+ dsprite -1, 0, -1, 0, $04, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $05, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $09, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $07, PAL_OW_RED
+
+.OAMData_06:
+ db 6
+ dsprite -1, 0, -2, 4, $00, $01
+ dsprite -1, 0, -1, 4, $01, $01
+ dsprite -1, 0, 0, 4, $02, $01
+ dsprite 0, 0, -2, 4, $10, $01
+ dsprite 0, 0, -1, 4, $11, $01
+ dsprite 0, 0, 0, 4, $12, $01
+
+.OAMData_08:
+ db 29
+ dsprite -3, 0, -3, 0, $00, $00
+ dsprite -3, 0, -2, 0, $01, $00
+ dsprite -3, 0, -1, 0, $02, $00
+ dsprite -3, 0, 0, 0, $03, $00
+ dsprite -2, 0, -3, 0, $10, $00
+ dsprite -2, 0, -2, 0, $11, $00
+ dsprite -2, 0, -1, 0, $12, $00
+ dsprite -2, 0, 0, 0, $13, $00
+ dsprite -1, 0, -3, 0, $20, $00
+ dsprite -1, 0, -2, 0, $21, $00
+ dsprite -1, 0, -1, 0, $22, $00
+ dsprite -1, 0, 0, 0, $23, $00
+ dsprite -1, 0, 1, 0, $24, $00
+ dsprite 0, 0, -3, 0, $30, $80
+ dsprite 0, 0, -2, 0, $31, $80
+ dsprite 0, 0, -1, 0, $32, $80
+ dsprite 0, 0, 0, 0, $33, $80
+ dsprite 0, 0, 1, 0, $34, $80
+ dsprite 1, 0, -3, 0, $40, $80
+ dsprite 1, 0, -2, 0, $41, $80
+ dsprite 1, 0, -1, 0, $42, $80
+ dsprite 1, 0, 0, 0, $43, $80
+ dsprite 1, 0, 1, 0, $44, $80
+ dsprite 1, 0, 2, 0, $45, $80
+ dsprite 2, 0, -2, 0, $51, $80
+ dsprite 2, 0, -1, 0, $52, $80
+ dsprite 2, 0, 0, 0, $53, $80
+ dsprite 2, 0, 1, 0, $54, $80
+ dsprite 2, 0, 2, 0, $55, $80
+
+.OAMData_0c:
+ db 2
+ dsprite -1, 0, -1, 4, $00, $00
+ dsprite 0, 0, -1, 4, $10, $00
+
+.OAMData_15:
+ db 5
+ dsprite -2, 0, 3, 0, $00, $00
+ dsprite -2, 0, 4, 0, $01, $00
+ dsprite -1, 0, 2, 0, $02, $00
+ dsprite -1, 0, 3, 0, $03, $00
+ dsprite 0, 0, 2, 0, $04, $00
+
+.OAMData_Leaf:
+ db 1
+ dsprite -1, 4, -1, 4, $00, PAL_OW_TREE
+
+.OAMData_Tree:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_TREE
+ dsprite -1, 0, 0, 0, $01, PAL_OW_TREE
+ dsprite 0, 0, -1, 0, $02, PAL_OW_TREE
+ dsprite 0, 0, 0, 0, $03, PAL_OW_TREE
+
+.OAMData_TextEntryCursor:
+ db 4
+ dsprite -1, 7, -1, 7, $00, 0
+ dsprite -1, 7, 0, 0, $00, 0 | X_FLIP
+ dsprite 0, 0, -1, 7, $00, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
+
+.OAMData_ForFrameset09:
+ db 10
+ dsprite -1, 7, 0, 0, $00, 0
+ dsprite -1, 7, 1, 0, $01, 0
+ dsprite -1, 7, 2, 0, $01, 0
+ dsprite -1, 7, 3, 0, $01, 0
+ dsprite -1, 7, 4, 0, $00, 0 | X_FLIP
+ dsprite 0, 0, 0, 0, $00, 0 | Y_FLIP
+ dsprite 0, 0, 1, 0, $01, 0 | Y_FLIP
+ dsprite 0, 0, 2, 0, $01, 0 | Y_FLIP
+ dsprite 0, 0, 3, 0, $01, 0 | Y_FLIP
+ dsprite 0, 0, 4, 0, $00, 0 | X_FLIP | Y_FLIP
+
+.OAMData_22:
+ db 15
+ dsprite -3, 4, -2, 4, $00, $11
+ dsprite -3, 4, -1, 4, $01, $11
+ dsprite -3, 4, 0, 4, $02, $11
+ dsprite -2, 4, -2, 4, $03, $11
+ dsprite -2, 4, -1, 4, $04, $11
+ dsprite -2, 4, 0, 4, $05, $11
+ dsprite -1, 4, -2, 4, $06, $11
+ dsprite -1, 4, -1, 4, $07, $11
+ dsprite -1, 4, 0, 4, $08, $11
+ dsprite 0, 4, -2, 4, $09, $11
+ dsprite 0, 4, -1, 4, $0a, $11
+ dsprite 0, 4, 0, 4, $0b, $11
+ dsprite 1, 4, -2, 4, $0c, $11
+ dsprite 1, 4, -1, 4, $0d, $11
+ dsprite 1, 4, 0, 4, $0e, $11
+
+.OAMData_SlotsGolem:
+ db 6
+ dsprite -2, 4, -2, 4, $00, 5 | OBP_NUM
+ dsprite -2, 4, -1, 4, $02, 5 | OBP_NUM
+ dsprite -2, 4, 0, 4, $00, 5 | OBP_NUM | X_FLIP
+ dsprite 0, 4, -2, 4, $04, 5 | OBP_NUM
+ dsprite 0, 4, -1, 4, $06, 5 | OBP_NUM
+ dsprite 0, 4, 0, 4, $04, 5 | OBP_NUM | X_FLIP
+
+.OAMData_SlotsChansey1:
+ db 6
+ dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
+ dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
+ dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
+ dsprite 0, 4, -2, 4, $06, 6 | OBP_NUM
+ dsprite 0, 4, -1, 4, $08, 6 | OBP_NUM
+ dsprite 0, 4, 0, 4, $0a, 6 | OBP_NUM
+
+.OAMData_SlotsChansey2:
+ db 6
+ dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
+ dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
+ dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
+ dsprite 0, 4, -2, 4, $0c, 6 | OBP_NUM
+ dsprite 0, 4, -1, 4, $0e, 6 | OBP_NUM
+ dsprite 0, 4, 0, 4, $10, 6 | OBP_NUM
+
+.OAMData_SlotsChansey3:
+ db 6
+ dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
+ dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
+ dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
+ dsprite 0, 4, -2, 4, $12, 6 | OBP_NUM
+ dsprite 0, 4, -1, 4, $14, 6 | OBP_NUM
+ dsprite 0, 4, 0, 4, $16, 6 | OBP_NUM
+
+.OAMData_SlotsChansey4:
+ db 6
+ dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
+ dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
+ dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
+ dsprite 0, 4, -2, 4, $18, 6 | OBP_NUM
+ dsprite 0, 4, -1, 4, $1a, 6 | OBP_NUM
+ dsprite 0, 4, 0, 4, $1c, 6 | OBP_NUM
+
+.OAMData_SlotsChansey5:
+ db 6
+ dsprite -2, 4, -2, 4, $1e, 6 | OBP_NUM
+ dsprite -2, 4, -1, 4, $20, 6 | OBP_NUM
+ dsprite -2, 4, 0, 4, $22, 6 | OBP_NUM
+ dsprite 0, 4, -2, 4, $24, 6 | OBP_NUM
+ dsprite 0, 4, -1, 4, $26, 6 | OBP_NUM
+ dsprite 0, 4, 0, 4, $28, 6 | OBP_NUM
+
+.OAMData_RadioTuningKnob:
+ db 3
+ dsprite -2, 4, -1, 4, $00, 0 | OBP_NUM
+ dsprite -1, 4, -1, 4, $00, 0 | OBP_NUM
+ dsprite 0, 4, -1, 4, $00, 0 | OBP_NUM
+
+.OAMData_4b:
+ db 6
+ dsprite 0, 0, 0, 0, $00, $00
+ dsprite 0, 0, 1, 0, $01, $00
+ dsprite 0, 0, 2, 0, $01, $00
+ dsprite 0, 0, 3, 0, $01, $00
+ dsprite 0, 0, 4, 0, $02, $00
+ dsprite 0, 0, 5, 0, $03, $00
+
+.OAMData_4c:
+ db 4
+ dsprite 0, 0, 0, 0, $00, $00
+ dsprite 0, 0, 1, 0, $01, $00
+ dsprite 0, 0, 2, 0, $02, $00
+ dsprite 0, 0, 3, 0, $03, $00
+
+.OAMData_CutTree2:
+ db 4
+ dsprite -1, 0, -2, 6, $00, PAL_OW_TREE
+ dsprite -1, 0, 0, 2, $01, PAL_OW_TREE
+ dsprite 0, 0, -2, 6, $02, PAL_OW_TREE
+ dsprite 0, 0, 0, 2, $03, PAL_OW_TREE
+
+.OAMData_CutTree3:
+ db 4
+ dsprite -1, 0, -2, 4, $00, PAL_OW_TREE
+ dsprite -1, 0, 0, 4, $01, PAL_OW_TREE
+ dsprite 0, 0, -2, 4, $02, PAL_OW_TREE
+ dsprite 0, 0, 0, 4, $03, PAL_OW_TREE
+
+.OAMData_CutTree4:
+ db 4
+ dsprite -1, 0, -2, 0, $00, PAL_OW_TREE
+ dsprite -1, 0, 1, 0, $01, PAL_OW_TREE
+ dsprite 0, 0, -2, 0, $02, PAL_OW_TREE
+ dsprite 0, 0, 1, 0, $03, PAL_OW_TREE
+
+.OAMData_56:
+ db 19
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -3, 0, -2, 0, $06, $00
+ dsprite -1, 0, -2, 0, $08, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $0c, $00
+ dsprite -1, 0, -1, 0, $0e, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -3, 0, 0, 0, $12, $00
+ dsprite -1, 0, 0, 0, $14, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -3, 0, 1, 0, $18, $00
+ dsprite -1, 0, 1, 0, $1a, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_57:
+ db 16
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $26, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $28, $00
+ dsprite -1, 0, -1, 0, $2a, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -1, 0, 0, 0, $2c, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_58:
+ db 15
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $32, $00
+ dsprite -1, 0, -2, 0, $34, $00
+ dsprite 1, 0, -2, 0, $36, $00
+ dsprite -1, 0, -1, 0, $38, $00
+ dsprite 1, 0, -1, 0, $3a, $00
+ dsprite -1, 0, 0, 0, $3c, $00
+ dsprite 1, 0, 0, 0, $3e, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_59:
+ db 17
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $40, $00
+ dsprite 1, 0, -2, 0, $42, $00
+ dsprite 3, 0, -2, 0, $44, $00
+ dsprite -1, 0, -1, 0, $46, $00
+ dsprite 1, 0, -1, 0, $48, $00
+ dsprite 3, 0, -1, 0, $4a, $00
+ dsprite -1, 0, 0, 0, $4c, $00
+ dsprite 1, 0, 0, 0, $4e, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_5a:
+ db 17
+ dsprite -1, 0, -4, 0, $00, $00
+ dsprite -2, 0, -3, 0, $02, $00
+ dsprite 0, 0, -3, 0, $04, $00
+ dsprite -1, 0, -2, 0, $50, $00
+ dsprite 1, 0, -2, 0, $0a, $00
+ dsprite -3, 0, -1, 0, $52, $00
+ dsprite -1, 0, -1, 0, $54, $00
+ dsprite 1, 0, -1, 0, $10, $00
+ dsprite -3, 0, 0, 0, $56, $00
+ dsprite -1, 0, 0, 0, $2e, $00
+ dsprite 1, 0, 0, 0, $16, $00
+ dsprite -1, 0, 1, 0, $30, $00
+ dsprite 1, 0, 1, 0, $1c, $00
+ dsprite -1, 0, 2, 0, $1e, $00
+ dsprite 1, 0, 2, 0, $20, $00
+ dsprite -2, 0, 3, 0, $22, $00
+ dsprite 0, 0, 3, 0, $24, $00
+
+.OAMData_GSTitleTrail:
+ db 1
+ dsprite -1, 4, -1, 4, $00, 1 | OBP_NUM
+
+.OAMData_5c:
+ db 12
+ dsprite 0, 0, 0, 0, $30, $00
+ dsprite 0, 0, 1, 0, $31, $00
+ dsprite 0, 0, 2, 0, $31, $00
+ dsprite 0, 0, 3, 0, $31, $00
+ dsprite 0, 0, 4, 0, $31, $00
+ dsprite 0, 0, 5, 0, $32, $00
+ dsprite 1, 0, 0, 0, $33, $00
+ dsprite 1, 0, 1, 0, $34, $00
+ dsprite 1, 0, 2, 0, $34, $00
+ dsprite 1, 0, 3, 0, $34, $00
+ dsprite 1, 0, 4, 0, $34, $00
+ dsprite 1, 0, 5, 0, $35, $00
+
+.OAMData_5d:
+ db 1
+ dsprite 0, 0, 0, 0, $ed, $00
+
+.OAMData_5e:
+ db 4
+ dsprite -1, 7, -1, 7, $30, $00
+ dsprite -1, 7, 0, 1, $32, $00
+ dsprite 0, 1, -1, 7, $33, $00
+ dsprite 0, 1, 0, 1, $35, $00
+
+.OAMData_5f:
+ db 8
+ dsprite -1, 7, -1, 7, $30, $00
+ dsprite -1, 7, 0, 4, $31, $00
+ dsprite -1, 7, 1, 4, $31, $00
+ dsprite -1, 7, 2, 1, $32, $00
+ dsprite 0, 1, -1, 7, $33, $00
+ dsprite 0, 1, 0, 4, $34, $00
+ dsprite 0, 1, 1, 4, $34, $00
+ dsprite 0, 1, 2, 1, $35, $00
+
+.OAMData_60:
+ db 1
+ dsprite 0, 0, 0, 0, $34, $00
+
+.OAMData_61:
+ db 2
+ dsprite 0, 0, 0, 0, $30, $00
+ dsprite 1, 0, 0, 0, $33, $00
+
+.OAMData_62:
+ db 2
+ dsprite 0, 0, 0, 0, $32, $00
+ dsprite 1, 0, 0, 0, $35, $00
+
+.OAMData_BlueWalk:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE
+ dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE
+ dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE
+ dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE
+
+.OAMData_MagnetTrainBlue:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | BEHIND_BG
+ dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | BEHIND_BG
+ dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | BEHIND_BG
+ dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | BEHIND_BG
+
+.OAMData_ForMobile22:
+ db 1
+ dsprite -1, 4, -1, 4, $00, 2
+
+.OAMData_ForMobile23:
+ db 4
+ dsprite -2, 0, -1, 4, $00, 3
+ dsprite -1, 0, -1, 4, $01, 3
+ dsprite 0, 0, -1, 4, $02, 3
+ dsprite 1, 0, -1, 4, $03, 3
+
+.OAMData_ForMobile24:
+ db 4
+ dsprite -2, 0, -1, 4, $03, 4 | Y_FLIP
+ dsprite -1, 0, -1, 4, $02, 4 | Y_FLIP
+ dsprite 0, 0, -1, 4, $01, 4 | Y_FLIP
+ dsprite 1, 0, -1, 4, $00, 4 | Y_FLIP
+
+.OAMData_ForMobile25_1:
+ db 4
+ dsprite -1, 0, -1, 0, $00, 1
+ dsprite -1, 0, 0, 0, $00, 1 | X_FLIP
+ dsprite 0, 0, -1, 0, $00, 1 | Y_FLIP
+ dsprite 0, 0, 0, 0, $00, 1 | X_FLIP | Y_FLIP
+
+.OAMData_ForMobile25_2:
+ db 8
+ dsprite -2, 4, -2, 4, $00, 1
+ dsprite -2, 4, -1, 4, $01, 1
+ dsprite -2, 4, 0, 4, $00, 1 | X_FLIP
+ dsprite -1, 4, -2, 4, $02, 1
+ dsprite -1, 4, 0, 4, $02, 1 | X_FLIP
+ dsprite 0, 4, -2, 4, $00, 1 | Y_FLIP
+ dsprite 0, 4, -1, 4, $01, 1 | Y_FLIP
+ dsprite 0, 4, 0, 4, $00, 1 | X_FLIP | Y_FLIP
+
+.OAMData_ForMobile25_3:
+ db 12
+ dsprite -2, 0, -2, 0, $00, 1
+ dsprite -2, 0, -1, 0, $01, 1
+ dsprite -1, 0, -2, 0, $02, 1
+ dsprite -2, 0, 0, 0, $01, 1 | X_FLIP
+ dsprite -2, 0, 1, 0, $00, 1 | X_FLIP
+ dsprite -1, 0, 1, 0, $02, 1 | X_FLIP
+ dsprite 0, 0, -2, 0, $02, 1 | Y_FLIP
+ dsprite 1, 0, -2, 0, $00, 1 | Y_FLIP
+ dsprite 1, 0, -1, 0, $01, 1 | Y_FLIP
+ dsprite 0, 0, 1, 0, $02, 1 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 0, 0, $01, 1 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 1, 0, $00, 1 | X_FLIP | Y_FLIP
+
+.OAMData_IntroSuicune1:
+ db 36
+ dsprite -3, 0, 1, 0, $05, 0
+ dsprite -3, 0, 2, 0, $06, 0
+ dsprite -3, 0, 3, 0, $07, 0
+ dsprite -2, 0, -3, 0, $11, 0
+ dsprite -2, 0, -2, 0, $12, 0
+ dsprite -2, 0, -1, 0, $13, 0
+ dsprite -2, 0, 0, 0, $14, 0
+ dsprite -2, 0, 1, 0, $15, 0
+ dsprite -2, 0, 2, 0, $16, 0
+ dsprite -2, 0, 3, 0, $17, 0
+ dsprite -1, 0, -4, 0, $20, 0
+ dsprite -1, 0, -3, 0, $21, 0
+ dsprite -1, 0, -2, 0, $22, 0
+ dsprite -1, 0, -1, 0, $23, 0
+ dsprite -1, 0, 0, 0, $24, 0
+ dsprite -1, 0, 1, 0, $25, 0
+ dsprite -1, 0, 2, 0, $26, 0
+ dsprite -1, 0, 3, 0, $27, 0
+ dsprite 0, 0, -4, 0, $30, 0
+ dsprite 0, 0, -3, 0, $31, 0
+ dsprite 0, 0, -2, 0, $32, 0
+ dsprite 0, 0, -1, 0, $33, 0
+ dsprite 0, 0, 0, 0, $34, 0
+ dsprite 0, 0, 1, 0, $35, 0
+ dsprite 0, 0, 2, 0, $36, 0
+ dsprite 1, 0, -4, 0, $40, 0
+ dsprite 1, 0, -3, 0, $41, 0
+ dsprite 1, 0, -2, 0, $42, 0
+ dsprite 1, 0, -1, 0, $43, 0
+ dsprite 1, 0, 0, 0, $44, 0
+ dsprite 1, 0, 1, 0, $45, 0
+ dsprite 1, 0, 2, 0, $46, 0
+ dsprite 1, 0, 3, 0, $47, 0
+ dsprite 2, 0, -4, 0, $50, 0
+ dsprite 2, 0, -3, 0, $51, 0
+ dsprite 2, 0, 3, 0, $57, 0
+
+.OAMData_IntroSuicune2:
+ db 28
+ dsprite -3, 0, 0, 0, $04, 0
+ dsprite -3, 0, 1, 0, $05, 0
+ dsprite -3, 0, 2, 0, $06, 0
+ dsprite -2, 0, -3, 0, $11, 0
+ dsprite -2, 0, -2, 0, $12, 0
+ dsprite -2, 0, -1, 0, $13, 0
+ dsprite -2, 0, 0, 0, $14, 0
+ dsprite -2, 0, 1, 0, $15, 0
+ dsprite -2, 0, 2, 0, $16, 0
+ dsprite -1, 0, -3, 0, $21, 0
+ dsprite -1, 0, -2, 0, $22, 0
+ dsprite -1, 0, -1, 0, $23, 0
+ dsprite -1, 0, 0, 0, $24, 0
+ dsprite -1, 0, 1, 0, $25, 0
+ dsprite -1, 0, 2, 0, $26, 0
+ dsprite 0, 0, -4, 0, $30, 0
+ dsprite 0, 0, -3, 0, $31, 0
+ dsprite 0, 0, -2, 0, $32, 0
+ dsprite 0, 0, -1, 0, $33, 0
+ dsprite 0, 0, 0, 0, $34, 0
+ dsprite 0, 0, 1, 0, $35, 0
+ dsprite 1, 0, -2, 0, $42, 0
+ dsprite 1, 0, -1, 0, $43, 0
+ dsprite 1, 0, 0, 0, $44, 0
+ dsprite 1, 0, 1, 0, $45, 0
+ dsprite 2, 0, -1, 0, $53, 0
+ dsprite 2, 0, 0, 0, $54, 0
+ dsprite 2, 0, 1, 0, $55, 0
+
+.OAMData_IntroSuicune3:
+ db 30
+ dsprite -3, 0, 0, 0, $04, 0
+ dsprite -3, 0, 1, 0, $05, 0
+ dsprite -2, 0, -3, 0, $11, 0
+ dsprite -2, 0, -2, 0, $12, 0
+ dsprite -2, 0, -1, 0, $13, 0
+ dsprite -2, 0, 0, 0, $14, 0
+ dsprite -2, 0, 1, 0, $15, 0
+ dsprite -2, 0, 2, 0, $16, 0
+ dsprite -2, 0, 3, 0, $17, 0
+ dsprite -1, 0, -4, 0, $20, 0
+ dsprite -1, 0, -3, 0, $21, 0
+ dsprite -1, 0, -2, 0, $22, 0
+ dsprite -1, 0, -1, 0, $23, 0
+ dsprite -1, 0, 0, 0, $24, 0
+ dsprite -1, 0, 1, 0, $25, 0
+ dsprite -1, 0, 2, 0, $26, 0
+ dsprite 0, 0, -4, 0, $30, 0
+ dsprite 0, 0, -3, 0, $31, 0
+ dsprite 0, 0, -2, 0, $32, 0
+ dsprite 0, 0, -1, 0, $33, 0
+ dsprite 0, 0, 0, 0, $34, 0
+ dsprite 0, 0, 1, 0, $35, 0
+ dsprite 1, 0, -2, 0, $42, 0
+ dsprite 1, 0, -1, 0, $43, 0
+ dsprite 1, 0, 0, 0, $44, 0
+ dsprite 1, 0, 1, 0, $45, 0
+ dsprite 2, 0, -2, 0, $52, 0
+ dsprite 2, 0, -1, 0, $53, 0
+ dsprite 2, 0, 0, 0, $54, 0
+ dsprite 2, 0, 1, 0, $55, 0
+
+.OAMData_IntroSuicune4:
+ db 31
+ dsprite -2, 0, -3, 0, $11, 0
+ dsprite -2, 0, -2, 0, $12, 0
+ dsprite -2, 0, -1, 0, $13, 0
+ dsprite -2, 0, 0, 0, $14, 0
+ dsprite -2, 0, 1, 0, $15, 0
+ dsprite -2, 0, 2, 0, $16, 0
+ dsprite -2, 0, 3, 0, $17, 0
+ dsprite -1, 0, -4, 0, $20, 0
+ dsprite -1, 0, -3, 0, $21, 0
+ dsprite -1, 0, -2, 0, $22, 0
+ dsprite -1, 0, -1, 0, $23, 0
+ dsprite -1, 0, 0, 0, $24, 0
+ dsprite -1, 0, 1, 0, $25, 0
+ dsprite -1, 0, 2, 0, $26, 0
+ dsprite -1, 0, 3, 0, $27, 0
+ dsprite 0, 0, -4, 0, $30, 0
+ dsprite 0, 0, -3, 0, $31, 0
+ dsprite 0, 0, -2, 0, $32, 0
+ dsprite 0, 0, -1, 0, $33, 0
+ dsprite 0, 0, 0, 0, $34, 0
+ dsprite 0, 0, 1, 0, $35, 0
+ dsprite 0, 0, 2, 0, $36, 0
+ dsprite 1, 0, -3, 0, $41, 0
+ dsprite 1, 0, -2, 0, $42, 0
+ dsprite 1, 0, -1, 0, $43, 0
+ dsprite 1, 0, 0, 0, $44, 0
+ dsprite 1, 0, 1, 0, $45, 0
+ dsprite 2, 0, -3, 0, $51, 0
+ dsprite 2, 0, -2, 0, $52, 0
+ dsprite 2, 0, 0, 0, $54, 0
+ dsprite 2, 0, 1, 0, $55, 0
+
+.OAMData_IntroPichu:
+ db 25
+ dsprite -3, 4, -3, 4, $00, 1 | VRAM_BANK_1
+ dsprite -3, 4, -2, 4, $01, 1 | VRAM_BANK_1
+ dsprite -3, 4, -1, 4, $02, 1 | VRAM_BANK_1
+ dsprite -3, 4, 0, 4, $03, 1 | VRAM_BANK_1
+ dsprite -3, 4, 1, 4, $04, 1 | VRAM_BANK_1
+ dsprite -2, 4, -3, 4, $10, 1 | VRAM_BANK_1
+ dsprite -2, 4, -2, 4, $11, 1 | VRAM_BANK_1
+ dsprite -2, 4, -1, 4, $12, 1 | VRAM_BANK_1
+ dsprite -2, 4, 0, 4, $13, 1 | VRAM_BANK_1
+ dsprite -2, 4, 1, 4, $14, 1 | VRAM_BANK_1
+ dsprite -1, 4, -3, 4, $20, 1 | VRAM_BANK_1
+ dsprite -1, 4, -2, 4, $21, 1 | VRAM_BANK_1
+ dsprite -1, 4, -1, 4, $22, 1 | VRAM_BANK_1
+ dsprite -1, 4, 0, 4, $23, 1 | VRAM_BANK_1
+ dsprite -1, 4, 1, 4, $24, 1 | VRAM_BANK_1
+ dsprite 0, 4, -3, 4, $30, 1 | VRAM_BANK_1
+ dsprite 0, 4, -2, 4, $31, 1 | VRAM_BANK_1
+ dsprite 0, 4, -1, 4, $32, 1 | VRAM_BANK_1
+ dsprite 0, 4, 0, 4, $33, 1 | VRAM_BANK_1
+ dsprite 0, 4, 1, 4, $34, 1 | VRAM_BANK_1
+ dsprite 1, 4, -3, 4, $40, 1 | VRAM_BANK_1
+ dsprite 1, 4, -2, 4, $41, 1 | VRAM_BANK_1
+ dsprite 1, 4, -1, 4, $42, 1 | VRAM_BANK_1
+ dsprite 1, 4, 0, 4, $43, 1 | VRAM_BANK_1
+ dsprite 1, 4, 1, 4, $44, 1 | VRAM_BANK_1
+
+.OAMData_IntroWooper:
+ db 16
+ dsprite -2, 0, -3, 4, $00, 2 | VRAM_BANK_1
+ dsprite -2, 0, -2, 4, $01, 2 | VRAM_BANK_1
+ dsprite -2, 0, -1, 4, $02, 2 | VRAM_BANK_1
+ dsprite -2, 0, 0, 4, $03, 2 | VRAM_BANK_1
+ dsprite -1, 0, -3, 4, $04, 2 | VRAM_BANK_1
+ dsprite -1, 0, -2, 4, $05, 2 | VRAM_BANK_1
+ dsprite -1, 0, -1, 4, $06, 2 | VRAM_BANK_1
+ dsprite -1, 0, 0, 4, $07, 2 | VRAM_BANK_1
+ dsprite 0, 0, -3, 4, $08, 2 | VRAM_BANK_1
+ dsprite 0, 0, -2, 4, $09, 2 | VRAM_BANK_1
+ dsprite 0, 0, -1, 4, $0a, 2 | VRAM_BANK_1
+ dsprite 0, 0, 0, 4, $0b, 2 | VRAM_BANK_1
+ dsprite 1, 0, -3, 4, $0c, 2 | VRAM_BANK_1
+ dsprite 1, 0, -2, 4, $0d, 2 | VRAM_BANK_1
+ dsprite 1, 0, -1, 4, $0e, 2 | VRAM_BANK_1
+ dsprite 1, 0, 0, 4, $0f, 2 | VRAM_BANK_1
+
+.OAMData_IntroUnown1:
+ db 1
+ dsprite -1, 4, -1, 4, $00, $00
+
+.OAMData_IntroUnown2:
+ db 3
+ dsprite 0, 0, -1, 0, $00, $00
+ dsprite -1, 0, -1, 0, $01, $00
+ dsprite -1, 0, 0, 0, $02, $00
+
+.OAMData_IntroUnown3:
+ db 7
+ dsprite 1, 0, -2, 0, $00, $00
+ dsprite 0, 0, -2, 0, $01, $00
+ dsprite -1, 0, -2, 0, $02, $00
+ dsprite -1, 0, -1, 0, $03, $00
+ dsprite -2, 0, -1, 0, $04, $00
+ dsprite -2, 0, 0, 0, $05, $00
+ dsprite -2, 0, 1, 0, $06, $00
+
+.OAMData_IntroUnownF2_2:
+ db 8
+ dsprite -1, 0, -2, 0, $00, 0
+ dsprite -1, 0, -1, 0, $01, 0
+ dsprite -1, 0, 0, 0, $01, 0 | X_FLIP
+ dsprite -1, 0, 1, 0, $00, 0 | X_FLIP
+ dsprite 0, 0, -2, 0, $00, 0 | Y_FLIP
+ dsprite 0, 0, -1, 0, $01, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
+ dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP
+
+.OAMData_IntroUnownF2_3:
+ db 12
+ dsprite -3, 0, -1, 0, $00, 0
+ dsprite -2, 0, -1, 0, $01, 0
+ dsprite -1, 0, -1, 0, $02, 0
+ dsprite -3, 0, 0, 0, $00, 0 | X_FLIP
+ dsprite -2, 0, 0, 0, $01, 0 | X_FLIP
+ dsprite -1, 0, 0, 0, $02, 0 | X_FLIP
+ dsprite 0, 0, -1, 0, $02, 0 | Y_FLIP
+ dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP
+ dsprite 2, 0, -1, 0, $00, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
+
+.OAMData_IntroUnownF2_4_5:
+ db 20
+ dsprite -3, 4, -2, 0, $00, 0
+ dsprite -3, 4, -1, 0, $01, 0
+ dsprite -3, 4, 0, 0, $02, 0
+ dsprite -3, 4, 1, 0, $03, 0
+ dsprite -2, 4, -2, 0, $04, 0
+ dsprite -2, 4, -1, 0, $05, 0
+ dsprite -2, 4, 0, 0, $06, 0
+ dsprite -2, 4, 1, 0, $07, 0
+ dsprite -1, 4, -2, 0, $08, 0
+ dsprite -1, 4, -1, 0, $09, 0
+ dsprite -1, 4, 0, 0, $0a, 0
+ dsprite -1, 4, 1, 0, $0b, 0
+ dsprite 0, 4, -2, 0, $0c, 0
+ dsprite 0, 4, -1, 0, $0d, 0
+ dsprite 0, 4, 0, 0, $0e, 0
+ dsprite 0, 4, 1, 0, $0f, 0
+ dsprite 1, 4, -2, 0, $10, 0
+ dsprite 1, 4, -1, 0, $11, 0
+ dsprite 1, 4, 0, 0, $12, 0
+ dsprite 1, 4, 1, 0, $13, 0
+
+.OAMData_IntroSuicuneAway:
+ db 20
+ dsprite 0, 0, 1, 0, $00, 1 | BEHIND_BG
+ dsprite 1, 0, 2, 0, $00, 1 | BEHIND_BG
+ dsprite 2, 0, 3, 0, $00, 1 | BEHIND_BG
+ dsprite 3, 0, 4, 0, $00, 1 | BEHIND_BG
+ dsprite 4, 0, 5, 0, $00, 1 | BEHIND_BG
+ dsprite 3, 0, 6, 0, $00, 1 | BEHIND_BG
+ dsprite 2, 0, 7, 0, $00, 1 | BEHIND_BG
+ dsprite 1, 0, 8, 0, $00, 1 | BEHIND_BG
+ dsprite 0, 0, 9, 0, $00, 1 | BEHIND_BG
+ dsprite 1, 0, 10, 0, $00, 1 | BEHIND_BG
+ dsprite 2, 0, 11, 0, $00, 1 | BEHIND_BG
+ dsprite 3, 0, 12, 0, $00, 1 | BEHIND_BG
+ dsprite 4, 0, 13, 0, $00, 1 | BEHIND_BG
+ dsprite 3, 0, 14, 0, $00, 1 | BEHIND_BG
+ dsprite 2, 0, 15, 0, $00, 1 | BEHIND_BG
+ dsprite 1, 0, 16, 0, $00, 1 | BEHIND_BG
+ dsprite 0, 0, -15, 0, $00, 1 | BEHIND_BG
+ dsprite 1, 0, -14, 0, $00, 1 | BEHIND_BG
+ dsprite 2, 0, -13, 0, $00, 1 | BEHIND_BG
+ dsprite 3, 0, -12, 0, $00, 1 | BEHIND_BG
+
+.OAMData_Celebi:
+ db 4
+ dsprite -1, 0, -1, 0, $00, PAL_OW_GREEN
+ dsprite -1, 0, 0, 0, $01, PAL_OW_GREEN
+ dsprite 0, 0, -1, 0, $02, PAL_OW_GREEN
+ dsprite 0, 0, 0, 0, $03, PAL_OW_GREEN
+
+.OAMData_GameFreakLogo1_3:
+ db 9
+ dsprite -2, 0, -2, 4, $00, 1
+ dsprite -2, 0, -1, 4, $01, 1
+ dsprite -2, 0, 0, 4, $02, 1
+ dsprite -1, 0, -2, 4, $10, 1
+ dsprite -1, 0, -1, 4, $11, 1
+ dsprite -1, 0, 0, 4, $12, 1
+ dsprite 0, 0, -2, 4, $20, 1
+ dsprite 0, 0, -1, 4, $21, 1
+ dsprite 0, 0, 0, 4, $22, 1
+
+.OAMData_GameFreakLogo4_11:
+ db 24
+ dsprite -5, 0, -2, 4, $00, 1
+ dsprite -5, 0, -1, 4, $01, 1
+ dsprite -5, 0, 0, 4, $02, 1
+ dsprite -5, 0, 1, 4, $03, 1
+ dsprite -4, 0, -2, 4, $10, 1
+ dsprite -4, 0, -1, 4, $11, 1
+ dsprite -4, 0, 0, 4, $12, 1
+ dsprite -4, 0, 1, 4, $13, 1
+ dsprite -3, 0, -2, 4, $20, 1
+ dsprite -3, 0, -1, 4, $21, 1
+ dsprite -3, 0, 0, 4, $22, 1
+ dsprite -3, 0, 1, 4, $23, 1
+ dsprite -2, 0, -2, 4, $30, 1
+ dsprite -2, 0, -1, 4, $31, 1
+ dsprite -2, 0, 0, 4, $32, 1
+ dsprite -2, 0, 1, 4, $33, 1
+ dsprite -1, 0, -2, 4, $40, 1
+ dsprite -1, 0, -1, 4, $41, 1
+ dsprite -1, 0, 0, 4, $42, 1
+ dsprite -1, 0, 1, 4, $43, 1
+ dsprite 0, 0, -2, 4, $50, 1
+ dsprite 0, 0, -1, 4, $51, 1
+ dsprite 0, 0, 0, 4, $52, 1
+ dsprite 0, 0, 1, 4, $53, 1
+; 8e706
--- /dev/null
+++ b/data/sprite_anims/sequences.asm
@@ -1,0 +1,49 @@
+SpriteAnimSeqData: ; 8d1c4
+; entries correspond to SPRITE_ANIM_INDEX_* constants
+ ; frameset sequence, tile
+ db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
+ db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
+ db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
+ db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
+ db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+ db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
+ db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+ db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
+ db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
+ db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
+ db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
+ db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+ db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
+ db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
+ db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
+ db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; SPRITE_ANIM_INDEX_1A
+ db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
+ db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
+ db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; SPRITE_ANIM_INDEX_1D
+ db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
+ db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_22
+ db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00 ; SPRITE_ANIM_INDEX_MOBILE_23
+ db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00 ; SPRITE_ANIM_INDEX_MOBILE_24
+ db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_25
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
+ db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
+ db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+ db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
+; 8d24b
--- a/data/sprites/framesets.asm
+++ /dev/null
@@ -1,499 +1,0 @@
-SpriteAnimFrameData: ; 8d6e6
-; entries correspond to SPRITE_ANIM_FRAMESET_* constants
- dw .Frameset_00
- dw .Frameset_PartyMon
- dw .Frameset_PartyMonWithMail
- dw .Frameset_PartyMonWithItem
- dw .Frameset_PartyMonFast
- dw .Frameset_PartyMonWithMailFast
- dw .Frameset_PartyMonWithItemFast
- dw .Frameset_GSTitleTrail
- dw .Frameset_TextEntryCursor
- dw .Frameset_09
- dw .Frameset_GameFreakLogo
- dw .Frameset_GSIntroStar
- dw .Frameset_GSIntroSparkle
- dw .Frameset_SlotsGolem
- dw .Frameset_SlotsChansey
- dw .Frameset_SlotsChansey2
- dw .Frameset_SlotsEgg
- dw .Frameset_RedWalk
- dw .Frameset_StillCursor
- dw .Frameset_TradePokeBall
- dw .Frameset_TradePokeBall0
- dw .Frameset_TradePoof
- dw .Frameset_TradeTubeBulge
- dw .Frameset_TrademonIcon
- dw .Frameset_TrademonBubble
- dw .Frameset_EvolutionBallOfLight
- dw .Frameset_RadioTuningKnob
- dw .Frameset_MagnetTrainRed
- dw .Frameset_1c
- dw .Frameset_Leaf
- dw .Frameset_CutTree
- dw .Frameset_EggCrack
- dw .Frameset_EggHatch
- dw .Frameset_21
- dw .Frameset_22
- dw .Frameset_23
- dw .Frameset_24
- dw .Frameset_HeadbuttTree
- dw .Frameset_26
- dw .Frameset_27
- dw .Frameset_28
- dw .Frameset_29
- dw .Frameset_2a
- dw .Frameset_2b
- dw .Frameset_2c
- dw .Frameset_BlueWalk
- dw .Frameset_MagnetTrainBlue
- dw .Frameset_MobileTradeSentBall
- dw .Frameset_MobileTradeOTBall
- dw .Frameset_ForMobile22
- dw .Frameset_ForMobile23
- dw .Frameset_ForMobile24
- dw .Frameset_ForMobile25
- dw .Frameset_IntroSuicune
- dw .Frameset_IntroSuicune2
- dw .Frameset_IntroPichu
- dw .Frameset_IntroWooper
- dw .Frameset_IntroUnown1
- dw .Frameset_IntroUnown2
- dw .Frameset_IntroUnown3
- dw .Frameset_IntroUnown4
- dw .Frameset_IntroUnownF2
- dw .Frameset_IntroSuicuneAway
- dw .Frameset_IntroUnownF
- dw .Frameset_CelebiLeft
- dw .Frameset_CelebiRight
-; 8d76a
-
-.Frameset_00:
- frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32
- endanim
-
-.Frameset_PartyMon:
- frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
- frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8
- dorestart
-
-.Frameset_PartyMonWithMail:
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8
- dorestart
-
-.Frameset_PartyMonWithItem:
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8
- dorestart
-
-.Frameset_PartyMonFast:
- frame SPRITE_ANIM_OAMSET_RED_WALK_1, 4
- frame SPRITE_ANIM_OAMSET_RED_WALK_2, 4
- dorestart
-
-.Frameset_PartyMonWithMailFast:
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 4
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 4
- dorestart
-
-.Frameset_PartyMonWithItemFast:
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 4
- frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 4
- dorestart
-
-.Frameset_RedWalk:
- frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
- frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8
- frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
- frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP
- dorestart
-
-.Frameset_BlueWalk:
- frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
- frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8
- frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
- frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP
- dorestart
-
-.Frameset_MagnetTrainBlue:
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP
- dorestart
-
-.Frameset_GSTitleTrail:
- frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1
- frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1
- dorestart
-
-.Frameset_TextEntryCursor:
- frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1
- dorepeat 1
- dorestart
-
-.Frameset_09:
- frame SPRITE_ANIM_OAMSET_FOR_FRAMESET_09, 1
- dorepeat 1
- dorestart
-
-.Frameset_GameFreakLogo:
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 1
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 1
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 4
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 12
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 4
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4, 32
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5, 3
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6, 3
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7, 4
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8, 4
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9, 4
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10, 10
- frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7
- endanim
-
-.Frameset_GSIntroStar:
- frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3
- frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3, OAM_Y_FLIP
- dorestart
-
-.Frameset_GSIntroSparkle:
- frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1, 2
- frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2
- frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3, 2
- frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2
- dorestart
-
-.Frameset_SlotsGolem:
- frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP
- dorestart
-
-.Frameset_SlotsChansey:
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7
- dorestart
-
-.Frameset_SlotsChansey2:
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
- frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
- endanim
-
-.Frameset_SlotsEgg:
- frame SPRITE_ANIM_OAMSET_SLOTS_EGG, 20
- endanim
-
-.Frameset_StillCursor:
- frame SPRITE_ANIM_OAMSET_STILL_CURSOR, 32
- endanim
-
-.Frameset_TradePokeBall:
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32
- endanim
-
-.Frameset_TradePokeBall0:
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
- dorestart
-
-.Frameset_TradePoof:
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4
- delanim
-
-.Frameset_TradeTubeBulge:
- frame SPRITE_ANIM_OAMSET_35, 3
- frame SPRITE_ANIM_OAMSET_36, 3
- dorestart
-
-.Frameset_TrademonIcon:
- frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7
- frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7
- dorestart
-
-.Frameset_TrademonBubble:
- frame SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32
- endanim
-
-.Frameset_EvolutionBallOfLight:
- frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
- frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2
- frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
- endanim
-
-.Frameset_RadioTuningKnob:
- frame SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32
- endanim
-
-.Frameset_MagnetTrainRed:
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
- frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
- dorestart
-
-; XXX
- frame SPRITE_ANIM_OAMSET_43, 8
- frame SPRITE_ANIM_OAMSET_44, 8
- dorestart
-
-; XXX
- frame SPRITE_ANIM_OAMSET_45, 8
- frame SPRITE_ANIM_OAMSET_46, 8
- dorestart
-
-; XXX
- frame SPRITE_ANIM_OAMSET_47, 8
- frame SPRITE_ANIM_OAMSET_48, 8
- dorestart
-
-; XXX
- frame SPRITE_ANIM_OAMSET_49, 1
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_Y_FLIP
- dorestart
-
-; XXX
- frame SPRITE_ANIM_OAMSET_4A, 32
- endanim
-
-; XXX
- frame SPRITE_ANIM_OAMSET_4B, 32
- endanim
-
-; XXX
- frame SPRITE_ANIM_OAMSET_4C, 32
- endanim
-
-; XXX
- frame SPRITE_ANIM_OAMSET_4D, 32
- endanim
-
-; XXX
- frame SPRITE_ANIM_OAMSET_4E, 3
- dorepeat 3
- dorestart
-
-.Frameset_1c:
- dorepeat 32
- endanim
-
-.Frameset_Leaf:
- frame SPRITE_ANIM_OAMSET_LEAF, 32
- endanim
-
-.Frameset_CutTree:
- frame SPRITE_ANIM_OAMSET_TREE_1, 2
- frame SPRITE_ANIM_OAMSET_CUT_TREE_2, 16
- dorepeat 1
- frame SPRITE_ANIM_OAMSET_CUT_TREE_3, 1
- dorepeat 1
- frame SPRITE_ANIM_OAMSET_CUT_TREE_4, 1
- delanim
-
-.Frameset_EggCrack:
- frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32
- endanim
-
-.Frameset_EggHatch:
- frame SPRITE_ANIM_OAMSET_55, 32
- endanim
-
-.Frameset_21:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP
- endanim
-
-.Frameset_22:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_Y_FLIP
- endanim
-
-.Frameset_23:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP, OAM_Y_FLIP
- endanim
-
-.Frameset_24:
- frame SPRITE_ANIM_OAMSET_56, 10
- frame SPRITE_ANIM_OAMSET_57, 9
- frame SPRITE_ANIM_OAMSET_58, 10
- frame SPRITE_ANIM_OAMSET_59, 10
- frame SPRITE_ANIM_OAMSET_58, 9
- frame SPRITE_ANIM_OAMSET_5A, 10
- dorestart
-
-.Frameset_HeadbuttTree:
- frame SPRITE_ANIM_OAMSET_TREE_1, 2
- frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2
- frame SPRITE_ANIM_OAMSET_TREE_1, 2
- frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP
- dorestart
-
-.Frameset_26:
- frame SPRITE_ANIM_OAMSET_5C, 2
- endanim
-
-.Frameset_27:
- frame SPRITE_ANIM_OAMSET_5D, 2
- endanim
-
-.Frameset_28:
- frame SPRITE_ANIM_OAMSET_5E, 2
- endanim
-
-.Frameset_29:
- frame SPRITE_ANIM_OAMSET_5F, 2
- endanim
-
-.Frameset_2a:
- frame SPRITE_ANIM_OAMSET_60, 2
- endanim
-
-.Frameset_2b:
- frame SPRITE_ANIM_OAMSET_61, 2
- endanim
-
-.Frameset_2c:
- frame SPRITE_ANIM_OAMSET_62, 2
- endanim
-
-.Frameset_MobileTradeSentBall:
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
- endanim
-
-.Frameset_MobileTradeOTBall:
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
- frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
- delanim
-
-.Frameset_ForMobile22:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1, 3
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2, 3
- dorestart
-
-.Frameset_ForMobile23:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_23, 3
- endanim
-
-.Frameset_ForMobile24:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_24, 3
- endanim
-
-.Frameset_ForMobile25:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1, 2
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2, 2
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3, 2
- delanim
-
-.Frameset_IntroSuicune:
- frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 3
- frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2, 3
- frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3, 3
- frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
- dorestart
-
-.Frameset_IntroSuicune2:
- frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
- frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 7
- endanim
-
-.Frameset_IntroPichu:
- frame SPRITE_ANIM_OAMSET_INTRO_PICHU_1, 32
- frame SPRITE_ANIM_OAMSET_INTRO_PICHU_2, 7
- frame SPRITE_ANIM_OAMSET_INTRO_PICHU_3, 7
- endanim
-
-.Frameset_IntroWooper:
- frame SPRITE_ANIM_OAMSET_INTRO_WOOPER, 3
- endanim
-
-.Frameset_IntroUnown1:
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7
- delanim
-
-.Frameset_IntroUnown2:
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP
- delanim
-
-.Frameset_IntroUnown3:
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP
- delanim
-
-.Frameset_IntroUnown4:
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP
- delanim
-
-.Frameset_IntroUnownF2:
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1, 3
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2, 3
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3, 3
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4, 7
- frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5, 7
- endanim
-
-.Frameset_IntroSuicuneAway:
- frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY, 3
- endanim
-
-.Frameset_IntroUnownF:
- dorepeat 0
- endanim
-
-.Frameset_CelebiLeft:
- frame SPRITE_ANIM_OAMSET_CELEBI_1, 8
- frame SPRITE_ANIM_OAMSET_CELEBI_2, 8
- endanim
-
-.Frameset_CelebiRight:
- frame SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP
- endanim
-; 8d94d
--- a/data/sprites/oam.asm
+++ /dev/null
@@ -1,1131 +1,0 @@
-SpriteAnimOAMData: ; 8d94d
-; entries correspond to SPRITE_ANIM_OAMSET_* constants
- ; vtile offset, pointer
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1
- dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2
- dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_02
- dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_03
- dbw $6c, .OAMData_04 ; SPRITE_ANIM_OAMSET_04
- dbw $6e, .OAMData_04 ; SPRITE_ANIM_OAMSET_05
- dbw $2d, .OAMData_06 ; SPRITE_ANIM_OAMSET_06
- dbw $4d, .OAMData_06 ; SPRITE_ANIM_OAMSET_07
- dbw $60, .OAMData_08 ; SPRITE_ANIM_OAMSET_08
- dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_09
- dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_0A
- dbw $06, .OAMData_08 ; SPRITE_ANIM_OAMSET_0B
- dbw $0c, .OAMData_0c ; SPRITE_ANIM_OAMSET_0C
- dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_0D
- dbw $00, .OAMData_0e ; SPRITE_ANIM_OAMSET_0E
- dbw $04, .OAMData_0e ; SPRITE_ANIM_OAMSET_0F
- dbw $08, .OAMData_0e ; SPRITE_ANIM_OAMSET_10
- dbw $40, .OAMData_0e ; SPRITE_ANIM_OAMSET_11
- dbw $44, .OAMData_0e ; SPRITE_ANIM_OAMSET_12
- dbw $48, .OAMData_0e ; SPRITE_ANIM_OAMSET_13
- dbw $4c, .OAMData_0e ; SPRITE_ANIM_OAMSET_14
- dbw $80, .OAMData_15 ; SPRITE_ANIM_OAMSET_15
- dbw $85, .OAMData_15 ; SPRITE_ANIM_OAMSET_16
- dbw $8a, .OAMData_15 ; SPRITE_ANIM_OAMSET_17
- dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_18
- dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_19
- dbw $09, .OAMData_1a ; SPRITE_ANIM_OAMSET_1A
- dbw $10, .OAMData_1b ; SPRITE_ANIM_OAMSET_1B
- dbw $29, .OAMData_1b ; SPRITE_ANIM_OAMSET_1C
- dbw $42, .OAMData_1b ; SPRITE_ANIM_OAMSET_1D
- dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1
- dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
- dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
- dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_OAMSET_FOR_FRAMESET_09
- dbw $00, .OAMData_22 ; SPRITE_ANIM_OAMSET_22
- dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR
- dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1
- dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2
- dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3
- dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
- dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
- dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
- dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2
- dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3
- dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4
- dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5
- dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR
- dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1
- dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2
- dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1
- dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2
- dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3
- dbw $12, .OAMData_35 ; SPRITE_ANIM_OAMSET_35
- dbw $13, .OAMData_35 ; SPRITE_ANIM_OAMSET_36
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1
- dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2
- dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE
- dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1
- dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2
- dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB
- dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1
- dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2
- dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1
- dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2
- dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1
- dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2
- dbw $00, .OAMData_43 ; SPRITE_ANIM_OAMSET_43
- dbw $30, .OAMData_43 ; SPRITE_ANIM_OAMSET_44
- dbw $03, .OAMData_43 ; SPRITE_ANIM_OAMSET_45
- dbw $33, .OAMData_43 ; SPRITE_ANIM_OAMSET_46
- dbw $06, .OAMData_43 ; SPRITE_ANIM_OAMSET_47
- dbw $36, .OAMData_43 ; SPRITE_ANIM_OAMSET_48
- dbw $09, .OAMData_43 ; SPRITE_ANIM_OAMSET_49
- dbw $39, .OAMData_43 ; SPRITE_ANIM_OAMSET_4A
- dbw $0c, .OAMData_4b ; SPRITE_ANIM_OAMSET_4B
- dbw $0c, .OAMData_4c ; SPRITE_ANIM_OAMSET_4C
- dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4D
- dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4E
- dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF
- dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1
- dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2
- dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3
- dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4
- dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK
- dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_55
- dbw $00, .OAMData_56 ; SPRITE_ANIM_OAMSET_56
- dbw $00, .OAMData_57 ; SPRITE_ANIM_OAMSET_57
- dbw $00, .OAMData_58 ; SPRITE_ANIM_OAMSET_58
- dbw $00, .OAMData_59 ; SPRITE_ANIM_OAMSET_59
- dbw $00, .OAMData_5a ; SPRITE_ANIM_OAMSET_5A
- dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2
- dbw $00, .OAMData_5c ; SPRITE_ANIM_OAMSET_5C
- dbw $00, .OAMData_5d ; SPRITE_ANIM_OAMSET_5D
- dbw $00, .OAMData_5e ; SPRITE_ANIM_OAMSET_5E
- dbw $00, .OAMData_5f ; SPRITE_ANIM_OAMSET_5F
- dbw $00, .OAMData_60 ; SPRITE_ANIM_OAMSET_60
- dbw $00, .OAMData_61 ; SPRITE_ANIM_OAMSET_61
- dbw $00, .OAMData_62 ; SPRITE_ANIM_OAMSET_62
- dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1
- dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2
- dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1
- dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2
- dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1
- dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2
- dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1
- dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2
- dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3
- dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_23
- dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_24
- dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1
- dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2
- dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3
- dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4
- dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1
- dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2
- dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3
- dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER
- dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1
- dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2
- dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3
- dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1
- dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2
- dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3
- dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4
- dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5
- dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY
- dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1
- dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2
- dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1
- dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2
- dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3
- dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4
- dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5
- dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6
- dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7
- dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8
- dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
- dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
- dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
-
-.OAMData_1x1_Palette0:
- db 1
- dsprite -1, 4, -1, 4, $00, $00
-
-.OAMData_04:
- db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $10, $00
- dsprite 0, 0, 0, 0, $11, $00
-
-.OAMData_GSIntroStar:
- db 4
- dsprite -1, 0, -1, 0, $00, 0
- dsprite -1, 0, 0, 0, $00, 0 | X_FLIP
- dsprite 0, 0, -1, 0, $01, 0
- dsprite 0, 0, 0, 0, $01, 0 | X_FLIP
-
-.OAMData_TradePokeBall1:
- db 4
- dsprite -1, 0, -1, 0, $00, $80
- dsprite -1, 0, 0, 0, $00, $a0
- dsprite 0, 0, -1, 0, $01, $80
- dsprite 0, 0, 0, 0, $01, $a0
-
-.OAMData_18:
- db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $00, $20
- dsprite 0, 0, -1, 0, $00, $40
- dsprite 0, 0, 0, 0, $00, $60
-
-.OAMData_35:
- db 4
- dsprite -1, 0, -1, 0, $00, $07
- dsprite -1, 0, 0, 0, $00, $27
- dsprite 0, 0, -1, 0, $00, $47
- dsprite 0, 0, 0, 0, $00, $67
-; 8db4b
-
-; 8db4b
- db 4
- dsprite -1, 0, -1, 0, $00, $80
- dsprite -1, 0, 0, 0, $00, $a0
- dsprite 0, 0, -1, 0, $00, $c0
- dsprite 0, 0, 0, 0, $00, $e0
-
-.OAMData_TradePoofBubble:
- db 16
- dsprite -2, 0, -2, 0, $00, 0
- dsprite -2, 0, -1, 0, $01, 0
- dsprite -1, 0, -2, 0, $02, 0
- dsprite -1, 0, -1, 0, $03, 0
- dsprite -2, 0, 0, 0, $01, 0 | X_FLIP
- dsprite -2, 0, 1, 0, $00, 0 | X_FLIP
- dsprite -1, 0, 0, 0, $03, 0 | X_FLIP
- dsprite -1, 0, 1, 0, $02, 0 | X_FLIP
- dsprite 0, 0, -2, 0, $02, 0 | Y_FLIP
- dsprite 0, 0, -1, 0, $03, 0 | Y_FLIP
- dsprite 1, 0, -2, 0, $00, 0 | Y_FLIP
- dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP
- dsprite 0, 0, 0, 0, $03, 0 | X_FLIP | Y_FLIP
- dsprite 0, 0, 1, 0, $02, 0 | X_FLIP | Y_FLIP
- dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
- dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP
-
-.OAMData_1a:
- db 36
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -2, 0, -3, 0, $03, $00
- dsprite -2, 0, -2, 0, $04, $00
- dsprite -2, 0, -1, 0, $05, $00
- dsprite -1, 0, -3, 0, $06, $00
- dsprite -1, 0, -2, 0, $05, $00
- dsprite -1, 0, -1, 0, $05, $00
- dsprite -3, 0, 0, 0, $02, $20
- dsprite -3, 0, 1, 0, $01, $20
- dsprite -3, 0, 2, 0, $00, $20
- dsprite -2, 0, 0, 0, $05, $20
- dsprite -2, 0, 1, 0, $04, $20
- dsprite -2, 0, 2, 0, $03, $20
- dsprite -1, 0, 0, 0, $05, $20
- dsprite -1, 0, 1, 0, $05, $20
- dsprite -1, 0, 2, 0, $06, $20
- dsprite 0, 0, -3, 0, $06, $40
- dsprite 0, 0, -2, 0, $05, $40
- dsprite 0, 0, -1, 0, $05, $40
- dsprite 1, 0, -3, 0, $03, $40
- dsprite 1, 0, -2, 0, $04, $40
- dsprite 1, 0, -1, 0, $05, $40
- dsprite 2, 0, -3, 0, $00, $40
- dsprite 2, 0, -2, 0, $01, $40
- dsprite 2, 0, -1, 0, $02, $40
- dsprite 0, 0, 0, 0, $05, $60
- dsprite 0, 0, 1, 0, $05, $60
- dsprite 0, 0, 2, 0, $06, $60
- dsprite 1, 0, 0, 0, $05, $60
- dsprite 1, 0, 1, 0, $04, $60
- dsprite 1, 0, 2, 0, $03, $60
- dsprite 2, 0, 0, 0, $02, $60
- dsprite 2, 0, 1, 0, $01, $60
- dsprite 2, 0, 2, 0, $00, $60
-
-.OAMData_43:
- db 9
- dsprite -2, 4, -2, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -2, 4, 0, 4, $02, $00
- dsprite -1, 4, -2, 4, $10, $00
- dsprite -1, 4, -1, 4, $11, $00
- dsprite -1, 4, 0, 4, $12, $00
- dsprite 0, 4, -2, 4, $20, $00
- dsprite 0, 4, -1, 4, $21, $00
- dsprite 0, 4, 0, 4, $22, $00
-
-.OAMData_0e:
- db 16
- dsprite -2, 0, -2, 0, $00, $00
- dsprite -2, 0, -1, 0, $01, $00
- dsprite -2, 0, 0, 0, $02, $00
- dsprite -2, 0, 1, 0, $03, $00
- dsprite -1, 0, -2, 0, $10, $00
- dsprite -1, 0, -1, 0, $11, $00
- dsprite -1, 0, 0, 0, $12, $00
- dsprite -1, 0, 1, 0, $13, $00
- dsprite 0, 0, -2, 0, $20, $00
- dsprite 0, 0, -1, 0, $21, $00
- dsprite 0, 0, 0, 0, $22, $00
- dsprite 0, 0, 1, 0, $23, $00
- dsprite 1, 0, -2, 0, $30, $00
- dsprite 1, 0, -1, 0, $31, $00
- dsprite 1, 0, 0, 0, $32, $00
- dsprite 1, 0, 1, 0, $33, $00
-
-.OAMData_1b:
- db 25
- dsprite -3, 4, -3, 4, $00, $00
- dsprite -2, 4, -3, 4, $01, $00
- dsprite -1, 4, -3, 4, $02, $00
- dsprite 0, 4, -3, 4, $03, $00
- dsprite 1, 4, -3, 4, $04, $00
- dsprite -3, 4, -2, 4, $05, $00
- dsprite -2, 4, -2, 4, $06, $00
- dsprite -1, 4, -2, 4, $07, $00
- dsprite 0, 4, -2, 4, $08, $00
- dsprite 1, 4, -2, 4, $09, $00
- dsprite -3, 4, -1, 4, $0a, $00
- dsprite -2, 4, -1, 4, $0b, $00
- dsprite -1, 4, -1, 4, $0c, $00
- dsprite 0, 4, -1, 4, $0d, $00
- dsprite 1, 4, -1, 4, $0e, $00
- dsprite -3, 4, 0, 4, $0f, $00
- dsprite -2, 4, 0, 4, $10, $00
- dsprite -1, 4, 0, 4, $11, $00
- dsprite 0, 4, 0, 4, $12, $00
- dsprite 1, 4, 0, 4, $13, $00
- dsprite -3, 4, 1, 4, $14, $00
- dsprite -2, 4, 1, 4, $15, $00
- dsprite -1, 4, 1, 4, $16, $00
- dsprite 0, 4, 1, 4, $17, $00
- dsprite 1, 4, 1, 4, $18, $00
-; 8dcf9
-
-; 8dcf9
- db 36
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -3, 0, 0, 0, $03, $00
- dsprite -3, 0, 1, 0, $04, $00
- dsprite -3, 0, 2, 0, $05, $00
- dsprite -2, 0, -3, 0, $06, $00
- dsprite -2, 0, -2, 0, $07, $00
- dsprite -2, 0, -1, 0, $08, $00
- dsprite -2, 0, 0, 0, $09, $00
- dsprite -2, 0, 1, 0, $0a, $00
- dsprite -2, 0, 2, 0, $0b, $00
- dsprite -1, 0, -3, 0, $0c, $00
- dsprite -1, 0, -2, 0, $0d, $00
- dsprite -1, 0, -1, 0, $0e, $00
- dsprite -1, 0, 0, 0, $0f, $00
- dsprite -1, 0, 1, 0, $10, $00
- dsprite -1, 0, 2, 0, $11, $00
- dsprite 0, 0, -3, 0, $12, $00
- dsprite 0, 0, -2, 0, $13, $00
- dsprite 0, 0, -1, 0, $14, $00
- dsprite 0, 0, 0, 0, $15, $00
- dsprite 0, 0, 1, 0, $16, $00
- dsprite 0, 0, 2, 0, $17, $00
- dsprite 1, 0, -3, 0, $18, $00
- dsprite 1, 0, -2, 0, $19, $00
- dsprite 1, 0, -1, 0, $1a, $00
- dsprite 1, 0, 0, 0, $1b, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite 1, 0, 2, 0, $1d, $00
- dsprite 2, 0, -3, 0, $1e, $00
- dsprite 2, 0, -2, 0, $1f, $00
- dsprite 2, 0, -1, 0, $20, $00
- dsprite 2, 0, 0, 0, $21, $00
- dsprite 2, 0, 1, 0, $22, $00
- dsprite 2, 0, 2, 0, $23, $00
-
-.OAMData_RedWalk:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_RED
- dsprite -1, 0, 0, 0, $01, PAL_OW_RED
- dsprite 0, 0, -1, 0, $02, PAL_OW_RED
- dsprite 0, 0, 0, 0, $03, PAL_OW_RED
-
-.OAMData_MagnetTrainRed:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_RED | BEHIND_BG
- dsprite -1, 0, 0, 0, $01, PAL_OW_RED | BEHIND_BG
- dsprite 0, 0, -1, 0, $02, PAL_OW_RED | BEHIND_BG
- dsprite 0, 0, 0, 0, $03, PAL_OW_RED | BEHIND_BG
-
-.OAMData_PartyMonWithMail1:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_RED
- dsprite -1, 0, 0, 0, $01, PAL_OW_RED
- dsprite 0, 0, -1, 0, $08, PAL_OW_RED
- dsprite 0, 0, 0, 0, $03, PAL_OW_RED
-
-.OAMData_PartyMonWithMail2:
- db 4
- dsprite -1, 0, -1, 0, $04, PAL_OW_RED
- dsprite -1, 0, 0, 0, $05, PAL_OW_RED
- dsprite 0, 0, -1, 0, $08, PAL_OW_RED
- dsprite 0, 0, 0, 0, $07, PAL_OW_RED
-
-.OAMData_PartyMonWithItem1:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_RED
- dsprite -1, 0, 0, 0, $01, PAL_OW_RED
- dsprite 0, 0, -1, 0, $09, PAL_OW_RED
- dsprite 0, 0, 0, 0, $03, PAL_OW_RED
-
-.OAMData_PartyMonWithItem2:
- db 4
- dsprite -1, 0, -1, 0, $04, PAL_OW_RED
- dsprite -1, 0, 0, 0, $05, PAL_OW_RED
- dsprite 0, 0, -1, 0, $09, PAL_OW_RED
- dsprite 0, 0, 0, 0, $07, PAL_OW_RED
-
-.OAMData_06:
- db 6
- dsprite -1, 0, -2, 4, $00, $01
- dsprite -1, 0, -1, 4, $01, $01
- dsprite -1, 0, 0, 4, $02, $01
- dsprite 0, 0, -2, 4, $10, $01
- dsprite 0, 0, -1, 4, $11, $01
- dsprite 0, 0, 0, 4, $12, $01
-
-.OAMData_08:
- db 29
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -3, 0, 0, 0, $03, $00
- dsprite -2, 0, -3, 0, $10, $00
- dsprite -2, 0, -2, 0, $11, $00
- dsprite -2, 0, -1, 0, $12, $00
- dsprite -2, 0, 0, 0, $13, $00
- dsprite -1, 0, -3, 0, $20, $00
- dsprite -1, 0, -2, 0, $21, $00
- dsprite -1, 0, -1, 0, $22, $00
- dsprite -1, 0, 0, 0, $23, $00
- dsprite -1, 0, 1, 0, $24, $00
- dsprite 0, 0, -3, 0, $30, $80
- dsprite 0, 0, -2, 0, $31, $80
- dsprite 0, 0, -1, 0, $32, $80
- dsprite 0, 0, 0, 0, $33, $80
- dsprite 0, 0, 1, 0, $34, $80
- dsprite 1, 0, -3, 0, $40, $80
- dsprite 1, 0, -2, 0, $41, $80
- dsprite 1, 0, -1, 0, $42, $80
- dsprite 1, 0, 0, 0, $43, $80
- dsprite 1, 0, 1, 0, $44, $80
- dsprite 1, 0, 2, 0, $45, $80
- dsprite 2, 0, -2, 0, $51, $80
- dsprite 2, 0, -1, 0, $52, $80
- dsprite 2, 0, 0, 0, $53, $80
- dsprite 2, 0, 1, 0, $54, $80
- dsprite 2, 0, 2, 0, $55, $80
-
-.OAMData_0c:
- db 2
- dsprite -1, 0, -1, 4, $00, $00
- dsprite 0, 0, -1, 4, $10, $00
-
-.OAMData_15:
- db 5
- dsprite -2, 0, 3, 0, $00, $00
- dsprite -2, 0, 4, 0, $01, $00
- dsprite -1, 0, 2, 0, $02, $00
- dsprite -1, 0, 3, 0, $03, $00
- dsprite 0, 0, 2, 0, $04, $00
-
-.OAMData_Leaf:
- db 1
- dsprite -1, 4, -1, 4, $00, PAL_OW_TREE
-
-.OAMData_Tree:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_TREE
- dsprite -1, 0, 0, 0, $01, PAL_OW_TREE
- dsprite 0, 0, -1, 0, $02, PAL_OW_TREE
- dsprite 0, 0, 0, 0, $03, PAL_OW_TREE
-
-.OAMData_TextEntryCursor:
- db 4
- dsprite -1, 7, -1, 7, $00, 0
- dsprite -1, 7, 0, 0, $00, 0 | X_FLIP
- dsprite 0, 0, -1, 7, $00, 0 | Y_FLIP
- dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
-
-.OAMData_ForFrameset09:
- db 10
- dsprite -1, 7, 0, 0, $00, 0
- dsprite -1, 7, 1, 0, $01, 0
- dsprite -1, 7, 2, 0, $01, 0
- dsprite -1, 7, 3, 0, $01, 0
- dsprite -1, 7, 4, 0, $00, 0 | X_FLIP
- dsprite 0, 0, 0, 0, $00, 0 | Y_FLIP
- dsprite 0, 0, 1, 0, $01, 0 | Y_FLIP
- dsprite 0, 0, 2, 0, $01, 0 | Y_FLIP
- dsprite 0, 0, 3, 0, $01, 0 | Y_FLIP
- dsprite 0, 0, 4, 0, $00, 0 | X_FLIP | Y_FLIP
-
-.OAMData_22:
- db 15
- dsprite -3, 4, -2, 4, $00, $11
- dsprite -3, 4, -1, 4, $01, $11
- dsprite -3, 4, 0, 4, $02, $11
- dsprite -2, 4, -2, 4, $03, $11
- dsprite -2, 4, -1, 4, $04, $11
- dsprite -2, 4, 0, 4, $05, $11
- dsprite -1, 4, -2, 4, $06, $11
- dsprite -1, 4, -1, 4, $07, $11
- dsprite -1, 4, 0, 4, $08, $11
- dsprite 0, 4, -2, 4, $09, $11
- dsprite 0, 4, -1, 4, $0a, $11
- dsprite 0, 4, 0, 4, $0b, $11
- dsprite 1, 4, -2, 4, $0c, $11
- dsprite 1, 4, -1, 4, $0d, $11
- dsprite 1, 4, 0, 4, $0e, $11
-
-.OAMData_SlotsGolem:
- db 6
- dsprite -2, 4, -2, 4, $00, 5 | OBP_NUM
- dsprite -2, 4, -1, 4, $02, 5 | OBP_NUM
- dsprite -2, 4, 0, 4, $00, 5 | OBP_NUM | X_FLIP
- dsprite 0, 4, -2, 4, $04, 5 | OBP_NUM
- dsprite 0, 4, -1, 4, $06, 5 | OBP_NUM
- dsprite 0, 4, 0, 4, $04, 5 | OBP_NUM | X_FLIP
-
-.OAMData_SlotsChansey1:
- db 6
- dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
- dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
- dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
- dsprite 0, 4, -2, 4, $06, 6 | OBP_NUM
- dsprite 0, 4, -1, 4, $08, 6 | OBP_NUM
- dsprite 0, 4, 0, 4, $0a, 6 | OBP_NUM
-
-.OAMData_SlotsChansey2:
- db 6
- dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
- dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
- dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
- dsprite 0, 4, -2, 4, $0c, 6 | OBP_NUM
- dsprite 0, 4, -1, 4, $0e, 6 | OBP_NUM
- dsprite 0, 4, 0, 4, $10, 6 | OBP_NUM
-
-.OAMData_SlotsChansey3:
- db 6
- dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
- dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
- dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
- dsprite 0, 4, -2, 4, $12, 6 | OBP_NUM
- dsprite 0, 4, -1, 4, $14, 6 | OBP_NUM
- dsprite 0, 4, 0, 4, $16, 6 | OBP_NUM
-
-.OAMData_SlotsChansey4:
- db 6
- dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM
- dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM
- dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM
- dsprite 0, 4, -2, 4, $18, 6 | OBP_NUM
- dsprite 0, 4, -1, 4, $1a, 6 | OBP_NUM
- dsprite 0, 4, 0, 4, $1c, 6 | OBP_NUM
-
-.OAMData_SlotsChansey5:
- db 6
- dsprite -2, 4, -2, 4, $1e, 6 | OBP_NUM
- dsprite -2, 4, -1, 4, $20, 6 | OBP_NUM
- dsprite -2, 4, 0, 4, $22, 6 | OBP_NUM
- dsprite 0, 4, -2, 4, $24, 6 | OBP_NUM
- dsprite 0, 4, -1, 4, $26, 6 | OBP_NUM
- dsprite 0, 4, 0, 4, $28, 6 | OBP_NUM
-
-.OAMData_RadioTuningKnob:
- db 3
- dsprite -2, 4, -1, 4, $00, 0 | OBP_NUM
- dsprite -1, 4, -1, 4, $00, 0 | OBP_NUM
- dsprite 0, 4, -1, 4, $00, 0 | OBP_NUM
-
-.OAMData_4b:
- db 6
- dsprite 0, 0, 0, 0, $00, $00
- dsprite 0, 0, 1, 0, $01, $00
- dsprite 0, 0, 2, 0, $01, $00
- dsprite 0, 0, 3, 0, $01, $00
- dsprite 0, 0, 4, 0, $02, $00
- dsprite 0, 0, 5, 0, $03, $00
-
-.OAMData_4c:
- db 4
- dsprite 0, 0, 0, 0, $00, $00
- dsprite 0, 0, 1, 0, $01, $00
- dsprite 0, 0, 2, 0, $02, $00
- dsprite 0, 0, 3, 0, $03, $00
-
-.OAMData_CutTree2:
- db 4
- dsprite -1, 0, -2, 6, $00, PAL_OW_TREE
- dsprite -1, 0, 0, 2, $01, PAL_OW_TREE
- dsprite 0, 0, -2, 6, $02, PAL_OW_TREE
- dsprite 0, 0, 0, 2, $03, PAL_OW_TREE
-
-.OAMData_CutTree3:
- db 4
- dsprite -1, 0, -2, 4, $00, PAL_OW_TREE
- dsprite -1, 0, 0, 4, $01, PAL_OW_TREE
- dsprite 0, 0, -2, 4, $02, PAL_OW_TREE
- dsprite 0, 0, 0, 4, $03, PAL_OW_TREE
-
-.OAMData_CutTree4:
- db 4
- dsprite -1, 0, -2, 0, $00, PAL_OW_TREE
- dsprite -1, 0, 1, 0, $01, PAL_OW_TREE
- dsprite 0, 0, -2, 0, $02, PAL_OW_TREE
- dsprite 0, 0, 1, 0, $03, PAL_OW_TREE
-
-.OAMData_56:
- db 19
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -3, 0, -2, 0, $06, $00
- dsprite -1, 0, -2, 0, $08, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $0c, $00
- dsprite -1, 0, -1, 0, $0e, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -3, 0, 0, 0, $12, $00
- dsprite -1, 0, 0, 0, $14, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -3, 0, 1, 0, $18, $00
- dsprite -1, 0, 1, 0, $1a, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_57:
- db 16
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $26, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $28, $00
- dsprite -1, 0, -1, 0, $2a, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -1, 0, 0, 0, $2c, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_58:
- db 15
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $32, $00
- dsprite -1, 0, -2, 0, $34, $00
- dsprite 1, 0, -2, 0, $36, $00
- dsprite -1, 0, -1, 0, $38, $00
- dsprite 1, 0, -1, 0, $3a, $00
- dsprite -1, 0, 0, 0, $3c, $00
- dsprite 1, 0, 0, 0, $3e, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_59:
- db 17
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $40, $00
- dsprite 1, 0, -2, 0, $42, $00
- dsprite 3, 0, -2, 0, $44, $00
- dsprite -1, 0, -1, 0, $46, $00
- dsprite 1, 0, -1, 0, $48, $00
- dsprite 3, 0, -1, 0, $4a, $00
- dsprite -1, 0, 0, 0, $4c, $00
- dsprite 1, 0, 0, 0, $4e, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_5a:
- db 17
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $50, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $52, $00
- dsprite -1, 0, -1, 0, $54, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -3, 0, 0, 0, $56, $00
- dsprite -1, 0, 0, 0, $2e, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_GSTitleTrail:
- db 1
- dsprite -1, 4, -1, 4, $00, 1 | OBP_NUM
-
-.OAMData_5c:
- db 12
- dsprite 0, 0, 0, 0, $30, $00
- dsprite 0, 0, 1, 0, $31, $00
- dsprite 0, 0, 2, 0, $31, $00
- dsprite 0, 0, 3, 0, $31, $00
- dsprite 0, 0, 4, 0, $31, $00
- dsprite 0, 0, 5, 0, $32, $00
- dsprite 1, 0, 0, 0, $33, $00
- dsprite 1, 0, 1, 0, $34, $00
- dsprite 1, 0, 2, 0, $34, $00
- dsprite 1, 0, 3, 0, $34, $00
- dsprite 1, 0, 4, 0, $34, $00
- dsprite 1, 0, 5, 0, $35, $00
-
-.OAMData_5d:
- db 1
- dsprite 0, 0, 0, 0, $ed, $00
-
-.OAMData_5e:
- db 4
- dsprite -1, 7, -1, 7, $30, $00
- dsprite -1, 7, 0, 1, $32, $00
- dsprite 0, 1, -1, 7, $33, $00
- dsprite 0, 1, 0, 1, $35, $00
-
-.OAMData_5f:
- db 8
- dsprite -1, 7, -1, 7, $30, $00
- dsprite -1, 7, 0, 4, $31, $00
- dsprite -1, 7, 1, 4, $31, $00
- dsprite -1, 7, 2, 1, $32, $00
- dsprite 0, 1, -1, 7, $33, $00
- dsprite 0, 1, 0, 4, $34, $00
- dsprite 0, 1, 1, 4, $34, $00
- dsprite 0, 1, 2, 1, $35, $00
-
-.OAMData_60:
- db 1
- dsprite 0, 0, 0, 0, $34, $00
-
-.OAMData_61:
- db 2
- dsprite 0, 0, 0, 0, $30, $00
- dsprite 1, 0, 0, 0, $33, $00
-
-.OAMData_62:
- db 2
- dsprite 0, 0, 0, 0, $32, $00
- dsprite 1, 0, 0, 0, $35, $00
-
-.OAMData_BlueWalk:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE
- dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE
- dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE
- dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE
-
-.OAMData_MagnetTrainBlue:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | BEHIND_BG
- dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | BEHIND_BG
- dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | BEHIND_BG
- dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | BEHIND_BG
-
-.OAMData_ForMobile22:
- db 1
- dsprite -1, 4, -1, 4, $00, 2
-
-.OAMData_ForMobile23:
- db 4
- dsprite -2, 0, -1, 4, $00, 3
- dsprite -1, 0, -1, 4, $01, 3
- dsprite 0, 0, -1, 4, $02, 3
- dsprite 1, 0, -1, 4, $03, 3
-
-.OAMData_ForMobile24:
- db 4
- dsprite -2, 0, -1, 4, $03, 4 | Y_FLIP
- dsprite -1, 0, -1, 4, $02, 4 | Y_FLIP
- dsprite 0, 0, -1, 4, $01, 4 | Y_FLIP
- dsprite 1, 0, -1, 4, $00, 4 | Y_FLIP
-
-.OAMData_ForMobile25_1:
- db 4
- dsprite -1, 0, -1, 0, $00, 1
- dsprite -1, 0, 0, 0, $00, 1 | X_FLIP
- dsprite 0, 0, -1, 0, $00, 1 | Y_FLIP
- dsprite 0, 0, 0, 0, $00, 1 | X_FLIP | Y_FLIP
-
-.OAMData_ForMobile25_2:
- db 8
- dsprite -2, 4, -2, 4, $00, 1
- dsprite -2, 4, -1, 4, $01, 1
- dsprite -2, 4, 0, 4, $00, 1 | X_FLIP
- dsprite -1, 4, -2, 4, $02, 1
- dsprite -1, 4, 0, 4, $02, 1 | X_FLIP
- dsprite 0, 4, -2, 4, $00, 1 | Y_FLIP
- dsprite 0, 4, -1, 4, $01, 1 | Y_FLIP
- dsprite 0, 4, 0, 4, $00, 1 | X_FLIP | Y_FLIP
-
-.OAMData_ForMobile25_3:
- db 12
- dsprite -2, 0, -2, 0, $00, 1
- dsprite -2, 0, -1, 0, $01, 1
- dsprite -1, 0, -2, 0, $02, 1
- dsprite -2, 0, 0, 0, $01, 1 | X_FLIP
- dsprite -2, 0, 1, 0, $00, 1 | X_FLIP
- dsprite -1, 0, 1, 0, $02, 1 | X_FLIP
- dsprite 0, 0, -2, 0, $02, 1 | Y_FLIP
- dsprite 1, 0, -2, 0, $00, 1 | Y_FLIP
- dsprite 1, 0, -1, 0, $01, 1 | Y_FLIP
- dsprite 0, 0, 1, 0, $02, 1 | X_FLIP | Y_FLIP
- dsprite 1, 0, 0, 0, $01, 1 | X_FLIP | Y_FLIP
- dsprite 1, 0, 1, 0, $00, 1 | X_FLIP | Y_FLIP
-
-.OAMData_IntroSuicune1:
- db 36
- dsprite -3, 0, 1, 0, $05, 0
- dsprite -3, 0, 2, 0, $06, 0
- dsprite -3, 0, 3, 0, $07, 0
- dsprite -2, 0, -3, 0, $11, 0
- dsprite -2, 0, -2, 0, $12, 0
- dsprite -2, 0, -1, 0, $13, 0
- dsprite -2, 0, 0, 0, $14, 0
- dsprite -2, 0, 1, 0, $15, 0
- dsprite -2, 0, 2, 0, $16, 0
- dsprite -2, 0, 3, 0, $17, 0
- dsprite -1, 0, -4, 0, $20, 0
- dsprite -1, 0, -3, 0, $21, 0
- dsprite -1, 0, -2, 0, $22, 0
- dsprite -1, 0, -1, 0, $23, 0
- dsprite -1, 0, 0, 0, $24, 0
- dsprite -1, 0, 1, 0, $25, 0
- dsprite -1, 0, 2, 0, $26, 0
- dsprite -1, 0, 3, 0, $27, 0
- dsprite 0, 0, -4, 0, $30, 0
- dsprite 0, 0, -3, 0, $31, 0
- dsprite 0, 0, -2, 0, $32, 0
- dsprite 0, 0, -1, 0, $33, 0
- dsprite 0, 0, 0, 0, $34, 0
- dsprite 0, 0, 1, 0, $35, 0
- dsprite 0, 0, 2, 0, $36, 0
- dsprite 1, 0, -4, 0, $40, 0
- dsprite 1, 0, -3, 0, $41, 0
- dsprite 1, 0, -2, 0, $42, 0
- dsprite 1, 0, -1, 0, $43, 0
- dsprite 1, 0, 0, 0, $44, 0
- dsprite 1, 0, 1, 0, $45, 0
- dsprite 1, 0, 2, 0, $46, 0
- dsprite 1, 0, 3, 0, $47, 0
- dsprite 2, 0, -4, 0, $50, 0
- dsprite 2, 0, -3, 0, $51, 0
- dsprite 2, 0, 3, 0, $57, 0
-
-.OAMData_IntroSuicune2:
- db 28
- dsprite -3, 0, 0, 0, $04, 0
- dsprite -3, 0, 1, 0, $05, 0
- dsprite -3, 0, 2, 0, $06, 0
- dsprite -2, 0, -3, 0, $11, 0
- dsprite -2, 0, -2, 0, $12, 0
- dsprite -2, 0, -1, 0, $13, 0
- dsprite -2, 0, 0, 0, $14, 0
- dsprite -2, 0, 1, 0, $15, 0
- dsprite -2, 0, 2, 0, $16, 0
- dsprite -1, 0, -3, 0, $21, 0
- dsprite -1, 0, -2, 0, $22, 0
- dsprite -1, 0, -1, 0, $23, 0
- dsprite -1, 0, 0, 0, $24, 0
- dsprite -1, 0, 1, 0, $25, 0
- dsprite -1, 0, 2, 0, $26, 0
- dsprite 0, 0, -4, 0, $30, 0
- dsprite 0, 0, -3, 0, $31, 0
- dsprite 0, 0, -2, 0, $32, 0
- dsprite 0, 0, -1, 0, $33, 0
- dsprite 0, 0, 0, 0, $34, 0
- dsprite 0, 0, 1, 0, $35, 0
- dsprite 1, 0, -2, 0, $42, 0
- dsprite 1, 0, -1, 0, $43, 0
- dsprite 1, 0, 0, 0, $44, 0
- dsprite 1, 0, 1, 0, $45, 0
- dsprite 2, 0, -1, 0, $53, 0
- dsprite 2, 0, 0, 0, $54, 0
- dsprite 2, 0, 1, 0, $55, 0
-
-.OAMData_IntroSuicune3:
- db 30
- dsprite -3, 0, 0, 0, $04, 0
- dsprite -3, 0, 1, 0, $05, 0
- dsprite -2, 0, -3, 0, $11, 0
- dsprite -2, 0, -2, 0, $12, 0
- dsprite -2, 0, -1, 0, $13, 0
- dsprite -2, 0, 0, 0, $14, 0
- dsprite -2, 0, 1, 0, $15, 0
- dsprite -2, 0, 2, 0, $16, 0
- dsprite -2, 0, 3, 0, $17, 0
- dsprite -1, 0, -4, 0, $20, 0
- dsprite -1, 0, -3, 0, $21, 0
- dsprite -1, 0, -2, 0, $22, 0
- dsprite -1, 0, -1, 0, $23, 0
- dsprite -1, 0, 0, 0, $24, 0
- dsprite -1, 0, 1, 0, $25, 0
- dsprite -1, 0, 2, 0, $26, 0
- dsprite 0, 0, -4, 0, $30, 0
- dsprite 0, 0, -3, 0, $31, 0
- dsprite 0, 0, -2, 0, $32, 0
- dsprite 0, 0, -1, 0, $33, 0
- dsprite 0, 0, 0, 0, $34, 0
- dsprite 0, 0, 1, 0, $35, 0
- dsprite 1, 0, -2, 0, $42, 0
- dsprite 1, 0, -1, 0, $43, 0
- dsprite 1, 0, 0, 0, $44, 0
- dsprite 1, 0, 1, 0, $45, 0
- dsprite 2, 0, -2, 0, $52, 0
- dsprite 2, 0, -1, 0, $53, 0
- dsprite 2, 0, 0, 0, $54, 0
- dsprite 2, 0, 1, 0, $55, 0
-
-.OAMData_IntroSuicune4:
- db 31
- dsprite -2, 0, -3, 0, $11, 0
- dsprite -2, 0, -2, 0, $12, 0
- dsprite -2, 0, -1, 0, $13, 0
- dsprite -2, 0, 0, 0, $14, 0
- dsprite -2, 0, 1, 0, $15, 0
- dsprite -2, 0, 2, 0, $16, 0
- dsprite -2, 0, 3, 0, $17, 0
- dsprite -1, 0, -4, 0, $20, 0
- dsprite -1, 0, -3, 0, $21, 0
- dsprite -1, 0, -2, 0, $22, 0
- dsprite -1, 0, -1, 0, $23, 0
- dsprite -1, 0, 0, 0, $24, 0
- dsprite -1, 0, 1, 0, $25, 0
- dsprite -1, 0, 2, 0, $26, 0
- dsprite -1, 0, 3, 0, $27, 0
- dsprite 0, 0, -4, 0, $30, 0
- dsprite 0, 0, -3, 0, $31, 0
- dsprite 0, 0, -2, 0, $32, 0
- dsprite 0, 0, -1, 0, $33, 0
- dsprite 0, 0, 0, 0, $34, 0
- dsprite 0, 0, 1, 0, $35, 0
- dsprite 0, 0, 2, 0, $36, 0
- dsprite 1, 0, -3, 0, $41, 0
- dsprite 1, 0, -2, 0, $42, 0
- dsprite 1, 0, -1, 0, $43, 0
- dsprite 1, 0, 0, 0, $44, 0
- dsprite 1, 0, 1, 0, $45, 0
- dsprite 2, 0, -3, 0, $51, 0
- dsprite 2, 0, -2, 0, $52, 0
- dsprite 2, 0, 0, 0, $54, 0
- dsprite 2, 0, 1, 0, $55, 0
-
-.OAMData_IntroPichu:
- db 25
- dsprite -3, 4, -3, 4, $00, 1 | VRAM_BANK_1
- dsprite -3, 4, -2, 4, $01, 1 | VRAM_BANK_1
- dsprite -3, 4, -1, 4, $02, 1 | VRAM_BANK_1
- dsprite -3, 4, 0, 4, $03, 1 | VRAM_BANK_1
- dsprite -3, 4, 1, 4, $04, 1 | VRAM_BANK_1
- dsprite -2, 4, -3, 4, $10, 1 | VRAM_BANK_1
- dsprite -2, 4, -2, 4, $11, 1 | VRAM_BANK_1
- dsprite -2, 4, -1, 4, $12, 1 | VRAM_BANK_1
- dsprite -2, 4, 0, 4, $13, 1 | VRAM_BANK_1
- dsprite -2, 4, 1, 4, $14, 1 | VRAM_BANK_1
- dsprite -1, 4, -3, 4, $20, 1 | VRAM_BANK_1
- dsprite -1, 4, -2, 4, $21, 1 | VRAM_BANK_1
- dsprite -1, 4, -1, 4, $22, 1 | VRAM_BANK_1
- dsprite -1, 4, 0, 4, $23, 1 | VRAM_BANK_1
- dsprite -1, 4, 1, 4, $24, 1 | VRAM_BANK_1
- dsprite 0, 4, -3, 4, $30, 1 | VRAM_BANK_1
- dsprite 0, 4, -2, 4, $31, 1 | VRAM_BANK_1
- dsprite 0, 4, -1, 4, $32, 1 | VRAM_BANK_1
- dsprite 0, 4, 0, 4, $33, 1 | VRAM_BANK_1
- dsprite 0, 4, 1, 4, $34, 1 | VRAM_BANK_1
- dsprite 1, 4, -3, 4, $40, 1 | VRAM_BANK_1
- dsprite 1, 4, -2, 4, $41, 1 | VRAM_BANK_1
- dsprite 1, 4, -1, 4, $42, 1 | VRAM_BANK_1
- dsprite 1, 4, 0, 4, $43, 1 | VRAM_BANK_1
- dsprite 1, 4, 1, 4, $44, 1 | VRAM_BANK_1
-
-.OAMData_IntroWooper:
- db 16
- dsprite -2, 0, -3, 4, $00, 2 | VRAM_BANK_1
- dsprite -2, 0, -2, 4, $01, 2 | VRAM_BANK_1
- dsprite -2, 0, -1, 4, $02, 2 | VRAM_BANK_1
- dsprite -2, 0, 0, 4, $03, 2 | VRAM_BANK_1
- dsprite -1, 0, -3, 4, $04, 2 | VRAM_BANK_1
- dsprite -1, 0, -2, 4, $05, 2 | VRAM_BANK_1
- dsprite -1, 0, -1, 4, $06, 2 | VRAM_BANK_1
- dsprite -1, 0, 0, 4, $07, 2 | VRAM_BANK_1
- dsprite 0, 0, -3, 4, $08, 2 | VRAM_BANK_1
- dsprite 0, 0, -2, 4, $09, 2 | VRAM_BANK_1
- dsprite 0, 0, -1, 4, $0a, 2 | VRAM_BANK_1
- dsprite 0, 0, 0, 4, $0b, 2 | VRAM_BANK_1
- dsprite 1, 0, -3, 4, $0c, 2 | VRAM_BANK_1
- dsprite 1, 0, -2, 4, $0d, 2 | VRAM_BANK_1
- dsprite 1, 0, -1, 4, $0e, 2 | VRAM_BANK_1
- dsprite 1, 0, 0, 4, $0f, 2 | VRAM_BANK_1
-
-.OAMData_IntroUnown1:
- db 1
- dsprite -1, 4, -1, 4, $00, $00
-
-.OAMData_IntroUnown2:
- db 3
- dsprite 0, 0, -1, 0, $00, $00
- dsprite -1, 0, -1, 0, $01, $00
- dsprite -1, 0, 0, 0, $02, $00
-
-.OAMData_IntroUnown3:
- db 7
- dsprite 1, 0, -2, 0, $00, $00
- dsprite 0, 0, -2, 0, $01, $00
- dsprite -1, 0, -2, 0, $02, $00
- dsprite -1, 0, -1, 0, $03, $00
- dsprite -2, 0, -1, 0, $04, $00
- dsprite -2, 0, 0, 0, $05, $00
- dsprite -2, 0, 1, 0, $06, $00
-
-.OAMData_IntroUnownF2_2:
- db 8
- dsprite -1, 0, -2, 0, $00, 0
- dsprite -1, 0, -1, 0, $01, 0
- dsprite -1, 0, 0, 0, $01, 0 | X_FLIP
- dsprite -1, 0, 1, 0, $00, 0 | X_FLIP
- dsprite 0, 0, -2, 0, $00, 0 | Y_FLIP
- dsprite 0, 0, -1, 0, $01, 0 | Y_FLIP
- dsprite 0, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
- dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP
-
-.OAMData_IntroUnownF2_3:
- db 12
- dsprite -3, 0, -1, 0, $00, 0
- dsprite -2, 0, -1, 0, $01, 0
- dsprite -1, 0, -1, 0, $02, 0
- dsprite -3, 0, 0, 0, $00, 0 | X_FLIP
- dsprite -2, 0, 0, 0, $01, 0 | X_FLIP
- dsprite -1, 0, 0, 0, $02, 0 | X_FLIP
- dsprite 0, 0, -1, 0, $02, 0 | Y_FLIP
- dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP
- dsprite 2, 0, -1, 0, $00, 0 | Y_FLIP
- dsprite 0, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP
- dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
- dsprite 2, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
-
-.OAMData_IntroUnownF2_4_5:
- db 20
- dsprite -3, 4, -2, 0, $00, 0
- dsprite -3, 4, -1, 0, $01, 0
- dsprite -3, 4, 0, 0, $02, 0
- dsprite -3, 4, 1, 0, $03, 0
- dsprite -2, 4, -2, 0, $04, 0
- dsprite -2, 4, -1, 0, $05, 0
- dsprite -2, 4, 0, 0, $06, 0
- dsprite -2, 4, 1, 0, $07, 0
- dsprite -1, 4, -2, 0, $08, 0
- dsprite -1, 4, -1, 0, $09, 0
- dsprite -1, 4, 0, 0, $0a, 0
- dsprite -1, 4, 1, 0, $0b, 0
- dsprite 0, 4, -2, 0, $0c, 0
- dsprite 0, 4, -1, 0, $0d, 0
- dsprite 0, 4, 0, 0, $0e, 0
- dsprite 0, 4, 1, 0, $0f, 0
- dsprite 1, 4, -2, 0, $10, 0
- dsprite 1, 4, -1, 0, $11, 0
- dsprite 1, 4, 0, 0, $12, 0
- dsprite 1, 4, 1, 0, $13, 0
-
-.OAMData_IntroSuicuneAway:
- db 20
- dsprite 0, 0, 1, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 2, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 3, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 4, 0, $00, 1 | BEHIND_BG
- dsprite 4, 0, 5, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 6, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 7, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 8, 0, $00, 1 | BEHIND_BG
- dsprite 0, 0, 9, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 10, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 11, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 12, 0, $00, 1 | BEHIND_BG
- dsprite 4, 0, 13, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 14, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 15, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 16, 0, $00, 1 | BEHIND_BG
- dsprite 0, 0, -15, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, -14, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, -13, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, -12, 0, $00, 1 | BEHIND_BG
-
-.OAMData_Celebi:
- db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_GREEN
- dsprite -1, 0, 0, 0, $01, PAL_OW_GREEN
- dsprite 0, 0, -1, 0, $02, PAL_OW_GREEN
- dsprite 0, 0, 0, 0, $03, PAL_OW_GREEN
-
-.OAMData_GameFreakLogo1_3:
- db 9
- dsprite -2, 0, -2, 4, $00, 1
- dsprite -2, 0, -1, 4, $01, 1
- dsprite -2, 0, 0, 4, $02, 1
- dsprite -1, 0, -2, 4, $10, 1
- dsprite -1, 0, -1, 4, $11, 1
- dsprite -1, 0, 0, 4, $12, 1
- dsprite 0, 0, -2, 4, $20, 1
- dsprite 0, 0, -1, 4, $21, 1
- dsprite 0, 0, 0, 4, $22, 1
-
-.OAMData_GameFreakLogo4_11:
- db 24
- dsprite -5, 0, -2, 4, $00, 1
- dsprite -5, 0, -1, 4, $01, 1
- dsprite -5, 0, 0, 4, $02, 1
- dsprite -5, 0, 1, 4, $03, 1
- dsprite -4, 0, -2, 4, $10, 1
- dsprite -4, 0, -1, 4, $11, 1
- dsprite -4, 0, 0, 4, $12, 1
- dsprite -4, 0, 1, 4, $13, 1
- dsprite -3, 0, -2, 4, $20, 1
- dsprite -3, 0, -1, 4, $21, 1
- dsprite -3, 0, 0, 4, $22, 1
- dsprite -3, 0, 1, 4, $23, 1
- dsprite -2, 0, -2, 4, $30, 1
- dsprite -2, 0, -1, 4, $31, 1
- dsprite -2, 0, 0, 4, $32, 1
- dsprite -2, 0, 1, 4, $33, 1
- dsprite -1, 0, -2, 4, $40, 1
- dsprite -1, 0, -1, 4, $41, 1
- dsprite -1, 0, 0, 4, $42, 1
- dsprite -1, 0, 1, 4, $43, 1
- dsprite 0, 0, -2, 4, $50, 1
- dsprite 0, 0, -1, 4, $51, 1
- dsprite 0, 0, 0, 4, $52, 1
- dsprite 0, 0, 1, 4, $53, 1
-; 8e706
--- a/data/sprites/sequences.asm
+++ /dev/null
@@ -1,49 +1,0 @@
-SpriteAnimSeqData: ; 8d1c4
-; entries correspond to SPRITE_ANIM_INDEX_* constants
- ; frameset sequence, tile
- db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
- db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
- db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
- db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
- db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
- db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
- db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
- db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
- db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
- db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
- db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
- db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
- db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
- db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
- db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
- db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
- db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
- db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
- db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; SPRITE_ANIM_INDEX_1A
- db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
- db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
- db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; SPRITE_ANIM_INDEX_1D
- db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
- db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
- db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_22
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00 ; SPRITE_ANIM_INDEX_MOBILE_23
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00 ; SPRITE_ANIM_INDEX_MOBILE_24
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_25
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
- db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
- db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
- db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
-; 8d24b
--- /dev/null
+++ b/data/trainers/pic_pointers.asm
@@ -1,0 +1,69 @@
+TrainerPicPointers::
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
+ dba_pic FalknerPic
+ dba_pic WhitneyPic
+ dba_pic BugsyPic
+ dba_pic MortyPic
+ dba_pic PrycePic
+ dba_pic JasminePic
+ dba_pic ChuckPic
+ dba_pic ClairPic
+ dba_pic Rival1Pic
+ dba_pic PokemonProfPic
+ dba_pic WillPic
+ dba_pic CalPic
+ dba_pic BrunoPic
+ dba_pic KarenPic
+ dba_pic KogaPic
+ dba_pic ChampionPic
+ dba_pic BrockPic
+ dba_pic MistyPic
+ dba_pic LtSurgePic
+ dba_pic ScientistPic
+ dba_pic ErikaPic
+ dba_pic YoungsterPic
+ dba_pic SchoolboyPic
+ dba_pic BirdKeeperPic
+ dba_pic LassPic
+ dba_pic JaninePic
+ dba_pic CooltrainermPic
+ dba_pic CooltrainerfPic
+ dba_pic BeautyPic
+ dba_pic PokemaniacPic
+ dba_pic GruntmPic
+ dba_pic GentlemanPic
+ dba_pic SkierPic
+ dba_pic TeacherPic
+ dba_pic SabrinaPic
+ dba_pic BugCatcherPic
+ dba_pic FisherPic
+ dba_pic SwimmermPic
+ dba_pic SwimmerfPic
+ dba_pic SailorPic
+ dba_pic SuperNerdPic
+ dba_pic Rival2Pic
+ dba_pic GuitaristPic
+ dba_pic HikerPic
+ dba_pic BikerPic
+ dba_pic BlainePic
+ dba_pic BurglarPic
+ dba_pic FirebreatherPic
+ dba_pic JugglerPic
+ dba_pic BlackbeltTPic
+ dba_pic ExecutivemPic
+ dba_pic PsychicTPic
+ dba_pic PicnickerPic
+ dba_pic CamperPic
+ dba_pic ExecutivefPic
+ dba_pic SagePic
+ dba_pic MediumPic
+ dba_pic BoarderPic
+ dba_pic PokefanmPic
+ dba_pic KimonoGirlPic
+ dba_pic TwinsPic
+ dba_pic PokefanfPic
+ dba_pic RedPic
+ dba_pic BluePic
+ dba_pic OfficerPic
+ dba_pic GruntfPic
+ dba_pic MysticalmanPic
--- /dev/null
+++ b/docs/battle_anim_commands.md
@@ -1,0 +1,121 @@
+# Battle Animation Commands
+
+Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/move_anims.asm:BattleAnimations](/data/moves/move_anims.asm).
+
+
+## `$00`−`$EF`: `anim_wait` *length*
+
+## `$D0`: `anim_obj` *object*, *x1*, *x2*, *y1*, *y2*, *param*
+
+The *x1*/*x2* and *y1*/*y2* pairs specify the position on screen of the animation object.
+*x1*/*y1* specify a tile position, and *x2*/*y2* specify a pixel offset from that tile.
+
+Values for *x2*/*y2* are in the 0-7 range, since 8 pixels make a tile.
+
+Values for *x1* are between -16 to 31. In practice *x1* starts between 0 to 15, then between -16 to -10. Negative values are relative to the opponent, while positive values are relative to the player. Useful values are between 14 to -10 (for the opponent) and between 0 to 13 (for the player).
+
+Some sample values are:
+
+- 0: player left border
+- 6: player center
+- -15: enemy center
+- -10: enemy right border
+
+Values for *y1* are also between -16 to 31; the useful range is between 2 to 14.
+Values between 2 to 8 will be in the opponent's area (2 being the top border and 8 being the
+bottom border), and values between 8 to 14 will be in the player's area (again, 8 being the top border and 14 being the bottom border).
+The center of the body is often 2 to 4 tiles away from the border (i.e., 5-6 for the opponent or 10-11 for the player).
+
+## `$D1`: `anim_1gfx` *gfx*
+
+## `$D2`: `anim_2gfx` *gfx1*, *gfx2*
+
+## `$D3`: `anim_3gfx` *gfx1*, *gfx2*, *gfx3*
+
+## `$D4`: `anim_4gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*
+
+## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5*
+
+## `$D6`: `anim_incobj` *id*
+
+## `$D7`: `anim_setobj` *id*, *object*
+
+## `$D8`: `anim_incbgeffect` *effect*
+
+## `$D9`: `anim_enemyfeetobj`
+
+## `$DA`: `anim_playerheadobj`
+
+## `$DB`: `anim_checkpokeball`
+
+## `$DC`: `anim_transform`
+
+## `$DD`: `anim_raisesub`
+
+## `$DE`: `anim_dropsub`
+
+## `$DF`: `anim_resetobp0`
+
+## `$E0`: `anim_sound` *duration*, *tracks*, *id*
+
+## `$E1`: `anim_cry` *pitch*
+
+## `$E2`: `anim_minimizeopp`
+
+## `$E3`: `anim_oamon`
+
+## `$E4`: `anim_oamoff`
+
+## `$E5`: `anim_clearobjs`
+
+## `$E6`: `anim_beatup`
+
+## `$E7`: `anim_0xe7`
+
+## `$E8`: `anim_updateactorpic`
+
+## `$E9`: `anim_minimize`
+
+## `$EA`: `anim_0xea`
+
+## `$EB`: `anim_0xeb`
+
+## `$EC`: `anim_0xec`
+
+## `$ED`: `anim_0xed`
+
+## `$EE`: `anim_if_param_and` *value*, *address*
+
+## `$EF`: `anim_jumpuntil` *address*
+
+## `$F0`: `anim_bgeffect` *effect*, *unknown1*, *unknown2*, *unknown3*
+
+## `$F1`: `anim_bgp` *colors*
+
+## `$F2`: `anim_obp0` *colors*
+
+## `$F3`: `anim_obp1` *colors*
+
+## `$F4`: `anim_clearsprites`
+
+## `$F5`: `anim_0xf5`
+
+## `$F6`: `anim_0xf6`
+
+## `$F7`: `anim_0xf7`
+
+## `$F8`: `anim_if_param_equal` *value*, *address*
+
+## `$F9`: `anim_setvar` *value*
+
+## `$FA`: `anim_incvar`
+
+## `$FB`: `anim_if_var_equal` *value*, *address*
+
+## `$FC`: `anim_jump` *address*
+
+## `$FD`: `anim_loop` *count*, *address*
+
+## `$FE`: `anim_call` *address*
+
+## `$FF`: `anim_ret`
--- a/docs/event_commands.md
+++ b/docs/event_commands.md
@@ -1,6 +1,6 @@
# Event Commands
-Defined in [macros/scripts/event.asm](/macros/scripts/event.asm) and [engine/scripting.asm:ScriptCommandTable](/engine/scripting.asm).
+Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/scripting.asm:ScriptCommandTable](/engine/scripting.asm).
## `$00`: `scall` *script*
--- a/docs/move_anim_commands.md
+++ /dev/null
@@ -1,121 +1,0 @@
-# Move Animation Commands
-
-Defined in [macros/scripts/move_anim.asm](/macros/scripts/move_anim.asm) and [data/moves/move_anims.asm:BattleAnimations](/data/moves/move_anims.asm).
-
-
-## `$00`−`$EF`: `anim_wait` *length*
-
-## `$D0`: `anim_obj` *object*, *x1*, *x2*, *y1*, *y2*, *param*
-
-The *x1*/*x2* and *y1*/*y2* pairs specify the position on screen of the animation object.
-*x1*/*y1* specify a tile position, and *x2*/*y2* specify a pixel offset from that tile.
-
-Values for *x2*/*y2* are in the 0-7 range, since 8 pixels make a tile.
-
-Values for *x1* are between -16 to 31. In practice *x1* starts between 0 to 15, then between -16 to -10. Negative values are relative to the opponent, while positive values are relative to the player. Useful values are between 14 to -10 (for the opponent) and between 0 to 13 (for the player).
-
-Some sample values are:
-
-- 0: player left border
-- 6: player center
-- -15: enemy center
-- -10: enemy right border
-
-Values for *y1* are also between -16 to 31; the useful range is between 2 to 14.
-Values between 2 to 8 will be in the opponent's area (2 being the top border and 8 being the
-bottom border), and values between 8 to 14 will be in the player's area (again, 8 being the top border and 14 being the bottom border).
-The center of the body is often 2 to 4 tiles away from the border (i.e., 5-6 for the opponent or 10-11 for the player).
-
-## `$D1`: `anim_1gfx` *gfx*
-
-## `$D2`: `anim_2gfx` *gfx1*, *gfx2*
-
-## `$D3`: `anim_3gfx` *gfx1*, *gfx2*, *gfx3*
-
-## `$D4`: `anim_4gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*
-
-## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5*
-
-## `$D6`: `anim_incobj` *id*
-
-## `$D7`: `anim_setobj` *id*, *object*
-
-## `$D8`: `anim_incbgeffect` *effect*
-
-## `$D9`: `anim_enemyfeetobj`
-
-## `$DA`: `anim_playerheadobj`
-
-## `$DB`: `anim_checkpokeball`
-
-## `$DC`: `anim_transform`
-
-## `$DD`: `anim_raisesub`
-
-## `$DE`: `anim_dropsub`
-
-## `$DF`: `anim_resetobp0`
-
-## `$E0`: `anim_sound` *duration*, *tracks*, *id*
-
-## `$E1`: `anim_cry` *pitch*
-
-## `$E2`: `anim_minimizeopp`
-
-## `$E3`: `anim_oamon`
-
-## `$E4`: `anim_oamoff`
-
-## `$E5`: `anim_clearobjs`
-
-## `$E6`: `anim_beatup`
-
-## `$E7`: `anim_0xe7`
-
-## `$E8`: `anim_updateactorpic`
-
-## `$E9`: `anim_minimize`
-
-## `$EA`: `anim_0xea`
-
-## `$EB`: `anim_0xeb`
-
-## `$EC`: `anim_0xec`
-
-## `$ED`: `anim_0xed`
-
-## `$EE`: `anim_if_param_and` *value*, *address*
-
-## `$EF`: `anim_jumpuntil` *address*
-
-## `$F0`: `anim_bgeffect` *effect*, *unknown1*, *unknown2*, *unknown3*
-
-## `$F1`: `anim_bgp` *colors*
-
-## `$F2`: `anim_obp0` *colors*
-
-## `$F3`: `anim_obp1` *colors*
-
-## `$F4`: `anim_clearsprites`
-
-## `$F5`: `anim_0xf5`
-
-## `$F6`: `anim_0xf6`
-
-## `$F7`: `anim_0xf7`
-
-## `$F8`: `anim_if_param_equal` *value*, *address*
-
-## `$F9`: `anim_setvar` *value*
-
-## `$FA`: `anim_incvar`
-
-## `$FB`: `anim_if_var_equal` *value*, *address*
-
-## `$FC`: `anim_jump` *address*
-
-## `$FD`: `anim_loop` *count*, *address*
-
-## `$FE`: `anim_call` *address*
-
-## `$FF`: `anim_ret`
--- a/docs/pic_animations.md
+++ b/docs/pic_animations.md
@@ -1,8 +1,7 @@
# Pic Animations
-Defined in [macros/scripts/gfx_anim.asm](/macros/scripts/gfx_anim.asm) and [engine/anims/anim_commands.asm:BattleAnimCommands](/engine/anims/anim_commands.asm).
+Defined in [macros/scripts/gfx_anims.asm](/macros/scripts/gfx_anims.asm).
-
Pic animations are assembled in 3 parts:
- Top-level animations:
@@ -20,12 +19,12 @@
Animation data is in these files:
-- gfx/pics/anims.asm:
+- [gfx/pokemon/anims.asm](/gfx/pokemon/anims.asm):
Main animations (played everywhere)
-- gfx/pics/extras.asm:
+- [gfx/pokemon/extras.asm](/gfx/pokemon/extras.asm):
Extra animations, appended to the main animation.
Used in the status screen (blinking, tail wags etc.)
-- gfx/pics/unown_anims.asm and gfx/pics/unown_extras.asm:
+- [gfx/pokemon/unown_anims.asm](/gfx/pokemon/unown_anims.asm) and [gfx/pokemon/unown_extras.asm](/gfx/pokemon/unown_extras.asm):
Unown has its own animation data despite having an entry in the main tables.
--- a/engine/anims/anim_commands.asm
+++ /dev/null
@@ -1,1514 +1,0 @@
-; Battle animation command interpreter.
-
-PlayBattleAnim: ; cc0d6
-
- ld a, [rSVBK]
- push af
-
- ld a, 5
- ld [rSVBK], a
-
- call _PlayBattleAnim
-
- pop af
- ld [rSVBK], a
- ret
-; cc0e4
-
-_PlayBattleAnim: ; cc0e4
-
- ld c, 6
-.wait
- call BattleAnimDelayFrame
- dec c
- jr nz, .wait
-
- call BattleAnimAssignPals
- call BattleAnimRequestPals
- call BattleAnimDelayFrame
-
- ld c, 1
- ld a, [rKEY1]
- bit 7, a
- jr nz, .asm_cc0ff
- ld c, 3
-
-.asm_cc0ff
- ld hl, hVBlank
- ld a, [hl]
- push af
-
- ld [hl], c
- call BattleAnimRunScript
-
- pop af
- ld [hVBlank], a
-
- ld a, $1
- ld [hBGMapMode], a
-
- call BattleAnimDelayFrame
- call BattleAnimDelayFrame
- call BattleAnimDelayFrame
- call WaitSFX
- ret
-; cc11c
-
-BattleAnimRunScript: ; cc11c
-
- ld a, [FXAnimID + 1]
- and a
- jr nz, .hi_byte
-
- farcall CheckBattleScene
- jr c, .disabled
-
- call BattleAnimClearHud
- call RunBattleAnimScript
-
- call BattleAnimAssignPals
- call BattleAnimRequestPals
-
- xor a
- ld [hSCX], a
- ld [hSCY], a
- call BattleAnimDelayFrame
- call BattleAnimRestoreHuds
-
-.disabled
- ld a, [wNumHits]
- and a
- jr z, .done
-
- ld l, a
- ld h, 0
- ld de, ANIM_MISS
- add hl, de
- ld a, l
- ld [FXAnimID], a
- ld a, h
- ld [FXAnimID + 1], a
-
-.hi_byte
- call WaitSFX
- call PlayHitSound
- call RunBattleAnimScript
-
-.done
- call BattleAnim_RevertPals
- ret
-; cc163
-
-RunBattleAnimScript: ; cc163
-
- call ClearBattleAnims
-
-.playframe
- call RunBattleAnimCommand
- call _ExecuteBGEffects
- call BattleAnim_UpdateOAM_All
- call PushLYOverrides
- call BattleAnimRequestPals
-
-; Speed up Rollout's animation.
- ld a, [FXAnimID + 1]
- or a
- jr nz, .not_rollout
-
- ld a, [FXAnimID]
- cp ROLLOUT
- jr nz, .not_rollout
-
- ld a, $2e
- ld b, 5
- ld de, 4
- ld hl, ActiveBGEffects
-.find
- cp [hl]
- jr z, .done
- add hl, de
- dec b
- jr nz, .find
-
-.not_rollout
- call BattleAnimDelayFrame
-
-.done
- ld a, [BattleAnimFlags]
- bit 0, a
- jr z, .playframe
-
- call BattleAnim_ClearCGB_OAMFlags
- ret
-; cc1a1
-
-BattleAnimClearHud: ; cc1a1
-
- call BattleAnimDelayFrame
- call WaitTop
- call ClearActorHud
- ld a, $1
- ld [hBGMapMode], a
- call BattleAnimDelayFrame
- call BattleAnimDelayFrame
- call BattleAnimDelayFrame
- call WaitTop
- ret
-; cc1bb
-
-BattleAnimRestoreHuds: ; cc1bb
-
- call BattleAnimDelayFrame
- call WaitTop
-
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
-
- ld hl, UpdateBattleHuds
- ld a, BANK(UpdatePlayerHUD)
- rst FarCall ; Why not "call UpdateBattleHuds"?
-
- pop af
- ld [rSVBK], a
-
- ld a, $1
- ld [hBGMapMode], a
- call BattleAnimDelayFrame
- call BattleAnimDelayFrame
- call BattleAnimDelayFrame
- call WaitTop
- ret
-; cc1e2
-
-BattleAnimRequestPals: ; cc1e2
-
- ld a, [hCGB]
- and a
- ret z
-
- ld a, [rBGP]
- ld b, a
- ld a, [wBGP]
- cp b
- call nz, BattleAnim_SetBGPals
-
- ld a, [rOBP0]
- ld b, a
- ld a, [wOBP0]
- cp b
- call nz, BattleAnim_SetOBPals
- ret
-; cc1fb
-
-BattleAnimDelayFrame: ; cc1fb
-; Like DelayFrame but wastes battery life.
-
- ld a, 1
- ld [VBlankOccurred], a
-.wait
- ld a, [VBlankOccurred]
- and a
- jr nz, .wait
- ret
-; cc207
-
-ClearActorHud: ; cc207
-
- ld a, [hBattleTurn]
- and a
- jr z, .player
-
- hlcoord 1, 0
- lb bc, 4, 10
- call ClearBox
- ret
-
-.player
- hlcoord 9, 7
- lb bc, 5, 11
- call ClearBox
- ret
-; cc220
-
-Functioncc220: ; cc220
-; Appears to be unused.
- xor a
- ld [hBGMapMode], a
- ld a, LOW(VBGMap0 tile $28)
- ld [hBGMapAddress], a
- ld a, HIGH(VBGMap0 tile $28)
- ld [hBGMapAddress + 1], a
- call WaitBGMap2
- ld a, $60
- ld [hWY], a
- xor a ; LOW(VBGMap0)
- ld [hBGMapAddress], a
- ld a, HIGH(VBGMap0)
- ld [hBGMapAddress + 1], a
- call BattleAnimDelayFrame
- ret
-; cc23d
-
-
-BattleAnim_ClearCGB_OAMFlags: ; cc23d
-
- ld a, [BattleAnimFlags]
- bit 3, a
- jr z, .delete
-
- ld hl, Sprites + 3
- ld c, (SpritesEnd - Sprites) / 4
-.loop
- ld a, [hl]
- and $f0
- ld [hli], a
- inc hl
- inc hl
- inc hl
- dec c
- jr nz, .loop
- ret
-
-.delete
- ld hl, Sprites
- ld c, SpritesEnd - Sprites
- xor a
-.loop2
- ld [hli], a
- dec c
- jr nz, .loop2
- ret
-; cc25f
-
-RunBattleAnimCommand: ; cc25f
- call .CheckTimer
- ret nc
- call .RunScript
- ret
-; cc267
-
-.CheckTimer: ; cc267
- ld a, [BattleAnimDuration]
- and a
- jr z, .done
-
- dec a
- ld [BattleAnimDuration], a
- and a
- ret
-
-.done
- scf
- ret
-; cc275
-
-.RunScript: ; cc275
-.loop
- call GetBattleAnimByte
-
- cp $ff
- jr nz, .not_done_with_anim
-
-; Return from a subroutine.
- ld hl, BattleAnimFlags
- bit 1, [hl]
- jr nz, .do_anim
-
- set 0, [hl]
- ret
-
-.not_done_with_anim
- cp $d0
- jr nc, .do_anim
-
- ld [BattleAnimDuration], a
- ret
-
-.do_anim
- call .DoCommand
-
- jr .loop
-; cc293
-
-.DoCommand: ; cc293
-; Execute battle animation command in [BattleAnimByte].
- ld a, [BattleAnimByte]
- sub $d0
-
- ld e, a
- ld d, 0
- ld hl, BattleAnimCommands
- add hl, de
- add hl, de
-
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-; cc2a4
-
-
-BattleAnimCommands:: ; cc2a4 (33:42a4)
-; entries correspond to macros/move_anim.asm enumeration
- dw BattleAnimCmd_Obj
- dw BattleAnimCmd_1GFX
- dw BattleAnimCmd_2GFX
- dw BattleAnimCmd_3GFX
- dw BattleAnimCmd_4GFX
- dw BattleAnimCmd_5GFX
- dw BattleAnimCmd_IncObj
- dw BattleAnimCmd_SetObj
- dw BattleAnimCmd_IncBGEffect
- dw BattleAnimCmd_EnemyFeetObj
- dw BattleAnimCmd_PlayerHeadObj
- dw BattleAnimCmd_CheckPokeball
- dw BattleAnimCmd_Transform
- dw BattleAnimCmd_RaiseSub
- dw BattleAnimCmd_DropSub
- dw BattleAnimCmd_ResetObp0
- dw BattleAnimCmd_Sound
- dw BattleAnimCmd_Cry
- dw BattleAnimCmd_MinimizeOpp
- dw BattleAnimCmd_OAMOn
- dw BattleAnimCmd_OAMOff
- dw BattleAnimCmd_ClearObjs
- dw BattleAnimCmd_BeatUp
- dw BattleAnimCmd_E7
- dw BattleAnimCmd_UpdateActorPic
- dw BattleAnimCmd_Minimize
- dw BattleAnimCmd_EA ; dummy
- dw BattleAnimCmd_EB ; dummy
- dw BattleAnimCmd_EC ; dummy
- dw BattleAnimCmd_ED ; dummy
- dw BattleAnimCmd_IfParamAnd
- dw BattleAnimCmd_JumpUntil
- dw BattleAnimCmd_BGEffect
- dw BattleAnimCmd_BGP
- dw BattleAnimCmd_OBP0
- dw BattleAnimCmd_OBP1
- dw BattleAnimCmd_ClearSprites
- dw BattleAnimCmd_F5
- dw BattleAnimCmd_F6
- dw BattleAnimCmd_F7
- dw BattleAnimCmd_IfParamEqual
- dw BattleAnimCmd_SetVar
- dw BattleAnimCmd_IncVar
- dw BattleAnimCmd_IfVarEqual
- dw BattleAnimCmd_Jump
- dw BattleAnimCmd_Loop
- dw BattleAnimCmd_Call
- dw BattleAnimCmd_Ret
-
-
-BattleAnimCmd_EA:
-BattleAnimCmd_EB:
-BattleAnimCmd_EC:
-BattleAnimCmd_ED: ; cc304 (33:4304)
- ret
-
-BattleAnimCmd_Ret: ; cc305 (33:4305)
- ld hl, BattleAnimFlags
- res 1, [hl]
- ld hl, BattleAnimParent
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-BattleAnimCmd_Call: ; cc317 (33:4317)
- call GetBattleAnimByte
- ld e, a
- call GetBattleAnimByte
- ld d, a
- push de
- ld hl, BattleAnimAddress
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, BattleAnimParent
- ld [hl], e
- inc hl
- ld [hl], d
- pop de
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ld hl, BattleAnimFlags
- set 1, [hl]
- ret
-
-BattleAnimCmd_Jump: ; cc339 (33:4339)
- call GetBattleAnimByte
- ld e, a
- call GetBattleAnimByte
- ld d, a
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-BattleAnimCmd_Loop: ; cc348 (33:4348)
- call GetBattleAnimByte
- ld hl, BattleAnimFlags
- bit 2, [hl]
- jr nz, .continue_loop
- and a
- jr z, .perpetual
- dec a
- set 2, [hl]
- ld [BattleAnimLoops], a
-.continue_loop
- ld hl, BattleAnimLoops
- ld a, [hl]
- and a
- jr z, .return_from_loop
- dec [hl]
-.perpetual
- call GetBattleAnimByte
- ld e, a
- call GetBattleAnimByte
- ld d, a
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-.return_from_loop
- ld hl, BattleAnimFlags
- res 2, [hl]
- ld hl, BattleAnimAddress
- ld e, [hl]
- inc hl
- ld d, [hl]
- inc de
- inc de
- ld [hl], d
- dec hl
- ld [hl], e
- ret
-
-BattleAnimCmd_JumpUntil: ; cc383 (33:4383)
- ld hl, wBattleAnimParam
- ld a, [hl]
- and a
- jr z, .dont_jump
-
- dec [hl]
- call GetBattleAnimByte
- ld e, a
- call GetBattleAnimByte
- ld d, a
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-.dont_jump
- ld hl, BattleAnimAddress
- ld e, [hl]
- inc hl
- ld d, [hl]
- inc de
- inc de
- ld [hl], d
- dec hl
- ld [hl], e
- ret
-
-BattleAnimCmd_SetVar: ; cc3a6 (33:43a6)
- call GetBattleAnimByte
- ld [BattleAnimVar], a
- ret
-
-BattleAnimCmd_IncVar: ; cc3ad (33:43ad)
- ld hl, BattleAnimVar
- inc [hl]
- ret
-
-BattleAnimCmd_IfVarEqual: ; cc3b2 (33:43b2)
- call GetBattleAnimByte
- ld hl, BattleAnimVar
- cp [hl]
- jr z, .jump
-
- ld hl, BattleAnimAddress
- ld e, [hl]
- inc hl
- ld d, [hl]
- inc de
- inc de
- ld [hl], d
- dec hl
- ld [hl], e
- ret
-
-.jump
- call GetBattleAnimByte
- ld e, a
- call GetBattleAnimByte
- ld d, a
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-BattleAnimCmd_IfParamEqual: ; cc3d6 (33:43d6)
- call GetBattleAnimByte
- ld hl, wBattleAnimParam
- cp [hl]
- jr z, .jump
-
- ld hl, BattleAnimAddress
- ld e, [hl]
- inc hl
- ld d, [hl]
- inc de
- inc de
- ld [hl], d
- dec hl
- ld [hl], e
- ret
-
-.jump
- call GetBattleAnimByte
- ld e, a
- call GetBattleAnimByte
- ld d, a
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-BattleAnimCmd_IfParamAnd: ; cc3fa (33:43fa)
- call GetBattleAnimByte
- ld e, a
- ld a, [wBattleAnimParam]
- and e
- jr nz, .jump
-
- ld hl, BattleAnimAddress
- ld e, [hl]
- inc hl
- ld d, [hl]
- inc de
- inc de
- ld [hl], d
- dec hl
- ld [hl], e
- ret
-
-.jump
- call GetBattleAnimByte
- ld e, a
- call GetBattleAnimByte
- ld d, a
- ld hl, BattleAnimAddress
- ld [hl], e
- inc hl
- ld [hl], d
- ret
-
-BattleAnimCmd_Obj: ; cc41f (33:441f)
-; index, x, y, param
- call GetBattleAnimByte
- ld [wBattleAnimTemp0], a
- call GetBattleAnimByte
- ld [wBattleAnimTemp1], a
- call GetBattleAnimByte
- ld [wBattleAnimTemp2], a
- call GetBattleAnimByte
- ld [wBattleAnimTemp3], a
- call QueueBattleAnimation
- ret
-
-BattleAnimCmd_BGEffect: ; cc43b (33:443b)
- call GetBattleAnimByte
- ld [wBattleAnimTemp0], a
- call GetBattleAnimByte
- ld [wBattleAnimTemp1], a
- call GetBattleAnimByte
- ld [wBattleAnimTemp2], a
- call GetBattleAnimByte
- ld [wBattleAnimTemp3], a
- call _QueueBGEffect
- ret
-
-BattleAnimCmd_BGP: ; cc457 (33:4457)
- call GetBattleAnimByte
- ld [wBGP], a
- ret
-
-BattleAnimCmd_OBP0: ; cc45e (33:445e)
- call GetBattleAnimByte
- ld [wOBP0], a
- ret
-
-BattleAnimCmd_OBP1: ; cc465 (33:4465)
- call GetBattleAnimByte
- ld [wOBP1], a
- ret
-
-BattleAnimCmd_ResetObp0: ; cc46c (33:446c)
- ld a, [hSGB]
- and a
- ld a, $e0
- jr z, .not_sgb
- ld a, $f0
-.not_sgb
- ld [wOBP0], a
- ret
-
-BattleAnimCmd_ClearObjs: ; cc479 (33:4479)
- ld hl, ActiveAnimObjects
- ld a, $a0
-.loop
- ld [hl], $0
- inc hl
- dec a
- jr nz, .loop
- ret
-
-BattleAnimCmd_1GFX:
-BattleAnimCmd_2GFX:
-BattleAnimCmd_3GFX:
-BattleAnimCmd_4GFX:
-BattleAnimCmd_5GFX: ; cc485 (33:4485)
- ld a, [BattleAnimByte]
- and $f
- ld c, a
- ld hl, wBattleAnimTileDict
- xor a
- ld [wBattleAnimTemp0], a
-.loop
- ld a, [wBattleAnimTemp0]
- cp (VTiles1 - VTiles0) / $10 - $31
- ret nc
- call GetBattleAnimByte
- ld [hli], a
- ld a, [wBattleAnimTemp0]
- ld [hli], a
- push bc
- push hl
- ld l, a
- ld h, $0
-rept 4
- add hl, hl
-endr
- ld de, VTiles0 tile $31
- add hl, de
- ld a, [BattleAnimByte]
- call LoadBattleAnimObj
- ld a, [wBattleAnimTemp0]
- add c
- ld [wBattleAnimTemp0], a
- pop hl
- pop bc
- dec c
- jr nz, .loop
- ret
-
-BattleAnimCmd_IncObj: ; cc4c0 (33:44c0)
- call GetBattleAnimByte
- ld e, 10
- ld bc, ActiveAnimObjects
-.loop
- ld hl, BATTLEANIMSTRUCT_INDEX
- add hl, bc
- ld d, [hl]
- ld a, [BattleAnimByte]
- cp d
- jr z, .found
- ld hl, BATTLEANIMSTRUCT_LENGTH
- add hl, bc
- ld c, l
- ld b, h
- dec e
- jr nz, .loop
- ret
-
-.found
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- inc [hl]
- ret
-
-BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3)
- call GetBattleAnimByte
- ld e, 5
- ld bc, ActiveBGEffects
-.loop
- ld hl, $0
- add hl, bc
- ld d, [hl]
- ld a, [BattleAnimByte]
- cp d
- jr z, .found
- ld hl, 4
- add hl, bc
- ld c, l
- ld b, h
- dec e
- jr nz, .loop
- ret
-
-.found
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- inc [hl]
- ret
-
-BattleAnimCmd_SetObj: ; cc506 (33:4506)
- call GetBattleAnimByte
- ld e, 10
- ld bc, ActiveAnimObjects
-.loop
- ld hl, BATTLEANIMSTRUCT_INDEX
- add hl, bc
- ld d, [hl]
- ld a, [BattleAnimByte]
- cp d
- jr z, .found
- ld hl, BATTLEANIMSTRUCT_LENGTH
- add hl, bc
- ld c, l
- ld b, h
- dec e
- jr nz, .loop
- ret
-
-.found
- call GetBattleAnimByte
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], a
- ret
-
-BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c)
-
- ld hl, wBattleAnimTileDict
-.loop
- ld a, [hl]
- and a
- jr z, .okay
- inc hl
- inc hl
- jr .loop
-
-.okay
- ld a, $28
- ld [hli], a
- ld a, $42
- ld [hli], a
- ld a, $29
- ld [hli], a
- ld a, $49
- ld [hl], a
-
- ld hl, VTiles0 tile $73
- ld de, VTiles2 tile $06
- ld a, $70
- ld [wBattleAnimTemp0], a
- ld a, $7
- call .LoadFootprint
- ld de, VTiles2 tile $31
- ld a, $60
- ld [wBattleAnimTemp0], a
- ld a, $6
- call .LoadFootprint
- ret
-
-.LoadFootprint: ; cc561 (33:4561)
- push af
- push hl
- push de
- lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 1
- call Request2bpp
- pop de
- ld a, [wBattleAnimTemp0]
- ld l, a
- ld h, 0
- add hl, de
- ld e, l
- ld d, h
- pop hl
- ld bc, 1 tiles
- add hl, bc
- pop af
- dec a
- jr nz, .LoadFootprint
- ret
-
-BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e)
-
- ld hl, wBattleAnimTileDict
-.loop
- ld a, [hl]
- and a
- jr z, .okay
- inc hl
- inc hl
- jr .loop
-
-.okay
- ld a, $28
- ld [hli], a
- ld a, $35
- ld [hli], a
- ld a, $29
- ld [hli], a
- ld a, $43
- ld [hl], a
-
- ld hl, VTiles0 tile $66
- ld de, VTiles2 tile $05
- ld a, $70
- ld [wBattleAnimTemp0], a
- ld a, $7
- call .LoadHead
- ld de, VTiles2 tile $31
- ld a, $60
- ld [wBattleAnimTemp0], a
- ld a, $6
- call .LoadHead
- ret
-
-.LoadHead: ; cc5b3 (33:45b3)
- push af
- push hl
- push de
- lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 2
- call Request2bpp
- pop de
- ld a, [wBattleAnimTemp0]
- ld l, a
- ld h, 0
- add hl, de
- ld e, l
- ld d, h
- pop hl
- ld bc, 2 tiles
- add hl, bc
- pop af
- dec a
- jr nz, .LoadHead
- ret
-
-BattleAnimCmd_CheckPokeball: ; cc5d0 (33:45d0)
- callfar GetPokeBallWobble
- ld a, c
- ld [BattleAnimVar], a
- ret
-
-BattleAnimCmd_E7: ; cc5db (33:45db)
- ret
-
-BattleAnimCmd_Transform: ; cc5dc (33:45dc)
- ld a, [rSVBK]
- push af
- ld a, 1
- ld [rSVBK], a
- ld a, [CurPartySpecies] ; CurPartySpecies
- push af
-
- ld a, [hBattleTurn]
- and a
- jr z, .player
-
- ld a, [TempBattleMonSpecies] ; TempBattleMonSpecies
- ld [CurPartySpecies], a ; CurPartySpecies
- ld hl, BattleMonDVs ; BattleMonDVs
- predef GetUnownLetter
- ld de, VTiles0 tile $00
- predef GetMonFrontpic
- jr .done
-
-.player
- ld a, [TempEnemyMonSpecies] ; TempEnemyMonSpecies
- ld [CurPartySpecies], a ; CurPartySpecies
- ld hl, EnemyMonDVs ; EnemyMonDVs
- predef GetUnownLetter
- ld de, VTiles0 tile $00
- predef GetMonBackpic
-
-.done
- pop af
- ld [CurPartySpecies], a ; CurPartySpecies
- pop af
- ld [rSVBK], a
- ret
-
-BattleAnimCmd_UpdateActorPic: ; cc622 (33:4622)
-
- ld de, VTiles0 tile $00
- ld a, [hBattleTurn]
- and a
- jr z, .player
-
- ld hl, VTiles2 tile $00
- ld b, 0
- ld c, $31
- call Request2bpp
- ret
-
-.player
- ld hl, VTiles2 tile $31
- ld b, 0
- ld c, $24
- call Request2bpp
- ret
-
-BattleAnimCmd_RaiseSub: ; cc640 (33:4640)
-
- ld a, [rSVBK]
- push af
- ld a, 1
- ld [rSVBK], a
- xor a
- call GetSRAMBank
-
-GetSubstitutePic: ; cc64c
-
- ld hl, sScratch
- ld bc, (7 * 7) tiles
-.loop
- xor a
- ld [hli], a
- dec bc
- ld a, c
- or b
- jr nz, .loop
-
- ld a, [hBattleTurn]
- and a
- jr z, .player
-
- ld hl, MonsterSpriteGFX + 0 tiles
- ld de, sScratch + (2 * 7 + 5) tiles
- call .CopyTile
- ld hl, MonsterSpriteGFX + 1 tiles
- ld de, sScratch + (3 * 7 + 5) tiles
- call .CopyTile
- ld hl, MonsterSpriteGFX + 2 tiles
- ld de, sScratch + (2 * 7 + 6) tiles
- call .CopyTile
- ld hl, MonsterSpriteGFX + 3 tiles
- ld de, sScratch + (3 * 7 + 6) tiles
- call .CopyTile
-
- ld hl, VTiles2 tile $00
- ld de, sScratch
- lb bc, BANK(GetSubstitutePic), 7 * 7
- call Request2bpp
- jr .done
-
-.player
- ld hl, MonsterSpriteGFX + 4 tiles
- ld de, sScratch + (2 * 6 + 4) tiles
- call .CopyTile
- ld hl, MonsterSpriteGFX + 5 tiles
- ld de, sScratch + (3 * 6 + 4) tiles
- call .CopyTile
- ld hl, MonsterSpriteGFX + 6 tiles
- ld de, sScratch + (2 * 6 + 5) tiles
- call .CopyTile
- ld hl, MonsterSpriteGFX + 7 tiles
- ld de, sScratch + (3 * 6 + 5) tiles
- call .CopyTile
-
- ld hl, VTiles2 tile $31
- ld de, sScratch
- lb bc, BANK(GetSubstitutePic), 6 * 6
- call Request2bpp
-
-.done
- call CloseSRAM
- pop af
- ld [rSVBK], a
- ret
-
-.CopyTile: ; cc6c6 (33:46c6)
- ld bc, 1 tiles
- ld a, BANK(MonsterSpriteGFX)
- call FarCopyBytes
- ret
-
-BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf)
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- xor a
- call GetSRAMBank
- call GetMinimizePic
- call Request2bpp
- call CloseSRAM
- pop af
- ld [rSVBK], a
- ret
-
-GetMinimizePic: ; cc6e7 (33:46e7)
- ld hl, sScratch
- ld bc, $31 tiles
-.loop
- xor a
- ld [hli], a
- dec bc
- ld a, c
- or b
- jr nz, .loop
-
- ld a, [hBattleTurn]
- and a
- jr z, .player
-
- ld de, sScratch + $1a tiles
- call CopyMinimizePic
- ld hl, VTiles2 tile $00
- ld de, sScratch
- lb bc, BANK(GetMinimizePic), $31
- ret
-
-.player
- ld de, sScratch + $160
- call CopyMinimizePic
- ld hl, VTiles2 tile $31
- ld de, sScratch
- lb bc, BANK(GetMinimizePic), $24
- ret
-
-CopyMinimizePic: ; cc719 (33:4719)
- ld hl, MinimizePic
- ld bc, $10
- ld a, BANK(MinimizePic)
- call FarCopyBytes
- ret
-; cc725 (33:4725)
-
-MinimizePic: ; cc725
-INCBIN "gfx/battle/minimize.2bpp"
-; cc735
-
-BattleAnimCmd_Minimize: ; cc735 (33:4735)
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- xor a
- call GetSRAMBank
- call GetMinimizePic
- ld hl, VTiles0 tile $00
- call Request2bpp
- call CloseSRAM
- pop af
- ld [rSVBK], a
- ret
-
-BattleAnimCmd_DropSub: ; cc750 (33:4750)
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
-
- ld a, [CurPartySpecies] ; CurPartySpecies
- push af
- ld a, [hBattleTurn]
- and a
- jr z, .player
-
- callfar DropEnemySub
- jr .done
-
-.player
- callfar DropPlayerSub
-
-.done
- pop af
- ld [CurPartySpecies], a ; CurPartySpecies
- pop af
- ld [rSVBK], a
- ret
-
-BattleAnimCmd_BeatUp: ; cc776 (33:4776)
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- ld a, [CurPartySpecies] ; CurPartySpecies
- push af
-
- ld a, [wBattleAnimParam]
- ld [CurPartySpecies], a ; CurPartySpecies
-
- ld a, [hBattleTurn]
- and a
- jr z, .player
-
- ld hl, BattleMonDVs
- predef GetUnownLetter
- ld de, VTiles2 tile $00
- predef GetMonFrontpic
- jr .done
-
-.player
- ld hl, EnemyMonDVs
- predef GetUnownLetter
- ld de, VTiles2 tile $31
- predef GetMonBackpic
-
-.done
- pop af
- ld [CurPartySpecies], a ; CurPartySpecies
- ld b, SCGB_BATTLE_COLORS
- call GetSGBLayout
- pop af
- ld [rSVBK], a
- ret
-
-BattleAnimCmd_OAMOn: ; cc7bb (33:47bb)
- xor a
- ld [hOAMUpdate], a
- ret
-
-BattleAnimCmd_OAMOff: ; cc7bf (33:47bf)
- ld a, $1
- ld [hOAMUpdate], a
- ret
-
-BattleAnimCmd_ClearSprites: ; cc7c4 (33:47c4)
- ld hl, BattleAnimFlags
- set 3, [hl]
- ret
-
-BattleAnimCmd_F5: ; cc7ca (33:47ca)
- ret
-
-BattleAnimCmd_F6: ; cc7cb (33:47cb)
- ret
-
-BattleAnimCmd_F7: ; cc7cc (33:47cc)
- ret
-
-BattleAnimCmd_Sound: ; cc7cd (33:47cd)
- call GetBattleAnimByte
- ld e, a
- srl a
- srl a
- ld [wSFXDuration], a
- call .GetCryTrack
- and 3
- ld [CryTracks], a ; CryTracks
-
- ld e, a
- ld d, 0
- ld hl, .GetPanning
- add hl, de
- ld a, [hl]
- ld [wStereoPanningMask], a
-
- call GetBattleAnimByte
- ld e, a
- ld d, 0
- callfar PlayStereoSFX
-
- ret
-; cc7f8 (33:47f8)
-
-.GetPanning: ; cc7f8
- db $f0, $0f, $f0, $0f
-; cc7fc
-
-.GetCryTrack: ; cc7fc (33:47fc)
- ld a, [hBattleTurn]
- and a
- jr nz, .enemy
-
- ld a, e
- ret
-
-.enemy
- ld a, e
- xor 1
- ret
-
-BattleAnimCmd_Cry: ; cc807 (33:4807)
- call GetBattleAnimByte
- and 3
- ld e, a
- ld d, 0
- ld hl, .CryData
-rept 4
- add hl, de
-endr
-
- ld a, [rSVBK]
- push af
- ld a, 1
- ld [rSVBK], a
-
- ld a, [hBattleTurn]
- and a
- jr nz, .enemy
-
- ld a, $f0
- ld [CryTracks], a ; CryTracks
- ld a, [BattleMonSpecies] ; BattleMonSpecies
- jr .done_cry_tracks
-
-.enemy
- ld a, $0f
- ld [CryTracks], a ; CryTracks
- ld a, [EnemyMonSpecies] ; EnemyMon
-
-.done_cry_tracks
- push hl
- call LoadCryHeader
- pop hl
- jr c, .done
-
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld b, a
-
- push hl
- ld hl, CryPitch
- ld a, [hli]
- ld h, [hl]
- ld l, a
- add hl, bc
- ld a, l
- ld [CryPitch], a
- ld a, h
- ld [CryPitch + 1], a
- pop hl
-
- ld a, [hli]
- ld c, a
- ld b, [hl]
- ld hl, CryLength ; CryLength
- ld a, [hli]
- ld h, [hl]
- ld l, a
- add hl, bc
-
- ld a, l
- ld [CryLength], a ; CryLength
- ld a, h
- ld [CryLength + 1], a
- ld a, 1
- ld [wStereoPanningMask], a
-
- callfar _PlayCryHeader
-
-.done
- pop af
- ld [rSVBK], a
- ret
-; cc871 (33:4871)
-
-.CryData: ; cc871
-; +pitch, +length
- dw $0000, $00c0
- dw $0000, $0040
- dw $0000, $0000
- dw $0000, $0000
-; cc881
-
-
-PlayHitSound: ; cc881
- ld a, [wNumHits]
- cp $1
- jr z, .okay
- cp $4
- ret nz
-
-.okay
- ld a, [TypeModifier]
- and $7f
- ret z
-
- cp 10
- ld de, SFX_DAMAGE
- jr z, .play
-
- ld de, SFX_SUPER_EFFECTIVE
- jr nc, .play
-
- ld de, SFX_NOT_VERY_EFFECTIVE
-
-.play
- call PlaySFX
- ret
-; cc8a4
-
-BattleAnimAssignPals: ; cc8a4
- ld a, [hCGB]
- and a
- jr nz, .cgb
- ld a, [hSGB]
- and a
- ld a, %11100000
- jr z, .sgb
- ld a, %11110000
-
-.sgb
- ld [wOBP0], a
- ld a, %11100100
- ld [wBGP], a
- ld [wOBP1], a
- ret
-
-.cgb
- ld a, %11100100
- ld [wBGP], a
- ld [wOBP0], a
- ld [wOBP1], a
- call DmgToCgbBGPals
- lb de, %11100100, %11100100
- call DmgToCgbObjPals
- ret
-; cc8d3
-
-ClearBattleAnims: ; cc8d3
-; Clear animation block
- ld hl, LYOverrides
- ld bc, wBattleAnimEnd - LYOverrides
-.loop
- ld [hl], $0
- inc hl
- dec bc
- ld a, c
- or b
- jr nz, .loop
-
- ld hl, FXAnimID
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, BattleAnimations
- add hl, de
- add hl, de
- call GetBattleAnimPointer
- call BattleAnimAssignPals
- call BattleAnimDelayFrame
- ret
-; cc8f6
-
-BattleAnim_RevertPals: ; cc8f6
- call WaitTop
- ld a, %11100100
- ld [wBGP], a
- ld [wOBP0], a
- ld [wOBP1], a
- call DmgToCgbBGPals
- lb de, %11100100, %11100100
- call DmgToCgbObjPals
- xor a
- ld [hSCX], a
- ld [hSCY], a
- call BattleAnimDelayFrame
- ld a, $1
- ld [hBGMapMode], a
- ret
-; cc91a
-
-BattleAnim_SetBGPals: ; cc91a
- ld [rBGP], a
- ld a, [hCGB]
- and a
- ret z
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, BGPals
- ld de, UnknBGPals
- ld a, [rBGP]
- ld b, a
- ld c, 7
- call CopyPals
- ld hl, OBPals
- ld de, UnknOBPals
- ld a, [rBGP]
- ld b, a
- ld c, 2
- call CopyPals
- pop af
- ld [rSVBK], a
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; cc94b
-
-BattleAnim_SetOBPals: ; cc94b
- ld [rOBP0], a
- ld a, [hCGB]
- and a
- ret z
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld hl, OBPals palette PAL_BATTLE_OB_GRAY
- ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY
- ld a, [rOBP0]
- ld b, a
- ld c, 2
- call CopyPals
- pop af
- ld [rSVBK], a
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-; cc96e
-
-BattleAnim_UpdateOAM_All: ; cc96e
- ld a, $0
- ld [wBattleAnimOAMPointerLo], a
- ld hl, ActiveAnimObjects
- ld e, 10
-.loop
- ld a, [hl]
- and a
- jr z, .next
- ld c, l
- ld b, h
- push hl
- push de
- call DoBattleAnimFrame
- call BattleAnimOAMUpdate
- pop de
- pop hl
- jr c, .done
-
-.next
- ld bc, BATTLEANIMSTRUCT_LENGTH
- add hl, bc
- dec e
- jr nz, .loop
- ld a, [wBattleAnimOAMPointerLo]
- ld l, a
- ld h, HIGH(Sprites)
-.loop2
- ld a, l
- cp LOW(SpritesEnd)
- jr nc, .done
- xor a
- ld [hli], a
- jr .loop2
-
-.done
- ret
-; cc9a1
--- a/engine/anims/bg_effects.asm
+++ /dev/null
@@ -1,2958 +1,0 @@
- const_def
- const BGSQUARE_SIX
- const BGSQUARE_FOUR
- const BGSQUARE_TWO
- const BGSQUARE_SEVEN
- const BGSQUARE_FIVE
- const BGSQUARE_THREE
-
-; BG effects for use in battle animations.
-
-ExecuteBGEffects: ; c8000 (32:4000)
- ld hl, ActiveBGEffects
- ld e, 5
-.loop
- ld a, [hl]
- and a
- jr z, .next
- ld c, l
- ld b, h
- push hl
- push de
- call DoBattleBGEffectFunction
- pop de
- pop hl
-.next
- ld bc, 4
- add hl, bc
- dec e
- jr nz, .loop
- ret
-
-QueueBGEffect: ; c801a (32:401a)
- ld hl, ActiveBGEffects
- ld e, 5
-.loop
- ld a, [hl]
- and a
- jr z, .load
- ld bc, 4
- add hl, bc
- dec e
- jr nz, .loop
- scf
- ret
-
-.load
- ld c, l
- ld b, h
- ld hl, BG_EFFECT_STRUCT_FUNCTION
- add hl, bc
- ld a, [wBattleAnimTemp0]
- ld [hli], a
- ld a, [wBattleAnimTemp1]
- ld [hli], a
- ld a, [wBattleAnimTemp2]
- ld [hli], a
- ld a, [wBattleAnimTemp3]
- ld [hl], a
- ret
-
-EndBattleBGEffect: ; c8043 (32:4043)
- ld hl, BG_EFFECT_STRUCT_FUNCTION
- add hl, bc
- ld [hl], 0
- ret
-
-DoBattleBGEffectFunction: ; c804a (32:404a)
- ld hl, BG_EFFECT_STRUCT_FUNCTION
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, BattleBGEffects
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-
-BattleBGEffects: ; c805a (32:405a)
-; entries correspond to ANIM_BG_* constants
- dw BattleBGEffect_End
- dw BattleBGEffect_FlashInverted
- dw BattleBGEffect_FlashWhite
- dw BattleBGEffect_WhiteHues
- dw BattleBGEffect_BlackHues
- dw BattleBGEffect_AlternateHues
- dw BattleBGEffect_06
- dw BattleBGEffect_07
- dw BattleBGEffect_08
- dw BattleBGEffect_HideMon
- dw BattleBGEffect_ShowMon
- dw BattleBGEffect_EnterMon
- dw BattleBGEffect_ReturnMon
- dw BattleBGEffect_Surf
- dw BattleBGEffect_Whirlpool
- dw BattleBGEffect_Teleport
- dw BattleBGEffect_NightShade
- dw BattleBGEffect_FeetFollow
- dw BattleBGEffect_HeadFollow
- dw BattleBGEffect_DoubleTeam
- dw BattleBGEffect_AcidArmor
- dw BattleBGEffect_RapidFlash
- dw BattleBGEffect_16
- dw BattleBGEffect_17
- dw BattleBGEffect_18
- dw BattleBGEffect_19
- dw BattleBGEffect_1a
- dw BattleBGEffect_1b
- dw BattleBGEffect_1c
- dw BattleBGEffect_1d
- dw BattleBGEffect_1e
- dw BattleBGEffect_1f
- dw BattleBGEffect_20
- dw BattleBGEffect_Withdraw
- dw BattleBGEffect_BounceDown
- dw BattleBGEffect_Dig
- dw BattleBGEffect_Tackle
- dw BattleBGEffect_25
- dw BattleBGEffect_26
- dw BattleBGEffect_27
- dw BattleBGEffect_28
- dw BattleBGEffect_Psychic
- dw BattleBGEffect_2a
- dw BattleBGEffect_2b
- dw BattleBGEffect_2c
- dw BattleBGEffect_2d
- dw BattleBGEffect_2e
- dw BattleBGEffect_2f
- dw BattleBGEffect_30
- dw BattleBGEffect_31
- dw BattleBGEffect_32
- dw BattleBGEffect_VibrateMon
- dw BattleBGEffect_WobbleMon
- dw BattleBGEffect_35
-
-
-BattleBGEffect_End: ; c80c6 (32:40c6)
- call EndBattleBGEffect
- ret
-
-BatttleBGEffects_GetNamedJumptablePointer: ; c80ca (32:40ca)
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld l, [hl]
- ld h, 0
- add hl, hl
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ret
-
-BattleBGEffects_AnonJumptable: ; c80d7 (32:40d7)
- pop de
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld l, [hl]
- ld h, 0
- add hl, hl
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-
-BattleBGEffects_IncrementJumptable: ; c80e5 (32:40e5)
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- inc [hl]
- ret
-
-BattleBGEffect_FlashInverted: ; c80eb (32:40eb)
- ld de, .inverted
- jp BattleBGEffect_FlashContinue
-
-.inverted
- db %11100100 ; 3210
- db %00011011 ; 0123
-; c80f3
-
-BattleBGEffect_FlashWhite: ; c80f3 (32:40f3)
- ld de, .white
- jp BattleBGEffect_FlashContinue
-
-.white
- db %11100100 ; 3210
- db %00000000 ; 0000
-; c80fb
-
-BattleBGEffect_FlashContinue: ; c80fb (32:40fb)
-; current timer, flash duration, number of flashes
- ld a, $1
- ld [wBattleAnimTemp0], a
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld a, [hl]
- and a
- jr z, .init
- dec [hl]
- ret
-
-.init
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld [hl], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and a
- jr nz, .apply_pal
- call EndBattleBGEffect
- ret
-
-.apply_pal
- dec a
- ld [hl], a
- and 1
- ld l, a
- ld h, 0
- add hl, de
- ld a, [hl]
- ld [wBGP], a
- ret
-
-BattleBGEffect_WhiteHues: ; c812d (32:412d)
- ld de, .Pals
- call BattleBGEffect_GetNthDMGPal
- jr c, .quit
- ld [wBGP], a
- ret
-
-.quit
- call EndBattleBGEffect
- ret
-
-.Pals:
- db %11100100
- db %11100000
- db %11010000
- db -1
-; c8141
-
-BattleBGEffect_BlackHues: ; c8141 (32:4141)
- ld de, .Pals
- call BattleBGEffect_GetNthDMGPal
- jr c, .quit
- ld [wBGP], a
- ret
-
-.quit
- call EndBattleBGEffect
- ret
-
-.Pals:
- db %11100100
- db %11110100
- db %11111000
- db -1
-; c8155
-
-BattleBGEffect_AlternateHues: ; c8155 (32:4155)
- ld de, .Pals
- call BattleBGEffect_GetNthDMGPal
- jr c, .quit
- ld [wBGP], a
- ld [wOBP1], a
- ret
-
-.quit
- call EndBattleBGEffect
- ret
-
-.Pals:
- db %11100100
- db %11111000
- db %11111100
- db %11111000
- db %11100100
- db %10010000
- db %01000000
- db %10010000
- db -2
-; c8171
-
-BattleBGEffect_06: ; c8171 (32:4171)
- call BattleBGEffects_CheckSGB
- jr nz, .sgb
- ld de, .PalsCGB
- jr .okay
-
-.sgb
- ld de, .PalsSGB
-.okay
- call BattleBGEffect_GetNthDMGPal
- ld [wOBP0], a
- ret
-
-.PalsCGB:
- db %11100100
- db %10010000
- db -2
-
-.PalsSGB:
- db %11110000
- db %11000000
- db -2
-; c818b
-
-BattleBGEffect_07: ; c818b (32:418b)
- call BattleBGEffects_CheckSGB
- jr nz, .sgb
- ld de, .PalsCGB
- jr .okay
-
-.sgb
- ld de, .PalsSGB
-.okay
- call BattleBGEffect_GetNthDMGPal
- ld [wOBP0], a
- ret
-
-.PalsCGB:
- db %11100100
- db %11011000
- db -2
-
-.PalsSGB:
- db %11110000
- db %11001100
- db -2
-; c81a5
-
-BattleBGEffect_08: ; c81a5 (32:41a5)
- ld de, .Pals
- call BattleBGEffect_GetNthDMGPal
- ld [wBGP], a
- ret
-
-.Pals:
- db %00011011
- db %01100011
- db %10000111
- db -2
-; c81b3
-
-BattleBGEffect_HideMon: ; c81b3 (32:41b3)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw .four
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- push bc
- call BGEffect_CheckBattleTurn
- jr nz, .player_side
- hlcoord 12, 0
- lb bc, 7, 7
- jr .got_pointer
-
-.player_side
- hlcoord 2, 6
- lb bc, 6, 6
-.got_pointer
- call ClearBox
- pop bc
- xor a
- ld [hBGMapThird], a
- ld a, $1
- ld [hBGMapMode], a
- ret
-
-.four
- xor a
- ld [hBGMapMode], a
- call EndBattleBGEffect
- ret
-
-BattleBGEffect_ShowMon: ; c81ea (32:41ea)
- call BGEffect_CheckFlyDigStatus
- jr z, .not_flying
- call EndBattleBGEffect
- ret
-
-.not_flying
- call BGEffect_CheckBattleTurn
- jr nz, .player_side
- ld de, .EnemyData
- jr .got_pointer
-
-.player_side
- ld de, .PlayerData
-.got_pointer
- ld a, e
- ld [wBattleAnimTemp1], a
- ld a, d
- ld [wBattleAnimTemp2], a
- call BattleBGEffect_RunPicResizeScript
- ret
-
-.PlayerData:
- db 0, $31, 0
- db -1
-.EnemyData:
- db 3, $00, 3
- db -1
-; c8214
-
-BattleBGEffect_FeetFollow: ; c8214 (32:4214)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw .five
-
-
-.zero
- call BGEffect_CheckFlyDigStatus
- jr z, .not_flying_digging
- ld hl, wNumActiveBattleAnims
- inc [hl]
- call EndBattleBGEffect
- ret
-
-.not_flying_digging
- call BattleBGEffects_IncrementJumptable
- push bc
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- ld a, ANIM_OBJ_PLAYERFEETFOLLOW
- ld [wBattleAnimTemp0], a
- ld a, 16 * 8 + 4
- jr .okay
-
-.player_turn
- ld a, ANIM_OBJ_ENEMYFEETFOLLOW
- ld [wBattleAnimTemp0], a
- ld a, 6 * 8
-.okay
- ld [wBattleAnimTemp1], a
- ld a, 8 * 8
- ld [wBattleAnimTemp2], a
- xor a
- ld [wBattleAnimTemp3], a
- call _QueueBattleAnimation
- pop bc
- ret
-
-.one
- call BattleBGEffects_IncrementJumptable
- push bc
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn_2
- hlcoord 12, 6
- lb bc, 1, 7
- jr .okay2
-
-.player_turn_2
- hlcoord 2, 6
- lb bc, 1, 6
-.okay2
- call ClearBox
- ld a, $1
- ld [hBGMapMode], a
- pop bc
- ret
-
-.five
- xor a
- ld [hBGMapMode], a
- call EndBattleBGEffect
- ret
-
-BattleBGEffect_HeadFollow: ; c8281 (32:4281)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw .five
-
-
-.zero
- call BGEffect_CheckFlyDigStatus
- jr z, .not_flying_digging
- ld hl, wNumActiveBattleAnims
- inc [hl]
- call EndBattleBGEffect
- ret
-
-.not_flying_digging
- call BattleBGEffects_IncrementJumptable
- push bc
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- ld a, ANIM_OBJ_BA
- ld [wBattleAnimTemp0], a
- ld a, 16 * 8 + 4
- jr .okay
-
-.player_turn
- ld a, ANIM_OBJ_BB
- ld [wBattleAnimTemp0], a
- ld a, 6 * 8
-.okay
- ld [wBattleAnimTemp1], a
- ld a, 8 * 8
- ld [wBattleAnimTemp2], a
- xor a
- ld [wBattleAnimTemp3], a
- call _QueueBattleAnimation
- pop bc
- ret
-
-.one
- call BattleBGEffects_IncrementJumptable
- push bc
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn_2
- hlcoord 12, 5
- lb bc, 2, 7
- jr .okay2
-
-.player_turn_2
- hlcoord 2, 6
- lb bc, 2, 6
-.okay2
- call ClearBox
- ld a, $1
- ld [hBGMapMode], a
- pop bc
- ret
-
-.five
- xor a
- ld [hBGMapMode], a
- call EndBattleBGEffect
- ret
-
-_QueueBattleAnimation: ; c82ee (32:42ee)
- callfar QueueBattleAnimation
- ret
-
-BattleBGEffect_27: ; c82f5 (32:42f5)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw .four
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BGEffect_CheckBattleTurn
- ld [hl], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and a
- jr z, .user
- ld a, $9
- jr .okay
-
-.user
- ld a, $8
-.okay
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], a
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and a
- jr z, .user_2
- hlcoord 0, 6
- lb de, 8, 6
-.row1
- push de
- push hl
-.col1
- inc hl
- ld a, [hld]
- ld [hli], a
- dec d
- jr nz, .col1
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- pop de
- dec e
- jr nz, .row1
- jr .okay2
-
-.user_2
- hlcoord 19, 0
- lb de, 8, 7
-.row2
- push de
- push hl
-.col2
- dec hl
- ld a, [hli]
- ld [hld], a
- dec d
- jr nz, .col2
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- pop de
- dec e
- jr nz, .row2
-.okay2
- xor a
- ld [hBGMapThird], a
- ld a, $1
- ld [hBGMapMode], a
- call BattleBGEffects_IncrementJumptable
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- dec [hl]
- ret
-
-.four
- xor a
- ld [hBGMapMode], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and a
- jr z, .done
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld [hl], $1
- ret
-
-.done
- call EndBattleBGEffect
- ret
-
-BattleBGEffect_EnterMon: ; c837b (32:437b)
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- ld de, .EnemyData
- jr .okay
-
-.player_turn
- ld de, .PlayerData
-.okay
- ld a, e
- ld [wBattleAnimTemp1], a
- ld a, d
- ld [wBattleAnimTemp2], a
- call BattleBGEffect_RunPicResizeScript
- ret
-
-.PlayerData:
- db 2, $31, 2
- db 1, $31, 1
- db 0, $31, 0
- db -1
-.EnemyData:
- db 5, $00, 5
- db 4, $00, 4
- db 3, $00, 3
- db -1
-; c83a8
-
-BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- ld de, .EnemyData
- jr .okay
-
-.player_turn
- ld de, .PlayerData
-.okay
- ld a, e
- ld [wBattleAnimTemp1], a
- ld a, d
- ld [wBattleAnimTemp2], a
- call BattleBGEffect_RunPicResizeScript
- ret
-
-.PlayerData:
- db 0, $31, 0
- db -2, $66, 0
- db 1, $31, 1
- db -2, $44, 1
- db 2, $31, 2
- db -2, $22, 2
- db -3, $00, 0
- db -1
-.EnemyData:
- db 3, $00, 3
- db -2, $77, 3
- db 4, $00, 4
- db -2, $55, 4
- db 5, $00, 5
- db -2, $33, 5
- db -3, $00, 0
- db -1
-; c83ed
-
-BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw BattleBGEffects_IncrementJumptable
- dw BattleBGEffects_IncrementJumptable
- dw .restart
- dw .end
-
-
-.zero
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld e, [hl]
- ld d, $0
- inc [hl]
- ld a, [wBattleAnimTemp1]
- ld l, a
- ld a, [wBattleAnimTemp2]
- ld h, a
- add hl, de
- add hl, de
- add hl, de
- ld a, [hl]
- cp -1
- jr z, .end
- cp -2
- jr z, .clear
- cp -3
- jr z, .skip
- call .PlaceGraphic
-.skip
- call BattleBGEffects_IncrementJumptable
- ld a, $1
- ld [hBGMapMode], a
- ret
-
-.clear
- call .ClearBox
- jr .zero
-
-.restart
- xor a
- ld [hBGMapMode], a
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld [hl], $0
- ret
-
-.end
- xor a
- ld [hBGMapMode], a
- call EndBattleBGEffect
- ret
-
-.ClearBox:
-; get dims
- push bc
- inc hl
- ld a, [hli]
- ld b, a
- and $f
- ld c, a
- ld a, b
- swap a
- and $f
- ld b, a
-; get coords
- ld e, [hl]
- ld d, 0
- ld hl, .Coords
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- call ClearBox
- pop bc
- ret
-
-.PlaceGraphic:
-; get dims
- push bc
- push hl
- ld e, [hl]
- ld d, 0
- ld hl, .BGSquares
- add hl, de
- add hl, de
- add hl, de
- ld a, [hli]
- ld b, a
- and $f
- ld c, a
- ld a, b
- swap a
- and $f
- ld b, a
-; store pointer
- ld e, [hl]
- inc hl
- ld d, [hl]
-; get byte
- pop hl
- inc hl
- ld a, [hli]
- ld [wBattleAnimTemp0], a
-; get coord
- push de
- ld e, [hl]
- ld d, 0
- ld hl, .Coords
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop de
-; fill box
-.row
- push bc
- push hl
- ld a, [wBattleAnimTemp0]
- ld b, a
-.col
- ld a, [de]
- add b
- ld [hli], a
- inc de
- dec c
- jr nz, .col
- pop hl
- ld bc, SCREEN_WIDTH
- add hl, bc
- pop bc
- dec b
- jr nz, .row
- pop bc
- ret
-
-.Coords:
- dwcoord 2, 6
- dwcoord 3, 8
- dwcoord 4, 10
- dwcoord 12, 0
- dwcoord 13, 2
- dwcoord 14, 4
-
-.BGSquares:
-bgsquare: MACRO
- dn \1, \2
- dw \3
-endm
-
- bgsquare 6, 6, .SixBySix
- bgsquare 4, 4, .FourByFour
- bgsquare 2, 2, .TwoByTwo
- bgsquare 7, 7, .SevenBySeven
- bgsquare 5, 5, .FiveByFive
- bgsquare 3, 3, .ThreeByThree
-
-.SixBySix:
- db $00, $06, $0c, $12, $18, $1e
- db $01, $07, $0d, $13, $19, $1f
- db $02, $08, $0e, $14, $1a, $20
- db $03, $09, $0f, $15, $1b, $21
- db $04, $0a, $10, $16, $1c, $22
- db $05, $0b, $11, $17, $1d, $23
-
-.FourByFour:
- db $00, $0c, $12, $1e
- db $02, $0e, $14, $20
- db $03, $0f, $15, $21
- db $05, $11, $17, $23
-
-.TwoByTwo:
- db $00, $1e
- db $05, $23
-
-.SevenBySeven:
- db $00, $07, $0e, $15, $1c, $23, $2a
- db $01, $08, $0f, $16, $1d, $24, $2b
- db $02, $09, $10, $17, $1e, $25, $2c
- db $03, $0a, $11, $18, $1f, $26, $2d
- db $04, $0b, $12, $19, $20, $27, $2e
- db $05, $0c, $13, $1a, $21, $28, $2f
- db $06, $0d, $14, $1b, $22, $29, $30
-
-.FiveByFive:
- db $00, $07, $15, $23, $2a
- db $01, $08, $16, $24, $2b
- db $03, $0a, $18, $26, $2d
- db $05, $0c, $1a, $28, $2f
- db $06, $0d, $1b, $29, $30
-
-.ThreeByThree:
- db $00, $15, $2a
- db $03, $18, $2d
- db $06, $1b, $30
-; c8545
-
-BattleBGEffect_Surf: ; c8545 (32:4545)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- lb de, 2, 2
- call InitSurfWaves
-
-.one
- ld a, [hLCDCPointer]
- and a
- ret z
- push bc
- call .RotatewSurfWaveBGEffect
- pop bc
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-.RotatewSurfWaveBGEffect:
- ld hl, wSurfWaveBGEffect
- ld de, wSurfWaveBGEffect + 1
- ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1
- ld a, [hl]
- push af
-.loop
- ld a, [de]
- inc de
- ld [hli], a
- dec c
- jr nz, .loop
- pop af
- ld [hl], a
- ld de, LYOverridesBackup
- ld hl, wSurfWaveBGEffect
- ld bc, $0
-.loop2
- ld a, [hLYOverrideStart]
- cp e
- jr nc, .load_zero
- push hl
- add hl, bc
- ld a, [hl]
- pop hl
- jr .okay
-
-.load_zero
- xor a
-.okay
- ld [de], a
- ld a, c
- inc a
- and $3f
- ld c, a
- inc de
- ld a, e
- cp $5f
- jr c, .loop2
- ret
-
-BattleBGEffect_Whirlpool: ; c8599 (32:4599)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCY - $ff00
- ld [hLCDCPointer], a
- xor a
- ld [hLYOverrideStart], a
- ld a, $5e
- ld [hLYOverrideEnd], a
- lb de, 2, 2
- call Functionc8f2e
- ret
-
-.one
- call BattleBGEffect_WavyScreenFX
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_30: ; c85c2 (32:45c2)
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCY - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- call EndBattleBGEffect
- ret
-
-BattleBGEffect_31: ; c85ce (32:45ce)
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- ld e, a
- add $4
- ld [hl], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and $f0
- swap a
- xor $ff
- add $4
- ld d, a
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld a, [hl]
- ld [wBattleAnimTemp0], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- cp $20
- jr nc, .done
- inc [hl]
- inc [hl]
- call Functionc8f9a
- ret
-
-.done
- call BattleBGEffects_ClearLYOverrides
- call EndBattleBGEffect
- ret
-
-BattleBGEffect_32: ; c8603 (32:4603)
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_Psychic: ; c8607 (32:4607)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- ld [hLCDCPointer], a
- xor a
- ld [hLYOverrideStart], a
- ld a, $5f
- ld [hLYOverrideEnd], a
- lb de, 6, 5
- call Functionc8f2e
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- inc [hl]
- and $3
- ret nz
- call BattleBGEffect_WavyScreenFX
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_Teleport: ; c863f (32:463f)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- lb de, 6, 5
- call Functionc8f2e
- ret
-
-.one
- call BattleBGEffect_WavyScreenFX
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_NightShade: ; c8662 (32:4662)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCY - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld e, [hl]
- ld d, 2
- call Functionc8f2e
- ret
-
-.one
- call BattleBGEffect_WavyScreenFX
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_DoubleTeam: ; c8689 (32:4689)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
- dw .five
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], $0
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- cp $10
- jr nc, .next
- inc [hl]
- call .UpdateLYOverrides
- ret
-
-.three
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- cp $ff
- jr z, .next
- dec [hl]
- call .UpdateLYOverrides
- ret
-
-.next
- call BattleBGEffects_IncrementJumptable
- ret
-
-.two
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- ld d, $2
- call BattleBGEffects_Sine
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- add [hl]
- call .UpdateLYOverrides
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- add $4
- ld [hl], a
-
-.four
- ret
-
-.UpdateLYOverrides:
- ld e, a
- xor $ff
- inc a
- ld d, a
- ld h, HIGH(LYOverridesBackup)
- ld a, [hLYOverrideStart]
- ld l, a
- ld a, [hLYOverrideEnd]
- sub l
- srl a
- push af
-.loop
- ld [hl], e
- inc hl
- ld [hl], d
- inc hl
- dec a
- jr nz, .loop
- pop af
- ret nc
- ld [hl], e
- ret
-
-.five
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_AcidArmor: ; c8709 (32:4709)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCY - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld e, [hl]
- ld d, 2
- call Functionc8f2e
- ld h, HIGH(LYOverridesBackup)
- ld a, [hLYOverrideEnd]
- ld l, a
- ld [hl], $0
- dec l
- ld [hl], $0
- ret
-
-.one
- ld a, [hLYOverrideEnd]
- ld l, a
- ld h, HIGH(LYOverridesBackup)
- ld e, l
- ld d, h
- dec de
-.loop
- ld a, [de]
- dec de
- ld [hld], a
- ld a, [hLYOverrideStart]
- cp l
- jr nz, .loop
- ld [hl], $90
- ld a, [hLYOverrideEnd]
- ld l, a
- ld a, [hl]
- cp $1
- jr c, .okay
- cp $90
- jr z, .okay
- ld [hl], $0
-.okay
- dec l
- ld a, [hl]
- cp $2
- ret c
- cp $90
- ret z
- ld [hl], $0
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_Withdraw: ; c8761 (32:4761)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCY - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], $1
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and $3f
- ld d, a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- cp d
- ret nc
- call BGEffect_DisplaceLYOverridesBackup
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- rlca
- rlca
- and $3
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_Dig: ; c87a7 (32:47a7)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCY - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], $2
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and a
- jr z, .next
- dec [hl]
- ret
-
-.next
- ld [hl], $10
- call BattleBGEffects_IncrementJumptable
-.two
- ld a, [hLYOverrideStart]
- ld l, a
- ld a, [hLYOverrideEnd]
- sub l
- dec a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- cp [hl]
- ret c
- ld a, [hl]
- push af
- and $7
- jr nz, .skip
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- dec [hl]
-.skip
- pop af
- call BGEffect_DisplaceLYOverridesBackup
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- inc [hl]
- inc [hl]
- ret
-
-.three
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_Tackle: ; c8805 (32:4805)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw Tackle_BGEffect25_2d_one
- dw Tackle_BGEffect25_2d_two
- dw .three
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- call BGEffect_CheckBattleTurn
- jr nz, .player_side
- ld a, 2
- jr .okay
-
-.player_side
- ld a, -2
-.okay
- ld [hl], a
- ret
-
-.three
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_25: ; c8837 (32:4837)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw Tackle_BGEffect25_2d_one
- dw Tackle_BGEffect25_2d_two
- dw .three
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms2
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- call BGEffect_CheckBattleTurn
- jr nz, .player_side
- ld a, 2
- jr .okay
-
-.player_side
- ld a, -2
-.okay
- ld [hl], a
- ret
-
-.three
- call BattleAnim_ResetLCDStatCustom
- ret
-
-Tackle_BGEffect25_2d_one:
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- cp -8
- jr z, .reached_limit
- cp 8
- jr nz, .finish
-.reached_limit
- call BattleBGEffects_IncrementJumptable
-.finish
- call Functionc88a5
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-Tackle_BGEffect25_2d_two:
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and a
- jr nz, .asm_c8893
- call BattleBGEffects_IncrementJumptable
-.asm_c8893
- call Functionc88a5
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-Functionc88a5: ; c88a5 (32:48a5)
- push af
- ld a, [FXAnimID + 1] ; FXAnimID + 1
- or a
- jr nz, .not_rollout
- ld a, [FXAnimID] ; FXAnimID
- cp ROLLOUT
- jr z, .rollout
-.not_rollout
- pop af
- jp BGEffect_FillLYOverridesBackup
-
-.rollout
- ld a, [hLYOverrideStart]
- ld d, a
- ld a, [hLYOverrideEnd]
- sub d
- ld d, a
- ld h, HIGH(LYOverridesBackup)
- ld a, [hSCY]
- or a
- jr nz, .skip1
- ld a, [hLYOverrideStart]
- or a
- jr z, .skip2
- dec a
- ld l, a
- ld [hl], $0
- jr .skip2
-
-.skip1
- ld a, [hLYOverrideEnd]
- dec a
- ld l, a
- ld [hl], $0
-.skip2
- ld a, [hSCY]
- ld l, a
- ld a, [hLYOverrideStart]
- sub l
- jr nc, .skip3
- xor a
- dec d
-.skip3
- ld l, a
- pop af
-.loop
- ld [hli], a
- dec d
- jr nz, .loop
- ret
-
-BattleBGEffect_2d: ; c88e7 (32:48e7)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw BGEffect2d_2f_zero
- dw Tackle_BGEffect25_2d_one
- dw Tackle_BGEffect25_2d_two
- dw .three
-
-
-.three
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BGEffect2d_2f_zero:
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- ld a, -2
- jr .okay
-
-.player_turn
- ld a, 2
-.okay
- ld [hl], a
- ret
-
-BattleBGEffect_2f: ; c8919 (32:4919)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw BGEffect2d_2f_zero
- dw Tackle_BGEffect25_2d_one
- dw .two
- dw Tackle_BGEffect25_2d_two
- dw .four
-
-.four
- call BattleAnim_ResetLCDStatCustom
-.two
- ret
-
-BattleBGEffect_26: ; c892a (32:492a)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- ld d, $8
- call BattleBGEffects_Sine
- call BGEffect_FillLYOverridesBackup
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- add $4
- ld [hl], a
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_2c: ; c8964 (32:4964)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- xor a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hli], a
- ld [hl], a
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- ld d, $6
- call BattleBGEffects_Sine
- push af
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- ld d, $2
- call BattleBGEffects_Sine
- ld e, a
- pop af
- add e
- call BGEffect_FillLYOverridesBackup
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- add $8
- ld [hl], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_28: ; c89b5 (32:49b5)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- cp $20
- ret nc
- inc [hl]
- ld d, a
- ld e, 4
- call Functionc8f2e
- ret
-
-.two
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and a
- jr z, .reset
- dec [hl]
- ld d, a
- ld e, 4
- call Functionc8f2e
- ret
-
-.reset
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_BounceDown: ; c89ee (32:49ee)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCY - $ff00
- call BattleBGEffect_SetLCDStatCustoms2
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], $1
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $20
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- cp $38
- ret nc
- push af
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- ld d, $10
- call BattleBGEffects_Cosine
- add $10
- ld d, a
- pop af
- add d
- call BGEffect_DisplaceLYOverridesBackup
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- inc [hl]
- inc [hl]
- ret
-
-.two
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_2a: ; c8a3a (32:4a3a)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
- dw .five
-
-.zero
- call BattleBGEffects_IncrementJumptable
- ld a, $e4
- call BattleBGEffects_SetLYOverrides
- ld a, $47
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld a, [hLYOverrideStart]
- ld l, a
- ld h, HIGH(LYOverridesBackup)
-.loop
- ld a, [hLYOverrideEnd]
- cp l
- jr z, .done
- xor a
- ld [hli], a
- jr .loop
-
-.done
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
-.one
-.four
- ret
-
-.two
- call .GetLYOverride
- jr nc, .next
- call .SetLYOverridesBackup
- ret
-
-.next
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- ld a, [hLYOverrideStart]
- inc a
- ld [hLYOverrideStart], a
- call BattleBGEffects_IncrementJumptable
- ret
-
-.three
- call .GetLYOverride
- jr nc, .finish
- call .SetLYOverridesBackup
- ld a, [hLYOverrideEnd]
- dec a
- ld l, a
- ld [hl], e
- ret
-
-.finish
- call BattleBGEffects_IncrementJumptable
- ret
-
-.SetLYOverridesBackup:
- ld e, a
- ld a, [hLYOverrideStart]
- ld l, a
- ld a, [hLYOverrideEnd]
- sub l
- srl a
- ld h, HIGH(LYOverridesBackup)
-.loop2
- ld [hl], e
- inc hl
- inc hl
- dec a
- jr nz, .loop2
- ret
-
-.five
- call BattleBGEffects_ResetVideoHRAM
- ret
-
-.GetLYOverride:
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- inc [hl]
- srl a
- srl a
- srl a
- ld e, a
- ld d, 0
- ld hl, .data
- add hl, de
- ld a, [hl]
- cp $ff
- ret
-
-.data
- db $00, $40, $90, $e4
- db -1
-; c8acc
-
-BattleBGEffect_2b: ; c8acc (32:4acc)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], $40
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and a
- jr z, .done
- dec [hl]
- srl a
- srl a
- srl a
- and $f
- ld d, a
- ld e, a
- call Functionc8f2e
- ret
-
-.done
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_1c: ; c8b00 (32:4b00)
- ld a, [hCGB]
- and a
- jr nz, .cgb
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero
- call BattleBGEffects_IncrementJumptable
- ld a, $e4
- call BattleBGEffects_SetLYOverrides
- ld a, rBGP - $ff00
- ld [hLCDCPointer], a
- xor a
- ld [hLYOverrideStart], a
- ld a, $60
- ld [hLYOverrideEnd], a
- ret
-
-.one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld e, a
- and $7
- ret nz
- ld a, e
- and $18
- sla a
- swap a
- sla a
- ld e, a
- ld d, $0
- push bc
- call BGEffect_CheckBattleTurn
- jr nz, .player
- ld hl, .CGB_DMGEnemyData
- add hl, de
- ld a, [hli]
- ld [wOBP1], a
- ld d, a
- ld e, [hl]
- lb bc, $2f, $30
- jr .okay
-
-.player
- ld hl, .DMG_PlayerData
- add hl, de
- ld d, [hl]
- inc hl
- ld a, [hl]
- ld [wOBP1], a
- ld e, a
- lb bc, $37, $28
-.okay
- call .DMG_LYOverrideLoads
- pop bc
- ret
-
-.two
- call BattleBGEffects_ResetVideoHRAM
- ld a, $e4
- ld [wBGP], a
- ld [wOBP1], a
- ret
-
-.DMG_LYOverrideLoads:
- ld hl, LYOverridesBackup
-.loop1
- ld [hl], d
- inc hl
- dec b
- jr nz, .loop1
-.loop2
- ld [hl], e
- inc hl
- dec c
- jr nz, .loop2
- ret
-
-.cgb
- ld de, .Jumptable
- call BatttleBGEffects_GetNamedJumptablePointer
- jp hl
-
-.Jumptable:
- dw .cgb_zero
- dw .cgb_one
- dw .cgb_two
-.cgb_zero
- call BattleBGEffects_IncrementJumptable
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- ret
-
-.cgb_one
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld e, a
- and $7
- ret nz
- ld a, e
- and $18
- sla a
- swap a
- sla a
- ld e, a
- ld d, 0
- call BGEffect_CheckBattleTurn
- jr nz, .player_2
- ld hl, .CGB_DMGEnemyData
- add hl, de
- ld a, [hli]
- push hl
- call BGEffects_LoadBGPal1_OBPal0
- pop hl
- ld a, [hl]
- call BGEffects_LoadBGPal0_OBPal1
- ret
-
-.player_2
- ld hl, .CGB_DMGEnemyData
- add hl, de
- ld a, [hli]
- push hl
- call BGEffects_LoadBGPal0_OBPal1
- pop hl
- ld a, [hl]
- call BGEffects_LoadBGPal1_OBPal0
- ret
-
-.cgb_two
- ld a, $e4
- call BGEffects_LoadBGPal0_OBPal1
- ld a, $e4
- call BGEffects_LoadBGPal1_OBPal0
- call EndBattleBGEffect
- ret
-
-.CGB_DMGEnemyData:
- db $e4, $e4
- db $f8, $90
- db $fc, $40
- db $f8, $90
-.DMG_PlayerData:
- db $e4, $e4
- db $90, $f8
- db $40, $fc
- db $90, $f8
-; c8be8
-
-BattleBGEffect_RapidFlash: ; c8be8 (32:4be8)
- ld de, .FlashPals
- call BGEffect_RapidCyclePals
- ret
-
-.FlashPals:
- db $e4, $6c, $fe
-; c8bf2
-
-BattleBGEffect_16: ; c8bf2 (32:4bf2)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $e4, $90, $40, $ff
-; c8bfd
-
-BattleBGEffect_17: ; c8bfd (32:4bfd)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $e4, $f8, $fc, $ff
-; c8c08
-
-BattleBGEffect_18: ; c8c08 (32:4c08)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $e4, $90, $40, $90, $fe
-; c8c14
-
-BattleBGEffect_19: ; c8c14 (32:4c14)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $e4, $f8, $fc, $f8, $fe
-; c8c20
-
-BattleBGEffect_1a: ; c8c20 (32:4c20)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
-; c8c30
-
-BattleBGEffect_1b: ; c8c30 (32:4c30)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $e4, $fc, $e4, $00, $fe
-; c8c3c
-
-BattleBGEffect_1d: ; c8c3c (32:4c3c)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
-; c8c55
-
-BattleBGEffect_1e: ; c8c55 (32:4c55)
- ld de, .Pals
- call BGEffect_RapidCyclePals
- ret
-
-.Pals:
- db $00, $40, $90, $e4, $ff
-; c8c61
-
-BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
-
-
-.zero ; c8c68 (32:4c68)
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], $1
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $20
- ret
-
-.one ; c8c85 (32:4c85)
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and a
- jr z, .finish
- dec [hl]
- and $1
- ret nz
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- call BGEffect_FillLYOverridesBackup
- ret
-
-.finish
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
- call BattleBGEffects_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-
-
-.zero ; c8cab (32:4cab)
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_ClearLYOverrides
- ld a, rSCX - $ff00
- ld [hLCDCPointer], a
- xor a
- ld [hLYOverrideStart], a
- ld a, $37
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
- ret
-
-.one ; c8cc3 (32:4cc3)
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- cp $40
- jr nc, .two
- ld d, $6
- call BattleBGEffects_Sine
- call BGEffect_FillLYOverridesBackup
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- ret
-
-.two ; c8cdd (32:4cdd)
- call BattleAnim_ResetLCDStatCustom
- ret
-
-BattleBGEffect_2e: ; c8ce1 (32:4ce1)
- call Functionc8d0b
- jr c, .xor_a
- bit 7, a
- jr z, .okay
-.xor_a
- xor a
-.okay
- push af
- call DelayFrame
- pop af
- ld [hSCY], a
- xor $ff
- inc a
- ld [AnimObject01_YOffset], a
- ret
-
-BattleBGEffect_1f: ; c8cf9 (32:4cf9)
- call Functionc8d0b
- jr nc, .skip
- xor a
-.skip
- ld [hSCX], a
- ret
-
-BattleBGEffect_20: ; c8d02 (32:4d02)
- call Functionc8d0b
- jr nc, .skip
- xor a
-.skip
- ld [hSCY], a
- ret
-
-Functionc8d0b: ; c8d0b (32:4d0b)
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld a, [hl]
- and a
- jr nz, .okay
- call EndBattleBGEffect
- scf
- ret
-
-.okay
- dec [hl]
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- and $f
- jr z, .every_16_frames
- dec [hl]
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and a
- ret
-
-.every_16_frames
- ld a, [hl]
- swap a
- or [hl]
- ld [hl], a
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- and a
- ret
-
-BattleBGEffect_35: ; c8d3a (32:4d3a)
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- cp $40
- jr nc, .finish
- ld d, $6
- call BattleBGEffects_Sine
- ld [hSCX], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- ret
-
-.finish
- xor a
- ld [hSCX], a
- ret
-
-BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57)
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld a, [hl]
- and a
- jr z, .zero
- dec [hl]
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- call BattleBGEffect_GetNextDMGPal
- ret
-
-.zero
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- ld hl, BG_EFFECT_STRUCT_JT_INDEX
- add hl, bc
- ld [hl], a
- call BattleBGEffect_GetFirstDMGPal
- ret
-
-BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
- ld a, [hCGB]
- and a
- jr nz, .cgb
- push de
- ld de, .Jumptable_DMG
- call BatttleBGEffects_GetNamedJumptablePointer
- pop de
- jp hl
-
-.Jumptable_DMG:
- dw .zero_dmg
- dw .one_dmg
- dw .two_dmg
-
-
-.zero_dmg ; c8d8b (32:4d8b)
- call BattleBGEffects_IncrementJumptable
- ld a, $e4
- call BattleBGEffects_SetLYOverrides
- ld a, $47
- call BattleBGEffect_SetLCDStatCustoms1
- ld a, [hLYOverrideEnd]
- inc a
- ld [hLYOverrideEnd], a
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- ld [hl], $0
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], a
- ret
-
-.one_dmg ; c8daa (32:4daa)
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and $f
- jr z, .okay_1_dmg
- dec [hl]
- ret
-
-.okay_1_dmg
- ld a, [hl]
- swap a
- or [hl]
- ld [hl], a
- call BattleBGEffect_GetFirstDMGPal
- jr c, .okay_2_dmg
- call BGEffect_FillLYOverridesBackup
- ret
-
-.okay_2_dmg
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- dec [hl]
- ret
-
-.two_dmg ; c8dc9 (32:4dc9)
- call BattleBGEffects_ResetVideoHRAM
- ld a, %11100100
- ld [rBGP], a
- call EndBattleBGEffect
- ret
-
-.cgb
- push de
- ld de, .Jumptable_CGB
- call BatttleBGEffects_GetNamedJumptablePointer
- pop de
- jp hl
-
-.Jumptable_CGB: ; c8ddd (32:4ddd)
- dw .zero_cgb
- dw .one_cgb
- dw .two_cgb
- dw .three_cgb
- dw .four_cgb
-
-
-.zero_cgb ; c8de7 (32:4de7)
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn_cgb
- call BattleBGEffects_IncrementJumptable
- call BattleBGEffects_IncrementJumptable
-.player_turn_cgb
- call BattleBGEffects_IncrementJumptable
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- ld [hl], $0
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld [hl], a
- ret
-
-.one_cgb ; c8e02 (32:4e02)
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and $f
- jr z, .okay_1_cgb
- dec [hl]
- ret
-
-.okay_1_cgb
- ld a, [hl]
- swap a
- or [hl]
- ld [hl], a
- call BattleBGEffect_GetFirstDMGPal
- jr c, .okay_2_cgb
- call BGEffects_LoadBGPal0_OBPal1
- ret
-
-.okay_2_cgb
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- dec [hl]
- ret
-
-.two_cgb ; c8e21 (32:4e21)
- ld a, $e4
- call BGEffects_LoadBGPal0_OBPal1
- call EndBattleBGEffect
- ret
-
-.three_cgb ; c8e2a (32:4e2a)
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hl]
- and $f
- jr z, .okay_3_cgb
- dec [hl]
- ret
-
-.okay_3_cgb
- ld a, [hl]
- swap a
- or [hl]
- ld [hl], a
- call BattleBGEffect_GetFirstDMGPal
- jr c, .okay_4_cgb
- call BGEffects_LoadBGPal1_OBPal0
- ret
-
-.okay_4_cgb
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- dec [hl]
- ret
-
-.four_cgb ; c8e49 (32:4e49)
- ld a, $e4
- call BGEffects_LoadBGPal1_OBPal0
- call EndBattleBGEffect
- ret
-
-BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52)
- ld h, a
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld a, h
- push bc
- push af
- ld hl, BGPals
- ld de, UnknBGPals
- ld b, a
- ld c, $1
- call CopyPals
- ld hl, OBPals + 8
- ld de, UnknOBPals + 8
- pop af
- ld b, a
- ld c, $1
- call CopyPals
- pop bc
- pop af
- ld [rSVBK], a
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-
-BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f)
- ld h, a
- ld a, [rSVBK]
- push af
- ld a, $5
- ld [rSVBK], a
- ld a, h
- push bc
- push af
- ld hl, BGPals + 8
- ld de, UnknBGPals + 8
- ld b, a
- ld c, $1
- call CopyPals
- ld hl, OBPals ; OBPals
- ld de, UnknOBPals ; wd040
- pop af
- ld b, a
- ld c, $1
- call CopyPals
- pop bc
- pop af
- ld [rSVBK], a
- ld a, $1
- ld [hCGBPalUpdate], a
- ret
-
-BattleBGEffect_GetFirstDMGPal: ; c8eac (32:4eac)
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld a, [hl]
- inc [hl]
-BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2)
- ld l, a
- ld h, $0
- add hl, de
- ld a, [hl]
- cp -1
- jr z, .quit
- cp -2
- jr nz, .repeat
- ld a, [de]
- ld hl, BG_EFFECT_STRUCT_03
- add hl, bc
- ld [hl], $0
-.repeat
- and a
- ret
-
-.quit
- scf
- ret
-
-BattleBGEffects_ClearLYOverrides: ; c8eca (32:4eca)
- xor a
-BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb)
- ld hl, LYOverrides ; wListPointer
- ld e, $99
-.loop1
- ld [hli], a
- dec e
- jr nz, .loop1
- ld hl, LYOverridesBackup
- ld e, $91
-.loop2
- ld [hli], a
- dec e
- jr nz, .loop2
- ret
-
-BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede)
- ld [hLCDCPointer], a
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- lb de, $00, $36
- jr .okay
-
-.player_turn
- lb de, $2f, $5e
-.okay
- ld a, d
- ld [hLYOverrideStart], a
- ld a, e
- ld [hLYOverrideEnd], a
- ret
-
-BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4)
- ld [hLCDCPointer], a
- call BGEffect_CheckBattleTurn
- jr nz, .player_turn
- lb de, $00, $36
- jr .okay
-
-.player_turn
- lb de, $2d, $5e
-.okay
- ld a, d
- ld [hLYOverrideStart], a
- ld a, e
- ld [hLYOverrideEnd], a
- ret
-
-BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a)
- xor a
- ld [hLYOverrideStart], a
- ld [hLYOverrideEnd], a
- call BattleBGEffects_ClearLYOverrides
- xor a
- ld [hLCDCPointer], a
- call EndBattleBGEffect
- ret
-
-BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19)
- xor a
- ld [hLCDCPointer], a
- ld a, %11100100
- ld [rBGP], a
- ld [wBGP], a
- ld [wOBP1], a
- ld [hLYOverrideStart], a
- ld [hLYOverrideEnd], a
- call BattleBGEffects_ClearLYOverrides
- ret
-
-Functionc8f2e: ; c8f2e (32:4f2e)
- push bc
- xor a
- ld [wBattleAnimTemp0], a
- ld a, e
- ld [wBattleAnimTemp1], a
- ld a, d
- ld [wBattleAnimTemp2], a
- ld a, $80
- ld [wBattleAnimTemp3], a
- ld bc, LYOverridesBackup
-.loop
- ld a, [hLYOverrideStart]
- cp c
- jr nc, .next
- ld a, [hLYOverrideEnd]
- cp c
- jr c, .next
- ld a, [wBattleAnimTemp2]
- ld d, a
- ld a, [wBattleAnimTemp0]
- call BattleBGEffects_Sine
- ld [bc], a
-.next
- inc bc
- ld a, [wBattleAnimTemp1]
- ld hl, wBattleAnimTemp0
- add [hl]
- ld [hl], a
- ld hl, wBattleAnimTemp3
- dec [hl]
- jr nz, .loop
- pop bc
- ret
-
-InitSurfWaves: ; c8f69 (32:4f69)
- push bc
- xor a
- ld [wBattleAnimTemp0], a
- ld a, e
- ld [wBattleAnimTemp1], a
- ld a, d
- ld [wBattleAnimTemp2], a
- ld a, $40
- ld [wBattleAnimTemp3], a
- ld bc, wSurfWaveBGEffect
-.loop
- ld a, [wBattleAnimTemp2]
- ld d, a
- ld a, [wBattleAnimTemp0]
- call BattleBGEffects_Sine
- ld [bc], a
- inc bc
- ld a, [wBattleAnimTemp1]
- ld hl, wBattleAnimTemp0
- add [hl]
- ld [hl], a
- ld hl, wBattleAnimTemp3
- dec [hl]
- jr nz, .loop
- pop bc
- ret
-
-Functionc8f9a: ; c8f9a (32:4f9a)
- push bc
- ld [wBattleAnimTemp3], a
- ld a, e
- ld [wBattleAnimTemp1], a
- ld a, d
- ld [wBattleAnimTemp2], a
- call .GetLYOverrideBackupAddrOffset
- ld hl, LYOverridesBackup
- add hl, de
- ld c, l
- ld b, h
-.loop
- ld a, [wBattleAnimTemp3]
- and a
- jr z, .done
- dec a
- ld [wBattleAnimTemp3], a
- push af
- ld a, [wBattleAnimTemp2]
- ld d, a
- ld a, [wBattleAnimTemp1]
- push hl
- call BattleBGEffects_Sine
- ld e, a
- pop hl
- ld a, [hLYOverrideEnd]
- cp c
- jr c, .skip1
- ld a, e
- ld [bc], a
- inc bc
-.skip1
- ld a, [hLYOverrideStart]
- cp l
- jr nc, .skip2
- ld [hl], e
- dec hl
-.skip2
- ld a, [wBattleAnimTemp1]
- add $4
- ld [wBattleAnimTemp1], a
- pop af
- jr .loop
-
-.done
- pop bc
- and a
- ret
-
-.GetLYOverrideBackupAddrOffset:
- ld a, [hLYOverrideStart]
- ld e, a
- ld a, [wBattleAnimTemp0]
- add e
- ld e, a
- ld d, $0
- ret
-
-BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef)
- push bc
- ld a, [hLYOverrideStart]
- ld l, a
- inc a
- ld e, a
- ld h, HIGH(LYOverridesBackup)
- ld d, h
- ld a, [hLYOverrideEnd]
- sub l
- and a
- jr z, .done
- ld c, a
- ld a, [hl]
- push af
-.loop
- ld a, [de]
- inc de
- ld [hli], a
- dec c
- jr nz, .loop
- pop af
- ld [hl], a
-.done
- pop bc
- ret
-
-BGEffect_FillLYOverridesBackup: ; c900b (32:500b)
- push af
- ld h, HIGH(LYOverridesBackup)
- ld a, [hLYOverrideStart]
- ld l, a
- ld a, [hLYOverrideEnd]
- sub l
- ld d, a
- pop af
-.loop
- ld [hli], a
- dec d
- jr nz, .loop
- ret
-
-BGEffect_DisplaceLYOverridesBackup: ; c901b (32:501b)
- ; e = a; d = [hLYOverrideEnd] - [hLYOverrideStart] - a
- push af
- ld e, a
- ld a, [hLYOverrideStart]
- ld l, a
- ld a, [hLYOverrideEnd]
- sub l
- sub e
- ld d, a
- ld h, HIGH(LYOverridesBackup)
- ld a, [hLYOverrideStart]
- ld l, a
- ld a, $90
-.loop
- ld [hli], a
- dec e
- jr nz, .loop
- pop af
- xor $ff
-.loop2
- ld [hli], a
- dec d
- jr nz, .loop2
- ret
-
-BGEffect_CheckBattleTurn: ; c9038 (32:5038)
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hBattleTurn]
- and $1
- xor [hl]
- ret
-
-BGEffect_CheckFlyDigStatus: ; c9042 (32:5042)
- ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
- add hl, bc
- ld a, [hBattleTurn]
- and $1
- xor [hl]
- jr nz, .player
- ld a, [EnemySubStatus3] ; EnemySubStatus3
- and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
- ret
-
-.player
- ld a, [PlayerSubStatus3] ; PlayerSubStatus3
- and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
- ret
-
-BattleBGEffects_CheckSGB: ; c9059 (32:5059)
- ld a, [hSGB]
- and a
- ret
-
-BattleBGEffects_Sine: ; c905d (32:505d)
- ld e, a
- callfar BattleAnim_Sine_e
- ld a, e
- ret
-
-BattleBGEffects_Cosine: ; c9066 (32:5066)
- ld e, a
- callfar BattleAnim_Cosine_e
- ld a, e
- ret
-
-; c906f (32:506f)
--- a/engine/anims/engine.asm
+++ /dev/null
@@ -1,314 +1,0 @@
-QueueBattleAnimation: ; cc9a1 (33:49a1)
- ld hl, ActiveAnimObjects
- ld e, 10
-.loop
- ld a, [hl]
- and a
- jr z, .done
- ld bc, BATTLEANIMSTRUCT_LENGTH
- add hl, bc
- dec e
- jr nz, .loop
- scf
- ret
-
-.done
- ld c, l
- ld b, h
- ld hl, wNumActiveBattleAnims
- inc [hl]
- call InitBattleAnimation
- ret
-
-DeinitBattleAnimation: ; cc9bd
- ld hl, BATTLEANIMSTRUCT_INDEX
- add hl, bc
- ld [hl], $0
- ret
-
-; cc9c4
-
-InitBattleAnimation: ; cc9c4 (33:49c4)
- ld a, [wBattleAnimTemp0]
- ld e, a
- ld d, 0
- ld hl, BattleAnimObjects
-rept 6
- add hl, de
-endr
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_INDEX
- add hl, bc
- ld a, [wNumActiveBattleAnims]
- ld [hli], a ; Index
- ld a, [de]
- inc de
- ld [hli], a ; 01
- ld a, [de]
- inc de
- ld [hli], a ; 02
- ld a, [de]
- inc de
- ld [hli], a ; Frameset ID
- ld a, [de]
- inc de
- ld [hli], a ; Function
- ld a, [de]
- inc de
- ld [hli], a ; 05
- ld a, [de]
- call GetBattleAnimTileOffset
- ld [hli], a ; Tile ID
- ld a, [wBattleAnimTemp1]
- ld [hli], a ; X Coord
- ld a, [wBattleAnimTemp2]
- ld [hli], a ; Y Coord
- xor a
- ld [hli], a ; X Offset
- ld [hli], a ; Y Offset
- ld a, [wBattleAnimTemp3]
- ld [hli], a ; 0b
- xor a
- ld [hli], a ; 0c
- dec a
- ld [hli], a ; 0d
- xor a
- ld [hli], a ; 0e
- ld [hli], a ; 0f
- ld [hl], a ; 10
- ret
-
-BattleAnimOAMUpdate: ; cca09
- call InitBattleAnimBuffer
- call GetBattleAnimFrame
- cp -3
- jp z, .done
- cp -4
- jp z, .delete
- push af
- ld hl, wBattleAnimTempOAMFlags
- ld a, [wBattleAnimTemp7]
- xor [hl]
- and $e0
- ld [hl], a
- pop af
- push bc
- call GetBattleAnimOAMPointer
- ld a, [wBattleAnimTempTileID]
- add [hl]
- ld [wBattleAnimTempTileID], a
- inc hl
- ld a, [hli]
- ld c, a
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld a, [wBattleAnimOAMPointerLo]
- ld e, a
- ld d, HIGH(Sprites)
-.loop
- ld a, [wBattleAnimTempYCoord]
- ld b, a
- ld a, [wBattleAnimTempYOffset]
- add b
- ld b, a
- push hl
- ld a, [hl]
- ld hl, wBattleAnimTempOAMFlags
- bit 6, [hl]
- jr z, .no_yflip
- add $8
- xor $ff
- inc a
-
-.no_yflip
- pop hl
- add b
- ld [de], a
- inc hl
- inc de
- ld a, [wBattleAnimTempXCoord]
- ld b, a
- ld a, [wBattleAnimTempXOffset]
- add b
- ld b, a
- push hl
- ld a, [hl]
- ld hl, wBattleAnimTempOAMFlags
- bit 5, [hl]
- jr z, .no_xflip
- add $8
- xor $ff
- inc a
-
-.no_xflip
- pop hl
- add b
- ld [de], a
- inc hl
- inc de
- ld a, [wBattleAnimTempTileID]
- add $31
- add [hl]
- ld [de], a
- inc hl
- inc de
- ld a, [wBattleAnimTempOAMFlags]
- ld b, a
- ld a, [hl]
- xor b
- and $e0
- ld b, a
- ld a, [hl]
- and $10
- or b
- ld b, a
- ld a, [wBattleAnimTempPalette]
- and $f
- or b
- ld [de], a
- inc hl
- inc de
- ld a, e
- ld [wBattleAnimOAMPointerLo], a
- cp $a0
- jr nc, .exit_set_carry
- dec c
- jr nz, .loop
- pop bc
- jr .done
-
-.delete
- call DeinitBattleAnimation
-
-.done
- and a
- ret
-
-.exit_set_carry
- pop bc
- scf
- ret
-
-; ccaaa
-
-InitBattleAnimBuffer: ; ccaaa
- ld hl, BATTLEANIMSTRUCT_01
- add hl, bc
- ld a, [hl]
- and %10000000
- ld [wBattleAnimTempOAMFlags], a
- xor a
- ld [wBattleAnimTemp7], a
- ld hl, BATTLEANIMSTRUCT_PALETTE
- add hl, bc
- ld a, [hl]
- ld [wBattleAnimTempPalette], a
- ld hl, BATTLEANIMSTRUCT_02
- add hl, bc
- ld a, [hl]
- ld [wBattleAnimTemp1], a
- ld hl, BATTLEANIMSTRUCT_TILEID
- add hl, bc
- ld a, [hli]
- ld [wBattleAnimTempTileID], a
- ld a, [hli]
- ld [wBattleAnimTempXCoord], a
- ld a, [hli]
- ld [wBattleAnimTempYCoord], a
- ld a, [hli]
- ld [wBattleAnimTempXOffset], a
- ld a, [hli]
- ld [wBattleAnimTempYOffset], a
- ld a, [hBattleTurn]
- and a
- ret z
- ld hl, BATTLEANIMSTRUCT_01
- add hl, bc
- ld a, [hl]
- ld [wBattleAnimTempOAMFlags], a
- bit 0, [hl]
- ret z
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hli]
- ld d, a
- ld a, (-10 * 8) + 4
- sub d
- ld [wBattleAnimTempXCoord], a
- ld a, [hli]
- ld d, a
- ld a, [wBattleAnimTemp1]
- cp $ff
- jr nz, .check_kinesis_softboiled_milkdrink
- ld a, 5 * 8
- add d
- jr .done
-
-.check_kinesis_softboiled_milkdrink
- sub d
- push af
- ld a, [FXAnimID + 1]
- or a
- jr nz, .no_sub
- ld a, [FXAnimID]
- cp KINESIS
- jr z, .kinesis
- cp SOFTBOILED
- jr z, .softboiled
- cp MILK_DRINK
- jr nz, .no_sub
-.kinesis
-.softboiled
-.milk_drink
- pop af
- sub 1 * 8
- jr .done
-
-.no_sub
- pop af
-.done
- ld [wBattleAnimTempYCoord], a
- ld a, [hli]
- xor $ff
- inc a
- ld [wBattleAnimTempXOffset], a
- ret
-
-; ccb31
-
-GetBattleAnimTileOffset: ; ccb31 (33:4b31)
- push hl
- push bc
- ld hl, wBattleAnimTileDict
- ld b, a
- ld c, 10 / 2
-.loop
- ld a, [hli]
- cp b
- jr z, .load
- inc hl
- dec c
- jr nz, .loop
- xor a
- jr .done
-
-.load
- ld a, [hl]
-.done
- pop bc
- pop hl
- ret
-
-_ExecuteBGEffects: ; ccb48
- callfar ExecuteBGEffects
- ret
-
-; ccb4f
-
-_QueueBGEffect: ; ccb4f (33:4b4f)
- callfar QueueBGEffect
- ret
-
-; ccb56 (33:4b56)
--- a/engine/anims/functions.asm
+++ /dev/null
@@ -1,4157 +1,0 @@
-DoBattleAnimFrame: ; ccfbe
- ld hl, BATTLEANIMSTRUCT_FUNCTION
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, .Jumptable
- add hl, de
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-; ccfce
-
-.Jumptable:
-; entries correspond to BATTLEANIMFUNC_* constants
- dw BattleAnimFunction_Null ; 00
- dw BattleAnimFunction_01 ; 01
- dw BattleAnimFunction_02 ; 02
- dw BattleAnimFunction_03 ; 03
- dw BattleAnimFunction_04 ; 04
- dw BattleAnimFunction_ThrowFromPlayerToEnemy ; 05
- dw BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear ; 06
- dw BattleAnimFunction_07 ; 07
- dw BattleAnimFunction_08 ; 08
- dw BattleAnimFunction_09 ; 09
- dw BattleAnimFunction_0A ; 0a
- dw BattleAnimFunction_RazorLeaf ; 0b
- dw BattleAnimFunction_0C ; 0c
- dw BattleAnimFunction_0D ; 0d
- dw BattleAnimFunction_0E ; 0e
- dw BattleAnimFunction_0F ; 0f
- dw BattleAnimFunction_10 ; 10
- dw BattleAnimFunction_11 ; 11
- dw BattleAnimFunction_PokeBall ; 12
- dw BattleAnimFunction_PokeBallBlocked ; 13
- dw BattleAnimFunction_14 ; 14
- dw BattleAnimFunction_15 ; 15
- dw BattleAnimFunction_16 ; 16
- dw BattleAnimFunction_17 ; 17
- dw BattleAnimFunction_18 ; 18
- dw BattleAnimFunction_19 ; 19
- dw BattleAnimFunction_1A ; 1a
- dw BattleAnimFunction_1B ; 1b
- dw BattleAnimFunction_1C ; 1c
- dw BattleAnimFunction_1D ; 1d
- dw BattleAnimFunction_1E ; 1e
- dw BattleAnimFunction_1F ; 1f
- dw BattleAnimFunction_LeechSeed ; 20
- dw BattleAnimFunction_21 ; 21
- dw BattleAnimFunction_22 ; 22
- dw BattleAnimFunction_23 ; 23
- dw BattleAnimFunction_24 ; 24
- dw BattleAnimFunction_25 ; 25
- dw BattleAnimFunction_26 ; 26
- dw BattleAnimFunction_27 ; 27
- dw BattleAnimFunction_28 ; 28
- dw BattleAnimFunction_SpiralDescent ; 29
- dw BattleAnimFunction_PoisonGas ; 2a
- dw BattleAnimFunction_Horn ; 2b
- dw BattleAnimFunction_2C ; 2c
- dw BattleAnimFunction_2D ; 2d
- dw BattleAnimFunction_2E ; 2e
- dw BattleAnimFunction_2F ; 2f
- dw BattleAnimFunction_30 ; 30
- dw BattleAnimFunction_31 ; 31
- dw BattleAnimFunction_32 ; 32
- dw BattleAnimFunction_33 ; 33
- dw BattleAnimFunction_34 ; 34
- dw BattleAnimFunction_35 ; 35
- dw BattleAnimFunction_36 ; 36
- dw BattleAnimFunction_37 ; 37
- dw BattleAnimFunction_38 ; 38
- dw BattleAnimFunction_39 ; 39
- dw BattleAnimFunction_3A ; 3a
- dw BattleAnimFunction_3B ; 3b
- dw BattleAnimFunction_3C ; 3c
- dw BattleAnimFunction_3D ; 3d
- dw BattleAnimFunction_3E ; 3e
- dw BattleAnimFunction_3F ; 3f
- dw BattleAnimFunction_40 ; 40
- dw BattleAnimFunction_41 ; 41
- dw BattleAnimFunction_42 ; 42
- dw BattleAnimFunction_43 ; 43
- dw BattleAnimFunction_44 ; 44
- dw BattleAnimFunction_45 ; 45
- dw BattleAnimFunction_46 ; 46
- dw BattleAnimFunction_47 ; 47
- dw BattleAnimFunction_48 ; 48
- dw BattleAnimFunction_49 ; 49
- dw BattleAnimFunction_4A ; 4a
- dw BattleAnimFunction_4B ; 4b
- dw BattleAnimFunction_4C ; 4c
- dw BattleAnimFunction_4D ; 4d
- dw BattleAnimFunction_4E ; 4e
- dw BattleAnimFunction_4F ; 4f
-
-BattleAnimFunction_Null: ; cd06e (33:506e)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
-.one
- call DeinitBattleAnimation
-.zero
- ret
-
-BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear: ; cd079 (33:5079)
- call BattleAnimFunction_ThrowFromPlayerToEnemy
- ret c
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_ThrowFromPlayerToEnemy: ; cd081 (33:5081)
- ; If x coord at $88 or beyond, abort.
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $88
- ret nc
- ; Move right 2 pixels
- add $2
- ld [hl], a
- ; Move down 1 pixel
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
- ; Decrease ??? and hold onto its previous value (argument of the sine function)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec [hl]
- ; Get ???, which is the amplitude of the sine function
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld d, [hl]
- call BattleAnim_Sine
- ; Store the result in the Y offset
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ; Carry flag denotes success
- scf
- ret
-
-BattleAnimFunction_04: ; cd0a6 (33:50a6)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $88
- jr c, .asm_cd0b3
- call DeinitBattleAnimation
- ret
-
-.asm_cd0b3
- add $2
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- inc [hl]
- inc [hl]
- inc [hl]
- ld d, $10
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- sra a
- sra a
- sra a
- sra a
- ld [hl], a
- ret
-
-BattleAnimFunction_03: ; cd0e3 (33:50e3)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
-.zero
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- bit 7, [hl]
- ld a, $0
- jr z, .asm_cd0f9
- ld a, $20
-.asm_cd0f9
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-.one
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld d, [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ret
-
-BattleAnimFunction_01: ; cd12a (33:512a)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
-.one
- call DeinitBattleAnimation
- ret
-
-.zero
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $84
- ret nc
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-BattleAnimFunction_02: ; cd146 (33:5146)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $84
- jr nc, .asm_cd158
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-.asm_cd158
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_PokeBall: ; cd15c (33:515c)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
- dw .five
- dw .six
- dw .seven
- dw .eight
- dw .nine
- dw .ten
- dw .eleven
-.zero ; init
- call GetBallAnimPal
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.one
- call BattleAnimFunction_ThrowFromPlayerToEnemy
- ret c
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- add [hl]
- ld [hl], a
- ld a, BATTLEANIMFRAMESET_0B
- call ReinitBattleAnimFrameset
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.three
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_09
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $0
- inc hl
- ld [hl], $10
-.four
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec a
- ld [hl], a
- and $1f
- ret nz
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- sub $4
- ld [hl], a
- ret nz
- ld a, BATTLEANIMFRAMESET_0C
- call ReinitBattleAnimFrameset
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.six
- ld a, BATTLEANIMFRAMESET_0D
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- dec [hl]
-.two
-.five
-.nine
- ret
-
-.seven
- call GetBallAnimPal
- ld a, BATTLEANIMFRAMESET_0A
- call ReinitBattleAnimFrameset
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], $20
-.eight
-.ten
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec a
- ld [hl], a
- and $1f
- jr z, .eleven
- and $f
- ret nz
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.eleven
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_PokeBallBlocked: ; cd212 (33:5212)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-.zero
- call GetBallAnimPal
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.one
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $70
- jr nc, .next
- call BattleAnimFunction_ThrowFromPlayerToEnemy
- ret
-
-.next
- call BattleAnim_IncAnonJumptableIndex
-.two
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- cp $80
- jr nc, .done
- add $4
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- dec [hl]
- dec [hl]
- ret
-
-.done
- call DeinitBattleAnimation
- ret
-
-GetBallAnimPal: ; cd249 (33:5249)
- ld hl, BallColors
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- ld a, [CurItem] ; CurItem
- ld e, a
- pop af
- ld [rSVBK], a
-.IsInArray:
- ld a, [hli]
- cp -1
- jr z, .load
- cp e
- jr z, .load
- inc hl
- jr .IsInArray
-
-.load
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_PALETTE
- add hl, bc
- ld [hl], a
- ret
-; cd26c (33:526c)
-
-INCLUDE "data/anims/ball_colors.asm"
-
-BattleAnimFunction_10: ; cd284 (33:5284)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
-.zero
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- swap a
- and $f
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], a
- ret
-
-.one
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $88
- ret nc
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-.two
- call DeinitBattleAnimation
- ret
-
-.three
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_0F
- call ReinitBattleAnimFrameset
-.four
- ret
-
-BattleAnimFunction_07: ; cd2be (33:52be)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
-.zero
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $30
- inc hl
- ld [hl], $48
-.one
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3f
- ret nz
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $20
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- sub [hl]
- jr z, .done
- jr c, .done
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], a
- ret
-
-.done
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_08: ; cd306 (33:5306)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
-.zero
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $80
- jr nc, .next
- call .SetCoords
- ret
-
-.next
- call BattleAnim_IncAnonJumptableIndex
-.one
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $0
-.two
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- cp $40
- jr nc, .loop_back
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $18
- call BattleAnim_Cosine
- sub $18
- sra a
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $18
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-.loop_back
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f0
- jr z, .finish
- sub $10
- ld d, a
- ld a, [hl]
- and $f
- or d
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- dec [hl]
- ret
-
-.finish
- call BattleAnim_IncAnonJumptableIndex
-.three
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $b0
- jr c, .retain
- call DeinitBattleAnimation
- ret
-
-.retain
- call .SetCoords
- ret
-
-.SetCoords:
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- add [hl]
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f
- ld e, a
- srl e
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
-.loop
- dec [hl]
- dec e
- jr nz, .loop
- ret
-
-BattleAnimFunction_09: ; cd3ae (33:53ae)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-.zero
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $0
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
-.one
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and a
- jr z, .done_one
- dec [hl]
- ret
-
-.done_one
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- swap a
- and $f
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- ret
-
-.two
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_0A: ; cd3f2 (33:53f2)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
- dw .five
- dw .six
- dw .seven
- dw .eight
- dw .nine
-.zero
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], a
- cp $7
- jr z, .seven
- ld a, BATTLEANIMFRAMESET_11
- call ReinitBattleAnimFrameset
- ret
-
-.seven
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $88
- jr nc, .set_up_eight
- add $2
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
- ret
-
-.set_up_eight
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_10
- call ReinitBattleAnimFrameset
-.eight
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $10
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ret
-
-.nine
- call DeinitBattleAnimation
- ret
-
-.one
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- dec [hl]
- ret
-
-.four
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- inc [hl]
-.two
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- dec [hl]
- ret
-
-.five
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- inc [hl]
-.three
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- inc [hl]
-.six
- ret
-
-BattleAnimFunction_RazorLeaf: ; cd478 (33:5478)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
- dw .five
- dw .six
- dw .seven
- dw .eight
-.zero
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $40
-.one
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- cp $30
- jr nc, .sine_cosine
- call BattleAnim_IncAnonJumptableIndex
- xor a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hli], a
- ld [hl], a
- ld a, BATTLEANIMFRAMESET_17
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- bit 6, [hl]
- ret z
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld [hl], $5
- ret
-
-.sine_cosine
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $3f
- ld d, a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- call Functioncd557
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], e
- ret
-
-.two
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $20
- jr nz, .sine_cosine_2
- call DeinitBattleAnimation
- ret
-
-.sine_cosine_2
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $10
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- bit 6, [hl]
- jr nz, .decrease
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- jr .finish
-
-.decrease
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- dec [hl]
-.finish
- ld de, $80
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], e
- ret
-
-.three
- ld a, BATTLEANIMFRAMESET_16
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_01
- add hl, bc
- res 5, [hl]
-.four
-.five
-.six
-.seven
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.eight
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $c0
- ret nc
- ld a, $8
- call Functionce70a
- ret
-
-Functioncd557: ; cd557 (33:5557)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- bit 7, a
- jr nz, .negative
- cp $20
- jr nc, .plus_256
- cp $18
- jr nc, .plus_384
- ld de, $200
- ret
-
-.plus_384
- ld de, $180
- ret
-
-.plus_256
- ld de, $100
- ret
-
-.negative
- and $3f
- cp $20
- jr nc, .minus_256
- cp $18
- jr nc, .minus_384
- ld de, -$200
- ret
-
-.minus_384
- ld de, -$180
- ret
-
-.minus_256
- ld de, -$100
- ret
-
-BattleAnimFunction_4E: ; cd58a (33:558a)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
-.zero
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $40
- rlca
- rlca
- add $19
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld [hl], a
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $40
-.one
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- cp $30
- jr nc, .sine_cosine
- call DeinitBattleAnimation
- ret
-
-.sine_cosine
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $3f
- ld d, a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- call Functioncd557
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], e
- ret
-
-BattleAnimFunction_0C: ; cd5e9 (33:55e9)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
-.zero
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $c
-.one
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and a
- jr z, .next
- dec [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-.next
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $0
- ld a, BATTLEANIMFRAMESET_22
- call ReinitBattleAnimFrameset
-.two
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $98
- jr nc, .okay
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld h, [hl]
- ld l, a
- ld de, $60
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], e
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld [hl], d
-.okay
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- cp $20
- ret c
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f0
- ld e, a
- ld d, $ff
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld h, [hl]
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], e
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld [hl], d
- ret
-
-BattleAnimFunction_0D: ; cd66a (33:566a)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
- dw .four
-.zero
- call BattleAnim_IncAnonJumptableIndex
- ld a, rSCY - $ff00
- ld [hLCDCPointer], a
- ld a, $58
- ld [hLYOverrideStart], a
- ld a, $5e
- ld [hLYOverrideEnd], a
- ret
-
-.one
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld e, [hl]
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- cp e
- jr nc, .asm_cd69b
- call BattleAnim_IncAnonJumptableIndex
- xor a
- ld [hLYOverrideStart], a
- ret
-
-.asm_cd69b
- dec a
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $10
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- add [hl]
- sub $10
- ret c
- ld [hLYOverrideStart], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld a, [hl]
- inc a
- and $7
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- inc [hl]
-.two
- ret
-
-.three
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- cp $70
- jr c, asm_cd6da
- xor a
- ld [hLCDCPointer], a
- ld [hLYOverrideStart], a
- ld [hLYOverrideEnd], a
-.four
- call DeinitBattleAnimation
- ret
-
-asm_cd6da: ; cd6da (33:56da)
- inc a
- inc a
- ld [hl], a
- sub $10
- ret c
- ld [hLYOverrideStart], a
- ret
-
-BattleAnimFunction_0E: ; cd6e3 (33:56e3)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd6ea
- dw Functioncd6f7
-Functioncd6ea: ; cd6ea (33:56ea)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, BATTLEANIMFRAMESET_24
- add [hl] ; offset
- call ReinitBattleAnimFrameset
-Functioncd6f7: ; cd6f7 (33:56f7)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $b8
- jr c, .asm_cd704
- call DeinitBattleAnimation
- ret
-
-.asm_cd704
- ld a, $2
- call Functionce70a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec [hl]
- ld d, $8
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-BattleAnimFunction_0F: ; cd71a (33:571a)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd725
- dw Functioncd728
- dw Functioncd763
- dw Functioncd776
-Functioncd725: ; cd725 (33:5725)
- call BattleAnim_IncAnonJumptableIndex
-Functioncd728: ; cd728 (33:5728)
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_cd747
- ld a, $2
- call Functionce70a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec [hl]
- ld d, $8
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-.asm_cd747
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_28
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], $0
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld [hl], $30
- ld hl, BATTLEANIMSTRUCT_01
- add hl, bc
- ld a, [hl]
- and $1
- ld [hl], a
-Functioncd763: ; cd763 (33:5763)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $18
- jr nc, .asm_cd76e
- inc [hl]
- ret
-
-.asm_cd76e
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_29
- call ReinitBattleAnimFrameset
-Functioncd776: ; cd776 (33:5776)
- ret
-
-BattleAnimFunction_11: ; cd777 (33:5777)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $38
- jr c, .asm_cd784
- call DeinitBattleAnimation
- ret
-
-.asm_cd784
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld l, [hl]
- ld h, a
- ld de, $80
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], e
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld a, [hl]
- xor $10
- ld [hl], a
- ret
-
-BattleAnimFunction_14: ; cd7a4 (33:57a4)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd7ab
- dw Functioncd7d2
-Functioncd7ab: ; cd7ab (33:57ab)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f0
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f
- sla a
- sla a
- sla a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld [hl], $1
-Functioncd7d2: ; cd7d2 (33:57d2)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- and a
- jr nz, .asm_cd7de
- call DeinitBattleAnimation
- ret
-
-.asm_cd7de
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld d, [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- xor $1
- ld [hl], a
- ret z
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- dec [hl]
- ret
-
-BattleAnimFunction_15: ; cd80c (33:580c)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd81f
- dw Functioncd817
- dw Functioncd81f
- dw Functioncd820
-Functioncd817: ; cd817 (33:5817)
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_35
- call ReinitBattleAnimFrameset
-Functioncd81f: ; cd81f (33:581f)
- ret
-
-Functioncd820: ; cd820 (33:5820)
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_16: ; cd824 (33:5824)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd835
- dw Functioncd860
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd88f
- dw Functioncd893
-Functioncd835: ; cd835 (33:5835)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- bit 7, [hl]
- jr nz, .asm_cd852
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $10
- jr .asm_cd858
-
-.asm_cd852
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $30
-.asm_cd858
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-Functioncd860: ; cd860 (33:5860)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld d, [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- bit 7, a
- jr nz, .load_no_inc
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- inc a
- jr .reinit
-
-.load_no_inc
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
-.reinit
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $1f
- ret nz
-Functioncd88f: ; cd88f (33:588f)
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-Functioncd893: ; cd893 (33:5893)
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], $1
- ret
-
-BattleAnimFunction_17: ; cd89a (33:589a)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd8ab
- dw Functioncd8cc
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f5
- dw Functioncd8f9
-Functioncd8ab: ; cd8ab (33:58ab)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- bit 7, [hl]
- jr nz, .asm_cd8be
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $10
- jr .asm_cd8c4
-
-.asm_cd8be
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $30
-.asm_cd8c4
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-Functioncd8cc: ; cd8cc (33:58cc)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld d, [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- bit 7, a
- jr nz, .asm_cd8e6
- ld a, $3d
- jr .asm_cd8e8
-
-.asm_cd8e6
- ld a, $3c
-.asm_cd8e8
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- inc [hl]
- ld a, [hl]
- and $1f
- ret nz
-Functioncd8f5: ; cd8f5 (33:58f5)
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-Functioncd8f9: ; cd8f9 (33:58f9)
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], $1
- ret
-
-BattleAnimFunction_18: ; cd900 (33:5900)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd907
- dw Functioncd913
-Functioncd907: ; cd907 (33:5907)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $28
- inc hl
- ld [hl], $0
-Functioncd913: ; cd913 (33:5913)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld d, [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cd950
- ld d, a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld e, [hl]
- ld hl, hPushOAM ; $ff80
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], e
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], d
- ret
-
-.asm_cd950
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_19: ; cd954 (33:5954)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncd961
- dw Functioncd96a
- dw Functioncd96e
- dw Functioncd96a
- dw Functioncd97b
-Functioncd961: ; cd961 (33:5961)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld [hl], $0
-Functioncd96a: ; cd96a (33:596a)
- call Functioncd99a
- ret
-
-Functioncd96e: ; cd96e (33:596e)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $88
- jr c, asm_cd988
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-Functioncd97b: ; cd97b (33:597b)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $b8
- jr c, asm_cd988
- call DeinitBattleAnimation
- ret
-
-asm_cd988: ; cd988 (33:5988)
- call Functioncd99a
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $1
- ret nz
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
- ret
-
-Functioncd99a: ; cd99a (33:599a)
- call Functioncd9f4
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- sub $8
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cd9d7
- cp $c2
- jr c, .asm_cd9e2
-.asm_cd9d7
- dec a
- ld [hl], a
- and $7
- ret nz
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- inc [hl]
- ret
-
-.asm_cd9e2
- xor a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hli], a
- ld [hl], a
- ret
-
-Functioncd9f4: ; cd9f4 (33:59f4)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, Unknown_cda01
- add hl, de
- ld d, [hl]
- ret
-
-; cda01 (33:5a01)
-Unknown_cda01: ; cda01
- db 8, 6, 5, 4, 5, 6, 8, 12, 16
-; cda0a
-BattleAnimFunction_1C: ; cda0a (33:5a0a)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $30
- jr nc, .asm_cda17
- call DeinitBattleAnimation
- ret
-
-.asm_cda17
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f
- ld e, a
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- sub e
- ld [hl], a
- srl e
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
-.asm_cda2c
- inc [hl]
- dec e
- jr nz, .asm_cda2c
- ret
-
-BattleAnimFunction_1F: ; cda31 (33:5a31)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncda4c
- dw Functioncda3a
- dw Functioncda4c
-Functioncda3a: ; cda3a (33:5a3a)
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld a, [hl]
- inc a
- call ReinitBattleAnimFrameset
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $8
-Functioncda4c: ; cda4c (33:5a4c)
- ret
-
-BattleAnimFunction_LeechSeed: ; cda4d (33:5a4d)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw .three
-.zero: ; cda58 (33:5a58)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], $40
- ret
-
-.one: ; cda62 (33:5a62)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, .sprout
- call Functioncda8d
- ret
-
-.sprout
- ld [hl], $40
- ld a, BATTLEANIMFRAMESET_57
- call ReinitBattleAnimFrameset
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.two: ; cda7a (33:5a7a)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- and a
- jr z, .flutter
- dec [hl]
- ret
-
-.flutter
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_58
- call ReinitBattleAnimFrameset
-.three: ; cda8c (33:5a8c)
- ret
-
-Functioncda8d: ; cda8d (33:5a8d)
- dec [hl]
- ld d, $20
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_02
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld e, [hl]
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld d, [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld h, [hl]
- ld a, h
- and $f
- swap a
- ld l, a
- ld a, h
- and $f0
- swap a
- ld h, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], e
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- and $1
- ret nz
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
- ret
-
-BattleAnimFunction_3F: ; cdad6 (33:5ad6)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncdadf
- dw Functioncdae9
- dw Functioncdaf9
-Functioncdadf: ; cdadf (33:5adf)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], $40
- ret
-
-Functioncdae9: ; cdae9 (33:5ae9)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, .asm_cdaf6
- call Functioncda8d
- ret
-
-.asm_cdaf6
- call BattleAnim_IncAnonJumptableIndex
-Functioncdaf9: ; cdaf9 (33:5af9)
- ret
-
-BattleAnimFunction_1A: ; cdafa (33:5afa)
- call BattleAnimFunction_03
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- add $f
- ld [hl], a
- ret
-
-BattleAnimFunction_1B: ; cdb06 (33:5b06)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncdb13
- dw Functioncdb14
- dw Functioncdb28
- dw Functioncdb50
- dw Functioncdb65
-Functioncdb13: ; cdb13 (33:5b13)
- ret
-
-Functioncdb14: ; cdb14 (33:5b14)
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_cdb24
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], $0
- ret
-
-.asm_cdb24
- add $4
- ld [hl], a
- ret
-
-Functioncdb28: ; cdb28 (33:5b28)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $98
- ret nc
- inc [hl]
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_01
- add hl, bc
- set 0, [hl]
- ld hl, BATTLEANIMSTRUCT_02
- add hl, bc
- ld [hl], $90
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld [hl], $0
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], $2
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
- ret
-
-Functioncdb50: ; cdb50 (33:5b50)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $2c
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld [hl], $0
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], $80
-Functioncdb65: ; cdb65 (33:5b65)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $98
- ret nc
- inc [hl]
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $8
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-BattleAnimFunction_1D: ; cdb80 (33:5b80)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncdb9f
- dw Functioncdbb3
- dw Functioncdbcf
- dw Functioncdbeb
- dw Functioncdc74
- dw Functioncdc1a
- dw Functioncdbc1
- dw Functioncdc1e
- dw Functioncdc27
- dw Functioncdc39
- dw Functioncdc74
- dw Functioncdc48
- dw Functioncdc57
- dw Functioncdc74
-Functioncdb9f: ; cdb9f (33:5b9f)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $28
- inc hl
- ld [hl], $10
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], a
- ret
-
-Functioncdbb3: ; cdbb3 (33:5bb3)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $40
- jr nc, .asm_cdbbd
- inc [hl]
-.asm_cdbbd
- call Functioncdc75
- ret
-
-Functioncdbc1: ; cdbc1 (33:5bc1)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $4b
- jr nc, .asm_cdbcb
- inc [hl]
-.asm_cdbcb
- call Functioncdc75
- ret
-
-Functioncdbcf: ; cdbcf (33:5bcf)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $88
- jr nc, .asm_cdbe6
- and $f
- jr nz, asm_cdbfa
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], $10
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-.asm_cdbe6
- call BattleAnim_IncAnonJumptableIndex
- inc [hl]
- ret
-
-Functioncdbeb: ; cdbeb (33:5beb)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdbf5
- dec [hl]
- ret
-
-.asm_cdbf5
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- dec [hl]
-asm_cdbfa: ; cdbfa (33:5bfa)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld d, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld e, [hl]
- ld hl, hPushOAM ; $ff80
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], e
- ret
-
-Functioncdc1a: ; cdc1a (33:5c1a)
- call DeinitBattleAnimation
- ret
-
-Functioncdc1e: ; cdc1e (33:5c1e)
- ld a, BATTLEANIMFRAMESET_4E
- call ReinitBattleAnimFrameset
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-Functioncdc27: ; cdc27 (33:5c27)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- inc [hl]
- ld d, $2
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-Functioncdc39: ; cdc39 (33:5c39)
- ld a, BATTLEANIMFRAMESET_50
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], $4
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-Functioncdc48: ; cdc48 (33:5c48)
- ld a, BATTLEANIMFRAMESET_4F
- call ReinitBattleAnimFrameset
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $40
- ret
-
-Functioncdc57: ; cdc57 (33:5c57)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $20
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_cdc71
- dec [hl]
- ret
-
-.asm_cdc71
- call BattleAnim_IncAnonJumptableIndex
-Functioncdc74: ; cdc74 (33:5c74)
- ret
-
-Functioncdc75: ; cdc75 (33:5c75)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3f
- ret nz
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $20
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- sub $8
- ld [hl], a
- ret nz
- xor a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hli], a
- ld [hl], a
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-BattleAnimFunction_1E: ; cdca6 (33:5ca6)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdcb6
- cp $d8
- jr nc, .asm_cdcb6
- call DeinitBattleAnimation
- ret
-
-.asm_cdcb6
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld d, [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- sub d
- ld [hl], a
- ret
-
-BattleAnimFunction_21: ; cdcc3 (33:5cc3)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncdcca
- dw Functioncdced
-Functioncdcca: ; cdcca (33:5cca)
- ld a, [hBattleTurn]
- and a
- jr z, .asm_cdcd9
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- xor $ff
- add $3
- ld [hl], a
-.asm_cdcd9
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $8
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, BATTLEANIMFRAMESET_59
- add [hl]
- call ReinitBattleAnimFrameset
- ret
-
-Functioncdced: ; cdced (33:5ced)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdcfa
- dec [hl]
- call Functioncdcfe
- ret
-
-.asm_cdcfa
- call DeinitBattleAnimation
- ret
-
-Functioncdcfe: ; cdcfe (33:5cfe)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- inc [hl]
- inc [hl]
- ld d, $10
- call BattleAnim_Sine
- ld d, a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdd20
- dec a
- ret z
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], d
- ret
-
-.asm_cdd20
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, d
- xor $ff
- inc a
- ld [hl], a
- ret
-
-BattleAnimFunction_22: ; cdd2a (33:5d2a)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncdd31
- dw Functioncdd4f
-Functioncdd31: ; cdd31 (33:5d31)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $3f
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $80
- rlca
- ld [hl], a
- add BATTLEANIMFRAMESET_5D
- call ReinitBattleAnimFrameset
- ret
-
-Functioncdd4f: ; cdd4f (33:5d4f)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- swap a
- ld d, a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- inc [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $80
- ret nc
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- and $3
- jr nz, .asm_cdd87
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
-.asm_cdd87
- and $1
- ret nz
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- inc [hl]
- ret
-
-BattleAnimFunction_23: ; cdd90 (33:5d90)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncdd97
- dw Functioncddbc
-Functioncdd97: ; cdd97 (33:5d97)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $80
- rlca
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- add [hl]
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $7f
- ld [hl], a
-Functioncddbc: ; cddbc (33:5dbc)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $10
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- inc [hl]
- and $3f
- jr z, .asm_cddf0
- and $1f
- ret nz
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc a
- jr .asm_cddf5
-
-.asm_cddf0
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
-.asm_cddf5
- call ReinitBattleAnimFrameset
- ret
-
-BattleAnimFunction_24: ; cddf9 (33:5df9)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncde02
- dw Functioncde20
- dw Functioncde21
-Functioncde02: ; cde02 (33:5e02)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- add BATTLEANIMFRAMESET_63
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, Unknown_cde25
- add hl, de
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
-Functioncde20: ; cde20 (33:5e20)
- ret
-
-Functioncde21: ; cde21 (33:5e21)
- call DeinitBattleAnimation
- ret
-
-; cde25 (33:5e25)
-Unknown_cde25: ; cde25
- db $ec, $f8, $00
-; cde28
-BattleAnimFunction_25: ; cde28 (33:5e28)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- inc [hl]
- ld d, $4
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld d, [hl]
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld e, [hl]
- ld hl, $ffa0
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], e
- ret
-
-BattleAnimFunction_26: ; cde54 (33:5e54)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec [hl]
- dec [hl]
- ld d, $10
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- inc [hl]
- ret
-
-BattleAnimFunction_27: ; cde6b (33:5e6b)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncde72
- dw Functioncde88
-Functioncde72: ; cde72 (33:5e72)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and a
- jr nz, .asm_cde83
- ld hl, BATTLEANIMSTRUCT_01
- add hl, bc
- set 6, [hl]
-.asm_cde83
- add BATTLEANIMFRAMESET_6A
- call ReinitBattleAnimFrameset
-Functioncde88: ; cde88 (33:5e88)
- ret
-
-BattleAnimFunction_28: ; cde89 (33:5e89)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncde90
- dw Functioncdebf
-Functioncde90: ; cde90 (33:5e90)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $0
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld e, [hl]
- ld a, e
- and $70
- swap a
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld a, e
- and $80
- jr nz, .asm_cdeb2
- ld a, e
- and $f
- ld [hl], a
- ret
-
-.asm_cdeb2
- ld a, e
- and $f
- xor $ff
- inc a
- ld [hl], a
- ld a, BATTLEANIMFRAMESET_6E
- call ReinitBattleAnimFrameset
- ret
-
-Functioncdebf: ; cdebf (33:5ebf)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_cdec9
- dec [hl]
- ret
-
-.asm_cdec9
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- ret
-
-BattleAnimFunction_SpiralDescent: ; cdedd (33:5edd)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $7
- ret nz
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- cp $28
- jr nc, .delete
- inc [hl]
- ret
-
-.delete
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_2D: ; cdf1b (33:5f1b)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3
- ret nz
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- cp $28
- jr nc, .asm_cdf55
- inc [hl]
- ret
-
-.asm_cdf55
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_PoisonGas: ; cdf59 (33:5f59)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functioncdf60
- dw BattleAnimFunction_SpiralDescent
-Functioncdf60: ; cdf60 (33:5f60)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $84
- jr nc, .next
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $18
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- and $1
- ret nz
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- dec [hl]
- ret
-
-.next
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-BattleAnimFunction_34: ; cdf8c (33:5f8c)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- inc [hl]
- inc [hl]
- ld a, [hl]
- and $7
- ret nz
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- cp $e8
- jr z, .asm_cdfc7
- dec [hl]
- ret
-
-.asm_cdfc7
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_3C: ; cdfcb (33:5fcb)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- inc [hl]
- inc [hl]
- ld a, [hl]
- and $3
- ret nz
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- cp $d0
- jr z, .asm_ce007
- dec [hl]
- dec [hl]
- ret
-
-.asm_ce007
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_35: ; ce00b (33:600b)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce014
- dw Functionce023
- dw Functionce05f
-Functionce014: ; ce014 (33:6014)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $34
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], $10
-Functionce023: ; ce023 (33:6023)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $6c
- jr c, .asm_ce02d
- ret
-
-.asm_ce02d
- ld a, $2
- call Functionce70a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld d, [hl]
- call BattleAnim_Sine
- bit 7, a
- jr nz, .asm_ce046
- xor $ff
- inc a
-.asm_ce046
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- sub $4
- ld [hl], a
- and $1f
- cp $20
- ret nz
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- srl [hl]
- ret
-
-Functionce05f: ; ce05f (33:605f)
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_Horn: ; ce063 (33:6063)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw .zero
- dw .one
- dw .two
- dw Functionce09e
-.zero: ; ce06e (33:606e)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], a
- ret
-
-.one: ; ce083 (33:6083)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $58
- ret nc
- ld a, $2
- call Functionce70a
- ret
-
-.two: ; ce091 (33:6091)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, Functionce09e
- call DeinitBattleAnimation
- ret
-
-Functionce09e: ; ce09e (33:609e)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- ld d, $8
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- sra a
- xor $ff
- inc a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- add $8
- ld [hl], a
- ret
-
-BattleAnimFunction_2C: ; ce0c5 (33:60c5)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce0ce
- dw Functionce0f8
- dw Functionce0dd
-Functionce0ce: ; ce0ce (33:60ce)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f0
- swap a
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], a
- ret
-
-Functionce0dd: ; ce0dd (33:60dd)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld d, $10
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- bit 7, a
- jr z, .asm_ce0f0
- ld [hl], a
-.asm_ce0f0
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- sub $4
- ld [hl], a
-Functionce0f8: ; ce0f8 (33:60f8)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $84
- jr c, .asm_ce105
- call DeinitBattleAnimation
- ret
-
-.asm_ce105
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- call Functionce70a
- ret
-
-BattleAnimFunction_2E: ; ce10e (33:610e)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce115
- dw Functionce12a
-Functionce115: ; ce115 (33:6115)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $28
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- sub $28
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], a
-Functionce12a: ; ce12a (33:612a)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hli]
- ld d, [hl]
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- and [hl]
- jr nz, .asm_ce149
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- dec [hl]
-.asm_ce149
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $3f
- ret nz
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $20
- inc hl
- srl [hl]
- ret
-
-BattleAnimFunction_2F: ; ce15c (33:615c)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld d, [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- inc [hl]
- ld a, [hl]
- and $1
- jr nz, .asm_ce189
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- dec [hl]
-.asm_ce189
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $3
- jr nz, .asm_ce197
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- inc [hl]
-.asm_ce197
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- cp $5a
- jr nc, .asm_ce1aa
- ld a, [hl]
- and a
- jr z, .asm_ce1ac
- dec [hl]
- ret
-
-.asm_ce1aa
- inc [hl]
- ret
-
-.asm_ce1ac
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_42: ; ce1b0 (33:61b0)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld d, [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- cp $40
- jr nc, .asm_ce1df
- inc [hl]
- ret
-
-.asm_ce1df
- ld a, [hl]
- dec [hl]
- and a
- ret nz
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_30: ; ce1e7 (33:61e7)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce1ee
- dw Functionce1fb
-Functionce1ee: ; ce1ee (33:61ee)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], a
-Functionce1fb: ; ce1fb (33:61fb)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $30
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- add $8
- ld d, $30
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- inc [hl]
- ret
-
-BattleAnimFunction_31: ; ce226 (33:6226)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce22d
- dw Functionce254
-Functionce22d: ; ce22d (33:622d)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $10
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $10
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld [hl], $f
-Functionce254: ; ce254 (33:6254)
- ret
-
-BattleAnimFunction_32: ; ce255 (33:6255)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce260
- dw Functionce274
- dw Functionce278
- dw Functionce289
-Functionce260: ; ce260 (33:6260)
- call BattleAnim_IncAnonJumptableIndex
- ld a, [hBattleTurn]
- and a
- jr nz, .asm_ce26c
- ld a, $f0
- jr .asm_ce26e
-
-.asm_ce26c
- ld a, $cc
-.asm_ce26e
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], a
- ret
-
-Functionce274: ; ce274 (33:6274)
- call Functionce29f
- ret
-
-Functionce278: ; ce278 (33:6278)
- call Functionce29f
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $84
- ret nc
- ld a, $4
- call Functionce70a
- ret
-
-Functionce289: ; ce289 (33:6289)
- call Functionce29f
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $d0
- jr nc, .asm_ce29b
- ld a, $4
- call Functionce70a
- ret
-
-.asm_ce29b
- call DeinitBattleAnimation
- ret
-
-Functionce29f: ; ce29f (33:629f)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- and $7
- inc [hl]
- srl a
- ld e, a
- ld d, $0
- ld a, [hSGB]
- and a
- jr nz, .asm_ce2b6
- ld hl, Unknown_ce2c4
- jr .asm_ce2b9
-
-.asm_ce2b6
- ld hl, Unknown_ce2c8
-.asm_ce2b9
- add hl, de
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- and [hl]
- ld [wOBP0], a
- ret
-
-; ce2c4 (33:62c4)
-Unknown_ce2c4: ; ce2c4
- db $ff, $aa, $55, $aa
-Unknown_ce2c8: ; ce2c8
- db $ff, $ff, $00, $00
-; ce2cc
-BattleAnimFunction_33: ; ce2cc (33:62cc)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $18
- call BattleAnim_Sine
- sra a
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- add [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $18
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- dec [hl]
- dec [hl]
- ret
-
-BattleAnimFunction_36: ; ce2fd (33:62fd)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce306
- dw Functionce330
- dw Functionce34c
-Functionce306: ; ce306 (33:6306)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $e0
- jr nz, .asm_ce319
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $2
- ret
-
-.asm_ce319
- ld d, a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld e, [hl]
- ld hl, hPushOAM ; $ff80
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], e
- ret
-
-Functionce330: ; ce330 (33:6330)
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_ce33a
- dec [hl]
- ret
-
-.asm_ce33a
- ld [hl], $4
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- xor $ff
- inc a
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-Functionce34c: ; ce34c (33:634c)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $84
- jr nc, .asm_ce35b
- ld a, $4
- call Functionce70a
- ret
-
-.asm_ce35b
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_37: ; ce35f (33:635f)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce366
- dw Functionce375
-Functionce366: ; ce366 (33:6366)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $7f
- add BATTLEANIMFRAMESET_81
- call ReinitBattleAnimFrameset
-Functionce375: ; ce375 (33:6375)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- bit 7, [hl]
- jr nz, .asm_ce383
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- inc [hl]
- ret
-
-.asm_ce383
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- dec [hl]
- ret
-
-BattleAnimFunction_38: ; ce389 (33:6389)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce392
- dw Functionce39c
- dw Functionce3ae
-Functionce392: ; ce392 (33:6392)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $c
- ret
-
-Functionce39c: ; ce39c (33:639c)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_ce3a6
- dec [hl]
- ret
-
-.asm_ce3a6
- call BattleAnim_IncAnonJumptableIndex
- ld a, BATTLEANIMFRAMESET_20
- call ReinitBattleAnimFrameset
-Functionce3ae: ; ce3ae (33:63ae)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- dec [hl]
- ret
-
-BattleAnimFunction_39: ; ce3b4 (33:63b4)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- inc [hl]
- push af
- ld d, $2
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop af
- ld d, $8
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-BattleAnimFunction_3A: ; ce3d2 (33:63d2)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $20
- jr c, .asm_ce3df
- call DeinitBattleAnimation
- ret
-
-.asm_ce3df
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $8
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- add $2
- ld [hl], a
- and $7
- ret nz
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- inc [hl]
- ret
-
-BattleAnimFunction_3B: ; ce3ff (33:63ff)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce406
- dw Functionce412
-Functionce406: ; ce406 (33:6406)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- add [hl]
- ld [hl], a
- ret
-
-Functionce412: ; ce412 (33:6412)
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_3D: ; ce416 (33:6416)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld d, $18
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- sra a
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- inc [hl]
- ret
-
-BattleAnimFunction_3E: ; ce43a (33:643a)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce443
- dw Functionce465
- dw Functionce490
-Functionce443: ; ce443 (33:6443)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $28
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- add [hl]
- call ReinitBattleAnimFrameset
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and $f0
- or $8
- ld [hl], a
-Functionce465: ; ce465 (33:6465)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and a
- jr z, .asm_ce48b
- dec [hl]
- add $8
- ld d, a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-.asm_ce48b
- ld [hl], $10
- call BattleAnim_IncAnonJumptableIndex
-Functionce490: ; ce490 (33:6490)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- dec [hl]
- and a
- ret nz
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_40: ; ce49c (33:649c)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce4a3
- dw Functionce4b0
-Functionce4a3: ; ce4a3 (33:64a3)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, BATTLEANIMFRAMESET_24
- add [hl]
- call ReinitBattleAnimFrameset
-Functionce4b0: ; ce4b0 (33:64b0)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $38
- jr nc, .asm_ce4d8
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- ld d, $18
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- ld a, [hl]
- and $1
- ret nz
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- dec [hl]
- ret
-
-.asm_ce4d8
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_41: ; ce4dc (33:64dc)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and a
- ret z
- ld d, a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- inc [hl]
- call BattleAnim_Sine
- bit 7, a
- jr nz, .asm_ce4f4
- xor $ff
- inc a
-.asm_ce4f4
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- and $1f
- ret nz
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- srl [hl]
- ret
-
-BattleAnimFunction_43: ; ce508 (33:6508)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- cp $10
- jr nc, .asm_ce52e
- inc [hl]
- inc [hl]
- ld d, a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-.asm_ce52e
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_44: ; ce532 (33:6532)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld e, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld d, [hl]
- ld a, e
- and $c0
- rlca
- rlca
- add [hl]
- ld [hl], a
- ld a, e
- and $3f
- push af
- push de
- call BattleAnim_Sine
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-BattleAnimFunction_45: ; ce55b (33:655b)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce564
- dw Functionce56e
- dw Functionce577
-Functionce564: ; ce564 (33:6564)
- ld d, $18
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- inc [hl]
- jr asm_ce58f
-
-Functionce56e: ; ce56e (33:656e)
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], $18
-Functionce577: ; ce577 (33:6577)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- cp $80
- jr nc, .asm_ce58b
- ld d, a
- add $8
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- jr asm_ce58f
-
-.asm_ce58b
- call DeinitBattleAnimation
- ret
-
-asm_ce58f: ; ce58f (33:658f)
- call Functionce6f1
- ret
-
-BattleAnimFunction_46: ; ce593 (33:6593)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce5b3
- dw Functionce59a
-Functionce59a: ; ce59a (33:659a)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld a, [hl]
- cp $30
- jr c, .asm_ce5b0
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- dec [hl]
- dec [hl]
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
- inc [hl]
- inc [hl]
- ret
-
-.asm_ce5b0
- call DeinitBattleAnimation
-Functionce5b3: ; ce5b3 (33:65b3)
- ret
-
-BattleAnimFunction_47: ; ce5b4 (33:65b4)
- ld d, $50
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- inc [hl]
- inc [hl]
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- add [hl]
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-BattleAnimFunction_48: ; ce5dc (33:65dc)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $d0
- jr z, .disappear
- dec [hl]
- dec [hl]
- dec [hl]
- dec [hl]
- ret
-
-.disappear
- call DeinitBattleAnimation
- ret
-
-BattleAnimFunction_49: ; ce5ee (33:65ee)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce5f9
- dw Functionce60a
- dw Functionce622
- dw Functionce618
-Functionce5f9: ; ce5f9 (33:65f9)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- and a
- jr nz, asm_ce61c
- call BattleAnim_IncAnonJumptableIndex
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], $ec
-Functionce60a: ; ce60a (33:660a)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $4
- jr z, Functionce618
- inc [hl]
- inc [hl]
- inc [hl]
- inc [hl]
- ret
-
-Functionce618: ; ce618 (33:6618)
- call DeinitBattleAnimation
- ret
-
-asm_ce61c: ; ce61c (33:661c)
- call BattleAnim_IncAnonJumptableIndex
- call BattleAnim_IncAnonJumptableIndex
-Functionce622: ; ce622 (33:6622)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- cp $d8
- ret z
- dec [hl]
- dec [hl]
- dec [hl]
- dec [hl]
- ret
-
-BattleAnimFunction_4A: ; ce62f (33:662f)
- call BattleAnim_AnonJumptable
-.anon_dw
- dw Functionce63a
- dw Functionce648
- dw Functionce65c
- dw Functionce672
-Functionce63a: ; ce63a (33:663a)
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld [hl], a
- call BattleAnim_IncAnonJumptableIndex
- ret
-
-Functionce648: ; ce648 (33:6648)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- add $4
- cp $70
- jr c, .asm_ce654
- xor a
-.asm_ce654
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- inc [hl]
- inc [hl]
- ret
-
-Functionce65c: ; ce65c (33:665c)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- add $4
- cp $70
- jr c, .asm_ce668
- xor a
-.asm_ce668
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld a, [hl]
- add $8
- ld [hl], a
- ret
-
-Functionce672: ; ce672 (33:6672)
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld a, [hl]
- add $4
- cp $70
- jr c, .asm_ce67e
- xor a
-.asm_ce67e
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld a, [hl]
- add $4
- ld [hl], a
- ret
-
-BattleAnimFunction_4B: ; ce688 (33:6688)
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld d, [hl]
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld e, [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- ld l, a
- and $f0
- ld h, a
- swap a
- or h
- ld h, a
- ld a, l
- and $f
- swap a
- ld l, a
- add hl, de
- ld e, l
- ld d, h
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- ld [hl], d
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld [hl], e
- ret
-
-BattleAnimFunction_4C: ; ce6b3 (33:66b3)
- ld d, $18
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld a, [hl]
- inc [hl]
- call Functionce6f1
- ret
-
-BattleAnimFunction_4F: ; ce6bf (33:66bf)
- ld d, $18
- ld hl, BATTLEANIMSTRUCT_10
- add hl, bc
- ld a, [hl]
- inc [hl]
- srl a
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- add [hl]
- call Functionce6f1
- ret
-
-BattleAnimFunction_4D: ; ce6d2 (33:66d2)
- ld hl, BATTLEANIMSTRUCT_0F
- add hl, bc
- ld a, [hl]
- cp $20
- jr nc, .asm_ce6ed
- inc [hl]
- ld hl, BATTLEANIMSTRUCT_0B
- add hl, bc
- ld d, [hl]
- call BattleAnim_Sine
- xor $ff
- inc a
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-.asm_ce6ed
- call DeinitBattleAnimation
- ret
-
-Functionce6f1: ; ce6f1 (33:66f1)
- push af
- push de
- call BattleAnim_Sine
- sra a
- sra a
- ld hl, BATTLEANIMSTRUCT_YOFFSET
- add hl, bc
- ld [hl], a
- pop de
- pop af
- call BattleAnim_Cosine
- ld hl, BATTLEANIMSTRUCT_XOFFSET
- add hl, bc
- ld [hl], a
- ret
-
-Functionce70a: ; ce70a (33:670a)
- and $f
- ld e, a
- ld hl, BATTLEANIMSTRUCT_XCOORD
- add hl, bc
- add [hl]
- ld [hl], a
- srl e
- ld hl, BATTLEANIMSTRUCT_YCOORD
- add hl, bc
-.asm_ce719
- dec [hl]
- dec e
- jr nz, .asm_ce719
- ret
-
-BattleAnim_AnonJumptable: ; ce71e (33:671e)
- pop de
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- ld l, [hl]
- ld h, $0
- add hl, hl
- add hl, de
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp hl
-
-BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c)
- ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
- add hl, bc
- inc [hl]
- ret
-
-BattleAnim_Cosine: ; ce732 (33:6732)
- add $10
-BattleAnim_Sine: ; ce734 (33:6734)
-; a = d sin a
- and $3f
- cp $20
- jr nc, .negative
- call .ApplySineWave
- ld a, h
- ret
-
-.negative
- and $1f
- call .ApplySineWave
- ld a, h
- xor $ff
- inc a
- ret
-
-.ApplySineWave:
- ld e, a
- ld a, d
- ld d, 0
- ld hl, BattleAnimSineWave
- add hl, de
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, $0
-.multiply
- srl a
- jr nc, .even
- add hl, de
-.even
- sla e
- rl d
- and a
- jr nz, .multiply
- ret
-
-BattleAnim_Sine_e: ; ce765 (33:6765)
- ld a, e
- call BattleAnim_Sine
- ld e, a
- ret
-
-BattleAnim_Cosine_e: ; ce76b (33:676b)
- ld a, e
- call BattleAnim_Cosine
- ld e, a
- ret
-
-; ce771 (33:6771)
-BattleAnim_AbsSinePrecise: ; ce771
- ld a, e
- call BattleAnim_Sine
- ld e, l
- ld d, h
- ret
-
-; ce778
-BattleAnim_AbsCosinePrecise: ; ce778
- ld a, e
- call BattleAnim_Cosine
- ld e, l
- ld d, h
- ret
-
-; ce77f
-BattleAnimSineWave: ; ce77f
- sine_wave $100
-; ce7bf
--- a/engine/anims/helpers.asm
+++ /dev/null
@@ -1,130 +1,0 @@
-ReinitBattleAnimFrameset: ; ce7bf (33:67bf)
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], 0
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld [hl], -1
- ret
-
-GetBattleAnimFrame: ; ce7d1
-.loop
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld a, [hl]
- and a
- jr z, .next_frame
- dec [hl]
- call .GetPointer
- ld a, [hli]
- push af
- jr .okay
-
-.next_frame
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- inc [hl]
- call .GetPointer
- ld a, [hli]
- cp -2
- jr z, .restart
- cp -1
- jr z, .repeat_last
- push af
- ld a, [hl]
- push hl
- and $3f
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], a
- pop hl
-
-.okay
- ld a, [hl]
- and $c0
- srl a
- ld [wBattleAnimTemp7], a
- pop af
- ret
-
-.repeat_last
- xor a
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- dec [hl]
- dec [hl]
- jr .loop
-
-.restart
- xor a
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], a
- dec a
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld [hl], a
- jr .loop
-
-; ce823
-
-.GetPointer: ; ce823
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, BattleAnimFrameData
- add hl, de
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld l, [hl]
- ld h, $0
- add hl, hl
- add hl, de
- ret
-
-; ce83c
-
-GetBattleAnimOAMPointer: ; ce83c
- ld l, a
- ld h, 0
- ld de, BattleAnimOAMData
- add hl, hl
- add hl, hl
- add hl, de
- ret
-
-; ce846
-
-LoadBattleAnimObj: ; ce846 (33:6846)
- push hl
- ld l, a
- ld h, 0
- add hl, hl
- add hl, hl
- ld de, AnimObjGFX
- add hl, de
- ld c, [hl]
- inc hl
- ld b, [hl]
- inc hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop de
- push bc
- call DecompressRequest2bpp
- pop bc
- ret
-
-; ce85e (33:685e)
--- /dev/null
+++ b/engine/battle/battlestart_copytilemapatonce.asm
@@ -1,0 +1,3 @@
+BattleStart_CopyTilemapAtOnce: ; 8cf4f
+ call CGBOnly_CopyTilemapAtOnce
+ ret
--- /dev/null
+++ b/engine/battle/checkbattlescene.asm
@@ -1,0 +1,47 @@
+CheckBattleScene: ; 4ea44
+; Return carry if battle scene is turned off.
+
+ ld a, 0
+ ld hl, wLinkMode
+ call GetFarWRAMByte
+ cp LINK_MOBILE
+ jr z, .mobile
+
+ ld a, [Options]
+ bit BATTLE_SCENE, a
+ jr nz, .off
+
+ and a
+ ret
+
+.mobile
+ ld a, [wcd2f]
+ and a
+ jr nz, .from_wram
+
+ ld a, $4
+ call GetSRAMBank
+ ld a, [$a60c]
+ ld c, a
+ call CloseSRAM
+
+ ld a, c
+ bit 0, c
+ jr z, .off
+
+ and a
+ ret
+
+.from_wram
+ ld a, $5
+ ld hl, w5_dc00
+ call GetFarWRAMByte
+ bit 0, a
+ jr z, .off
+
+ and a
+ ret
+
+.off
+ scf
+ ret
--- /dev/null
+++ b/engine/battle/consumehelditem.asm
@@ -1,0 +1,80 @@
+ConsumeHeldItem: ; 27192
+ push hl
+ push de
+ push bc
+ ld a, [hBattleTurn]
+ and a
+ ld hl, OTPartyMon1Item
+ ld de, EnemyMonItem
+ ld a, [CurOTMon]
+ jr z, .theirturn
+ ld hl, PartyMon1Item
+ ld de, BattleMonItem
+ ld a, [CurBattleMon]
+
+.theirturn
+ push hl
+ push af
+ ld a, [de]
+ ld b, a
+ farcall GetItemHeldEffect
+ ld hl, .ConsumableEffects
+.loop
+ ld a, [hli]
+ cp b
+ jr z, .ok
+ inc a
+ jr nz, .loop
+ pop af
+ pop hl
+ pop bc
+ pop de
+ pop hl
+ ret
+
+.ok
+ xor a
+ ld [de], a
+ pop af
+ pop hl
+ call GetPartyLocation
+ ld a, [hBattleTurn]
+ and a
+ jr nz, .ourturn
+ ld a, [wBattleMode]
+ dec a
+ jr z, .done
+
+.ourturn
+ ld [hl], $0
+
+.done
+ pop bc
+ pop de
+ pop hl
+ ret
+
+.ConsumableEffects: ; 271de
+; Consumable items?
+ db HELD_BERRY
+ db HELD_2
+ db HELD_5
+ db HELD_HEAL_POISON
+ db HELD_HEAL_FREEZE
+ db HELD_HEAL_BURN
+ db HELD_HEAL_SLEEP
+ db HELD_HEAL_PARALYZE
+ db HELD_HEAL_STATUS
+ db HELD_30
+ db HELD_ATTACK_UP
+ db HELD_DEFENSE_UP
+ db HELD_SPEED_UP
+ db HELD_SP_ATTACK_UP
+ db HELD_SP_DEFENSE_UP
+ db HELD_ACCURACY_UP
+ db HELD_EVASION_UP
+ db HELD_38
+ db HELD_71
+ db HELD_ESCAPE
+ db HELD_CRITICAL_UP
+ db -1
--- /dev/null
+++ b/engine/battle/returntobattle_useball.asm
@@ -1,0 +1,19 @@
+_ReturnToBattle_UseBall: ; 2715c
+ call ClearBGPalettes
+ call ClearTileMap
+ ld a, [BattleType]
+ cp BATTLETYPE_TUTORIAL
+ jr z, .gettutorialbackpic
+ farcall GetBattleMonBackpic
+ jr .continue
+
+.gettutorialbackpic
+ farcall GetTrainerBackpic
+.continue
+ farcall GetEnemyMonFrontpic
+ farcall _LoadBattleFontsHPBar
+ call GetMemSGBLayout
+ call CloseWindow
+ call LoadStandardMenuDataHeader
+ call WaitBGMap
+ jp SetPalettes
--- /dev/null
+++ b/engine/battle/updatebattlehuds.asm
@@ -1,0 +1,9 @@
+_UpdateBattleHUDs:
+ farcall DrawPlayerHUD
+ ld hl, PlayerHPPal
+ call SetHPPal
+ farcall DrawEnemyHUD
+ ld hl, EnemyHPPal
+ call SetHPPal
+ farcall FinishBattleAnim
+ ret
--- /dev/null
+++ b/engine/battle_anims/anim_commands.asm
@@ -1,0 +1,1514 @@
+; Battle animation command interpreter.
+
+PlayBattleAnim: ; cc0d6
+
+ ld a, [rSVBK]
+ push af
+
+ ld a, 5
+ ld [rSVBK], a
+
+ call _PlayBattleAnim
+
+ pop af
+ ld [rSVBK], a
+ ret
+; cc0e4
+
+_PlayBattleAnim: ; cc0e4
+
+ ld c, 6
+.wait
+ call BattleAnimDelayFrame
+ dec c
+ jr nz, .wait
+
+ call BattleAnimAssignPals
+ call BattleAnimRequestPals
+ call BattleAnimDelayFrame
+
+ ld c, 1
+ ld a, [rKEY1]
+ bit 7, a
+ jr nz, .asm_cc0ff
+ ld c, 3
+
+.asm_cc0ff
+ ld hl, hVBlank
+ ld a, [hl]
+ push af
+
+ ld [hl], c
+ call BattleAnimRunScript
+
+ pop af
+ ld [hVBlank], a
+
+ ld a, $1
+ ld [hBGMapMode], a
+
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call WaitSFX
+ ret
+; cc11c
+
+BattleAnimRunScript: ; cc11c
+
+ ld a, [FXAnimID + 1]
+ and a
+ jr nz, .hi_byte
+
+ farcall CheckBattleScene
+ jr c, .disabled
+
+ call BattleAnimClearHud
+ call RunBattleAnimScript
+
+ call BattleAnimAssignPals
+ call BattleAnimRequestPals
+
+ xor a
+ ld [hSCX], a
+ ld [hSCY], a
+ call BattleAnimDelayFrame
+ call BattleAnimRestoreHuds
+
+.disabled
+ ld a, [wNumHits]
+ and a
+ jr z, .done
+
+ ld l, a
+ ld h, 0
+ ld de, ANIM_MISS
+ add hl, de
+ ld a, l
+ ld [FXAnimID], a
+ ld a, h
+ ld [FXAnimID + 1], a
+
+.hi_byte
+ call WaitSFX
+ call PlayHitSound
+ call RunBattleAnimScript
+
+.done
+ call BattleAnim_RevertPals
+ ret
+; cc163
+
+RunBattleAnimScript: ; cc163
+
+ call ClearBattleAnims
+
+.playframe
+ call RunBattleAnimCommand
+ call _ExecuteBGEffects
+ call BattleAnim_UpdateOAM_All
+ call PushLYOverrides
+ call BattleAnimRequestPals
+
+; Speed up Rollout's animation.
+ ld a, [FXAnimID + 1]
+ or a
+ jr nz, .not_rollout
+
+ ld a, [FXAnimID]
+ cp ROLLOUT
+ jr nz, .not_rollout
+
+ ld a, $2e
+ ld b, 5
+ ld de, 4
+ ld hl, ActiveBGEffects
+.find
+ cp [hl]
+ jr z, .done
+ add hl, de
+ dec b
+ jr nz, .find
+
+.not_rollout
+ call BattleAnimDelayFrame
+
+.done
+ ld a, [BattleAnimFlags]
+ bit 0, a
+ jr z, .playframe
+
+ call BattleAnim_ClearCGB_OAMFlags
+ ret
+; cc1a1
+
+BattleAnimClearHud: ; cc1a1
+
+ call BattleAnimDelayFrame
+ call WaitTop
+ call ClearActorHud
+ ld a, $1
+ ld [hBGMapMode], a
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call WaitTop
+ ret
+; cc1bb
+
+BattleAnimRestoreHuds: ; cc1bb
+
+ call BattleAnimDelayFrame
+ call WaitTop
+
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+
+ ld hl, UpdateBattleHuds
+ ld a, BANK(UpdatePlayerHUD)
+ rst FarCall ; Why not "call UpdateBattleHuds"?
+
+ pop af
+ ld [rSVBK], a
+
+ ld a, $1
+ ld [hBGMapMode], a
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call BattleAnimDelayFrame
+ call WaitTop
+ ret
+; cc1e2
+
+BattleAnimRequestPals: ; cc1e2
+
+ ld a, [hCGB]
+ and a
+ ret z
+
+ ld a, [rBGP]
+ ld b, a
+ ld a, [wBGP]
+ cp b
+ call nz, BattleAnim_SetBGPals
+
+ ld a, [rOBP0]
+ ld b, a
+ ld a, [wOBP0]
+ cp b
+ call nz, BattleAnim_SetOBPals
+ ret
+; cc1fb
+
+BattleAnimDelayFrame: ; cc1fb
+; Like DelayFrame but wastes battery life.
+
+ ld a, 1
+ ld [VBlankOccurred], a
+.wait
+ ld a, [VBlankOccurred]
+ and a
+ jr nz, .wait
+ ret
+; cc207
+
+ClearActorHud: ; cc207
+
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ hlcoord 1, 0
+ lb bc, 4, 10
+ call ClearBox
+ ret
+
+.player
+ hlcoord 9, 7
+ lb bc, 5, 11
+ call ClearBox
+ ret
+; cc220
+
+Functioncc220: ; cc220
+; Appears to be unused.
+ xor a
+ ld [hBGMapMode], a
+ ld a, LOW(VBGMap0 tile $28)
+ ld [hBGMapAddress], a
+ ld a, HIGH(VBGMap0 tile $28)
+ ld [hBGMapAddress + 1], a
+ call WaitBGMap2
+ ld a, $60
+ ld [hWY], a
+ xor a ; LOW(VBGMap0)
+ ld [hBGMapAddress], a
+ ld a, HIGH(VBGMap0)
+ ld [hBGMapAddress + 1], a
+ call BattleAnimDelayFrame
+ ret
+; cc23d
+
+
+BattleAnim_ClearCGB_OAMFlags: ; cc23d
+
+ ld a, [BattleAnimFlags]
+ bit 3, a
+ jr z, .delete
+
+ ld hl, Sprites + 3
+ ld c, (SpritesEnd - Sprites) / 4
+.loop
+ ld a, [hl]
+ and $f0
+ ld [hli], a
+ inc hl
+ inc hl
+ inc hl
+ dec c
+ jr nz, .loop
+ ret
+
+.delete
+ ld hl, Sprites
+ ld c, SpritesEnd - Sprites
+ xor a
+.loop2
+ ld [hli], a
+ dec c
+ jr nz, .loop2
+ ret
+; cc25f
+
+RunBattleAnimCommand: ; cc25f
+ call .CheckTimer
+ ret nc
+ call .RunScript
+ ret
+; cc267
+
+.CheckTimer: ; cc267
+ ld a, [BattleAnimDuration]
+ and a
+ jr z, .done
+
+ dec a
+ ld [BattleAnimDuration], a
+ and a
+ ret
+
+.done
+ scf
+ ret
+; cc275
+
+.RunScript: ; cc275
+.loop
+ call GetBattleAnimByte
+
+ cp $ff
+ jr nz, .not_done_with_anim
+
+; Return from a subroutine.
+ ld hl, BattleAnimFlags
+ bit 1, [hl]
+ jr nz, .do_anim
+
+ set 0, [hl]
+ ret
+
+.not_done_with_anim
+ cp $d0
+ jr nc, .do_anim
+
+ ld [BattleAnimDuration], a
+ ret
+
+.do_anim
+ call .DoCommand
+
+ jr .loop
+; cc293
+
+.DoCommand: ; cc293
+; Execute battle animation command in [BattleAnimByte].
+ ld a, [BattleAnimByte]
+ sub $d0
+
+ ld e, a
+ ld d, 0
+ ld hl, BattleAnimCommands
+ add hl, de
+ add hl, de
+
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+; cc2a4
+
+
+BattleAnimCommands:: ; cc2a4 (33:42a4)
+; entries correspond to macros/scripts/battle_anims.asm enumeration
+ dw BattleAnimCmd_Obj
+ dw BattleAnimCmd_1GFX
+ dw BattleAnimCmd_2GFX
+ dw BattleAnimCmd_3GFX
+ dw BattleAnimCmd_4GFX
+ dw BattleAnimCmd_5GFX
+ dw BattleAnimCmd_IncObj
+ dw BattleAnimCmd_SetObj
+ dw BattleAnimCmd_IncBGEffect
+ dw BattleAnimCmd_EnemyFeetObj
+ dw BattleAnimCmd_PlayerHeadObj
+ dw BattleAnimCmd_CheckPokeball
+ dw BattleAnimCmd_Transform
+ dw BattleAnimCmd_RaiseSub
+ dw BattleAnimCmd_DropSub
+ dw BattleAnimCmd_ResetObp0
+ dw BattleAnimCmd_Sound
+ dw BattleAnimCmd_Cry
+ dw BattleAnimCmd_MinimizeOpp
+ dw BattleAnimCmd_OAMOn
+ dw BattleAnimCmd_OAMOff
+ dw BattleAnimCmd_ClearObjs
+ dw BattleAnimCmd_BeatUp
+ dw BattleAnimCmd_E7
+ dw BattleAnimCmd_UpdateActorPic
+ dw BattleAnimCmd_Minimize
+ dw BattleAnimCmd_EA ; dummy
+ dw BattleAnimCmd_EB ; dummy
+ dw BattleAnimCmd_EC ; dummy
+ dw BattleAnimCmd_ED ; dummy
+ dw BattleAnimCmd_IfParamAnd
+ dw BattleAnimCmd_JumpUntil
+ dw BattleAnimCmd_BGEffect
+ dw BattleAnimCmd_BGP
+ dw BattleAnimCmd_OBP0
+ dw BattleAnimCmd_OBP1
+ dw BattleAnimCmd_ClearSprites
+ dw BattleAnimCmd_F5
+ dw BattleAnimCmd_F6
+ dw BattleAnimCmd_F7
+ dw BattleAnimCmd_IfParamEqual
+ dw BattleAnimCmd_SetVar
+ dw BattleAnimCmd_IncVar
+ dw BattleAnimCmd_IfVarEqual
+ dw BattleAnimCmd_Jump
+ dw BattleAnimCmd_Loop
+ dw BattleAnimCmd_Call
+ dw BattleAnimCmd_Ret
+
+
+BattleAnimCmd_EA:
+BattleAnimCmd_EB:
+BattleAnimCmd_EC:
+BattleAnimCmd_ED: ; cc304 (33:4304)
+ ret
+
+BattleAnimCmd_Ret: ; cc305 (33:4305)
+ ld hl, BattleAnimFlags
+ res 1, [hl]
+ ld hl, BattleAnimParent
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+BattleAnimCmd_Call: ; cc317 (33:4317)
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ push de
+ ld hl, BattleAnimAddress
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, BattleAnimParent
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ pop de
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ld hl, BattleAnimFlags
+ set 1, [hl]
+ ret
+
+BattleAnimCmd_Jump: ; cc339 (33:4339)
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+BattleAnimCmd_Loop: ; cc348 (33:4348)
+ call GetBattleAnimByte
+ ld hl, BattleAnimFlags
+ bit 2, [hl]
+ jr nz, .continue_loop
+ and a
+ jr z, .perpetual
+ dec a
+ set 2, [hl]
+ ld [BattleAnimLoops], a
+.continue_loop
+ ld hl, BattleAnimLoops
+ ld a, [hl]
+ and a
+ jr z, .return_from_loop
+ dec [hl]
+.perpetual
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+.return_from_loop
+ ld hl, BattleAnimFlags
+ res 2, [hl]
+ ld hl, BattleAnimAddress
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+BattleAnimCmd_JumpUntil: ; cc383 (33:4383)
+ ld hl, wBattleAnimParam
+ ld a, [hl]
+ and a
+ jr z, .dont_jump
+
+ dec [hl]
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+.dont_jump
+ ld hl, BattleAnimAddress
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+BattleAnimCmd_SetVar: ; cc3a6 (33:43a6)
+ call GetBattleAnimByte
+ ld [BattleAnimVar], a
+ ret
+
+BattleAnimCmd_IncVar: ; cc3ad (33:43ad)
+ ld hl, BattleAnimVar
+ inc [hl]
+ ret
+
+BattleAnimCmd_IfVarEqual: ; cc3b2 (33:43b2)
+ call GetBattleAnimByte
+ ld hl, BattleAnimVar
+ cp [hl]
+ jr z, .jump
+
+ ld hl, BattleAnimAddress
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+.jump
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+BattleAnimCmd_IfParamEqual: ; cc3d6 (33:43d6)
+ call GetBattleAnimByte
+ ld hl, wBattleAnimParam
+ cp [hl]
+ jr z, .jump
+
+ ld hl, BattleAnimAddress
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+.jump
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+BattleAnimCmd_IfParamAnd: ; cc3fa (33:43fa)
+ call GetBattleAnimByte
+ ld e, a
+ ld a, [wBattleAnimParam]
+ and e
+ jr nz, .jump
+
+ ld hl, BattleAnimAddress
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ inc de
+ inc de
+ ld [hl], d
+ dec hl
+ ld [hl], e
+ ret
+
+.jump
+ call GetBattleAnimByte
+ ld e, a
+ call GetBattleAnimByte
+ ld d, a
+ ld hl, BattleAnimAddress
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ ret
+
+BattleAnimCmd_Obj: ; cc41f (33:441f)
+; index, x, y, param
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp0], a
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp1], a
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp2], a
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp3], a
+ call QueueBattleAnimation
+ ret
+
+BattleAnimCmd_BGEffect: ; cc43b (33:443b)
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp0], a
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp1], a
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp2], a
+ call GetBattleAnimByte
+ ld [wBattleAnimTemp3], a
+ call _QueueBGEffect
+ ret
+
+BattleAnimCmd_BGP: ; cc457 (33:4457)
+ call GetBattleAnimByte
+ ld [wBGP], a
+ ret
+
+BattleAnimCmd_OBP0: ; cc45e (33:445e)
+ call GetBattleAnimByte
+ ld [wOBP0], a
+ ret
+
+BattleAnimCmd_OBP1: ; cc465 (33:4465)
+ call GetBattleAnimByte
+ ld [wOBP1], a
+ ret
+
+BattleAnimCmd_ResetObp0: ; cc46c (33:446c)
+ ld a, [hSGB]
+ and a
+ ld a, $e0
+ jr z, .not_sgb
+ ld a, $f0
+.not_sgb
+ ld [wOBP0], a
+ ret
+
+BattleAnimCmd_ClearObjs: ; cc479 (33:4479)
+ ld hl, ActiveAnimObjects
+ ld a, $a0
+.loop
+ ld [hl], $0
+ inc hl
+ dec a
+ jr nz, .loop
+ ret
+
+BattleAnimCmd_1GFX:
+BattleAnimCmd_2GFX:
+BattleAnimCmd_3GFX:
+BattleAnimCmd_4GFX:
+BattleAnimCmd_5GFX: ; cc485 (33:4485)
+ ld a, [BattleAnimByte]
+ and $f
+ ld c, a
+ ld hl, wBattleAnimTileDict
+ xor a
+ ld [wBattleAnimTemp0], a
+.loop
+ ld a, [wBattleAnimTemp0]
+ cp (VTiles1 - VTiles0) / $10 - $31
+ ret nc
+ call GetBattleAnimByte
+ ld [hli], a
+ ld a, [wBattleAnimTemp0]
+ ld [hli], a
+ push bc
+ push hl
+ ld l, a
+ ld h, $0
+rept 4
+ add hl, hl
+endr
+ ld de, VTiles0 tile $31
+ add hl, de
+ ld a, [BattleAnimByte]
+ call LoadBattleAnimObj
+ ld a, [wBattleAnimTemp0]
+ add c
+ ld [wBattleAnimTemp0], a
+ pop hl
+ pop bc
+ dec c
+ jr nz, .loop
+ ret
+
+BattleAnimCmd_IncObj: ; cc4c0 (33:44c0)
+ call GetBattleAnimByte
+ ld e, 10
+ ld bc, ActiveAnimObjects
+.loop
+ ld hl, BATTLEANIMSTRUCT_INDEX
+ add hl, bc
+ ld d, [hl]
+ ld a, [BattleAnimByte]
+ cp d
+ jr z, .found
+ ld hl, BATTLEANIMSTRUCT_LENGTH
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .loop
+ ret
+
+.found
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3)
+ call GetBattleAnimByte
+ ld e, 5
+ ld bc, ActiveBGEffects
+.loop
+ ld hl, $0
+ add hl, bc
+ ld d, [hl]
+ ld a, [BattleAnimByte]
+ cp d
+ jr z, .found
+ ld hl, 4
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .loop
+ ret
+
+.found
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimCmd_SetObj: ; cc506 (33:4506)
+ call GetBattleAnimByte
+ ld e, 10
+ ld bc, ActiveAnimObjects
+.loop
+ ld hl, BATTLEANIMSTRUCT_INDEX
+ add hl, bc
+ ld d, [hl]
+ ld a, [BattleAnimByte]
+ cp d
+ jr z, .found
+ ld hl, BATTLEANIMSTRUCT_LENGTH
+ add hl, bc
+ ld c, l
+ ld b, h
+ dec e
+ jr nz, .loop
+ ret
+
+.found
+ call GetBattleAnimByte
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c)
+
+ ld hl, wBattleAnimTileDict
+.loop
+ ld a, [hl]
+ and a
+ jr z, .okay
+ inc hl
+ inc hl
+ jr .loop
+
+.okay
+ ld a, $28
+ ld [hli], a
+ ld a, $42
+ ld [hli], a
+ ld a, $29
+ ld [hli], a
+ ld a, $49
+ ld [hl], a
+
+ ld hl, VTiles0 tile $73
+ ld de, VTiles2 tile $06
+ ld a, $70
+ ld [wBattleAnimTemp0], a
+ ld a, $7
+ call .LoadFootprint
+ ld de, VTiles2 tile $31
+ ld a, $60
+ ld [wBattleAnimTemp0], a
+ ld a, $6
+ call .LoadFootprint
+ ret
+
+.LoadFootprint: ; cc561 (33:4561)
+ push af
+ push hl
+ push de
+ lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 1
+ call Request2bpp
+ pop de
+ ld a, [wBattleAnimTemp0]
+ ld l, a
+ ld h, 0
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld bc, 1 tiles
+ add hl, bc
+ pop af
+ dec a
+ jr nz, .LoadFootprint
+ ret
+
+BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e)
+
+ ld hl, wBattleAnimTileDict
+.loop
+ ld a, [hl]
+ and a
+ jr z, .okay
+ inc hl
+ inc hl
+ jr .loop
+
+.okay
+ ld a, $28
+ ld [hli], a
+ ld a, $35
+ ld [hli], a
+ ld a, $29
+ ld [hli], a
+ ld a, $43
+ ld [hl], a
+
+ ld hl, VTiles0 tile $66
+ ld de, VTiles2 tile $05
+ ld a, $70
+ ld [wBattleAnimTemp0], a
+ ld a, $7
+ call .LoadHead
+ ld de, VTiles2 tile $31
+ ld a, $60
+ ld [wBattleAnimTemp0], a
+ ld a, $6
+ call .LoadHead
+ ret
+
+.LoadHead: ; cc5b3 (33:45b3)
+ push af
+ push hl
+ push de
+ lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 2
+ call Request2bpp
+ pop de
+ ld a, [wBattleAnimTemp0]
+ ld l, a
+ ld h, 0
+ add hl, de
+ ld e, l
+ ld d, h
+ pop hl
+ ld bc, 2 tiles
+ add hl, bc
+ pop af
+ dec a
+ jr nz, .LoadHead
+ ret
+
+BattleAnimCmd_CheckPokeball: ; cc5d0 (33:45d0)
+ callfar GetPokeBallWobble
+ ld a, c
+ ld [BattleAnimVar], a
+ ret
+
+BattleAnimCmd_E7: ; cc5db (33:45db)
+ ret
+
+BattleAnimCmd_Transform: ; cc5dc (33:45dc)
+ ld a, [rSVBK]
+ push af
+ ld a, 1
+ ld [rSVBK], a
+ ld a, [CurPartySpecies] ; CurPartySpecies
+ push af
+
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ ld a, [TempBattleMonSpecies] ; TempBattleMonSpecies
+ ld [CurPartySpecies], a ; CurPartySpecies
+ ld hl, BattleMonDVs ; BattleMonDVs
+ predef GetUnownLetter
+ ld de, VTiles0 tile $00
+ predef GetMonFrontpic
+ jr .done
+
+.player
+ ld a, [TempEnemyMonSpecies] ; TempEnemyMonSpecies
+ ld [CurPartySpecies], a ; CurPartySpecies
+ ld hl, EnemyMonDVs ; EnemyMonDVs
+ predef GetUnownLetter
+ ld de, VTiles0 tile $00
+ predef GetMonBackpic
+
+.done
+ pop af
+ ld [CurPartySpecies], a ; CurPartySpecies
+ pop af
+ ld [rSVBK], a
+ ret
+
+BattleAnimCmd_UpdateActorPic: ; cc622 (33:4622)
+
+ ld de, VTiles0 tile $00
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ ld hl, VTiles2 tile $00
+ ld b, 0
+ ld c, $31
+ call Request2bpp
+ ret
+
+.player
+ ld hl, VTiles2 tile $31
+ ld b, 0
+ ld c, $24
+ call Request2bpp
+ ret
+
+BattleAnimCmd_RaiseSub: ; cc640 (33:4640)
+
+ ld a, [rSVBK]
+ push af
+ ld a, 1
+ ld [rSVBK], a
+ xor a
+ call GetSRAMBank
+
+GetSubstitutePic: ; cc64c
+
+ ld hl, sScratch
+ ld bc, (7 * 7) tiles
+.loop
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop
+
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ ld hl, MonsterSpriteGFX + 0 tiles
+ ld de, sScratch + (2 * 7 + 5) tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 1 tiles
+ ld de, sScratch + (3 * 7 + 5) tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 2 tiles
+ ld de, sScratch + (2 * 7 + 6) tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 3 tiles
+ ld de, sScratch + (3 * 7 + 6) tiles
+ call .CopyTile
+
+ ld hl, VTiles2 tile $00
+ ld de, sScratch
+ lb bc, BANK(GetSubstitutePic), 7 * 7
+ call Request2bpp
+ jr .done
+
+.player
+ ld hl, MonsterSpriteGFX + 4 tiles
+ ld de, sScratch + (2 * 6 + 4) tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 5 tiles
+ ld de, sScratch + (3 * 6 + 4) tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 6 tiles
+ ld de, sScratch + (2 * 6 + 5) tiles
+ call .CopyTile
+ ld hl, MonsterSpriteGFX + 7 tiles
+ ld de, sScratch + (3 * 6 + 5) tiles
+ call .CopyTile
+
+ ld hl, VTiles2 tile $31
+ ld de, sScratch
+ lb bc, BANK(GetSubstitutePic), 6 * 6
+ call Request2bpp
+
+.done
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a
+ ret
+
+.CopyTile: ; cc6c6 (33:46c6)
+ ld bc, 1 tiles
+ ld a, BANK(MonsterSpriteGFX)
+ call FarCopyBytes
+ ret
+
+BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf)
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ xor a
+ call GetSRAMBank
+ call GetMinimizePic
+ call Request2bpp
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a
+ ret
+
+GetMinimizePic: ; cc6e7 (33:46e7)
+ ld hl, sScratch
+ ld bc, $31 tiles
+.loop
+ xor a
+ ld [hli], a
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop
+
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ ld de, sScratch + $1a tiles
+ call CopyMinimizePic
+ ld hl, VTiles2 tile $00
+ ld de, sScratch
+ lb bc, BANK(GetMinimizePic), $31
+ ret
+
+.player
+ ld de, sScratch + $160
+ call CopyMinimizePic
+ ld hl, VTiles2 tile $31
+ ld de, sScratch
+ lb bc, BANK(GetMinimizePic), $24
+ ret
+
+CopyMinimizePic: ; cc719 (33:4719)
+ ld hl, MinimizePic
+ ld bc, $10
+ ld a, BANK(MinimizePic)
+ call FarCopyBytes
+ ret
+; cc725 (33:4725)
+
+MinimizePic: ; cc725
+INCBIN "gfx/battle/minimize.2bpp"
+; cc735
+
+BattleAnimCmd_Minimize: ; cc735 (33:4735)
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ xor a
+ call GetSRAMBank
+ call GetMinimizePic
+ ld hl, VTiles0 tile $00
+ call Request2bpp
+ call CloseSRAM
+ pop af
+ ld [rSVBK], a
+ ret
+
+BattleAnimCmd_DropSub: ; cc750 (33:4750)
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+
+ ld a, [CurPartySpecies] ; CurPartySpecies
+ push af
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ callfar DropEnemySub
+ jr .done
+
+.player
+ callfar DropPlayerSub
+
+.done
+ pop af
+ ld [CurPartySpecies], a ; CurPartySpecies
+ pop af
+ ld [rSVBK], a
+ ret
+
+BattleAnimCmd_BeatUp: ; cc776 (33:4776)
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [CurPartySpecies] ; CurPartySpecies
+ push af
+
+ ld a, [wBattleAnimParam]
+ ld [CurPartySpecies], a ; CurPartySpecies
+
+ ld a, [hBattleTurn]
+ and a
+ jr z, .player
+
+ ld hl, BattleMonDVs
+ predef GetUnownLetter
+ ld de, VTiles2 tile $00
+ predef GetMonFrontpic
+ jr .done
+
+.player
+ ld hl, EnemyMonDVs
+ predef GetUnownLetter
+ ld de, VTiles2 tile $31
+ predef GetMonBackpic
+
+.done
+ pop af
+ ld [CurPartySpecies], a ; CurPartySpecies
+ ld b, SCGB_BATTLE_COLORS
+ call GetSGBLayout
+ pop af
+ ld [rSVBK], a
+ ret
+
+BattleAnimCmd_OAMOn: ; cc7bb (33:47bb)
+ xor a
+ ld [hOAMUpdate], a
+ ret
+
+BattleAnimCmd_OAMOff: ; cc7bf (33:47bf)
+ ld a, $1
+ ld [hOAMUpdate], a
+ ret
+
+BattleAnimCmd_ClearSprites: ; cc7c4 (33:47c4)
+ ld hl, BattleAnimFlags
+ set 3, [hl]
+ ret
+
+BattleAnimCmd_F5: ; cc7ca (33:47ca)
+ ret
+
+BattleAnimCmd_F6: ; cc7cb (33:47cb)
+ ret
+
+BattleAnimCmd_F7: ; cc7cc (33:47cc)
+ ret
+
+BattleAnimCmd_Sound: ; cc7cd (33:47cd)
+ call GetBattleAnimByte
+ ld e, a
+ srl a
+ srl a
+ ld [wSFXDuration], a
+ call .GetCryTrack
+ and 3
+ ld [CryTracks], a ; CryTracks
+
+ ld e, a
+ ld d, 0
+ ld hl, .GetPanning
+ add hl, de
+ ld a, [hl]
+ ld [wStereoPanningMask], a
+
+ call GetBattleAnimByte
+ ld e, a
+ ld d, 0
+ callfar PlayStereoSFX
+
+ ret
+; cc7f8 (33:47f8)
+
+.GetPanning: ; cc7f8
+ db $f0, $0f, $f0, $0f
+; cc7fc
+
+.GetCryTrack: ; cc7fc (33:47fc)
+ ld a, [hBattleTurn]
+ and a
+ jr nz, .enemy
+
+ ld a, e
+ ret
+
+.enemy
+ ld a, e
+ xor 1
+ ret
+
+BattleAnimCmd_Cry: ; cc807 (33:4807)
+ call GetBattleAnimByte
+ and 3
+ ld e, a
+ ld d, 0
+ ld hl, .CryData
+rept 4
+ add hl, de
+endr
+
+ ld a, [rSVBK]
+ push af
+ ld a, 1
+ ld [rSVBK], a
+
+ ld a, [hBattleTurn]
+ and a
+ jr nz, .enemy
+
+ ld a, $f0
+ ld [CryTracks], a ; CryTracks
+ ld a, [BattleMonSpecies] ; BattleMonSpecies
+ jr .done_cry_tracks
+
+.enemy
+ ld a, $0f
+ ld [CryTracks], a ; CryTracks
+ ld a, [EnemyMonSpecies] ; EnemyMon
+
+.done_cry_tracks
+ push hl
+ call LoadCryHeader
+ pop hl
+ jr c, .done
+
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld b, a
+
+ push hl
+ ld hl, CryPitch
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+ ld a, l
+ ld [CryPitch], a
+ ld a, h
+ ld [CryPitch + 1], a
+ pop hl
+
+ ld a, [hli]
+ ld c, a
+ ld b, [hl]
+ ld hl, CryLength ; CryLength
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ add hl, bc
+
+ ld a, l
+ ld [CryLength], a ; CryLength
+ ld a, h
+ ld [CryLength + 1], a
+ ld a, 1
+ ld [wStereoPanningMask], a
+
+ callfar _PlayCryHeader
+
+.done
+ pop af
+ ld [rSVBK], a
+ ret
+; cc871 (33:4871)
+
+.CryData: ; cc871
+; +pitch, +length
+ dw $0000, $00c0
+ dw $0000, $0040
+ dw $0000, $0000
+ dw $0000, $0000
+; cc881
+
+
+PlayHitSound: ; cc881
+ ld a, [wNumHits]
+ cp $1
+ jr z, .okay
+ cp $4
+ ret nz
+
+.okay
+ ld a, [TypeModifier]
+ and $7f
+ ret z
+
+ cp 10
+ ld de, SFX_DAMAGE
+ jr z, .play
+
+ ld de, SFX_SUPER_EFFECTIVE
+ jr nc, .play
+
+ ld de, SFX_NOT_VERY_EFFECTIVE
+
+.play
+ call PlaySFX
+ ret
+; cc8a4
+
+BattleAnimAssignPals: ; cc8a4
+ ld a, [hCGB]
+ and a
+ jr nz, .cgb
+ ld a, [hSGB]
+ and a
+ ld a, %11100000
+ jr z, .sgb
+ ld a, %11110000
+
+.sgb
+ ld [wOBP0], a
+ ld a, %11100100
+ ld [wBGP], a
+ ld [wOBP1], a
+ ret
+
+.cgb
+ ld a, %11100100
+ ld [wBGP], a
+ ld [wOBP0], a
+ ld [wOBP1], a
+ call DmgToCgbBGPals
+ lb de, %11100100, %11100100
+ call DmgToCgbObjPals
+ ret
+; cc8d3
+
+ClearBattleAnims: ; cc8d3
+; Clear animation block
+ ld hl, LYOverrides
+ ld bc, wBattleAnimEnd - LYOverrides
+.loop
+ ld [hl], $0
+ inc hl
+ dec bc
+ ld a, c
+ or b
+ jr nz, .loop
+
+ ld hl, FXAnimID
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, BattleAnimations
+ add hl, de
+ add hl, de
+ call GetBattleAnimPointer
+ call BattleAnimAssignPals
+ call BattleAnimDelayFrame
+ ret
+; cc8f6
+
+BattleAnim_RevertPals: ; cc8f6
+ call WaitTop
+ ld a, %11100100
+ ld [wBGP], a
+ ld [wOBP0], a
+ ld [wOBP1], a
+ call DmgToCgbBGPals
+ lb de, %11100100, %11100100
+ call DmgToCgbObjPals
+ xor a
+ ld [hSCX], a
+ ld [hSCY], a
+ call BattleAnimDelayFrame
+ ld a, $1
+ ld [hBGMapMode], a
+ ret
+; cc91a
+
+BattleAnim_SetBGPals: ; cc91a
+ ld [rBGP], a
+ ld a, [hCGB]
+ and a
+ ret z
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, BGPals
+ ld de, UnknBGPals
+ ld a, [rBGP]
+ ld b, a
+ ld c, 7
+ call CopyPals
+ ld hl, OBPals
+ ld de, UnknOBPals
+ ld a, [rBGP]
+ ld b, a
+ ld c, 2
+ call CopyPals
+ pop af
+ ld [rSVBK], a
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; cc94b
+
+BattleAnim_SetOBPals: ; cc94b
+ ld [rOBP0], a
+ ld a, [hCGB]
+ and a
+ ret z
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld hl, OBPals palette PAL_BATTLE_OB_GRAY
+ ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY
+ ld a, [rOBP0]
+ ld b, a
+ ld c, 2
+ call CopyPals
+ pop af
+ ld [rSVBK], a
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+; cc96e
+
+BattleAnim_UpdateOAM_All: ; cc96e
+ ld a, $0
+ ld [wBattleAnimOAMPointerLo], a
+ ld hl, ActiveAnimObjects
+ ld e, 10
+.loop
+ ld a, [hl]
+ and a
+ jr z, .next
+ ld c, l
+ ld b, h
+ push hl
+ push de
+ call DoBattleAnimFrame
+ call BattleAnimOAMUpdate
+ pop de
+ pop hl
+ jr c, .done
+
+.next
+ ld bc, BATTLEANIMSTRUCT_LENGTH
+ add hl, bc
+ dec e
+ jr nz, .loop
+ ld a, [wBattleAnimOAMPointerLo]
+ ld l, a
+ ld h, HIGH(Sprites)
+.loop2
+ ld a, l
+ cp LOW(SpritesEnd)
+ jr nc, .done
+ xor a
+ ld [hli], a
+ jr .loop2
+
+.done
+ ret
+; cc9a1
--- /dev/null
+++ b/engine/battle_anims/bg_effects.asm
@@ -1,0 +1,2958 @@
+ const_def
+ const BGSQUARE_SIX
+ const BGSQUARE_FOUR
+ const BGSQUARE_TWO
+ const BGSQUARE_SEVEN
+ const BGSQUARE_FIVE
+ const BGSQUARE_THREE
+
+; BG effects for use in battle animations.
+
+ExecuteBGEffects: ; c8000 (32:4000)
+ ld hl, ActiveBGEffects
+ ld e, 5
+.loop
+ ld a, [hl]
+ and a
+ jr z, .next
+ ld c, l
+ ld b, h
+ push hl
+ push de
+ call DoBattleBGEffectFunction
+ pop de
+ pop hl
+.next
+ ld bc, 4
+ add hl, bc
+ dec e
+ jr nz, .loop
+ ret
+
+QueueBGEffect: ; c801a (32:401a)
+ ld hl, ActiveBGEffects
+ ld e, 5
+.loop
+ ld a, [hl]
+ and a
+ jr z, .load
+ ld bc, 4
+ add hl, bc
+ dec e
+ jr nz, .loop
+ scf
+ ret
+
+.load
+ ld c, l
+ ld b, h
+ ld hl, BG_EFFECT_STRUCT_FUNCTION
+ add hl, bc
+ ld a, [wBattleAnimTemp0]
+ ld [hli], a
+ ld a, [wBattleAnimTemp1]
+ ld [hli], a
+ ld a, [wBattleAnimTemp2]
+ ld [hli], a
+ ld a, [wBattleAnimTemp3]
+ ld [hl], a
+ ret
+
+EndBattleBGEffect: ; c8043 (32:4043)
+ ld hl, BG_EFFECT_STRUCT_FUNCTION
+ add hl, bc
+ ld [hl], 0
+ ret
+
+DoBattleBGEffectFunction: ; c804a (32:404a)
+ ld hl, BG_EFFECT_STRUCT_FUNCTION
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, BattleBGEffects
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+BattleBGEffects: ; c805a (32:405a)
+; entries correspond to ANIM_BG_* constants
+ dw BattleBGEffect_End
+ dw BattleBGEffect_FlashInverted
+ dw BattleBGEffect_FlashWhite
+ dw BattleBGEffect_WhiteHues
+ dw BattleBGEffect_BlackHues
+ dw BattleBGEffect_AlternateHues
+ dw BattleBGEffect_06
+ dw BattleBGEffect_07
+ dw BattleBGEffect_08
+ dw BattleBGEffect_HideMon
+ dw BattleBGEffect_ShowMon
+ dw BattleBGEffect_EnterMon
+ dw BattleBGEffect_ReturnMon
+ dw BattleBGEffect_Surf
+ dw BattleBGEffect_Whirlpool
+ dw BattleBGEffect_Teleport
+ dw BattleBGEffect_NightShade
+ dw BattleBGEffect_FeetFollow
+ dw BattleBGEffect_HeadFollow
+ dw BattleBGEffect_DoubleTeam
+ dw BattleBGEffect_AcidArmor
+ dw BattleBGEffect_RapidFlash
+ dw BattleBGEffect_16
+ dw BattleBGEffect_17
+ dw BattleBGEffect_18
+ dw BattleBGEffect_19
+ dw BattleBGEffect_1a
+ dw BattleBGEffect_1b
+ dw BattleBGEffect_1c
+ dw BattleBGEffect_1d
+ dw BattleBGEffect_1e
+ dw BattleBGEffect_1f
+ dw BattleBGEffect_20
+ dw BattleBGEffect_Withdraw
+ dw BattleBGEffect_BounceDown
+ dw BattleBGEffect_Dig
+ dw BattleBGEffect_Tackle
+ dw BattleBGEffect_25
+ dw BattleBGEffect_26
+ dw BattleBGEffect_27
+ dw BattleBGEffect_28
+ dw BattleBGEffect_Psychic
+ dw BattleBGEffect_2a
+ dw BattleBGEffect_2b
+ dw BattleBGEffect_2c
+ dw BattleBGEffect_2d
+ dw BattleBGEffect_2e
+ dw BattleBGEffect_2f
+ dw BattleBGEffect_30
+ dw BattleBGEffect_31
+ dw BattleBGEffect_32
+ dw BattleBGEffect_VibrateMon
+ dw BattleBGEffect_WobbleMon
+ dw BattleBGEffect_35
+
+
+BattleBGEffect_End: ; c80c6 (32:40c6)
+ call EndBattleBGEffect
+ ret
+
+BatttleBGEffects_GetNamedJumptablePointer: ; c80ca (32:40ca)
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld l, [hl]
+ ld h, 0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ret
+
+BattleBGEffects_AnonJumptable: ; c80d7 (32:40d7)
+ pop de
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld l, [hl]
+ ld h, 0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+BattleBGEffects_IncrementJumptable: ; c80e5 (32:40e5)
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleBGEffect_FlashInverted: ; c80eb (32:40eb)
+ ld de, .inverted
+ jp BattleBGEffect_FlashContinue
+
+.inverted
+ db %11100100 ; 3210
+ db %00011011 ; 0123
+; c80f3
+
+BattleBGEffect_FlashWhite: ; c80f3 (32:40f3)
+ ld de, .white
+ jp BattleBGEffect_FlashContinue
+
+.white
+ db %11100100 ; 3210
+ db %00000000 ; 0000
+; c80fb
+
+BattleBGEffect_FlashContinue: ; c80fb (32:40fb)
+; current timer, flash duration, number of flashes
+ ld a, $1
+ ld [wBattleAnimTemp0], a
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .init
+ dec [hl]
+ ret
+
+.init
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .apply_pal
+ call EndBattleBGEffect
+ ret
+
+.apply_pal
+ dec a
+ ld [hl], a
+ and 1
+ ld l, a
+ ld h, 0
+ add hl, de
+ ld a, [hl]
+ ld [wBGP], a
+ ret
+
+BattleBGEffect_WhiteHues: ; c812d (32:412d)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
+ ld [wBGP], a
+ ret
+
+.quit
+ call EndBattleBGEffect
+ ret
+
+.Pals:
+ db %11100100
+ db %11100000
+ db %11010000
+ db -1
+; c8141
+
+BattleBGEffect_BlackHues: ; c8141 (32:4141)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
+ ld [wBGP], a
+ ret
+
+.quit
+ call EndBattleBGEffect
+ ret
+
+.Pals:
+ db %11100100
+ db %11110100
+ db %11111000
+ db -1
+; c8155
+
+BattleBGEffect_AlternateHues: ; c8155 (32:4155)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
+ ld [wBGP], a
+ ld [wOBP1], a
+ ret
+
+.quit
+ call EndBattleBGEffect
+ ret
+
+.Pals:
+ db %11100100
+ db %11111000
+ db %11111100
+ db %11111000
+ db %11100100
+ db %10010000
+ db %01000000
+ db %10010000
+ db -2
+; c8171
+
+BattleBGEffect_06: ; c8171 (32:4171)
+ call BattleBGEffects_CheckSGB
+ jr nz, .sgb
+ ld de, .PalsCGB
+ jr .okay
+
+.sgb
+ ld de, .PalsSGB
+.okay
+ call BattleBGEffect_GetNthDMGPal
+ ld [wOBP0], a
+ ret
+
+.PalsCGB:
+ db %11100100
+ db %10010000
+ db -2
+
+.PalsSGB:
+ db %11110000
+ db %11000000
+ db -2
+; c818b
+
+BattleBGEffect_07: ; c818b (32:418b)
+ call BattleBGEffects_CheckSGB
+ jr nz, .sgb
+ ld de, .PalsCGB
+ jr .okay
+
+.sgb
+ ld de, .PalsSGB
+.okay
+ call BattleBGEffect_GetNthDMGPal
+ ld [wOBP0], a
+ ret
+
+.PalsCGB:
+ db %11100100
+ db %11011000
+ db -2
+
+.PalsSGB:
+ db %11110000
+ db %11001100
+ db -2
+; c81a5
+
+BattleBGEffect_08: ; c81a5 (32:41a5)
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ ld [wBGP], a
+ ret
+
+.Pals:
+ db %00011011
+ db %01100011
+ db %10000111
+ db -2
+; c81b3
+
+BattleBGEffect_HideMon: ; c81b3 (32:41b3)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .four
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ push bc
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
+ hlcoord 12, 0
+ lb bc, 7, 7
+ jr .got_pointer
+
+.player_side
+ hlcoord 2, 6
+ lb bc, 6, 6
+.got_pointer
+ call ClearBox
+ pop bc
+ xor a
+ ld [hBGMapThird], a
+ ld a, $1
+ ld [hBGMapMode], a
+ ret
+
+.four
+ xor a
+ ld [hBGMapMode], a
+ call EndBattleBGEffect
+ ret
+
+BattleBGEffect_ShowMon: ; c81ea (32:41ea)
+ call BGEffect_CheckFlyDigStatus
+ jr z, .not_flying
+ call EndBattleBGEffect
+ ret
+
+.not_flying
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
+ ld de, .EnemyData
+ jr .got_pointer
+
+.player_side
+ ld de, .PlayerData
+.got_pointer
+ ld a, e
+ ld [wBattleAnimTemp1], a
+ ld a, d
+ ld [wBattleAnimTemp2], a
+ call BattleBGEffect_RunPicResizeScript
+ ret
+
+.PlayerData:
+ db 0, $31, 0
+ db -1
+.EnemyData:
+ db 3, $00, 3
+ db -1
+; c8214
+
+BattleBGEffect_FeetFollow: ; c8214 (32:4214)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .five
+
+
+.zero
+ call BGEffect_CheckFlyDigStatus
+ jr z, .not_flying_digging
+ ld hl, wNumActiveBattleAnims
+ inc [hl]
+ call EndBattleBGEffect
+ ret
+
+.not_flying_digging
+ call BattleBGEffects_IncrementJumptable
+ push bc
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld a, ANIM_OBJ_PLAYERFEETFOLLOW
+ ld [wBattleAnimTemp0], a
+ ld a, 16 * 8 + 4
+ jr .okay
+
+.player_turn
+ ld a, ANIM_OBJ_ENEMYFEETFOLLOW
+ ld [wBattleAnimTemp0], a
+ ld a, 6 * 8
+.okay
+ ld [wBattleAnimTemp1], a
+ ld a, 8 * 8
+ ld [wBattleAnimTemp2], a
+ xor a
+ ld [wBattleAnimTemp3], a
+ call _QueueBattleAnimation
+ pop bc
+ ret
+
+.one
+ call BattleBGEffects_IncrementJumptable
+ push bc
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn_2
+ hlcoord 12, 6
+ lb bc, 1, 7
+ jr .okay2
+
+.player_turn_2
+ hlcoord 2, 6
+ lb bc, 1, 6
+.okay2
+ call ClearBox
+ ld a, $1
+ ld [hBGMapMode], a
+ pop bc
+ ret
+
+.five
+ xor a
+ ld [hBGMapMode], a
+ call EndBattleBGEffect
+ ret
+
+BattleBGEffect_HeadFollow: ; c8281 (32:4281)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .five
+
+
+.zero
+ call BGEffect_CheckFlyDigStatus
+ jr z, .not_flying_digging
+ ld hl, wNumActiveBattleAnims
+ inc [hl]
+ call EndBattleBGEffect
+ ret
+
+.not_flying_digging
+ call BattleBGEffects_IncrementJumptable
+ push bc
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld a, ANIM_OBJ_BA
+ ld [wBattleAnimTemp0], a
+ ld a, 16 * 8 + 4
+ jr .okay
+
+.player_turn
+ ld a, ANIM_OBJ_BB
+ ld [wBattleAnimTemp0], a
+ ld a, 6 * 8
+.okay
+ ld [wBattleAnimTemp1], a
+ ld a, 8 * 8
+ ld [wBattleAnimTemp2], a
+ xor a
+ ld [wBattleAnimTemp3], a
+ call _QueueBattleAnimation
+ pop bc
+ ret
+
+.one
+ call BattleBGEffects_IncrementJumptable
+ push bc
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn_2
+ hlcoord 12, 5
+ lb bc, 2, 7
+ jr .okay2
+
+.player_turn_2
+ hlcoord 2, 6
+ lb bc, 2, 6
+.okay2
+ call ClearBox
+ ld a, $1
+ ld [hBGMapMode], a
+ pop bc
+ ret
+
+.five
+ xor a
+ ld [hBGMapMode], a
+ call EndBattleBGEffect
+ ret
+
+_QueueBattleAnimation: ; c82ee (32:42ee)
+ callfar QueueBattleAnimation
+ ret
+
+BattleBGEffect_27: ; c82f5 (32:42f5)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .four
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BGEffect_CheckBattleTurn
+ ld [hl], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .user
+ ld a, $9
+ jr .okay
+
+.user
+ ld a, $8
+.okay
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], a
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .user_2
+ hlcoord 0, 6
+ lb de, 8, 6
+.row1
+ push de
+ push hl
+.col1
+ inc hl
+ ld a, [hld]
+ ld [hli], a
+ dec d
+ jr nz, .col1
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+ pop de
+ dec e
+ jr nz, .row1
+ jr .okay2
+
+.user_2
+ hlcoord 19, 0
+ lb de, 8, 7
+.row2
+ push de
+ push hl
+.col2
+ dec hl
+ ld a, [hli]
+ ld [hld], a
+ dec d
+ jr nz, .col2
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+ pop de
+ dec e
+ jr nz, .row2
+.okay2
+ xor a
+ ld [hBGMapThird], a
+ ld a, $1
+ ld [hBGMapMode], a
+ call BattleBGEffects_IncrementJumptable
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ dec [hl]
+ ret
+
+.four
+ xor a
+ ld [hBGMapMode], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .done
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld [hl], $1
+ ret
+
+.done
+ call EndBattleBGEffect
+ ret
+
+BattleBGEffect_EnterMon: ; c837b (32:437b)
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld de, .EnemyData
+ jr .okay
+
+.player_turn
+ ld de, .PlayerData
+.okay
+ ld a, e
+ ld [wBattleAnimTemp1], a
+ ld a, d
+ ld [wBattleAnimTemp2], a
+ call BattleBGEffect_RunPicResizeScript
+ ret
+
+.PlayerData:
+ db 2, $31, 2
+ db 1, $31, 1
+ db 0, $31, 0
+ db -1
+.EnemyData:
+ db 5, $00, 5
+ db 4, $00, 4
+ db 3, $00, 3
+ db -1
+; c83a8
+
+BattleBGEffect_ReturnMon: ; c83a8 (32:43a8)
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld de, .EnemyData
+ jr .okay
+
+.player_turn
+ ld de, .PlayerData
+.okay
+ ld a, e
+ ld [wBattleAnimTemp1], a
+ ld a, d
+ ld [wBattleAnimTemp2], a
+ call BattleBGEffect_RunPicResizeScript
+ ret
+
+.PlayerData:
+ db 0, $31, 0
+ db -2, $66, 0
+ db 1, $31, 1
+ db -2, $44, 1
+ db 2, $31, 2
+ db -2, $22, 2
+ db -3, $00, 0
+ db -1
+.EnemyData:
+ db 3, $00, 3
+ db -2, $77, 3
+ db 4, $00, 4
+ db -2, $55, 4
+ db 5, $00, 5
+ db -2, $33, 5
+ db -3, $00, 0
+ db -1
+; c83ed
+
+BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw BattleBGEffects_IncrementJumptable
+ dw BattleBGEffects_IncrementJumptable
+ dw .restart
+ dw .end
+
+
+.zero
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld e, [hl]
+ ld d, $0
+ inc [hl]
+ ld a, [wBattleAnimTemp1]
+ ld l, a
+ ld a, [wBattleAnimTemp2]
+ ld h, a
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hl]
+ cp -1
+ jr z, .end
+ cp -2
+ jr z, .clear
+ cp -3
+ jr z, .skip
+ call .PlaceGraphic
+.skip
+ call BattleBGEffects_IncrementJumptable
+ ld a, $1
+ ld [hBGMapMode], a
+ ret
+
+.clear
+ call .ClearBox
+ jr .zero
+
+.restart
+ xor a
+ ld [hBGMapMode], a
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.end
+ xor a
+ ld [hBGMapMode], a
+ call EndBattleBGEffect
+ ret
+
+.ClearBox:
+; get dims
+ push bc
+ inc hl
+ ld a, [hli]
+ ld b, a
+ and $f
+ ld c, a
+ ld a, b
+ swap a
+ and $f
+ ld b, a
+; get coords
+ ld e, [hl]
+ ld d, 0
+ ld hl, .Coords
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ call ClearBox
+ pop bc
+ ret
+
+.PlaceGraphic:
+; get dims
+ push bc
+ push hl
+ ld e, [hl]
+ ld d, 0
+ ld hl, .BGSquares
+ add hl, de
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld b, a
+ and $f
+ ld c, a
+ ld a, b
+ swap a
+ and $f
+ ld b, a
+; store pointer
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+; get byte
+ pop hl
+ inc hl
+ ld a, [hli]
+ ld [wBattleAnimTemp0], a
+; get coord
+ push de
+ ld e, [hl]
+ ld d, 0
+ ld hl, .Coords
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+; fill box
+.row
+ push bc
+ push hl
+ ld a, [wBattleAnimTemp0]
+ ld b, a
+.col
+ ld a, [de]
+ add b
+ ld [hli], a
+ inc de
+ dec c
+ jr nz, .col
+ pop hl
+ ld bc, SCREEN_WIDTH
+ add hl, bc
+ pop bc
+ dec b
+ jr nz, .row
+ pop bc
+ ret
+
+.Coords:
+ dwcoord 2, 6
+ dwcoord 3, 8
+ dwcoord 4, 10
+ dwcoord 12, 0
+ dwcoord 13, 2
+ dwcoord 14, 4
+
+.BGSquares:
+bgsquare: MACRO
+ dn \1, \2
+ dw \3
+endm
+
+ bgsquare 6, 6, .SixBySix
+ bgsquare 4, 4, .FourByFour
+ bgsquare 2, 2, .TwoByTwo
+ bgsquare 7, 7, .SevenBySeven
+ bgsquare 5, 5, .FiveByFive
+ bgsquare 3, 3, .ThreeByThree
+
+.SixBySix:
+ db $00, $06, $0c, $12, $18, $1e
+ db $01, $07, $0d, $13, $19, $1f
+ db $02, $08, $0e, $14, $1a, $20
+ db $03, $09, $0f, $15, $1b, $21
+ db $04, $0a, $10, $16, $1c, $22
+ db $05, $0b, $11, $17, $1d, $23
+
+.FourByFour:
+ db $00, $0c, $12, $1e
+ db $02, $0e, $14, $20
+ db $03, $0f, $15, $21
+ db $05, $11, $17, $23
+
+.TwoByTwo:
+ db $00, $1e
+ db $05, $23
+
+.SevenBySeven:
+ db $00, $07, $0e, $15, $1c, $23, $2a
+ db $01, $08, $0f, $16, $1d, $24, $2b
+ db $02, $09, $10, $17, $1e, $25, $2c
+ db $03, $0a, $11, $18, $1f, $26, $2d
+ db $04, $0b, $12, $19, $20, $27, $2e
+ db $05, $0c, $13, $1a, $21, $28, $2f
+ db $06, $0d, $14, $1b, $22, $29, $30
+
+.FiveByFive:
+ db $00, $07, $15, $23, $2a
+ db $01, $08, $16, $24, $2b
+ db $03, $0a, $18, $26, $2d
+ db $05, $0c, $1a, $28, $2f
+ db $06, $0d, $1b, $29, $30
+
+.ThreeByThree:
+ db $00, $15, $2a
+ db $03, $18, $2d
+ db $06, $1b, $30
+; c8545
+
+BattleBGEffect_Surf: ; c8545 (32:4545)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ lb de, 2, 2
+ call InitSurfWaves
+
+.one
+ ld a, [hLCDCPointer]
+ and a
+ ret z
+ push bc
+ call .RotatewSurfWaveBGEffect
+ pop bc
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+.RotatewSurfWaveBGEffect:
+ ld hl, wSurfWaveBGEffect
+ ld de, wSurfWaveBGEffect + 1
+ ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1
+ ld a, [hl]
+ push af
+.loop
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .loop
+ pop af
+ ld [hl], a
+ ld de, LYOverridesBackup
+ ld hl, wSurfWaveBGEffect
+ ld bc, $0
+.loop2
+ ld a, [hLYOverrideStart]
+ cp e
+ jr nc, .load_zero
+ push hl
+ add hl, bc
+ ld a, [hl]
+ pop hl
+ jr .okay
+
+.load_zero
+ xor a
+.okay
+ ld [de], a
+ ld a, c
+ inc a
+ and $3f
+ ld c, a
+ inc de
+ ld a, e
+ cp $5f
+ jr c, .loop2
+ ret
+
+BattleBGEffect_Whirlpool: ; c8599 (32:4599)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCY - $ff00
+ ld [hLCDCPointer], a
+ xor a
+ ld [hLYOverrideStart], a
+ ld a, $5e
+ ld [hLYOverrideEnd], a
+ lb de, 2, 2
+ call Functionc8f2e
+ ret
+
+.one
+ call BattleBGEffect_WavyScreenFX
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_30: ; c85c2 (32:45c2)
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCY - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ call EndBattleBGEffect
+ ret
+
+BattleBGEffect_31: ; c85ce (32:45ce)
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ ld e, a
+ add $4
+ ld [hl], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ xor $ff
+ add $4
+ ld d, a
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld a, [hl]
+ ld [wBattleAnimTemp0], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .done
+ inc [hl]
+ inc [hl]
+ call Functionc8f9a
+ ret
+
+.done
+ call BattleBGEffects_ClearLYOverrides
+ call EndBattleBGEffect
+ ret
+
+BattleBGEffect_32: ; c8603 (32:4603)
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_Psychic: ; c8607 (32:4607)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ ld [hLCDCPointer], a
+ xor a
+ ld [hLYOverrideStart], a
+ ld a, $5f
+ ld [hLYOverrideEnd], a
+ lb de, 6, 5
+ call Functionc8f2e
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3
+ ret nz
+ call BattleBGEffect_WavyScreenFX
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_Teleport: ; c863f (32:463f)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ lb de, 6, 5
+ call Functionc8f2e
+ ret
+
+.one
+ call BattleBGEffect_WavyScreenFX
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_NightShade: ; c8662 (32:4662)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCY - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld e, [hl]
+ ld d, 2
+ call Functionc8f2e
+ ret
+
+.one
+ call BattleBGEffect_WavyScreenFX
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_DoubleTeam: ; c8689 (32:4689)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, .next
+ inc [hl]
+ call .UpdateLYOverrides
+ ret
+
+.three
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ cp $ff
+ jr z, .next
+ dec [hl]
+ call .UpdateLYOverrides
+ ret
+
+.next
+ call BattleBGEffects_IncrementJumptable
+ ret
+
+.two
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ ld d, $2
+ call BattleBGEffects_Sine
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ add [hl]
+ call .UpdateLYOverrides
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+
+.four
+ ret
+
+.UpdateLYOverrides:
+ ld e, a
+ xor $ff
+ inc a
+ ld d, a
+ ld h, HIGH(LYOverridesBackup)
+ ld a, [hLYOverrideStart]
+ ld l, a
+ ld a, [hLYOverrideEnd]
+ sub l
+ srl a
+ push af
+.loop
+ ld [hl], e
+ inc hl
+ ld [hl], d
+ inc hl
+ dec a
+ jr nz, .loop
+ pop af
+ ret nc
+ ld [hl], e
+ ret
+
+.five
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_AcidArmor: ; c8709 (32:4709)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCY - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld e, [hl]
+ ld d, 2
+ call Functionc8f2e
+ ld h, HIGH(LYOverridesBackup)
+ ld a, [hLYOverrideEnd]
+ ld l, a
+ ld [hl], $0
+ dec l
+ ld [hl], $0
+ ret
+
+.one
+ ld a, [hLYOverrideEnd]
+ ld l, a
+ ld h, HIGH(LYOverridesBackup)
+ ld e, l
+ ld d, h
+ dec de
+.loop
+ ld a, [de]
+ dec de
+ ld [hld], a
+ ld a, [hLYOverrideStart]
+ cp l
+ jr nz, .loop
+ ld [hl], $90
+ ld a, [hLYOverrideEnd]
+ ld l, a
+ ld a, [hl]
+ cp $1
+ jr c, .okay
+ cp $90
+ jr z, .okay
+ ld [hl], $0
+.okay
+ dec l
+ ld a, [hl]
+ cp $2
+ ret c
+ cp $90
+ ret z
+ ld [hl], $0
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_Withdraw: ; c8761 (32:4761)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCY - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], $1
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ cp d
+ ret nc
+ call BGEffect_DisplaceLYOverridesBackup
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ rlca
+ rlca
+ and $3
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_Dig: ; c87a7 (32:47a7)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCY - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], $2
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .next
+ dec [hl]
+ ret
+
+.next
+ ld [hl], $10
+ call BattleBGEffects_IncrementJumptable
+.two
+ ld a, [hLYOverrideStart]
+ ld l, a
+ ld a, [hLYOverrideEnd]
+ sub l
+ dec a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ cp [hl]
+ ret c
+ ld a, [hl]
+ push af
+ and $7
+ jr nz, .skip
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ dec [hl]
+.skip
+ pop af
+ call BGEffect_DisplaceLYOverridesBackup
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+.three
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_Tackle: ; c8805 (32:4805)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw Tackle_BGEffect25_2d_one
+ dw Tackle_BGEffect25_2d_two
+ dw .three
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
+ ld a, 2
+ jr .okay
+
+.player_side
+ ld a, -2
+.okay
+ ld [hl], a
+ ret
+
+.three
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_25: ; c8837 (32:4837)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw Tackle_BGEffect25_2d_one
+ dw Tackle_BGEffect25_2d_two
+ dw .three
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms2
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_side
+ ld a, 2
+ jr .okay
+
+.player_side
+ ld a, -2
+.okay
+ ld [hl], a
+ ret
+
+.three
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+Tackle_BGEffect25_2d_one:
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ cp -8
+ jr z, .reached_limit
+ cp 8
+ jr nz, .finish
+.reached_limit
+ call BattleBGEffects_IncrementJumptable
+.finish
+ call Functionc88a5
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Tackle_BGEffect25_2d_two:
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_c8893
+ call BattleBGEffects_IncrementJumptable
+.asm_c8893
+ call Functionc88a5
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Functionc88a5: ; c88a5 (32:48a5)
+ push af
+ ld a, [FXAnimID + 1] ; FXAnimID + 1
+ or a
+ jr nz, .not_rollout
+ ld a, [FXAnimID] ; FXAnimID
+ cp ROLLOUT
+ jr z, .rollout
+.not_rollout
+ pop af
+ jp BGEffect_FillLYOverridesBackup
+
+.rollout
+ ld a, [hLYOverrideStart]
+ ld d, a
+ ld a, [hLYOverrideEnd]
+ sub d
+ ld d, a
+ ld h, HIGH(LYOverridesBackup)
+ ld a, [hSCY]
+ or a
+ jr nz, .skip1
+ ld a, [hLYOverrideStart]
+ or a
+ jr z, .skip2
+ dec a
+ ld l, a
+ ld [hl], $0
+ jr .skip2
+
+.skip1
+ ld a, [hLYOverrideEnd]
+ dec a
+ ld l, a
+ ld [hl], $0
+.skip2
+ ld a, [hSCY]
+ ld l, a
+ ld a, [hLYOverrideStart]
+ sub l
+ jr nc, .skip3
+ xor a
+ dec d
+.skip3
+ ld l, a
+ pop af
+.loop
+ ld [hli], a
+ dec d
+ jr nz, .loop
+ ret
+
+BattleBGEffect_2d: ; c88e7 (32:48e7)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw BGEffect2d_2f_zero
+ dw Tackle_BGEffect25_2d_one
+ dw Tackle_BGEffect25_2d_two
+ dw .three
+
+
+.three
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BGEffect2d_2f_zero:
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ ld a, -2
+ jr .okay
+
+.player_turn
+ ld a, 2
+.okay
+ ld [hl], a
+ ret
+
+BattleBGEffect_2f: ; c8919 (32:4919)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw BGEffect2d_2f_zero
+ dw Tackle_BGEffect25_2d_one
+ dw .two
+ dw Tackle_BGEffect25_2d_two
+ dw .four
+
+.four
+ call BattleAnim_ResetLCDStatCustom
+.two
+ ret
+
+BattleBGEffect_26: ; c892a (32:492a)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call BattleBGEffects_Sine
+ call BGEffect_FillLYOverridesBackup
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_2c: ; c8964 (32:4964)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ xor a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ ld d, $6
+ call BattleBGEffects_Sine
+ push af
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ ld d, $2
+ call BattleBGEffects_Sine
+ ld e, a
+ pop af
+ add e
+ call BGEffect_FillLYOverridesBackup
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_28: ; c89b5 (32:49b5)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret nc
+ inc [hl]
+ ld d, a
+ ld e, 4
+ call Functionc8f2e
+ ret
+
+.two
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .reset
+ dec [hl]
+ ld d, a
+ ld e, 4
+ call Functionc8f2e
+ ret
+
+.reset
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_BounceDown: ; c89ee (32:49ee)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCY - $ff00
+ call BattleBGEffect_SetLCDStatCustoms2
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], $1
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $20
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ ret nc
+ push af
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleBGEffects_Cosine
+ add $10
+ ld d, a
+ pop af
+ add d
+ call BGEffect_DisplaceLYOverridesBackup
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+.two
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_2a: ; c8a3a (32:4a3a)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ ld a, $e4
+ call BattleBGEffects_SetLYOverrides
+ ld a, $47
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld a, [hLYOverrideStart]
+ ld l, a
+ ld h, HIGH(LYOverridesBackup)
+.loop
+ ld a, [hLYOverrideEnd]
+ cp l
+ jr z, .done
+ xor a
+ ld [hli], a
+ jr .loop
+
+.done
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+.one
+.four
+ ret
+
+.two
+ call .GetLYOverride
+ jr nc, .next
+ call .SetLYOverridesBackup
+ ret
+
+.next
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ ld a, [hLYOverrideStart]
+ inc a
+ ld [hLYOverrideStart], a
+ call BattleBGEffects_IncrementJumptable
+ ret
+
+.three
+ call .GetLYOverride
+ jr nc, .finish
+ call .SetLYOverridesBackup
+ ld a, [hLYOverrideEnd]
+ dec a
+ ld l, a
+ ld [hl], e
+ ret
+
+.finish
+ call BattleBGEffects_IncrementJumptable
+ ret
+
+.SetLYOverridesBackup:
+ ld e, a
+ ld a, [hLYOverrideStart]
+ ld l, a
+ ld a, [hLYOverrideEnd]
+ sub l
+ srl a
+ ld h, HIGH(LYOverridesBackup)
+.loop2
+ ld [hl], e
+ inc hl
+ inc hl
+ dec a
+ jr nz, .loop2
+ ret
+
+.five
+ call BattleBGEffects_ResetVideoHRAM
+ ret
+
+.GetLYOverride:
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ srl a
+ srl a
+ srl a
+ ld e, a
+ ld d, 0
+ ld hl, .data
+ add hl, de
+ ld a, [hl]
+ cp $ff
+ ret
+
+.data
+ db $00, $40, $90, $e4
+ db -1
+; c8acc
+
+BattleBGEffect_2b: ; c8acc (32:4acc)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], $40
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .done
+ dec [hl]
+ srl a
+ srl a
+ srl a
+ and $f
+ ld d, a
+ ld e, a
+ call Functionc8f2e
+ ret
+
+.done
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_1c: ; c8b00 (32:4b00)
+ ld a, [hCGB]
+ and a
+ jr nz, .cgb
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero
+ call BattleBGEffects_IncrementJumptable
+ ld a, $e4
+ call BattleBGEffects_SetLYOverrides
+ ld a, rBGP - $ff00
+ ld [hLCDCPointer], a
+ xor a
+ ld [hLYOverrideStart], a
+ ld a, $60
+ ld [hLYOverrideEnd], a
+ ret
+
+.one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld e, a
+ and $7
+ ret nz
+ ld a, e
+ and $18
+ sla a
+ swap a
+ sla a
+ ld e, a
+ ld d, $0
+ push bc
+ call BGEffect_CheckBattleTurn
+ jr nz, .player
+ ld hl, .CGB_DMGEnemyData
+ add hl, de
+ ld a, [hli]
+ ld [wOBP1], a
+ ld d, a
+ ld e, [hl]
+ lb bc, $2f, $30
+ jr .okay
+
+.player
+ ld hl, .DMG_PlayerData
+ add hl, de
+ ld d, [hl]
+ inc hl
+ ld a, [hl]
+ ld [wOBP1], a
+ ld e, a
+ lb bc, $37, $28
+.okay
+ call .DMG_LYOverrideLoads
+ pop bc
+ ret
+
+.two
+ call BattleBGEffects_ResetVideoHRAM
+ ld a, $e4
+ ld [wBGP], a
+ ld [wOBP1], a
+ ret
+
+.DMG_LYOverrideLoads:
+ ld hl, LYOverridesBackup
+.loop1
+ ld [hl], d
+ inc hl
+ dec b
+ jr nz, .loop1
+.loop2
+ ld [hl], e
+ inc hl
+ dec c
+ jr nz, .loop2
+ ret
+
+.cgb
+ ld de, .Jumptable
+ call BatttleBGEffects_GetNamedJumptablePointer
+ jp hl
+
+.Jumptable:
+ dw .cgb_zero
+ dw .cgb_one
+ dw .cgb_two
+.cgb_zero
+ call BattleBGEffects_IncrementJumptable
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.cgb_one
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld e, a
+ and $7
+ ret nz
+ ld a, e
+ and $18
+ sla a
+ swap a
+ sla a
+ ld e, a
+ ld d, 0
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_2
+ ld hl, .CGB_DMGEnemyData
+ add hl, de
+ ld a, [hli]
+ push hl
+ call BGEffects_LoadBGPal1_OBPal0
+ pop hl
+ ld a, [hl]
+ call BGEffects_LoadBGPal0_OBPal1
+ ret
+
+.player_2
+ ld hl, .CGB_DMGEnemyData
+ add hl, de
+ ld a, [hli]
+ push hl
+ call BGEffects_LoadBGPal0_OBPal1
+ pop hl
+ ld a, [hl]
+ call BGEffects_LoadBGPal1_OBPal0
+ ret
+
+.cgb_two
+ ld a, $e4
+ call BGEffects_LoadBGPal0_OBPal1
+ ld a, $e4
+ call BGEffects_LoadBGPal1_OBPal0
+ call EndBattleBGEffect
+ ret
+
+.CGB_DMGEnemyData:
+ db $e4, $e4
+ db $f8, $90
+ db $fc, $40
+ db $f8, $90
+.DMG_PlayerData:
+ db $e4, $e4
+ db $90, $f8
+ db $40, $fc
+ db $90, $f8
+; c8be8
+
+BattleBGEffect_RapidFlash: ; c8be8 (32:4be8)
+ ld de, .FlashPals
+ call BGEffect_RapidCyclePals
+ ret
+
+.FlashPals:
+ db $e4, $6c, $fe
+; c8bf2
+
+BattleBGEffect_16: ; c8bf2 (32:4bf2)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $e4, $90, $40, $ff
+; c8bfd
+
+BattleBGEffect_17: ; c8bfd (32:4bfd)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $e4, $f8, $fc, $ff
+; c8c08
+
+BattleBGEffect_18: ; c8c08 (32:4c08)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $e4, $90, $40, $90, $fe
+; c8c14
+
+BattleBGEffect_19: ; c8c14 (32:4c14)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $e4, $f8, $fc, $f8, $fe
+; c8c20
+
+BattleBGEffect_1a: ; c8c20 (32:4c20)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
+; c8c30
+
+BattleBGEffect_1b: ; c8c30 (32:4c30)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $e4, $fc, $e4, $00, $fe
+; c8c3c
+
+BattleBGEffect_1d: ; c8c3c (32:4c3c)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff
+; c8c55
+
+BattleBGEffect_1e: ; c8c55 (32:4c55)
+ ld de, .Pals
+ call BGEffect_RapidCyclePals
+ ret
+
+.Pals:
+ db $00, $40, $90, $e4, $ff
+; c8c61
+
+BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+
+
+.zero ; c8c68 (32:4c68)
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], $1
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $20
+ ret
+
+.one ; c8c85 (32:4c85)
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .finish
+ dec [hl]
+ and $1
+ ret nz
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ call BGEffect_FillLYOverridesBackup
+ ret
+
+.finish
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
+ call BattleBGEffects_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+
+
+.zero ; c8cab (32:4cab)
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_ClearLYOverrides
+ ld a, rSCX - $ff00
+ ld [hLCDCPointer], a
+ xor a
+ ld [hLYOverrideStart], a
+ ld a, $37
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.one ; c8cc3 (32:4cc3)
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .two
+ ld d, $6
+ call BattleBGEffects_Sine
+ call BGEffect_FillLYOverridesBackup
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+
+.two ; c8cdd (32:4cdd)
+ call BattleAnim_ResetLCDStatCustom
+ ret
+
+BattleBGEffect_2e: ; c8ce1 (32:4ce1)
+ call Functionc8d0b
+ jr c, .xor_a
+ bit 7, a
+ jr z, .okay
+.xor_a
+ xor a
+.okay
+ push af
+ call DelayFrame
+ pop af
+ ld [hSCY], a
+ xor $ff
+ inc a
+ ld [AnimObject01_YOffset], a
+ ret
+
+BattleBGEffect_1f: ; c8cf9 (32:4cf9)
+ call Functionc8d0b
+ jr nc, .skip
+ xor a
+.skip
+ ld [hSCX], a
+ ret
+
+BattleBGEffect_20: ; c8d02 (32:4d02)
+ call Functionc8d0b
+ jr nc, .skip
+ xor a
+.skip
+ ld [hSCY], a
+ ret
+
+Functionc8d0b: ; c8d0b (32:4d0b)
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .okay
+ call EndBattleBGEffect
+ scf
+ ret
+
+.okay
+ dec [hl]
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .every_16_frames
+ dec [hl]
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret
+
+.every_16_frames
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ and a
+ ret
+
+BattleBGEffect_35: ; c8d3a (32:4d3a)
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .finish
+ ld d, $6
+ call BattleBGEffects_Sine
+ ld [hSCX], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ret
+
+.finish
+ xor a
+ ld [hSCX], a
+ ret
+
+BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57)
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .zero
+ dec [hl]
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ call BattleBGEffect_GetNextDMGPal
+ ret
+
+.zero
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ ld hl, BG_EFFECT_STRUCT_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ call BattleBGEffect_GetFirstDMGPal
+ ret
+
+BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
+ ld a, [hCGB]
+ and a
+ jr nz, .cgb
+ push de
+ ld de, .Jumptable_DMG
+ call BatttleBGEffects_GetNamedJumptablePointer
+ pop de
+ jp hl
+
+.Jumptable_DMG:
+ dw .zero_dmg
+ dw .one_dmg
+ dw .two_dmg
+
+
+.zero_dmg ; c8d8b (32:4d8b)
+ call BattleBGEffects_IncrementJumptable
+ ld a, $e4
+ call BattleBGEffects_SetLYOverrides
+ ld a, $47
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hLYOverrideEnd]
+ inc a
+ ld [hLYOverrideEnd], a
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ ld [hl], $0
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], a
+ ret
+
+.one_dmg ; c8daa (32:4daa)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .okay_1_dmg
+ dec [hl]
+ ret
+
+.okay_1_dmg
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call BattleBGEffect_GetFirstDMGPal
+ jr c, .okay_2_dmg
+ call BGEffect_FillLYOverridesBackup
+ ret
+
+.okay_2_dmg
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ dec [hl]
+ ret
+
+.two_dmg ; c8dc9 (32:4dc9)
+ call BattleBGEffects_ResetVideoHRAM
+ ld a, %11100100
+ ld [rBGP], a
+ call EndBattleBGEffect
+ ret
+
+.cgb
+ push de
+ ld de, .Jumptable_CGB
+ call BatttleBGEffects_GetNamedJumptablePointer
+ pop de
+ jp hl
+
+.Jumptable_CGB: ; c8ddd (32:4ddd)
+ dw .zero_cgb
+ dw .one_cgb
+ dw .two_cgb
+ dw .three_cgb
+ dw .four_cgb
+
+
+.zero_cgb ; c8de7 (32:4de7)
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn_cgb
+ call BattleBGEffects_IncrementJumptable
+ call BattleBGEffects_IncrementJumptable
+.player_turn_cgb
+ call BattleBGEffects_IncrementJumptable
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ ld [hl], $0
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld [hl], a
+ ret
+
+.one_cgb ; c8e02 (32:4e02)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .okay_1_cgb
+ dec [hl]
+ ret
+
+.okay_1_cgb
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call BattleBGEffect_GetFirstDMGPal
+ jr c, .okay_2_cgb
+ call BGEffects_LoadBGPal0_OBPal1
+ ret
+
+.okay_2_cgb
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ dec [hl]
+ ret
+
+.two_cgb ; c8e21 (32:4e21)
+ ld a, $e4
+ call BGEffects_LoadBGPal0_OBPal1
+ call EndBattleBGEffect
+ ret
+
+.three_cgb ; c8e2a (32:4e2a)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hl]
+ and $f
+ jr z, .okay_3_cgb
+ dec [hl]
+ ret
+
+.okay_3_cgb
+ ld a, [hl]
+ swap a
+ or [hl]
+ ld [hl], a
+ call BattleBGEffect_GetFirstDMGPal
+ jr c, .okay_4_cgb
+ call BGEffects_LoadBGPal1_OBPal0
+ ret
+
+.okay_4_cgb
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ dec [hl]
+ ret
+
+.four_cgb ; c8e49 (32:4e49)
+ ld a, $e4
+ call BGEffects_LoadBGPal1_OBPal0
+ call EndBattleBGEffect
+ ret
+
+BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52)
+ ld h, a
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld a, h
+ push bc
+ push af
+ ld hl, BGPals
+ ld de, UnknBGPals
+ ld b, a
+ ld c, $1
+ call CopyPals
+ ld hl, OBPals + 8
+ ld de, UnknOBPals + 8
+ pop af
+ ld b, a
+ ld c, $1
+ call CopyPals
+ pop bc
+ pop af
+ ld [rSVBK], a
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+
+BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f)
+ ld h, a
+ ld a, [rSVBK]
+ push af
+ ld a, $5
+ ld [rSVBK], a
+ ld a, h
+ push bc
+ push af
+ ld hl, BGPals + 8
+ ld de, UnknBGPals + 8
+ ld b, a
+ ld c, $1
+ call CopyPals
+ ld hl, OBPals ; OBPals
+ ld de, UnknOBPals ; wd040
+ pop af
+ ld b, a
+ ld c, $1
+ call CopyPals
+ pop bc
+ pop af
+ ld [rSVBK], a
+ ld a, $1
+ ld [hCGBPalUpdate], a
+ ret
+
+BattleBGEffect_GetFirstDMGPal: ; c8eac (32:4eac)
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2)
+ ld l, a
+ ld h, $0
+ add hl, de
+ ld a, [hl]
+ cp -1
+ jr z, .quit
+ cp -2
+ jr nz, .repeat
+ ld a, [de]
+ ld hl, BG_EFFECT_STRUCT_03
+ add hl, bc
+ ld [hl], $0
+.repeat
+ and a
+ ret
+
+.quit
+ scf
+ ret
+
+BattleBGEffects_ClearLYOverrides: ; c8eca (32:4eca)
+ xor a
+BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb)
+ ld hl, LYOverrides ; wListPointer
+ ld e, $99
+.loop1
+ ld [hli], a
+ dec e
+ jr nz, .loop1
+ ld hl, LYOverridesBackup
+ ld e, $91
+.loop2
+ ld [hli], a
+ dec e
+ jr nz, .loop2
+ ret
+
+BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede)
+ ld [hLCDCPointer], a
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ lb de, $00, $36
+ jr .okay
+
+.player_turn
+ lb de, $2f, $5e
+.okay
+ ld a, d
+ ld [hLYOverrideStart], a
+ ld a, e
+ ld [hLYOverrideEnd], a
+ ret
+
+BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4)
+ ld [hLCDCPointer], a
+ call BGEffect_CheckBattleTurn
+ jr nz, .player_turn
+ lb de, $00, $36
+ jr .okay
+
+.player_turn
+ lb de, $2d, $5e
+.okay
+ ld a, d
+ ld [hLYOverrideStart], a
+ ld a, e
+ ld [hLYOverrideEnd], a
+ ret
+
+BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a)
+ xor a
+ ld [hLYOverrideStart], a
+ ld [hLYOverrideEnd], a
+ call BattleBGEffects_ClearLYOverrides
+ xor a
+ ld [hLCDCPointer], a
+ call EndBattleBGEffect
+ ret
+
+BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19)
+ xor a
+ ld [hLCDCPointer], a
+ ld a, %11100100
+ ld [rBGP], a
+ ld [wBGP], a
+ ld [wOBP1], a
+ ld [hLYOverrideStart], a
+ ld [hLYOverrideEnd], a
+ call BattleBGEffects_ClearLYOverrides
+ ret
+
+Functionc8f2e: ; c8f2e (32:4f2e)
+ push bc
+ xor a
+ ld [wBattleAnimTemp0], a
+ ld a, e
+ ld [wBattleAnimTemp1], a
+ ld a, d
+ ld [wBattleAnimTemp2], a
+ ld a, $80
+ ld [wBattleAnimTemp3], a
+ ld bc, LYOverridesBackup
+.loop
+ ld a, [hLYOverrideStart]
+ cp c
+ jr nc, .next
+ ld a, [hLYOverrideEnd]
+ cp c
+ jr c, .next
+ ld a, [wBattleAnimTemp2]
+ ld d, a
+ ld a, [wBattleAnimTemp0]
+ call BattleBGEffects_Sine
+ ld [bc], a
+.next
+ inc bc
+ ld a, [wBattleAnimTemp1]
+ ld hl, wBattleAnimTemp0
+ add [hl]
+ ld [hl], a
+ ld hl, wBattleAnimTemp3
+ dec [hl]
+ jr nz, .loop
+ pop bc
+ ret
+
+InitSurfWaves: ; c8f69 (32:4f69)
+ push bc
+ xor a
+ ld [wBattleAnimTemp0], a
+ ld a, e
+ ld [wBattleAnimTemp1], a
+ ld a, d
+ ld [wBattleAnimTemp2], a
+ ld a, $40
+ ld [wBattleAnimTemp3], a
+ ld bc, wSurfWaveBGEffect
+.loop
+ ld a, [wBattleAnimTemp2]
+ ld d, a
+ ld a, [wBattleAnimTemp0]
+ call BattleBGEffects_Sine
+ ld [bc], a
+ inc bc
+ ld a, [wBattleAnimTemp1]
+ ld hl, wBattleAnimTemp0
+ add [hl]
+ ld [hl], a
+ ld hl, wBattleAnimTemp3
+ dec [hl]
+ jr nz, .loop
+ pop bc
+ ret
+
+Functionc8f9a: ; c8f9a (32:4f9a)
+ push bc
+ ld [wBattleAnimTemp3], a
+ ld a, e
+ ld [wBattleAnimTemp1], a
+ ld a, d
+ ld [wBattleAnimTemp2], a
+ call .GetLYOverrideBackupAddrOffset
+ ld hl, LYOverridesBackup
+ add hl, de
+ ld c, l
+ ld b, h
+.loop
+ ld a, [wBattleAnimTemp3]
+ and a
+ jr z, .done
+ dec a
+ ld [wBattleAnimTemp3], a
+ push af
+ ld a, [wBattleAnimTemp2]
+ ld d, a
+ ld a, [wBattleAnimTemp1]
+ push hl
+ call BattleBGEffects_Sine
+ ld e, a
+ pop hl
+ ld a, [hLYOverrideEnd]
+ cp c
+ jr c, .skip1
+ ld a, e
+ ld [bc], a
+ inc bc
+.skip1
+ ld a, [hLYOverrideStart]
+ cp l
+ jr nc, .skip2
+ ld [hl], e
+ dec hl
+.skip2
+ ld a, [wBattleAnimTemp1]
+ add $4
+ ld [wBattleAnimTemp1], a
+ pop af
+ jr .loop
+
+.done
+ pop bc
+ and a
+ ret
+
+.GetLYOverrideBackupAddrOffset:
+ ld a, [hLYOverrideStart]
+ ld e, a
+ ld a, [wBattleAnimTemp0]
+ add e
+ ld e, a
+ ld d, $0
+ ret
+
+BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef)
+ push bc
+ ld a, [hLYOverrideStart]
+ ld l, a
+ inc a
+ ld e, a
+ ld h, HIGH(LYOverridesBackup)
+ ld d, h
+ ld a, [hLYOverrideEnd]
+ sub l
+ and a
+ jr z, .done
+ ld c, a
+ ld a, [hl]
+ push af
+.loop
+ ld a, [de]
+ inc de
+ ld [hli], a
+ dec c
+ jr nz, .loop
+ pop af
+ ld [hl], a
+.done
+ pop bc
+ ret
+
+BGEffect_FillLYOverridesBackup: ; c900b (32:500b)
+ push af
+ ld h, HIGH(LYOverridesBackup)
+ ld a, [hLYOverrideStart]
+ ld l, a
+ ld a, [hLYOverrideEnd]
+ sub l
+ ld d, a
+ pop af
+.loop
+ ld [hli], a
+ dec d
+ jr nz, .loop
+ ret
+
+BGEffect_DisplaceLYOverridesBackup: ; c901b (32:501b)
+ ; e = a; d = [hLYOverrideEnd] - [hLYOverrideStart] - a
+ push af
+ ld e, a
+ ld a, [hLYOverrideStart]
+ ld l, a
+ ld a, [hLYOverrideEnd]
+ sub l
+ sub e
+ ld d, a
+ ld h, HIGH(LYOverridesBackup)
+ ld a, [hLYOverrideStart]
+ ld l, a
+ ld a, $90
+.loop
+ ld [hli], a
+ dec e
+ jr nz, .loop
+ pop af
+ xor $ff
+.loop2
+ ld [hli], a
+ dec d
+ jr nz, .loop2
+ ret
+
+BGEffect_CheckBattleTurn: ; c9038 (32:5038)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hBattleTurn]
+ and $1
+ xor [hl]
+ ret
+
+BGEffect_CheckFlyDigStatus: ; c9042 (32:5042)
+ ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
+ add hl, bc
+ ld a, [hBattleTurn]
+ and $1
+ xor [hl]
+ jr nz, .player
+ ld a, [EnemySubStatus3] ; EnemySubStatus3
+ and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
+ ret
+
+.player
+ ld a, [PlayerSubStatus3] ; PlayerSubStatus3
+ and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND
+ ret
+
+BattleBGEffects_CheckSGB: ; c9059 (32:5059)
+ ld a, [hSGB]
+ and a
+ ret
+
+BattleBGEffects_Sine: ; c905d (32:505d)
+ ld e, a
+ callfar BattleAnim_Sine_e
+ ld a, e
+ ret
+
+BattleBGEffects_Cosine: ; c9066 (32:5066)
+ ld e, a
+ callfar BattleAnim_Cosine_e
+ ld a, e
+ ret
+
+; c906f (32:506f)
--- /dev/null
+++ b/engine/battle_anims/engine.asm
@@ -1,0 +1,314 @@
+QueueBattleAnimation: ; cc9a1 (33:49a1)
+ ld hl, ActiveAnimObjects
+ ld e, 10
+.loop
+ ld a, [hl]
+ and a
+ jr z, .done
+ ld bc, BATTLEANIMSTRUCT_LENGTH
+ add hl, bc
+ dec e
+ jr nz, .loop
+ scf
+ ret
+
+.done
+ ld c, l
+ ld b, h
+ ld hl, wNumActiveBattleAnims
+ inc [hl]
+ call InitBattleAnimation
+ ret
+
+DeinitBattleAnimation: ; cc9bd
+ ld hl, BATTLEANIMSTRUCT_INDEX
+ add hl, bc
+ ld [hl], $0
+ ret
+
+; cc9c4
+
+InitBattleAnimation: ; cc9c4 (33:49c4)
+ ld a, [wBattleAnimTemp0]
+ ld e, a
+ ld d, 0
+ ld hl, BattleAnimObjects
+rept 6
+ add hl, de
+endr
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_INDEX
+ add hl, bc
+ ld a, [wNumActiveBattleAnims]
+ ld [hli], a ; Index
+ ld a, [de]
+ inc de
+ ld [hli], a ; 01
+ ld a, [de]
+ inc de
+ ld [hli], a ; 02
+ ld a, [de]
+ inc de
+ ld [hli], a ; Frameset ID
+ ld a, [de]
+ inc de
+ ld [hli], a ; Function
+ ld a, [de]
+ inc de
+ ld [hli], a ; 05
+ ld a, [de]
+ call GetBattleAnimTileOffset
+ ld [hli], a ; Tile ID
+ ld a, [wBattleAnimTemp1]
+ ld [hli], a ; X Coord
+ ld a, [wBattleAnimTemp2]
+ ld [hli], a ; Y Coord
+ xor a
+ ld [hli], a ; X Offset
+ ld [hli], a ; Y Offset
+ ld a, [wBattleAnimTemp3]
+ ld [hli], a ; 0b
+ xor a
+ ld [hli], a ; 0c
+ dec a
+ ld [hli], a ; 0d
+ xor a
+ ld [hli], a ; 0e
+ ld [hli], a ; 0f
+ ld [hl], a ; 10
+ ret
+
+BattleAnimOAMUpdate: ; cca09
+ call InitBattleAnimBuffer
+ call GetBattleAnimFrame
+ cp -3
+ jp z, .done
+ cp -4
+ jp z, .delete
+ push af
+ ld hl, wBattleAnimTempOAMFlags
+ ld a, [wBattleAnimTemp7]
+ xor [hl]
+ and $e0
+ ld [hl], a
+ pop af
+ push bc
+ call GetBattleAnimOAMPointer
+ ld a, [wBattleAnimTempTileID]
+ add [hl]
+ ld [wBattleAnimTempTileID], a
+ inc hl
+ ld a, [hli]
+ ld c, a
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld a, [wBattleAnimOAMPointerLo]
+ ld e, a
+ ld d, HIGH(Sprites)
+.loop
+ ld a, [wBattleAnimTempYCoord]
+ ld b, a
+ ld a, [wBattleAnimTempYOffset]
+ add b
+ ld b, a
+ push hl
+ ld a, [hl]
+ ld hl, wBattleAnimTempOAMFlags
+ bit 6, [hl]
+ jr z, .no_yflip
+ add $8
+ xor $ff
+ inc a
+
+.no_yflip
+ pop hl
+ add b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [wBattleAnimTempXCoord]
+ ld b, a
+ ld a, [wBattleAnimTempXOffset]
+ add b
+ ld b, a
+ push hl
+ ld a, [hl]
+ ld hl, wBattleAnimTempOAMFlags
+ bit 5, [hl]
+ jr z, .no_xflip
+ add $8
+ xor $ff
+ inc a
+
+.no_xflip
+ pop hl
+ add b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [wBattleAnimTempTileID]
+ add $31
+ add [hl]
+ ld [de], a
+ inc hl
+ inc de
+ ld a, [wBattleAnimTempOAMFlags]
+ ld b, a
+ ld a, [hl]
+ xor b
+ and $e0
+ ld b, a
+ ld a, [hl]
+ and $10
+ or b
+ ld b, a
+ ld a, [wBattleAnimTempPalette]
+ and $f
+ or b
+ ld [de], a
+ inc hl
+ inc de
+ ld a, e
+ ld [wBattleAnimOAMPointerLo], a
+ cp $a0
+ jr nc, .exit_set_carry
+ dec c
+ jr nz, .loop
+ pop bc
+ jr .done
+
+.delete
+ call DeinitBattleAnimation
+
+.done
+ and a
+ ret
+
+.exit_set_carry
+ pop bc
+ scf
+ ret
+
+; ccaaa
+
+InitBattleAnimBuffer: ; ccaaa
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ ld a, [hl]
+ and %10000000
+ ld [wBattleAnimTempOAMFlags], a
+ xor a
+ ld [wBattleAnimTemp7], a
+ ld hl, BATTLEANIMSTRUCT_PALETTE
+ add hl, bc
+ ld a, [hl]
+ ld [wBattleAnimTempPalette], a
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld a, [hl]
+ ld [wBattleAnimTemp1], a
+ ld hl, BATTLEANIMSTRUCT_TILEID
+ add hl, bc
+ ld a, [hli]
+ ld [wBattleAnimTempTileID], a
+ ld a, [hli]
+ ld [wBattleAnimTempXCoord], a
+ ld a, [hli]
+ ld [wBattleAnimTempYCoord], a
+ ld a, [hli]
+ ld [wBattleAnimTempXOffset], a
+ ld a, [hli]
+ ld [wBattleAnimTempYOffset], a
+ ld a, [hBattleTurn]
+ and a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ ld a, [hl]
+ ld [wBattleAnimTempOAMFlags], a
+ bit 0, [hl]
+ ret z
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hli]
+ ld d, a
+ ld a, (-10 * 8) + 4
+ sub d
+ ld [wBattleAnimTempXCoord], a
+ ld a, [hli]
+ ld d, a
+ ld a, [wBattleAnimTemp1]
+ cp $ff
+ jr nz, .check_kinesis_softboiled_milkdrink
+ ld a, 5 * 8
+ add d
+ jr .done
+
+.check_kinesis_softboiled_milkdrink
+ sub d
+ push af
+ ld a, [FXAnimID + 1]
+ or a
+ jr nz, .no_sub
+ ld a, [FXAnimID]
+ cp KINESIS
+ jr z, .kinesis
+ cp SOFTBOILED
+ jr z, .softboiled
+ cp MILK_DRINK
+ jr nz, .no_sub
+.kinesis
+.softboiled
+.milk_drink
+ pop af
+ sub 1 * 8
+ jr .done
+
+.no_sub
+ pop af
+.done
+ ld [wBattleAnimTempYCoord], a
+ ld a, [hli]
+ xor $ff
+ inc a
+ ld [wBattleAnimTempXOffset], a
+ ret
+
+; ccb31
+
+GetBattleAnimTileOffset: ; ccb31 (33:4b31)
+ push hl
+ push bc
+ ld hl, wBattleAnimTileDict
+ ld b, a
+ ld c, 10 / 2
+.loop
+ ld a, [hli]
+ cp b
+ jr z, .load
+ inc hl
+ dec c
+ jr nz, .loop
+ xor a
+ jr .done
+
+.load
+ ld a, [hl]
+.done
+ pop bc
+ pop hl
+ ret
+
+_ExecuteBGEffects: ; ccb48
+ callfar ExecuteBGEffects
+ ret
+
+; ccb4f
+
+_QueueBGEffect: ; ccb4f (33:4b4f)
+ callfar QueueBGEffect
+ ret
+
+; ccb56 (33:4b56)
--- /dev/null
+++ b/engine/battle_anims/functions.asm
@@ -1,0 +1,4157 @@
+DoBattleAnimFrame: ; ccfbe
+ ld hl, BATTLEANIMSTRUCT_FUNCTION
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, .Jumptable
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+; ccfce
+
+.Jumptable:
+; entries correspond to BATTLEANIMFUNC_* constants
+ dw BattleAnimFunction_Null ; 00
+ dw BattleAnimFunction_01 ; 01
+ dw BattleAnimFunction_02 ; 02
+ dw BattleAnimFunction_03 ; 03
+ dw BattleAnimFunction_04 ; 04
+ dw BattleAnimFunction_ThrowFromPlayerToEnemy ; 05
+ dw BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear ; 06
+ dw BattleAnimFunction_07 ; 07
+ dw BattleAnimFunction_08 ; 08
+ dw BattleAnimFunction_09 ; 09
+ dw BattleAnimFunction_0A ; 0a
+ dw BattleAnimFunction_RazorLeaf ; 0b
+ dw BattleAnimFunction_0C ; 0c
+ dw BattleAnimFunction_0D ; 0d
+ dw BattleAnimFunction_0E ; 0e
+ dw BattleAnimFunction_0F ; 0f
+ dw BattleAnimFunction_10 ; 10
+ dw BattleAnimFunction_11 ; 11
+ dw BattleAnimFunction_PokeBall ; 12
+ dw BattleAnimFunction_PokeBallBlocked ; 13
+ dw BattleAnimFunction_14 ; 14
+ dw BattleAnimFunction_15 ; 15
+ dw BattleAnimFunction_16 ; 16
+ dw BattleAnimFunction_17 ; 17
+ dw BattleAnimFunction_18 ; 18
+ dw BattleAnimFunction_19 ; 19
+ dw BattleAnimFunction_1A ; 1a
+ dw BattleAnimFunction_1B ; 1b
+ dw BattleAnimFunction_1C ; 1c
+ dw BattleAnimFunction_1D ; 1d
+ dw BattleAnimFunction_1E ; 1e
+ dw BattleAnimFunction_1F ; 1f
+ dw BattleAnimFunction_LeechSeed ; 20
+ dw BattleAnimFunction_21 ; 21
+ dw BattleAnimFunction_22 ; 22
+ dw BattleAnimFunction_23 ; 23
+ dw BattleAnimFunction_24 ; 24
+ dw BattleAnimFunction_25 ; 25
+ dw BattleAnimFunction_26 ; 26
+ dw BattleAnimFunction_27 ; 27
+ dw BattleAnimFunction_28 ; 28
+ dw BattleAnimFunction_SpiralDescent ; 29
+ dw BattleAnimFunction_PoisonGas ; 2a
+ dw BattleAnimFunction_Horn ; 2b
+ dw BattleAnimFunction_2C ; 2c
+ dw BattleAnimFunction_2D ; 2d
+ dw BattleAnimFunction_2E ; 2e
+ dw BattleAnimFunction_2F ; 2f
+ dw BattleAnimFunction_30 ; 30
+ dw BattleAnimFunction_31 ; 31
+ dw BattleAnimFunction_32 ; 32
+ dw BattleAnimFunction_33 ; 33
+ dw BattleAnimFunction_34 ; 34
+ dw BattleAnimFunction_35 ; 35
+ dw BattleAnimFunction_36 ; 36
+ dw BattleAnimFunction_37 ; 37
+ dw BattleAnimFunction_38 ; 38
+ dw BattleAnimFunction_39 ; 39
+ dw BattleAnimFunction_3A ; 3a
+ dw BattleAnimFunction_3B ; 3b
+ dw BattleAnimFunction_3C ; 3c
+ dw BattleAnimFunction_3D ; 3d
+ dw BattleAnimFunction_3E ; 3e
+ dw BattleAnimFunction_3F ; 3f
+ dw BattleAnimFunction_40 ; 40
+ dw BattleAnimFunction_41 ; 41
+ dw BattleAnimFunction_42 ; 42
+ dw BattleAnimFunction_43 ; 43
+ dw BattleAnimFunction_44 ; 44
+ dw BattleAnimFunction_45 ; 45
+ dw BattleAnimFunction_46 ; 46
+ dw BattleAnimFunction_47 ; 47
+ dw BattleAnimFunction_48 ; 48
+ dw BattleAnimFunction_49 ; 49
+ dw BattleAnimFunction_4A ; 4a
+ dw BattleAnimFunction_4B ; 4b
+ dw BattleAnimFunction_4C ; 4c
+ dw BattleAnimFunction_4D ; 4d
+ dw BattleAnimFunction_4E ; 4e
+ dw BattleAnimFunction_4F ; 4f
+
+BattleAnimFunction_Null: ; cd06e (33:506e)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.one
+ call DeinitBattleAnimation
+.zero
+ ret
+
+BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear: ; cd079 (33:5079)
+ call BattleAnimFunction_ThrowFromPlayerToEnemy
+ ret c
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_ThrowFromPlayerToEnemy: ; cd081 (33:5081)
+ ; If x coord at $88 or beyond, abort.
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ ; Move right 2 pixels
+ add $2
+ ld [hl], a
+ ; Move down 1 pixel
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ; Decrease ??? and hold onto its previous value (argument of the sine function)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ; Get ???, which is the amplitude of the sine function
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ; Store the result in the Y offset
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ; Carry flag denotes success
+ scf
+ ret
+
+BattleAnimFunction_04: ; cd0a6 (33:50a6)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, .asm_cd0b3
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd0b3
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ sra a
+ sra a
+ sra a
+ sra a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_03: ; cd0e3 (33:50e3)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ ld a, $0
+ jr z, .asm_cd0f9
+ ld a, $20
+.asm_cd0f9
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_01: ; cd12a (33:512a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.one
+ call DeinitBattleAnimation
+ ret
+
+.zero
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+BattleAnimFunction_02: ; cd146 (33:5146)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_cd158
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.asm_cd158
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_PokeBall: ; cd15c (33:515c)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+ dw .ten
+ dw .eleven
+.zero ; init
+ call GetBallAnimPal
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.one
+ call BattleAnimFunction_ThrowFromPlayerToEnemy
+ ret c
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld a, BATTLEANIMFRAMESET_0B
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.three
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_09
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ inc hl
+ ld [hl], $10
+.four
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ ret nz
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ ret nz
+ ld a, BATTLEANIMFRAMESET_0C
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.six
+ ld a, BATTLEANIMFRAMESET_0D
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+.two
+.five
+.nine
+ ret
+
+.seven
+ call GetBallAnimPal
+ ld a, BATTLEANIMFRAMESET_0A
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $20
+.eight
+.ten
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec a
+ ld [hl], a
+ and $1f
+ jr z, .eleven
+ and $f
+ ret nz
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.eleven
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_PokeBallBlocked: ; cd212 (33:5212)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+.zero
+ call GetBallAnimPal
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr nc, .next
+ call BattleAnimFunction_ThrowFromPlayerToEnemy
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+.two
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .done
+ add $4
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+
+.done
+ call DeinitBattleAnimation
+ ret
+
+GetBallAnimPal: ; cd249 (33:5249)
+ ld hl, BallColors
+ ld a, [rSVBK]
+ push af
+ ld a, $1
+ ld [rSVBK], a
+ ld a, [CurItem] ; CurItem
+ ld e, a
+ pop af
+ ld [rSVBK], a
+.IsInArray:
+ ld a, [hli]
+ cp -1
+ jr z, .load
+ cp e
+ jr z, .load
+ inc hl
+ jr .IsInArray
+
+.load
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_PALETTE
+ add hl, bc
+ ld [hl], a
+ ret
+; cd26c (33:526c)
+
+INCLUDE "data/battle_anims/ball_colors.asm"
+
+BattleAnimFunction_10: ; cd284 (33:5284)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+.zero
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.two
+ call DeinitBattleAnimation
+ ret
+
+.three
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_0F
+ call ReinitBattleAnimFrameset
+.four
+ ret
+
+BattleAnimFunction_07: ; cd2be (33:52be)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+ inc hl
+ ld [hl], $48
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ sub [hl]
+ jr z, .done
+ jr c, .done
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ret
+
+.done
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_08: ; cd306 (33:5306)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+.zero
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .next
+ call .SetCoords
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+.one
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+.two
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .loop_back
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ sub $18
+ sra a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+.loop_back
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ jr z, .finish
+ sub $10
+ ld d, a
+ ld a, [hl]
+ and $f
+ or d
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+ ret
+
+.finish
+ call BattleAnim_IncAnonJumptableIndex
+.three
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $b0
+ jr c, .retain
+ call DeinitBattleAnimation
+ ret
+
+.retain
+ call .SetCoords
+ ret
+
+.SetCoords:
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+.loop
+ dec [hl]
+ dec e
+ jr nz, .loop
+ ret
+
+BattleAnimFunction_09: ; cd3ae (33:53ae)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .done_one
+ dec [hl]
+ ret
+
+.done_one
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ and $f
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+.two
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_0A: ; cd3f2 (33:53f2)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+.zero
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ cp $7
+ jr z, .seven
+ ld a, BATTLEANIMFRAMESET_11
+ call ReinitBattleAnimFrameset
+ ret
+
+.seven
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .set_up_eight
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+.set_up_eight
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_10
+ call ReinitBattleAnimFrameset
+.eight
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ret
+
+.nine
+ call DeinitBattleAnimation
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+.four
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ inc [hl]
+.two
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+.five
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ inc [hl]
+.three
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ inc [hl]
+.six
+ ret
+
+BattleAnimFunction_RazorLeaf: ; cd478 (33:5478)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .sine_cosine
+ call BattleAnim_IncAnonJumptableIndex
+ xor a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ld a, BATTLEANIMFRAMESET_17
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 6, [hl]
+ ret z
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $5
+ ret
+
+.sine_cosine
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+.two
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nz, .sine_cosine_2
+ call DeinitBattleAnimation
+ ret
+
+.sine_cosine_2
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 6, [hl]
+ jr nz, .decrease
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ jr .finish
+
+.decrease
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ dec [hl]
+.finish
+ ld de, $80
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+.three
+ ld a, BATTLEANIMFRAMESET_16
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ res 5, [hl]
+.four
+.five
+.six
+.seven
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.eight
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $c0
+ ret nc
+ ld a, $8
+ call Functionce70a
+ ret
+
+Functioncd557: ; cd557 (33:5557)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ bit 7, a
+ jr nz, .negative
+ cp $20
+ jr nc, .plus_256
+ cp $18
+ jr nc, .plus_384
+ ld de, $200
+ ret
+
+.plus_384
+ ld de, $180
+ ret
+
+.plus_256
+ ld de, $100
+ ret
+
+.negative
+ and $3f
+ cp $20
+ jr nc, .minus_256
+ cp $18
+ jr nc, .minus_384
+ ld de, -$200
+ ret
+
+.minus_384
+ ld de, -$180
+ ret
+
+.minus_256
+ ld de, -$100
+ ret
+
+BattleAnimFunction_4E: ; cd58a (33:558a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+.zero
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $40
+ rlca
+ rlca
+ add $19
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .sine_cosine
+ call DeinitBattleAnimation
+ ret
+
+.sine_cosine
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ call Functioncd557
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+BattleAnimFunction_0C: ; cd5e9 (33:55e9)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $c
+.one
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .next
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld a, BATTLEANIMFRAMESET_22
+ call ReinitBattleAnimFrameset
+.two
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ jr nc, .okay
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ ld de, $60
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+.okay
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ ret c
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld e, a
+ ld d, $ff
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld h, [hl]
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], d
+ ret
+
+BattleAnimFunction_0D: ; cd66a (33:566a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+.zero
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, rSCY - $ff00
+ ld [hLCDCPointer], a
+ ld a, $58
+ ld [hLYOverrideStart], a
+ ld a, $5e
+ ld [hLYOverrideEnd], a
+ ret
+
+.one
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp e
+ jr nc, .asm_cd69b
+ call BattleAnim_IncAnonJumptableIndex
+ xor a
+ ld [hLYOverrideStart], a
+ ret
+
+.asm_cd69b
+ dec a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ add [hl]
+ sub $10
+ ret c
+ ld [hLYOverrideStart], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ inc a
+ and $7
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ inc [hl]
+.two
+ ret
+
+.three
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $70
+ jr c, asm_cd6da
+ xor a
+ ld [hLCDCPointer], a
+ ld [hLYOverrideStart], a
+ ld [hLYOverrideEnd], a
+.four
+ call DeinitBattleAnimation
+ ret
+
+asm_cd6da: ; cd6da (33:56da)
+ inc a
+ inc a
+ ld [hl], a
+ sub $10
+ ret c
+ ld [hLYOverrideStart], a
+ ret
+
+BattleAnimFunction_0E: ; cd6e3 (33:56e3)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd6ea
+ dw Functioncd6f7
+Functioncd6ea: ; cd6ea (33:56ea)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, BATTLEANIMFRAMESET_24
+ add [hl] ; offset
+ call ReinitBattleAnimFrameset
+Functioncd6f7: ; cd6f7 (33:56f7)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, .asm_cd704
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd704
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_0F: ; cd71a (33:571a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd725
+ dw Functioncd728
+ dw Functioncd763
+ dw Functioncd776
+Functioncd725: ; cd725 (33:5725)
+ call BattleAnim_IncAnonJumptableIndex
+Functioncd728: ; cd728 (33:5728)
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cd747
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_cd747
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_28
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], $30
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ld [hl], a
+Functioncd763: ; cd763 (33:5763)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $18
+ jr nc, .asm_cd76e
+ inc [hl]
+ ret
+
+.asm_cd76e
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_29
+ call ReinitBattleAnimFrameset
+Functioncd776: ; cd776 (33:5776)
+ ret
+
+BattleAnimFunction_11: ; cd777 (33:5777)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr c, .asm_cd784
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd784
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld l, [hl]
+ ld h, a
+ ld de, $80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ xor $10
+ ld [hl], a
+ ret
+
+BattleAnimFunction_14: ; cd7a4 (33:57a4)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd7ab
+ dw Functioncd7d2
+Functioncd7ab: ; cd7ab (33:57ab)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ sla a
+ sla a
+ sla a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $1
+Functioncd7d2: ; cd7d2 (33:57d2)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cd7de
+ call DeinitBattleAnimation
+ ret
+
+.asm_cd7de
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $1
+ ld [hl], a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_15: ; cd80c (33:580c)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd81f
+ dw Functioncd817
+ dw Functioncd81f
+ dw Functioncd820
+Functioncd817: ; cd817 (33:5817)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_35
+ call ReinitBattleAnimFrameset
+Functioncd81f: ; cd81f (33:581f)
+ ret
+
+Functioncd820: ; cd820 (33:5820)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_16: ; cd824 (33:5824)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd835
+ dw Functioncd860
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd88f
+ dw Functioncd893
+Functioncd835: ; cd835 (33:5835)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd852
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd858
+
+.asm_cd852
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+.asm_cd858
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+Functioncd860: ; cd860 (33:5860)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .load_no_inc
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .reinit
+
+.load_no_inc
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+.reinit
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+Functioncd88f: ; cd88f (33:588f)
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd893: ; cd893 (33:5893)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $1
+ ret
+
+BattleAnimFunction_17: ; cd89a (33:589a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd8ab
+ dw Functioncd8cc
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f5
+ dw Functioncd8f9
+Functioncd8ab: ; cd8ab (33:58ab)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_cd8be
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $10
+ jr .asm_cd8c4
+
+.asm_cd8be
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $30
+.asm_cd8c4
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+Functioncd8cc: ; cd8cc (33:58cc)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ bit 7, a
+ jr nz, .asm_cd8e6
+ ld a, $3d
+ jr .asm_cd8e8
+
+.asm_cd8e6
+ ld a, $3c
+.asm_cd8e8
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $1f
+ ret nz
+Functioncd8f5: ; cd8f5 (33:58f5)
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd8f9: ; cd8f9 (33:58f9)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $1
+ ret
+
+BattleAnimFunction_18: ; cd900 (33:5900)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd907
+ dw Functioncd913
+Functioncd907: ; cd907 (33:5907)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $0
+Functioncd913: ; cd913 (33:5913)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd950
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], d
+ ret
+
+.asm_cd950
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_19: ; cd954 (33:5954)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncd961
+ dw Functioncd96a
+ dw Functioncd96e
+ dw Functioncd96a
+ dw Functioncd97b
+Functioncd961: ; cd961 (33:5961)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], $0
+Functioncd96a: ; cd96a (33:596a)
+ call Functioncd99a
+ ret
+
+Functioncd96e: ; cd96e (33:596e)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr c, asm_cd988
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncd97b: ; cd97b (33:597b)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $b8
+ jr c, asm_cd988
+ call DeinitBattleAnimation
+ ret
+
+asm_cd988: ; cd988 (33:5988)
+ call Functioncd99a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncd99a: ; cd99a (33:599a)
+ call Functioncd9f4
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cd9d7
+ cp $c2
+ jr c, .asm_cd9e2
+.asm_cd9d7
+ dec a
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ inc [hl]
+ ret
+
+.asm_cd9e2
+ xor a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ ret
+
+Functioncd9f4: ; cd9f4 (33:59f4)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, Unknown_cda01
+ add hl, de
+ ld d, [hl]
+ ret
+
+; cda01 (33:5a01)
+Unknown_cda01: ; cda01
+ db 8, 6, 5, 4, 5, 6, 8, 12, 16
+; cda0a
+BattleAnimFunction_1C: ; cda0a (33:5a0a)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr nc, .asm_cda17
+ call DeinitBattleAnimation
+ ret
+
+.asm_cda17
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld e, a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ sub e
+ ld [hl], a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+.asm_cda2c
+ inc [hl]
+ dec e
+ jr nz, .asm_cda2c
+ ret
+
+BattleAnimFunction_1F: ; cda31 (33:5a31)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncda4c
+ dw Functioncda3a
+ dw Functioncda4c
+Functioncda3a: ; cda3a (33:5a3a)
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ inc a
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $8
+Functioncda4c: ; cda4c (33:5a4c)
+ ret
+
+BattleAnimFunction_LeechSeed: ; cda4d (33:5a4d)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+.zero: ; cda58 (33:5a58)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+.one: ; cda62 (33:5a62)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .sprout
+ call Functioncda8d
+ ret
+
+.sprout
+ ld [hl], $40
+ ld a, BATTLEANIMFRAMESET_57
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.two: ; cda7a (33:5a7a)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .flutter
+ dec [hl]
+ ret
+
+.flutter
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_58
+ call ReinitBattleAnimFrameset
+.three: ; cda8c (33:5a8c)
+ ret
+
+Functioncda8d: ; cda8d (33:5a8d)
+ dec [hl]
+ ld d, $20
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld h, [hl]
+ ld a, h
+ and $f
+ swap a
+ ld l, a
+ ld a, h
+ and $f0
+ swap a
+ ld h, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_3F: ; cdad6 (33:5ad6)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdadf
+ dw Functioncdae9
+ dw Functioncdaf9
+Functioncdadf: ; cdadf (33:5adf)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $40
+ ret
+
+Functioncdae9: ; cdae9 (33:5ae9)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_cdaf6
+ call Functioncda8d
+ ret
+
+.asm_cdaf6
+ call BattleAnim_IncAnonJumptableIndex
+Functioncdaf9: ; cdaf9 (33:5af9)
+ ret
+
+BattleAnimFunction_1A: ; cdafa (33:5afa)
+ call BattleAnimFunction_03
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ add $f
+ ld [hl], a
+ ret
+
+BattleAnimFunction_1B: ; cdb06 (33:5b06)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdb13
+ dw Functioncdb14
+ dw Functioncdb28
+ dw Functioncdb50
+ dw Functioncdb65
+Functioncdb13: ; cdb13 (33:5b13)
+ ret
+
+Functioncdb14: ; cdb14 (33:5b14)
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdb24
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], $0
+ ret
+
+.asm_cdb24
+ add $4
+ ld [hl], a
+ ret
+
+Functioncdb28: ; cdb28 (33:5b28)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ set 0, [hl]
+ ld hl, BATTLEANIMSTRUCT_02
+ add hl, bc
+ ld [hl], $90
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], $2
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+Functioncdb50: ; cdb50 (33:5b50)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $2c
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], $80
+Functioncdb65: ; cdb65 (33:5b65)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $98
+ ret nc
+ inc [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_1D: ; cdb80 (33:5b80)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdb9f
+ dw Functioncdbb3
+ dw Functioncdbcf
+ dw Functioncdbeb
+ dw Functioncdc74
+ dw Functioncdc1a
+ dw Functioncdbc1
+ dw Functioncdc1e
+ dw Functioncdc27
+ dw Functioncdc39
+ dw Functioncdc74
+ dw Functioncdc48
+ dw Functioncdc57
+ dw Functioncdc74
+Functioncdb9f: ; cdb9f (33:5b9f)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ inc hl
+ ld [hl], $10
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functioncdbb3: ; cdbb3 (33:5bb3)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $40
+ jr nc, .asm_cdbbd
+ inc [hl]
+.asm_cdbbd
+ call Functioncdc75
+ ret
+
+Functioncdbc1: ; cdbc1 (33:5bc1)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $4b
+ jr nc, .asm_cdbcb
+ inc [hl]
+.asm_cdbcb
+ call Functioncdc75
+ ret
+
+Functioncdbcf: ; cdbcf (33:5bcf)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $88
+ jr nc, .asm_cdbe6
+ and $f
+ jr nz, asm_cdbfa
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $10
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+.asm_cdbe6
+ call BattleAnim_IncAnonJumptableIndex
+ inc [hl]
+ ret
+
+Functioncdbeb: ; cdbeb (33:5beb)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdbf5
+ dec [hl]
+ ret
+
+.asm_cdbf5
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ dec [hl]
+asm_cdbfa: ; cdbfa (33:5bfa)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+Functioncdc1a: ; cdc1a (33:5c1a)
+ call DeinitBattleAnimation
+ ret
+
+Functioncdc1e: ; cdc1e (33:5c1e)
+ ld a, BATTLEANIMFRAMESET_4E
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncdc27: ; cdc27 (33:5c27)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $2
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functioncdc39: ; cdc39 (33:5c39)
+ ld a, BATTLEANIMFRAMESET_50
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $4
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functioncdc48: ; cdc48 (33:5c48)
+ ld a, BATTLEANIMFRAMESET_4F
+ call ReinitBattleAnimFrameset
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $40
+ ret
+
+Functioncdc57: ; cdc57 (33:5c57)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $20
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_cdc71
+ dec [hl]
+ ret
+
+.asm_cdc71
+ call BattleAnim_IncAnonJumptableIndex
+Functioncdc74: ; cdc74 (33:5c74)
+ ret
+
+Functioncdc75: ; cdc75 (33:5c75)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ sub $8
+ ld [hl], a
+ ret nz
+ xor a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hli], a
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+BattleAnimFunction_1E: ; cdca6 (33:5ca6)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcb6
+ cp $d8
+ jr nc, .asm_cdcb6
+ call DeinitBattleAnimation
+ ret
+
+.asm_cdcb6
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ sub d
+ ld [hl], a
+ ret
+
+BattleAnimFunction_21: ; cdcc3 (33:5cc3)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdcca
+ dw Functioncdced
+Functioncdcca: ; cdcca (33:5cca)
+ ld a, [hBattleTurn]
+ and a
+ jr z, .asm_cdcd9
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ add $3
+ ld [hl], a
+.asm_cdcd9
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $8
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, BATTLEANIMFRAMESET_59
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdced: ; cdced (33:5ced)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdcfa
+ dec [hl]
+ call Functioncdcfe
+ ret
+
+.asm_cdcfa
+ call DeinitBattleAnimation
+ ret
+
+Functioncdcfe: ; cdcfe (33:5cfe)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdd20
+ dec a
+ ret z
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ret
+
+.asm_cdd20
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, d
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_22: ; cdd2a (33:5d2a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdd31
+ dw Functioncdd4f
+Functioncdd31: ; cdd31 (33:5d31)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3f
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld [hl], a
+ add BATTLEANIMFRAMESET_5D
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdd4f: ; cdd4f (33:5d4f)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ swap a
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ ret nc
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_cdd87
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+.asm_cdd87
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_23: ; cdd90 (33:5d90)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdd97
+ dw Functioncddbc
+Functioncdd97: ; cdd97 (33:5d97)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $80
+ rlca
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ ld [hl], a
+Functioncddbc: ; cddbc (33:5dbc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ and $3f
+ jr z, .asm_cddf0
+ and $1f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc a
+ jr .asm_cddf5
+
+.asm_cddf0
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+.asm_cddf5
+ call ReinitBattleAnimFrameset
+ ret
+
+BattleAnimFunction_24: ; cddf9 (33:5df9)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncde02
+ dw Functioncde20
+ dw Functioncde21
+Functioncde02: ; cde02 (33:5e02)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add BATTLEANIMFRAMESET_63
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, Unknown_cde25
+ add hl, de
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+Functioncde20: ; cde20 (33:5e20)
+ ret
+
+Functioncde21: ; cde21 (33:5e21)
+ call DeinitBattleAnimation
+ ret
+
+; cde25 (33:5e25)
+Unknown_cde25: ; cde25
+ db $ec, $f8, $00
+; cde28
+BattleAnimFunction_25: ; cde28 (33:5e28)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ ld d, $4
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld e, [hl]
+ ld hl, $ffa0
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], e
+ ret
+
+BattleAnimFunction_26: ; cde54 (33:5e54)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ dec [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_27: ; cde6b (33:5e6b)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncde72
+ dw Functioncde88
+Functioncde72: ; cde72 (33:5e72)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, .asm_cde83
+ ld hl, BATTLEANIMSTRUCT_01
+ add hl, bc
+ set 6, [hl]
+.asm_cde83
+ add BATTLEANIMFRAMESET_6A
+ call ReinitBattleAnimFrameset
+Functioncde88: ; cde88 (33:5e88)
+ ret
+
+BattleAnimFunction_28: ; cde89 (33:5e89)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncde90
+ dw Functioncdebf
+Functioncde90: ; cde90 (33:5e90)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $0
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld a, e
+ and $70
+ swap a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, e
+ and $80
+ jr nz, .asm_cdeb2
+ ld a, e
+ and $f
+ ld [hl], a
+ ret
+
+.asm_cdeb2
+ ld a, e
+ and $f
+ xor $ff
+ inc a
+ ld [hl], a
+ ld a, BATTLEANIMFRAMESET_6E
+ call ReinitBattleAnimFrameset
+ ret
+
+Functioncdebf: ; cdebf (33:5ebf)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_cdec9
+ dec [hl]
+ ret
+
+.asm_cdec9
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ret
+
+BattleAnimFunction_SpiralDescent: ; cdedd (33:5edd)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .delete
+ inc [hl]
+ ret
+
+.delete
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_2D: ; cdf1b (33:5f1b)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $28
+ jr nc, .asm_cdf55
+ inc [hl]
+ ret
+
+.asm_cdf55
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_PoisonGas: ; cdf59 (33:5f59)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functioncdf60
+ dw BattleAnimFunction_SpiralDescent
+Functioncdf60: ; cdf60 (33:5f60)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .next
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+.next
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+BattleAnimFunction_34: ; cdf8c (33:5f8c)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $e8
+ jr z, .asm_cdfc7
+ dec [hl]
+ ret
+
+.asm_cdfc7
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_3C: ; cdfcb (33:5fcb)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ld a, [hl]
+ and $3
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .asm_ce007
+ dec [hl]
+ dec [hl]
+ ret
+
+.asm_ce007
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_35: ; ce00b (33:600b)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce014
+ dw Functionce023
+ dw Functionce05f
+Functionce014: ; ce014 (33:6014)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $34
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $10
+Functionce023: ; ce023 (33:6023)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $6c
+ jr c, .asm_ce02d
+ ret
+
+.asm_ce02d
+ ld a, $2
+ call Functionce70a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ bit 7, a
+ jr nz, .asm_ce046
+ xor $ff
+ inc a
+.asm_ce046
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+ and $1f
+ cp $20
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ srl [hl]
+ ret
+
+Functionce05f: ; ce05f (33:605f)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_Horn: ; ce063 (33:6063)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw .zero
+ dw .one
+ dw .two
+ dw Functionce09e
+.zero: ; ce06e (33:606e)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ret
+
+.one: ; ce083 (33:6083)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $58
+ ret nc
+ ld a, $2
+ call Functionce70a
+ ret
+
+.two: ; ce091 (33:6091)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, Functionce09e
+ call DeinitBattleAnimation
+ ret
+
+Functionce09e: ; ce09e (33:609e)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ sra a
+ xor $ff
+ inc a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+BattleAnimFunction_2C: ; ce0c5 (33:60c5)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce0ce
+ dw Functionce0f8
+ dw Functionce0dd
+Functionce0ce: ; ce0ce (33:60ce)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ swap a
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce0dd: ; ce0dd (33:60dd)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ bit 7, a
+ jr z, .asm_ce0f0
+ ld [hl], a
+.asm_ce0f0
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ sub $4
+ ld [hl], a
+Functionce0f8: ; ce0f8 (33:60f8)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr c, .asm_ce105
+ call DeinitBattleAnimation
+ ret
+
+.asm_ce105
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ call Functionce70a
+ ret
+
+BattleAnimFunction_2E: ; ce10e (33:610e)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce115
+ dw Functionce12a
+Functionce115: ; ce115 (33:6115)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ sub $28
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+Functionce12a: ; ce12a (33:612a)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hli]
+ ld d, [hl]
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ and [hl]
+ jr nz, .asm_ce149
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+.asm_ce149
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $3f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $20
+ inc hl
+ srl [hl]
+ ret
+
+BattleAnimFunction_2F: ; ce15c (33:615c)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ ld a, [hl]
+ and $1
+ jr nz, .asm_ce189
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+.asm_ce189
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $3
+ jr nz, .asm_ce197
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ inc [hl]
+.asm_ce197
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ cp $5a
+ jr nc, .asm_ce1aa
+ ld a, [hl]
+ and a
+ jr z, .asm_ce1ac
+ dec [hl]
+ ret
+
+.asm_ce1aa
+ inc [hl]
+ ret
+
+.asm_ce1ac
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_42: ; ce1b0 (33:61b0)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ cp $40
+ jr nc, .asm_ce1df
+ inc [hl]
+ ret
+
+.asm_ce1df
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_30: ; ce1e7 (33:61e7)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce1ee
+ dw Functionce1fb
+Functionce1ee: ; ce1ee (33:61ee)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], a
+Functionce1fb: ; ce1fb (33:61fb)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $30
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld d, $30
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_31: ; ce226 (33:6226)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce22d
+ dw Functionce254
+Functionce22d: ; ce22d (33:622d)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $10
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld [hl], $f
+Functionce254: ; ce254 (33:6254)
+ ret
+
+BattleAnimFunction_32: ; ce255 (33:6255)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce260
+ dw Functionce274
+ dw Functionce278
+ dw Functionce289
+Functionce260: ; ce260 (33:6260)
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, [hBattleTurn]
+ and a
+ jr nz, .asm_ce26c
+ ld a, $f0
+ jr .asm_ce26e
+
+.asm_ce26c
+ ld a, $cc
+.asm_ce26e
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce274: ; ce274 (33:6274)
+ call Functionce29f
+ ret
+
+Functionce278: ; ce278 (33:6278)
+ call Functionce29f
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ ret nc
+ ld a, $4
+ call Functionce70a
+ ret
+
+Functionce289: ; ce289 (33:6289)
+ call Functionce29f
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr nc, .asm_ce29b
+ ld a, $4
+ call Functionce70a
+ ret
+
+.asm_ce29b
+ call DeinitBattleAnimation
+ ret
+
+Functionce29f: ; ce29f (33:629f)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and $7
+ inc [hl]
+ srl a
+ ld e, a
+ ld d, $0
+ ld a, [hSGB]
+ and a
+ jr nz, .asm_ce2b6
+ ld hl, Unknown_ce2c4
+ jr .asm_ce2b9
+
+.asm_ce2b6
+ ld hl, Unknown_ce2c8
+.asm_ce2b9
+ add hl, de
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ and [hl]
+ ld [wOBP0], a
+ ret
+
+; ce2c4 (33:62c4)
+Unknown_ce2c4: ; ce2c4
+ db $ff, $aa, $55, $aa
+Unknown_ce2c8: ; ce2c8
+ db $ff, $ff, $00, $00
+; ce2cc
+BattleAnimFunction_33: ; ce2cc (33:62cc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ call BattleAnim_Sine
+ sra a
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ add [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ret
+
+BattleAnimFunction_36: ; ce2fd (33:62fd)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce306
+ dw Functionce330
+ dw Functionce34c
+Functionce306: ; ce306 (33:6306)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $e0
+ jr nz, .asm_ce319
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $2
+ ret
+
+.asm_ce319
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, hPushOAM ; $ff80
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+Functionce330: ; ce330 (33:6330)
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce33a
+ dec [hl]
+ ret
+
+.asm_ce33a
+ ld [hl], $4
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ xor $ff
+ inc a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Functionce34c: ; ce34c (33:634c)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $84
+ jr nc, .asm_ce35b
+ ld a, $4
+ call Functionce70a
+ ret
+
+.asm_ce35b
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_37: ; ce35f (33:635f)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce366
+ dw Functionce375
+Functionce366: ; ce366 (33:6366)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $7f
+ add BATTLEANIMFRAMESET_81
+ call ReinitBattleAnimFrameset
+Functionce375: ; ce375 (33:6375)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ bit 7, [hl]
+ jr nz, .asm_ce383
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ inc [hl]
+ ret
+
+.asm_ce383
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_38: ; ce389 (33:6389)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce392
+ dw Functionce39c
+ dw Functionce3ae
+Functionce392: ; ce392 (33:6392)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $c
+ ret
+
+Functionce39c: ; ce39c (33:639c)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce3a6
+ dec [hl]
+ ret
+
+.asm_ce3a6
+ call BattleAnim_IncAnonJumptableIndex
+ ld a, BATTLEANIMFRAMESET_20
+ call ReinitBattleAnimFrameset
+Functionce3ae: ; ce3ae (33:63ae)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ dec [hl]
+ ret
+
+BattleAnimFunction_39: ; ce3b4 (33:63b4)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ ld d, $2
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop af
+ ld d, $8
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_3A: ; ce3d2 (33:63d2)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr c, .asm_ce3df
+ call DeinitBattleAnimation
+ ret
+
+.asm_ce3df
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $8
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ add $2
+ ld [hl], a
+ and $7
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnimFunction_3B: ; ce3ff (33:63ff)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce406
+ dw Functionce412
+Functionce406: ; ce406 (33:6406)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ ret
+
+Functionce412: ; ce412 (33:6412)
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_3D: ; ce416 (33:6416)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld d, $18
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ sra a
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ret
+
+BattleAnimFunction_3E: ; ce43a (33:643a)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce443
+ dw Functionce465
+ dw Functionce490
+Functionce443: ; ce443 (33:6443)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $28
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ add [hl]
+ call ReinitBattleAnimFrameset
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and $f0
+ or $8
+ ld [hl], a
+Functionce465: ; ce465 (33:6465)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .asm_ce48b
+ dec [hl]
+ add $8
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce48b
+ ld [hl], $10
+ call BattleAnim_IncAnonJumptableIndex
+Functionce490: ; ce490 (33:6490)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ dec [hl]
+ and a
+ ret nz
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_40: ; ce49c (33:649c)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce4a3
+ dw Functionce4b0
+Functionce4a3: ; ce4a3 (33:64a3)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, BATTLEANIMFRAMESET_24
+ add [hl]
+ call ReinitBattleAnimFrameset
+Functionce4b0: ; ce4b0 (33:64b0)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $38
+ jr nc, .asm_ce4d8
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ ld d, $18
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ ld a, [hl]
+ and $1
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+ ret
+
+.asm_ce4d8
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_41: ; ce4dc (33:64dc)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ ret z
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call BattleAnim_Sine
+ bit 7, a
+ jr nz, .asm_ce4f4
+ xor $ff
+ inc a
+.asm_ce4f4
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ and $1f
+ ret nz
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ srl [hl]
+ ret
+
+BattleAnimFunction_43: ; ce508 (33:6508)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $10
+ jr nc, .asm_ce52e
+ inc [hl]
+ inc [hl]
+ ld d, a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce52e
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_44: ; ce532 (33:6532)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld d, [hl]
+ ld a, e
+ and $c0
+ rlca
+ rlca
+ add [hl]
+ ld [hl], a
+ ld a, e
+ and $3f
+ push af
+ push de
+ call BattleAnim_Sine
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_45: ; ce55b (33:655b)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce564
+ dw Functionce56e
+ dw Functionce577
+Functionce564: ; ce564 (33:6564)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ jr asm_ce58f
+
+Functionce56e: ; ce56e (33:656e)
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], $18
+Functionce577: ; ce577 (33:6577)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $80
+ jr nc, .asm_ce58b
+ ld d, a
+ add $8
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ jr asm_ce58f
+
+.asm_ce58b
+ call DeinitBattleAnimation
+ ret
+
+asm_ce58f: ; ce58f (33:658f)
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_46: ; ce593 (33:6593)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce5b3
+ dw Functionce59a
+Functionce59a: ; ce59a (33:659a)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld a, [hl]
+ cp $30
+ jr c, .asm_ce5b0
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+.asm_ce5b0
+ call DeinitBattleAnimation
+Functionce5b3: ; ce5b3 (33:65b3)
+ ret
+
+BattleAnimFunction_47: ; ce5b4 (33:65b4)
+ ld d, $50
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ inc [hl]
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ add [hl]
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+BattleAnimFunction_48: ; ce5dc (33:65dc)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $d0
+ jr z, .disappear
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ ret
+
+.disappear
+ call DeinitBattleAnimation
+ ret
+
+BattleAnimFunction_49: ; ce5ee (33:65ee)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce5f9
+ dw Functionce60a
+ dw Functionce622
+ dw Functionce618
+Functionce5f9: ; ce5f9 (33:65f9)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr nz, asm_ce61c
+ call BattleAnim_IncAnonJumptableIndex
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], $ec
+Functionce60a: ; ce60a (33:660a)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $4
+ jr z, Functionce618
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ inc [hl]
+ ret
+
+Functionce618: ; ce618 (33:6618)
+ call DeinitBattleAnimation
+ ret
+
+asm_ce61c: ; ce61c (33:661c)
+ call BattleAnim_IncAnonJumptableIndex
+ call BattleAnim_IncAnonJumptableIndex
+Functionce622: ; ce622 (33:6622)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ cp $d8
+ ret z
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ dec [hl]
+ ret
+
+BattleAnimFunction_4A: ; ce62f (33:662f)
+ call BattleAnim_AnonJumptable
+.anon_dw
+ dw Functionce63a
+ dw Functionce648
+ dw Functionce65c
+ dw Functionce672
+Functionce63a: ; ce63a (33:663a)
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld [hl], a
+ call BattleAnim_IncAnonJumptableIndex
+ ret
+
+Functionce648: ; ce648 (33:6648)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce654
+ xor a
+.asm_ce654
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ inc [hl]
+ inc [hl]
+ ret
+
+Functionce65c: ; ce65c (33:665c)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce668
+ xor a
+.asm_ce668
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $8
+ ld [hl], a
+ ret
+
+Functionce672: ; ce672 (33:6672)
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ cp $70
+ jr c, .asm_ce67e
+ xor a
+.asm_ce67e
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld a, [hl]
+ add $4
+ ld [hl], a
+ ret
+
+BattleAnimFunction_4B: ; ce688 (33:6688)
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld e, [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ ld l, a
+ and $f0
+ ld h, a
+ swap a
+ or h
+ ld h, a
+ ld a, l
+ and $f
+ swap a
+ ld l, a
+ add hl, de
+ ld e, l
+ ld d, h
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ ld [hl], d
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld [hl], e
+ ret
+
+BattleAnimFunction_4C: ; ce6b3 (33:66b3)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_4F: ; ce6bf (33:66bf)
+ ld d, $18
+ ld hl, BATTLEANIMSTRUCT_10
+ add hl, bc
+ ld a, [hl]
+ inc [hl]
+ srl a
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ add [hl]
+ call Functionce6f1
+ ret
+
+BattleAnimFunction_4D: ; ce6d2 (33:66d2)
+ ld hl, BATTLEANIMSTRUCT_0F
+ add hl, bc
+ ld a, [hl]
+ cp $20
+ jr nc, .asm_ce6ed
+ inc [hl]
+ ld hl, BATTLEANIMSTRUCT_0B
+ add hl, bc
+ ld d, [hl]
+ call BattleAnim_Sine
+ xor $ff
+ inc a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+.asm_ce6ed
+ call DeinitBattleAnimation
+ ret
+
+Functionce6f1: ; ce6f1 (33:66f1)
+ push af
+ push de
+ call BattleAnim_Sine
+ sra a
+ sra a
+ ld hl, BATTLEANIMSTRUCT_YOFFSET
+ add hl, bc
+ ld [hl], a
+ pop de
+ pop af
+ call BattleAnim_Cosine
+ ld hl, BATTLEANIMSTRUCT_XOFFSET
+ add hl, bc
+ ld [hl], a
+ ret
+
+Functionce70a: ; ce70a (33:670a)
+ and $f
+ ld e, a
+ ld hl, BATTLEANIMSTRUCT_XCOORD
+ add hl, bc
+ add [hl]
+ ld [hl], a
+ srl e
+ ld hl, BATTLEANIMSTRUCT_YCOORD
+ add hl, bc
+.asm_ce719
+ dec [hl]
+ dec e
+ jr nz, .asm_ce719
+ ret
+
+BattleAnim_AnonJumptable: ; ce71e (33:671e)
+ pop de
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp hl
+
+BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c)
+ ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+ add hl, bc
+ inc [hl]
+ ret
+
+BattleAnim_Cosine: ; ce732 (33:6732)
+ add $10
+BattleAnim_Sine: ; ce734 (33:6734)
+; a = d sin a
+ and $3f
+ cp $20
+ jr nc, .negative
+ call .ApplySineWave
+ ld a, h
+ ret
+
+.negative
+ and $1f
+ call .ApplySineWave
+ ld a, h
+ xor $ff
+ inc a
+ ret
+
+.ApplySineWave:
+ ld e, a
+ ld a, d
+ ld d, 0
+ ld hl, BattleAnimSineWave
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, $0
+.multiply
+ srl a
+ jr nc, .even
+ add hl, de
+.even
+ sla e
+ rl d
+ and a
+ jr nz, .multiply
+ ret
+
+BattleAnim_Sine_e: ; ce765 (33:6765)
+ ld a, e
+ call BattleAnim_Sine
+ ld e, a
+ ret
+
+BattleAnim_Cosine_e: ; ce76b (33:676b)
+ ld a, e
+ call BattleAnim_Cosine
+ ld e, a
+ ret
+
+; ce771 (33:6771)
+BattleAnim_AbsSinePrecise: ; ce771
+ ld a, e
+ call BattleAnim_Sine
+ ld e, l
+ ld d, h
+ ret
+
+; ce778
+BattleAnim_AbsCosinePrecise: ; ce778
+ ld a, e
+ call BattleAnim_Cosine
+ ld e, l
+ ld d, h
+ ret
+
+; ce77f
+BattleAnimSineWave: ; ce77f
+ sine_wave $100
+; ce7bf
--- /dev/null
+++ b/engine/battle_anims/getpokeballwobble.asm
@@ -1,0 +1,88 @@
+GetPokeBallWobble: ; f971 (3:7971)
+; Returns whether a Poke Ball will wobble in the catch animation.
+; Whether a Pokemon is caught is determined beforehand.
+
+ push de
+
+ ld a, [rSVBK]
+ ld d, a
+ push de
+
+ ld a, 1 ; BANK(Buffer2)
+ ld [rSVBK], a
+
+ ld a, [Buffer2]
+ inc a
+ ld [Buffer2], a
+
+; Wobble up to 3 times.
+ cp 3 + 1
+ jr z, .finished
+
+ ld a, [wWildMon]
+ and a
+ ld c, 0 ; next
+ jr nz, .done
+
+ ld hl, .WobbleProbabilities
+ ld a, [Buffer1]
+ ld b, a
+.loop
+ ld a, [hli]
+ cp b
+ jr nc, .checkwobble
+ inc hl
+ jr .loop
+
+.checkwobble
+ ld b, [hl]
+ call Random
+ cp b
+ ld c, 0 ; next
+ jr c, .done
+ ld c, 2 ; escaped
+ jr .done
+
+.finished
+ ld a, [wWildMon]
+ and a
+ ld c, 1 ; caught
+ jr nz, .done
+ ld c, 2 ; escaped
+
+.done
+ pop de
+ ld e, a
+ ld a, d
+ ld [rSVBK], a
+ ld a, e
+ pop de
+ ret
+
+.WobbleProbabilities: ; f9ba
+; catch rate, chance of wobbling / 255
+; nLeft/255 = (nRight/255) ** 4
+ db 1, 63
+ db 2, 75
+ db 3, 84
+ db 4, 90
+ db 5, 95
+ db 7, 103
+ db 10, 113
+ db 15, 126
+ db 20, 134
+ db 30, 149
+ db 40, 160
+ db 50, 169
+ db 60, 177
+ db 80, 191
+ db 100, 201
+ db 120, 211
+ db 140, 220
+ db 160, 227
+ db 180, 234
+ db 200, 240
+ db 220, 246
+ db 240, 251
+ db 254, 253
+ db 255, 255
--- /dev/null
+++ b/engine/battle_anims/helpers.asm
@@ -1,0 +1,130 @@
+ReinitBattleAnimFrameset: ; ce7bf (33:67bf)
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], 0
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], -1
+ ret
+
+GetBattleAnimFrame: ; ce7d1
+.loop
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .next_frame
+ dec [hl]
+ call .GetPointer
+ ld a, [hli]
+ push af
+ jr .okay
+
+.next_frame
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ inc [hl]
+ call .GetPointer
+ ld a, [hli]
+ cp -2
+ jr z, .restart
+ cp -1
+ jr z, .repeat_last
+ push af
+ ld a, [hl]
+ push hl
+ and $3f
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ pop hl
+
+.okay
+ ld a, [hl]
+ and $c0
+ srl a
+ ld [wBattleAnimTemp7], a
+ pop af
+ ret
+
+.repeat_last
+ xor a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ jr .loop
+
+.restart
+ xor a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ dec a
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], a
+ jr .loop
+
+; ce823
+
+.GetPointer: ; ce823
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, BattleAnimFrameData
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ret
+
+; ce83c
+
+GetBattleAnimOAMPointer: ; ce83c
+ ld l, a
+ ld h, 0
+ ld de, BattleAnimOAMData
+ add hl, hl
+ add hl, hl
+ add hl, de
+ ret
+
+; ce846
+
+LoadBattleAnimObj: ; ce846 (33:6846)
+ push hl
+ ld l, a
+ ld h, 0
+ add hl, hl
+ add hl, hl
+ ld de, AnimObjGFX
+ add hl, de
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+ push bc
+ call DecompressRequest2bpp
+ pop bc
+ ret
+
+; ce85e (33:685e)
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -1218,8 +1218,9 @@
ExpBarPalette:
INCLUDE "data/palettes/exp_bar.pal"
-INCLUDE "gfx/pokemon/palette_pointers.asm"
-INCLUDE "gfx/trainer_palettes.asm"
+INCLUDE "data/palettes/pokemon_palettes.asm"
+
+INCLUDE "data/palettes/trainer_palettes.asm"
LoadMapPals:
farcall LoadSpecialMapPalette
--- a/engine/mon_icons.asm
+++ b/engine/mon_icons.asm
@@ -468,6 +468,6 @@
INCLUDE "data/pokemon/menu_icons.asm"
-INCLUDE "gfx/icon_pointers.asm"
+INCLUDE "data/icon_pointers.asm"
INCLUDE "gfx/icons.asm"
--- a/engine/movement.asm
+++ b/engine/movement.asm
@@ -1,5 +1,5 @@
MovementPointers: ; 5075
-; entries correspond to macros/movement.asm enumeration
+; entries correspond to macros/scripts/movement.asm enumeration
dw Movement_turn_head_down ; 00
dw Movement_turn_head_up ; 01
dw Movement_turn_head_left ; 02
--- a/engine/routines/battlestart_copytilemapatonce.asm
+++ /dev/null
@@ -1,3 +1,0 @@
-BattleStart_CopyTilemapAtOnce: ; 8cf4f
- call CGBOnly_CopyTilemapAtOnce
- ret
--- a/engine/routines/checkbattlescene.asm
+++ /dev/null
@@ -1,47 +1,0 @@
-CheckBattleScene: ; 4ea44
-; Return carry if battle scene is turned off.
-
- ld a, 0
- ld hl, wLinkMode
- call GetFarWRAMByte
- cp LINK_MOBILE
- jr z, .mobile
-
- ld a, [Options]
- bit BATTLE_SCENE, a
- jr nz, .off
-
- and a
- ret
-
-.mobile
- ld a, [wcd2f]
- and a
- jr nz, .from_wram
-
- ld a, $4
- call GetSRAMBank
- ld a, [$a60c]
- ld c, a
- call CloseSRAM
-
- ld a, c
- bit 0, c
- jr z, .off
-
- and a
- ret
-
-.from_wram
- ld a, $5
- ld hl, w5_dc00
- call GetFarWRAMByte
- bit 0, a
- jr z, .off
-
- and a
- ret
-
-.off
- scf
- ret
--- a/engine/routines/consumehelditem.asm
+++ /dev/null
@@ -1,80 +1,0 @@
-ConsumeHeldItem: ; 27192
- push hl
- push de
- push bc
- ld a, [hBattleTurn]
- and a
- ld hl, OTPartyMon1Item
- ld de, EnemyMonItem
- ld a, [CurOTMon]
- jr z, .theirturn
- ld hl, PartyMon1Item
- ld de, BattleMonItem
- ld a, [CurBattleMon]
-
-.theirturn
- push hl
- push af
- ld a, [de]
- ld b, a
- farcall GetItemHeldEffect
- ld hl, .ConsumableEffects
-.loop
- ld a, [hli]
- cp b
- jr z, .ok
- inc a
- jr nz, .loop
- pop af
- pop hl
- pop bc
- pop de
- pop hl
- ret
-
-.ok
- xor a
- ld [de], a
- pop af
- pop hl
- call GetPartyLocation
- ld a, [hBattleTurn]
- and a
- jr nz, .ourturn
- ld a, [wBattleMode]
- dec a
- jr z, .done
-
-.ourturn
- ld [hl], $0
-
-.done
- pop bc
- pop de
- pop hl
- ret
-
-.ConsumableEffects: ; 271de
-; Consumable items?
- db HELD_BERRY
- db HELD_2
- db HELD_5
- db HELD_HEAL_POISON
- db HELD_HEAL_FREEZE
- db HELD_HEAL_BURN
- db HELD_HEAL_SLEEP
- db HELD_HEAL_PARALYZE
- db HELD_HEAL_STATUS
- db HELD_30
- db HELD_ATTACK_UP
- db HELD_DEFENSE_UP
- db HELD_SPEED_UP
- db HELD_SP_ATTACK_UP
- db HELD_SP_DEFENSE_UP
- db HELD_ACCURACY_UP
- db HELD_EVASION_UP
- db HELD_38
- db HELD_71
- db HELD_ESCAPE
- db HELD_CRITICAL_UP
- db -1
--- a/engine/routines/getpokeballwobble.asm
+++ /dev/null
@@ -1,88 +1,0 @@
-GetPokeBallWobble: ; f971 (3:7971)
-; Returns whether a Poke Ball will wobble in the catch animation.
-; Whether a Pokemon is caught is determined beforehand.
-
- push de
-
- ld a, [rSVBK]
- ld d, a
- push de
-
- ld a, 1 ; BANK(Buffer2)
- ld [rSVBK], a
-
- ld a, [Buffer2]
- inc a
- ld [Buffer2], a
-
-; Wobble up to 3 times.
- cp 3 + 1
- jr z, .finished
-
- ld a, [wWildMon]
- and a
- ld c, 0 ; next
- jr nz, .done
-
- ld hl, .WobbleProbabilities
- ld a, [Buffer1]
- ld b, a
-.loop
- ld a, [hli]
- cp b
- jr nc, .checkwobble
- inc hl
- jr .loop
-
-.checkwobble
- ld b, [hl]
- call Random
- cp b
- ld c, 0 ; next
- jr c, .done
- ld c, 2 ; escaped
- jr .done
-
-.finished
- ld a, [wWildMon]
- and a
- ld c, 1 ; caught
- jr nz, .done
- ld c, 2 ; escaped
-
-.done
- pop de
- ld e, a
- ld a, d
- ld [rSVBK], a
- ld a, e
- pop de
- ret
-
-.WobbleProbabilities: ; f9ba
-; catch rate, chance of wobbling / 255
-; nLeft/255 = (nRight/255) ** 4
- db 1, 63
- db 2, 75
- db 3, 84
- db 4, 90
- db 5, 95
- db 7, 103
- db 10, 113
- db 15, 126
- db 20, 134
- db 30, 149
- db 40, 160
- db 50, 169
- db 60, 177
- db 80, 191
- db 100, 201
- db 120, 211
- db 140, 220
- db 160, 227
- db 180, 234
- db 200, 240
- db 220, 246
- db 240, 251
- db 254, 253
- db 255, 255
--- a/engine/routines/kurt_selectquantity_interpretjoypad.asm
+++ /dev/null
@@ -1,4 +1,0 @@
-Kurt_SelectQuantity_InterpretJoypad: ; 27a28
- call BuySellToss_InterpretJoypad
- ld b, a
- ret
--- a/engine/routines/returntobattle_useball.asm
+++ /dev/null
@@ -1,19 +1,0 @@
-_ReturnToBattle_UseBall: ; 2715c
- call ClearBGPalettes
- call ClearTileMap
- ld a, [BattleType]
- cp BATTLETYPE_TUTORIAL
- jr z, .gettutorialbackpic
- farcall GetBattleMonBackpic
- jr .continue
-
-.gettutorialbackpic
- farcall GetTrainerBackpic
-.continue
- farcall GetEnemyMonFrontpic
- farcall _LoadBattleFontsHPBar
- call GetMemSGBLayout
- call CloseWindow
- call LoadStandardMenuDataHeader
- call WaitBGMap
- jp SetPalettes
--- a/engine/routines/updatebattlehuds.asm
+++ /dev/null
@@ -1,9 +1,0 @@
-_UpdateBattleHUDs:
- farcall DrawPlayerHUD
- ld hl, PlayerHPPal
- call SetHPPal
- farcall DrawEnemyHUD
- ld hl, EnemyHPPal
- call SetHPPal
- farcall FinishBattleAnim
- ret
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -64,7 +64,7 @@
ScriptCommandTable:
-; entries correspond to macros/event.asm enumeration
+; entries correspond to macros/scripts/events.asm enumeration
dw Script_scall ; 00
dw Script_farscall ; 01
dw Script_ptcall ; 02
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -551,13 +551,13 @@
; 8d1c4
-INCLUDE "data/sprites/sequences.asm"
+INCLUDE "data/sprite_anims/sequences.asm"
INCLUDE "engine/sprite_anims.asm"
-INCLUDE "data/sprites/framesets.asm"
+INCLUDE "data/sprite_anims/framesets.asm"
-INCLUDE "data/sprites/oam.asm"
+INCLUDE "data/sprite_anims/oam.asm"
BrokenStdGFXPointers: ; Broken 2bpp pointers
--- a/engine/trade_animation.asm
+++ b/engine/trade_animation.asm
@@ -236,7 +236,7 @@
; 290af
.JumpTable: ; 290af
-; entries correspond to macros/trade_anim.asm enumeration
+; entries correspond to macros/scripts/trade_anims.asm enumeration
dw TradeAnim_AdvanceScriptPointer ; 00
dw TradeAnim_ShowGivemonData ; 01
dw TradeAnim_ShowGetmonData ; 02
--- /dev/null
+++ b/event/kurt_selectquantity_interpretjoypad.asm
@@ -1,0 +1,4 @@
+Kurt_SelectQuantity_InterpretJoypad: ; 27a28
+ call BuySellToss_InterpretJoypad
+ ld b, a
+ ret
--- a/gfx/anims.asm
+++ /dev/null
@@ -1,41 +1,0 @@
-AnimObj00GFX: ; 84a2e
-AnimObjHitGFX: INCBIN "gfx/anims/hit.2bpp.lz"
-AnimObjCutGFX: INCBIN "gfx/anims/cut.2bpp.lz"
-AnimObjFireGFX: INCBIN "gfx/anims/fire.2bpp.lz"
-AnimObjWaterGFX: INCBIN "gfx/anims/water.2bpp.lz"
-AnimObjLightningGFX: INCBIN "gfx/anims/lightning.2bpp.lz"
-AnimObjSmokeGFX: INCBIN "gfx/anims/smoke.2bpp.lz"
-AnimObjExplosionGFX: INCBIN "gfx/anims/explosion.2bpp.lz"
-AnimObjIceGFX: INCBIN "gfx/anims/ice.2bpp.lz"
-AnimObjRocksGFX: INCBIN "gfx/anims/rocks.2bpp.lz"
-AnimObjPoisonGFX: INCBIN "gfx/anims/poison.2bpp.lz"
-AnimObjPlantGFX: INCBIN "gfx/anims/plant.2bpp.lz"
-AnimObjPokeBallGFX: INCBIN "gfx/anims/pokeball.2bpp.lz"
-AnimObjBubbleGFX: INCBIN "gfx/anims/bubble.2bpp.lz"
-AnimObjNoiseGFX: INCBIN "gfx/anims/noise.2bpp.lz"
-AnimObjReflectGFX: INCBIN "gfx/anims/reflect.2bpp.lz"
-AnimObjPowderGFX: INCBIN "gfx/anims/powder.2bpp.lz"
-AnimObjBeamGFX: INCBIN "gfx/anims/beam.2bpp.lz"
-AnimObjSpeedGFX: INCBIN "gfx/anims/speed.2bpp.lz"
-AnimObjChargeGFX: INCBIN "gfx/anims/charge.2bpp.lz"
-AnimObjWindGFX: INCBIN "gfx/anims/wind.2bpp.lz"
-AnimObjWhipGFX: INCBIN "gfx/anims/whip.2bpp.lz"
-AnimObjRopeGFX: INCBIN "gfx/anims/rope.2bpp.lz"
-AnimObjEggGFX: INCBIN "gfx/anims/egg.2bpp.lz"
-AnimObjPsychicGFX: INCBIN "gfx/anims/psychic.2bpp.lz"
-AnimObjSandGFX: INCBIN "gfx/anims/sand.2bpp.lz"
-AnimObjWebGFX: INCBIN "gfx/anims/web.2bpp.lz"
-AnimObjHazeGFX: INCBIN "gfx/anims/haze.2bpp.lz"
-AnimObjHornGFX: INCBIN "gfx/anims/horn.2bpp.lz"
-AnimObjFlowerGFX: INCBIN "gfx/anims/flower.2bpp.lz"
-AnimObjMiscGFX: INCBIN "gfx/anims/misc.2bpp.lz"
-AnimObjSkyAttackGFX: INCBIN "gfx/anims/skyattack.2bpp.lz"
-AnimObjGlobeGFX: INCBIN "gfx/anims/globe.2bpp.lz"
-AnimObjShapesGFX: INCBIN "gfx/anims/shapes.2bpp.lz"
-AnimObjStatusGFX: INCBIN "gfx/anims/status.2bpp.lz"
-AnimObjObjectsGFX: INCBIN "gfx/anims/objects.2bpp.lz"
-AnimObjShineGFX: INCBIN "gfx/anims/shine.2bpp.lz"
-AnimObjAngelsGFX: INCBIN "gfx/anims/angels.2bpp.lz"
-AnimObjWaveGFX: INCBIN "gfx/anims/wave.2bpp.lz"
-AnimObjAeroblastGFX: INCBIN "gfx/anims/aeroblast.2bpp.lz"
-; 8640e
binary files a/gfx/anims/aeroblast.2bpp.lz.2f07c4ea /dev/null differ
binary files a/gfx/anims/aeroblast.png /dev/null differ
binary files a/gfx/anims/angels.2bpp.lz.b026d81e /dev/null differ
binary files a/gfx/anims/angels.png /dev/null differ
binary files a/gfx/anims/beam.2bpp.lz.80b6d613 /dev/null differ
binary files a/gfx/anims/beam.png /dev/null differ
binary files a/gfx/anims/bubble.2bpp.lz.03b8ac99 /dev/null differ
binary files a/gfx/anims/bubble.png /dev/null differ
binary files a/gfx/anims/charge.2bpp.lz.95d3ea98 /dev/null differ
binary files a/gfx/anims/charge.png /dev/null differ
binary files a/gfx/anims/cut.2bpp.lz.03d343ed /dev/null differ
binary files a/gfx/anims/cut.png /dev/null differ
binary files a/gfx/anims/egg.2bpp.lz.41dd1a53 /dev/null differ
binary files a/gfx/anims/egg.png /dev/null differ
binary files a/gfx/anims/explosion.2bpp.lz.55fc334f /dev/null differ
binary files a/gfx/anims/explosion.png /dev/null differ
binary files a/gfx/anims/fire.2bpp.lz.d7701cda /dev/null differ
binary files a/gfx/anims/fire.png /dev/null differ
binary files a/gfx/anims/flower.2bpp.lz.1bc2e9d2 /dev/null differ
binary files a/gfx/anims/flower.png /dev/null differ
binary files a/gfx/anims/globe.2bpp.lz.710dbb8e /dev/null differ
binary files a/gfx/anims/globe.png /dev/null differ
binary files a/gfx/anims/haze.2bpp.lz.91424607 /dev/null differ
binary files a/gfx/anims/haze.png /dev/null differ
binary files a/gfx/anims/hit.2bpp.lz.2b3c83f2 /dev/null differ
binary files a/gfx/anims/hit.png /dev/null differ
binary files a/gfx/anims/horn.2bpp.lz.48908aae /dev/null differ
binary files a/gfx/anims/horn.png /dev/null differ
binary files a/gfx/anims/ice.2bpp.lz.664d900f /dev/null differ
binary files a/gfx/anims/ice.png /dev/null differ
binary files a/gfx/anims/lightning.2bpp.lz.a88fc131 /dev/null differ
binary files a/gfx/anims/lightning.png /dev/null differ
binary files a/gfx/anims/misc.2bpp.lz.4b20c3d7 /dev/null differ
binary files a/gfx/anims/misc.png /dev/null differ
binary files a/gfx/anims/noise.2bpp.lz.acb4a76e /dev/null differ
binary files a/gfx/anims/noise.png /dev/null differ
binary files a/gfx/anims/objects.2bpp.lz.83f812de /dev/null differ
binary files a/gfx/anims/objects.png /dev/null differ
--- a/gfx/anims/plant.2bpp.lz.4a00c417
+++ /dev/null
@@ -1,3 +1,0 @@
-a<<~B��ߡ>�����
-<$xx��c >2��88i��~Bø}c}CC��➆�xx<$|D~B^b3=a��C e00PpC��
-=%}EC_c�����<�>��c����_aOq'83<e 79Nr���� )���`�@I@� 00<,.2/1'9a�� ,4\d���� ������
\ No newline at end of file
binary files a/gfx/anims/plant.png /dev/null differ
binary files a/gfx/anims/poison.2bpp.lz.fc7dc9c1 /dev/null differ
binary files a/gfx/anims/poison.png /dev/null differ
binary files a/gfx/anims/pokeball.2bpp.lz.c58f7e01 /dev/null differ
binary files a/gfx/anims/pokeball.png /dev/null differ
--- a/gfx/anims/powder.2bpp.lz.bfd566bb
+++ /dev/null
@@ -1,1 +1,0 @@
-@@��GEa8(@@��EG��Î
\ No newline at end of file
binary files a/gfx/anims/powder.png /dev/null differ
binary files a/gfx/anims/psychic.2bpp.lz.d80f285c /dev/null differ
binary files a/gfx/anims/psychic.png /dev/null differ
binary files a/gfx/anims/reflect.2bpp.lz.9a9c822d /dev/null differ
binary files a/gfx/anims/reflect.png /dev/null differ
binary files a/gfx/anims/rocks.2bpp.lz.73d0153e /dev/null differ
binary files a/gfx/anims/rocks.png /dev/null differ
binary files a/gfx/anims/rope.2bpp.lz.209d63dd /dev/null differ
binary files a/gfx/anims/rope.png /dev/null differ
binary files a/gfx/anims/sand.2bpp.lz.c87c0eaa /dev/null differ
binary files a/gfx/anims/sand.png /dev/null differ
binary files a/gfx/anims/shapes.2bpp.lz.262d77f0 /dev/null differ
binary files a/gfx/anims/shapes.png /dev/null differ
binary files a/gfx/anims/shine.2bpp.lz.5fb79056 /dev/null differ
binary files a/gfx/anims/shine.png /dev/null differ
binary files a/gfx/anims/skyattack.2bpp.lz.31738ab8 /dev/null differ
binary files a/gfx/anims/skyattack.png /dev/null differ
binary files a/gfx/anims/smoke.2bpp.lz.aa05905e /dev/null differ
binary files a/gfx/anims/smoke.png /dev/null differ
binary files a/gfx/anims/speed.2bpp.lz.1732b364 /dev/null differ
binary files a/gfx/anims/speed.png /dev/null differ
binary files a/gfx/anims/status.2bpp.lz.0c0aa13e /dev/null differ
binary files a/gfx/anims/status.png /dev/null differ
binary files a/gfx/anims/water.2bpp.lz.7b52ed12 /dev/null differ
binary files a/gfx/anims/water.png /dev/null differ
binary files a/gfx/anims/wave.2bpp.lz.bee99402 /dev/null differ
binary files a/gfx/anims/wave.png /dev/null differ
binary files a/gfx/anims/web.2bpp.lz.80e3d480 /dev/null differ
binary files a/gfx/anims/web.png /dev/null differ
binary files a/gfx/anims/whip.2bpp.lz.d80d8d6e /dev/null differ
binary files a/gfx/anims/whip.png /dev/null differ
binary files a/gfx/anims/wind.2bpp.lz.5a785180 /dev/null differ
binary files a/gfx/anims/wind.png /dev/null differ
--- /dev/null
+++ b/gfx/battle_anims.asm
@@ -1,0 +1,41 @@
+AnimObj00GFX: ; 84a2e
+AnimObjHitGFX: INCBIN "gfx/battle_anims/hit.2bpp.lz"
+AnimObjCutGFX: INCBIN "gfx/battle_anims/cut.2bpp.lz"
+AnimObjFireGFX: INCBIN "gfx/battle_anims/fire.2bpp.lz"
+AnimObjWaterGFX: INCBIN "gfx/battle_anims/water.2bpp.lz"
+AnimObjLightningGFX: INCBIN "gfx/battle_anims/lightning.2bpp.lz"
+AnimObjSmokeGFX: INCBIN "gfx/battle_anims/smoke.2bpp.lz"
+AnimObjExplosionGFX: INCBIN "gfx/battle_anims/explosion.2bpp.lz"
+AnimObjIceGFX: INCBIN "gfx/battle_anims/ice.2bpp.lz"
+AnimObjRocksGFX: INCBIN "gfx/battle_anims/rocks.2bpp.lz"
+AnimObjPoisonGFX: INCBIN "gfx/battle_anims/poison.2bpp.lz"
+AnimObjPlantGFX: INCBIN "gfx/battle_anims/plant.2bpp.lz"
+AnimObjPokeBallGFX: INCBIN "gfx/battle_anims/pokeball.2bpp.lz"
+AnimObjBubbleGFX: INCBIN "gfx/battle_anims/bubble.2bpp.lz"
+AnimObjNoiseGFX: INCBIN "gfx/battle_anims/noise.2bpp.lz"
+AnimObjReflectGFX: INCBIN "gfx/battle_anims/reflect.2bpp.lz"
+AnimObjPowderGFX: INCBIN "gfx/battle_anims/powder.2bpp.lz"
+AnimObjBeamGFX: INCBIN "gfx/battle_anims/beam.2bpp.lz"
+AnimObjSpeedGFX: INCBIN "gfx/battle_anims/speed.2bpp.lz"
+AnimObjChargeGFX: INCBIN "gfx/battle_anims/charge.2bpp.lz"
+AnimObjWindGFX: INCBIN "gfx/battle_anims/wind.2bpp.lz"
+AnimObjWhipGFX: INCBIN "gfx/battle_anims/whip.2bpp.lz"
+AnimObjRopeGFX: INCBIN "gfx/battle_anims/rope.2bpp.lz"
+AnimObjEggGFX: INCBIN "gfx/battle_anims/egg.2bpp.lz"
+AnimObjPsychicGFX: INCBIN "gfx/battle_anims/psychic.2bpp.lz"
+AnimObjSandGFX: INCBIN "gfx/battle_anims/sand.2bpp.lz"
+AnimObjWebGFX: INCBIN "gfx/battle_anims/web.2bpp.lz"
+AnimObjHazeGFX: INCBIN "gfx/battle_anims/haze.2bpp.lz"
+AnimObjHornGFX: INCBIN "gfx/battle_anims/horn.2bpp.lz"
+AnimObjFlowerGFX: INCBIN "gfx/battle_anims/flower.2bpp.lz"
+AnimObjMiscGFX: INCBIN "gfx/battle_anims/misc.2bpp.lz"
+AnimObjSkyAttackGFX: INCBIN "gfx/battle_anims/skyattack.2bpp.lz"
+AnimObjGlobeGFX: INCBIN "gfx/battle_anims/globe.2bpp.lz"
+AnimObjShapesGFX: INCBIN "gfx/battle_anims/shapes.2bpp.lz"
+AnimObjStatusGFX: INCBIN "gfx/battle_anims/status.2bpp.lz"
+AnimObjObjectsGFX: INCBIN "gfx/battle_anims/objects.2bpp.lz"
+AnimObjShineGFX: INCBIN "gfx/battle_anims/shine.2bpp.lz"
+AnimObjAngelsGFX: INCBIN "gfx/battle_anims/angels.2bpp.lz"
+AnimObjWaveGFX: INCBIN "gfx/battle_anims/wave.2bpp.lz"
+AnimObjAeroblastGFX: INCBIN "gfx/battle_anims/aeroblast.2bpp.lz"
+; 8640e
binary files /dev/null b/gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea differ
binary files /dev/null b/gfx/battle_anims/aeroblast.png differ
binary files /dev/null b/gfx/battle_anims/angels.2bpp.lz.b026d81e differ
binary files /dev/null b/gfx/battle_anims/angels.png differ
binary files /dev/null b/gfx/battle_anims/beam.2bpp.lz.80b6d613 differ
binary files /dev/null b/gfx/battle_anims/beam.png differ
binary files /dev/null b/gfx/battle_anims/bubble.2bpp.lz.03b8ac99 differ
binary files /dev/null b/gfx/battle_anims/bubble.png differ
binary files /dev/null b/gfx/battle_anims/charge.2bpp.lz.95d3ea98 differ
binary files /dev/null b/gfx/battle_anims/charge.png differ
binary files /dev/null b/gfx/battle_anims/cut.2bpp.lz.03d343ed differ
binary files /dev/null b/gfx/battle_anims/cut.png differ
binary files /dev/null b/gfx/battle_anims/egg.2bpp.lz.41dd1a53 differ
binary files /dev/null b/gfx/battle_anims/egg.png differ
binary files /dev/null b/gfx/battle_anims/explosion.2bpp.lz.55fc334f differ
binary files /dev/null b/gfx/battle_anims/explosion.png differ
binary files /dev/null b/gfx/battle_anims/fire.2bpp.lz.d7701cda differ
binary files /dev/null b/gfx/battle_anims/fire.png differ
binary files /dev/null b/gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 differ
binary files /dev/null b/gfx/battle_anims/flower.png differ
binary files /dev/null b/gfx/battle_anims/globe.2bpp.lz.710dbb8e differ
binary files /dev/null b/gfx/battle_anims/globe.png differ
binary files /dev/null b/gfx/battle_anims/haze.2bpp.lz.91424607 differ
binary files /dev/null b/gfx/battle_anims/haze.png differ
binary files /dev/null b/gfx/battle_anims/hit.2bpp.lz.2b3c83f2 differ
binary files /dev/null b/gfx/battle_anims/hit.png differ
binary files /dev/null b/gfx/battle_anims/horn.2bpp.lz.48908aae differ
binary files /dev/null b/gfx/battle_anims/horn.png differ
binary files /dev/null b/gfx/battle_anims/ice.2bpp.lz.664d900f differ
binary files /dev/null b/gfx/battle_anims/ice.png differ
binary files /dev/null b/gfx/battle_anims/lightning.2bpp.lz.a88fc131 differ
binary files /dev/null b/gfx/battle_anims/lightning.png differ
binary files /dev/null b/gfx/battle_anims/misc.2bpp.lz.4b20c3d7 differ
binary files /dev/null b/gfx/battle_anims/misc.png differ
binary files /dev/null b/gfx/battle_anims/noise.2bpp.lz.acb4a76e differ
binary files /dev/null b/gfx/battle_anims/noise.png differ
binary files /dev/null b/gfx/battle_anims/objects.2bpp.lz.83f812de differ
binary files /dev/null b/gfx/battle_anims/objects.png differ
--- /dev/null
+++ b/gfx/battle_anims/plant.2bpp.lz.4a00c417
@@ -1,0 +1,3 @@
+a<<~B��ߡ>�����
+<$xx��c >2��88i��~Bø}c}CC��➆�xx<$|D~B^b3=a��C e00PpC��
+=%}EC_c�����<�>��c����_aOq'83<e 79Nr���� )���`�@I@� 00<,.2/1'9a�� ,4\d���� ������
\ No newline at end of file
binary files /dev/null b/gfx/battle_anims/plant.png differ
binary files /dev/null b/gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 differ
binary files /dev/null b/gfx/battle_anims/poison.png differ
binary files /dev/null b/gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 differ
binary files /dev/null b/gfx/battle_anims/pokeball.png differ
--- /dev/null
+++ b/gfx/battle_anims/powder.2bpp.lz.bfd566bb
@@ -1,0 +1,1 @@
+@@��GEa8(@@��EG��Î
\ No newline at end of file
binary files /dev/null b/gfx/battle_anims/powder.png differ
binary files /dev/null b/gfx/battle_anims/psychic.2bpp.lz.d80f285c differ
binary files /dev/null b/gfx/battle_anims/psychic.png differ
binary files /dev/null b/gfx/battle_anims/reflect.2bpp.lz.9a9c822d differ
binary files /dev/null b/gfx/battle_anims/reflect.png differ
binary files /dev/null b/gfx/battle_anims/rocks.2bpp.lz.73d0153e differ
binary files /dev/null b/gfx/battle_anims/rocks.png differ
binary files /dev/null b/gfx/battle_anims/rope.2bpp.lz.209d63dd differ
binary files /dev/null b/gfx/battle_anims/rope.png differ
binary files /dev/null b/gfx/battle_anims/sand.2bpp.lz.c87c0eaa differ
binary files /dev/null b/gfx/battle_anims/sand.png differ
binary files /dev/null b/gfx/battle_anims/shapes.2bpp.lz.262d77f0 differ
binary files /dev/null b/gfx/battle_anims/shapes.png differ
binary files /dev/null b/gfx/battle_anims/shine.2bpp.lz.5fb79056 differ
binary files /dev/null b/gfx/battle_anims/shine.png differ
binary files /dev/null b/gfx/battle_anims/skyattack.2bpp.lz.31738ab8 differ
binary files /dev/null b/gfx/battle_anims/skyattack.png differ
binary files /dev/null b/gfx/battle_anims/smoke.2bpp.lz.aa05905e differ
binary files /dev/null b/gfx/battle_anims/smoke.png differ
binary files /dev/null b/gfx/battle_anims/speed.2bpp.lz.1732b364 differ
binary files /dev/null b/gfx/battle_anims/speed.png differ
binary files /dev/null b/gfx/battle_anims/status.2bpp.lz.0c0aa13e differ
binary files /dev/null b/gfx/battle_anims/status.png differ
binary files /dev/null b/gfx/battle_anims/water.2bpp.lz.7b52ed12 differ
binary files /dev/null b/gfx/battle_anims/water.png differ
binary files /dev/null b/gfx/battle_anims/wave.2bpp.lz.bee99402 differ
binary files /dev/null b/gfx/battle_anims/wave.png differ
binary files /dev/null b/gfx/battle_anims/web.2bpp.lz.80e3d480 differ
binary files /dev/null b/gfx/battle_anims/web.png differ
binary files /dev/null b/gfx/battle_anims/whip.2bpp.lz.d80d8d6e differ
binary files /dev/null b/gfx/battle_anims/whip.png differ
binary files /dev/null b/gfx/battle_anims/wind.2bpp.lz.5a785180 differ
binary files /dev/null b/gfx/battle_anims/wind.png differ
--- a/gfx/icon_pointers.asm
+++ /dev/null
@@ -1,41 +1,0 @@
-IconPointers:
-; entries correspond to ICON_* constants
- dw NullIcon
- dw PoliwagIcon
- dw JigglypuffIcon
- dw DiglettIcon
- dw PikachuIcon
- dw StaryuIcon
- dw FishIcon
- dw BirdIcon
- dw MonsterIcon
- dw ClefairyIcon
- dw OddishIcon
- dw BugIcon
- dw GhostIcon
- dw LaprasIcon
- dw HumanshapeIcon
- dw FoxIcon
- dw EquineIcon
- dw ShellIcon
- dw BlobIcon
- dw SerpentIcon
- dw VoltorbIcon
- dw SquirtleIcon
- dw BulbasaurIcon
- dw CharmanderIcon
- dw CaterpillarIcon
- dw UnownIcon
- dw GeodudeIcon
- dw FighterIcon
- dw EggIcon
- dw JellyfishIcon
- dw MothIcon
- dw BatIcon
- dw SnorlaxIcon
- dw HoOhIcon
- dw LugiaIcon
- dw GyaradosIcon
- dw SlowpokeIcon
- dw SudowoodoIcon
- dw BigmonIcon
--- a/gfx/pics.asm
+++ b/gfx/pics.asm
@@ -6,17 +6,17 @@
SECTION "Pic Pointers", ROMX
-INCLUDE "gfx/pokemon/pic_pointers.asm"
+INCLUDE "data/pokemon/pic_pointers.asm"
SECTION "Unown Pic Pointers", ROMX
-INCLUDE "gfx/pokemon/unown_pic_pointers.asm"
+INCLUDE "data/pokemon/unown_pic_pointers.asm"
SECTION "Trainer Pic Pointers", ROMX
-INCLUDE "gfx/trainer_pic_pointers.asm"
+INCLUDE "data/trainers/pic_pointers.asm"
SECTION "Pics 1", ROMX
--- a/gfx/pokemon/palette_pointers.asm
+++ /dev/null
@@ -1,541 +1,0 @@
-PokemonPalettes: ; a8ce
-
-; 000
- RGB 30, 22, 17
- RGB 16, 14, 19
-; 000 shiny
- RGB 30, 22, 17
- RGB 16, 14, 19
-
-BulbasaurPalette: INCLUDE "gfx/pokemon/bulbasaur/normal.pal"
-BulbasaurShinyPalette: INCLUDE "gfx/pokemon/bulbasaur/shiny.pal"
-IvysaurPalette: INCLUDE "gfx/pokemon/ivysaur/normal.pal"
-IvysaurShinyPalette: INCLUDE "gfx/pokemon/ivysaur/shiny.pal"
-VenusaurPalette: INCLUDE "gfx/pokemon/venusaur/normal.pal"
-VenusaurShinyPalette: INCLUDE "gfx/pokemon/venusaur/shiny.pal"
-CharmanderPalette: INCLUDE "gfx/pokemon/charmander/normal.pal"
-CharmanderShinyPalette: INCLUDE "gfx/pokemon/charmander/shiny.pal"
-CharmeleonPalette: INCLUDE "gfx/pokemon/charmeleon/normal.pal"
-CharmeleonShinyPalette: INCLUDE "gfx/pokemon/charmeleon/shiny.pal"
-CharizardPalette: INCLUDE "gfx/pokemon/charizard/normal.pal"
-CharizardShinyPalette: INCLUDE "gfx/pokemon/charizard/shiny.pal"
-SquirtlePalette: INCLUDE "gfx/pokemon/squirtle/normal.pal"
-SquirtleShinyPalette: INCLUDE "gfx/pokemon/squirtle/shiny.pal"
-WartortlePalette: INCLUDE "gfx/pokemon/wartortle/normal.pal"
-WartortleShinyPalette: INCLUDE "gfx/pokemon/wartortle/shiny.pal"
-BlastoisePalette: INCLUDE "gfx/pokemon/blastoise/normal.pal"
-BlastoiseShinyPalette: INCLUDE "gfx/pokemon/blastoise/shiny.pal"
-CaterpiePalette: INCLUDE "gfx/pokemon/caterpie/normal.pal"
-CaterpieShinyPalette: INCLUDE "gfx/pokemon/caterpie/shiny.pal"
-MetapodPalette: INCLUDE "gfx/pokemon/metapod/normal.pal"
-MetapodShinyPalette: INCLUDE "gfx/pokemon/metapod/shiny.pal"
-ButterfreePalette: INCLUDE "gfx/pokemon/butterfree/normal.pal"
-ButterfreeShinyPalette: INCLUDE "gfx/pokemon/butterfree/shiny.pal"
-WeedlePalette: INCLUDE "gfx/pokemon/weedle/normal.pal"
-WeedleShinyPalette: INCLUDE "gfx/pokemon/weedle/shiny.pal"
-KakunaPalette: INCLUDE "gfx/pokemon/kakuna/normal.pal"
-KakunaShinyPalette: INCLUDE "gfx/pokemon/kakuna/shiny.pal"
-BeedrillPalette: INCLUDE "gfx/pokemon/beedrill/normal.pal"
-BeedrillShinyPalette: INCLUDE "gfx/pokemon/beedrill/shiny.pal"
-PidgeyPalette: INCLUDE "gfx/pokemon/pidgey/normal.pal"
-PidgeyShinyPalette: INCLUDE "gfx/pokemon/pidgey/shiny.pal"
-PidgeottoPalette: INCLUDE "gfx/pokemon/pidgeotto/normal.pal"
-PidgeottoShinyPalette: INCLUDE "gfx/pokemon/pidgeotto/shiny.pal"
-PidgeotPalette: INCLUDE "gfx/pokemon/pidgeot/normal.pal"
-PidgeotShinyPalette: INCLUDE "gfx/pokemon/pidgeot/shiny.pal"
-RattataPalette: INCLUDE "gfx/pokemon/rattata/normal.pal"
-RattataShinyPalette: INCLUDE "gfx/pokemon/rattata/shiny.pal"
-RaticatePalette: INCLUDE "gfx/pokemon/raticate/normal.pal"
-RaticateShinyPalette: INCLUDE "gfx/pokemon/raticate/shiny.pal"
-SpearowPalette: INCLUDE "gfx/pokemon/spearow/normal.pal"
-SpearowShinyPalette: INCLUDE "gfx/pokemon/spearow/shiny.pal"
-FearowPalette: INCLUDE "gfx/pokemon/fearow/normal.pal"
-FearowShinyPalette: INCLUDE "gfx/pokemon/fearow/shiny.pal"
-EkansPalette: INCLUDE "gfx/pokemon/ekans/normal.pal"
-EkansShinyPalette: INCLUDE "gfx/pokemon/ekans/shiny.pal"
-ArbokPalette: INCLUDE "gfx/pokemon/arbok/normal.pal"
-ArbokShinyPalette: INCLUDE "gfx/pokemon/arbok/shiny.pal"
-PikachuPalette: INCLUDE "gfx/pokemon/pikachu/normal.pal"
-PikachuShinyPalette: INCLUDE "gfx/pokemon/pikachu/shiny.pal"
-RaichuPalette: INCLUDE "gfx/pokemon/raichu/normal.pal"
-RaichuShinyPalette: INCLUDE "gfx/pokemon/raichu/shiny.pal"
-SandshrewPalette: INCLUDE "gfx/pokemon/sandshrew/normal.pal"
-SandshrewShinyPalette: INCLUDE "gfx/pokemon/sandshrew/shiny.pal"
-SandslashPalette: INCLUDE "gfx/pokemon/sandslash/normal.pal"
-SandslashShinyPalette: INCLUDE "gfx/pokemon/sandslash/shiny.pal"
-NidoranFPalette: INCLUDE "gfx/pokemon/nidoran_f/normal.pal"
-NidoranFShinyPalette: INCLUDE "gfx/pokemon/nidoran_f/shiny.pal"
-NidorinaPalette: INCLUDE "gfx/pokemon/nidorina/normal.pal"
-NidorinaShinyPalette: INCLUDE "gfx/pokemon/nidorina/shiny.pal"
-NidoqueenPalette: INCLUDE "gfx/pokemon/nidoqueen/normal.pal"
-NidoqueenShinyPalette: INCLUDE "gfx/pokemon/nidoqueen/shiny.pal"
-NidoranMPalette: INCLUDE "gfx/pokemon/nidoran_m/normal.pal"
-NidoranMShinyPalette: INCLUDE "gfx/pokemon/nidoran_m/shiny.pal"
-NidorinoPalette: INCLUDE "gfx/pokemon/nidorino/normal.pal"
-NidorinoShinyPalette: INCLUDE "gfx/pokemon/nidorino/shiny.pal"
-NidokingPalette: INCLUDE "gfx/pokemon/nidoking/normal.pal"
-NidokingShinyPalette: INCLUDE "gfx/pokemon/nidoking/shiny.pal"
-ClefairyPalette: INCLUDE "gfx/pokemon/clefairy/normal.pal"
-ClefairyShinyPalette: INCLUDE "gfx/pokemon/clefairy/shiny.pal"
-ClefablePalette: INCLUDE "gfx/pokemon/clefable/normal.pal"
-ClefableShinyPalette: INCLUDE "gfx/pokemon/clefable/shiny.pal"
-VulpixPalette: INCLUDE "gfx/pokemon/vulpix/normal.pal"
-VulpixShinyPalette: INCLUDE "gfx/pokemon/vulpix/shiny.pal"
-NinetalesPalette: INCLUDE "gfx/pokemon/ninetales/normal.pal"
-NinetalesShinyPalette: INCLUDE "gfx/pokemon/ninetales/shiny.pal"
-JigglypuffPalette: INCLUDE "gfx/pokemon/jigglypuff/normal.pal"
-JigglypuffShinyPalette: INCLUDE "gfx/pokemon/jigglypuff/shiny.pal"
-WigglytuffPalette: INCLUDE "gfx/pokemon/wigglytuff/normal.pal"
-WigglytuffShinyPalette: INCLUDE "gfx/pokemon/wigglytuff/shiny.pal"
-ZubatPalette: INCLUDE "gfx/pokemon/zubat/normal.pal"
-ZubatShinyPalette: INCLUDE "gfx/pokemon/zubat/shiny.pal"
-GolbatPalette: INCLUDE "gfx/pokemon/golbat/normal.pal"
-GolbatShinyPalette: INCLUDE "gfx/pokemon/golbat/shiny.pal"
-OddishPalette: INCLUDE "gfx/pokemon/oddish/normal.pal"
-OddishShinyPalette: INCLUDE "gfx/pokemon/oddish/shiny.pal"
-GloomPalette: INCLUDE "gfx/pokemon/gloom/normal.pal"
-GloomShinyPalette: INCLUDE "gfx/pokemon/gloom/shiny.pal"
-VileplumePalette: INCLUDE "gfx/pokemon/vileplume/normal.pal"
-VileplumeShinyPalette: INCLUDE "gfx/pokemon/vileplume/shiny.pal"
-ParasPalette: INCLUDE "gfx/pokemon/paras/normal.pal"
-ParasShinyPalette: INCLUDE "gfx/pokemon/paras/shiny.pal"
-ParasectPalette: INCLUDE "gfx/pokemon/parasect/normal.pal"
-ParasectShinyPalette: INCLUDE "gfx/pokemon/parasect/shiny.pal"
-VenonatPalette: INCLUDE "gfx/pokemon/venonat/normal.pal"
-VenonatShinyPalette: INCLUDE "gfx/pokemon/venonat/shiny.pal"
-VenomothPalette: INCLUDE "gfx/pokemon/venomoth/normal.pal"
-VenomothShinyPalette: INCLUDE "gfx/pokemon/venomoth/shiny.pal"
-DiglettPalette: INCLUDE "gfx/pokemon/diglett/normal.pal"
-DiglettShinyPalette: INCLUDE "gfx/pokemon/diglett/shiny.pal"
-DugtrioPalette: INCLUDE "gfx/pokemon/dugtrio/normal.pal"
-DugtrioShinyPalette: INCLUDE "gfx/pokemon/dugtrio/shiny.pal"
-MeowthPalette: INCLUDE "gfx/pokemon/meowth/normal.pal"
-MeowthShinyPalette: INCLUDE "gfx/pokemon/meowth/shiny.pal"
-PersianPalette: INCLUDE "gfx/pokemon/persian/normal.pal"
-PersianShinyPalette: INCLUDE "gfx/pokemon/persian/shiny.pal"
-PsyduckPalette: INCLUDE "gfx/pokemon/psyduck/normal.pal"
-PsyduckShinyPalette: INCLUDE "gfx/pokemon/psyduck/shiny.pal"
-GolduckPalette: INCLUDE "gfx/pokemon/golduck/normal.pal"
-GolduckShinyPalette: INCLUDE "gfx/pokemon/golduck/shiny.pal"
-MankeyPalette: INCLUDE "gfx/pokemon/mankey/normal.pal"
-MankeyShinyPalette: INCLUDE "gfx/pokemon/mankey/shiny.pal"
-PrimeapePalette: INCLUDE "gfx/pokemon/primeape/normal.pal"
-PrimeapeShinyPalette: INCLUDE "gfx/pokemon/primeape/shiny.pal"
-GrowlithePalette: INCLUDE "gfx/pokemon/growlithe/normal.pal"
-GrowlitheShinyPalette: INCLUDE "gfx/pokemon/growlithe/shiny.pal"
-ArcaninePalette: INCLUDE "gfx/pokemon/arcanine/normal.pal"
-ArcanineShinyPalette: INCLUDE "gfx/pokemon/arcanine/shiny.pal"
-PoliwagPalette: INCLUDE "gfx/pokemon/poliwag/normal.pal"
-PoliwagShinyPalette: INCLUDE "gfx/pokemon/poliwag/shiny.pal"
-PoliwhirlPalette: INCLUDE "gfx/pokemon/poliwhirl/normal.pal"
-PoliwhirlShinyPalette: INCLUDE "gfx/pokemon/poliwhirl/shiny.pal"
-PoliwrathPalette: INCLUDE "gfx/pokemon/poliwrath/normal.pal"
-PoliwrathShinyPalette: INCLUDE "gfx/pokemon/poliwrath/shiny.pal"
-AbraPalette: INCLUDE "gfx/pokemon/abra/normal.pal"
-AbraShinyPalette: INCLUDE "gfx/pokemon/abra/shiny.pal"
-KadabraPalette: INCLUDE "gfx/pokemon/kadabra/normal.pal"
-KadabraShinyPalette: INCLUDE "gfx/pokemon/kadabra/shiny.pal"
-AlakazamPalette: INCLUDE "gfx/pokemon/alakazam/normal.pal"
-AlakazamShinyPalette: INCLUDE "gfx/pokemon/alakazam/shiny.pal"
-MachopPalette: INCLUDE "gfx/pokemon/machop/normal.pal"
-MachopShinyPalette: INCLUDE "gfx/pokemon/machop/shiny.pal"
-MachokePalette: INCLUDE "gfx/pokemon/machoke/normal.pal"
-MachokeShinyPalette: INCLUDE "gfx/pokemon/machoke/shiny.pal"
-MachampPalette: INCLUDE "gfx/pokemon/machamp/normal.pal"
-MachampShinyPalette: INCLUDE "gfx/pokemon/machamp/shiny.pal"
-BellsproutPalette: INCLUDE "gfx/pokemon/bellsprout/normal.pal"
-BellsproutShinyPalette: INCLUDE "gfx/pokemon/bellsprout/shiny.pal"
-WeepinbellPalette: INCLUDE "gfx/pokemon/weepinbell/normal.pal"
-WeepinbellShinyPalette: INCLUDE "gfx/pokemon/weepinbell/shiny.pal"
-VictreebelPalette: INCLUDE "gfx/pokemon/victreebel/normal.pal"
-VictreebelShinyPalette: INCLUDE "gfx/pokemon/victreebel/shiny.pal"
-TentacoolPalette: INCLUDE "gfx/pokemon/tentacool/normal.pal"
-TentacoolShinyPalette: INCLUDE "gfx/pokemon/tentacool/shiny.pal"
-TentacruelPalette: INCLUDE "gfx/pokemon/tentacruel/normal.pal"
-TentacruelShinyPalette: INCLUDE "gfx/pokemon/tentacruel/shiny.pal"
-GeodudePalette: INCLUDE "gfx/pokemon/geodude/normal.pal"
-GeodudeShinyPalette: INCLUDE "gfx/pokemon/geodude/shiny.pal"
-GravelerPalette: INCLUDE "gfx/pokemon/graveler/normal.pal"
-GravelerShinyPalette: INCLUDE "gfx/pokemon/graveler/shiny.pal"
-GolemPalette: INCLUDE "gfx/pokemon/golem/normal.pal"
-GolemShinyPalette: INCLUDE "gfx/pokemon/golem/shiny.pal"
-PonytaPalette: INCLUDE "gfx/pokemon/ponyta/normal.pal"
-PonytaShinyPalette: INCLUDE "gfx/pokemon/ponyta/shiny.pal"
-RapidashPalette: INCLUDE "gfx/pokemon/rapidash/normal.pal"
-RapidashShinyPalette: INCLUDE "gfx/pokemon/rapidash/shiny.pal"
-SlowpokePalette: INCLUDE "gfx/pokemon/slowpoke/normal.pal"
-SlowpokeShinyPalette: INCLUDE "gfx/pokemon/slowpoke/shiny.pal"
-SlowbroPalette: INCLUDE "gfx/pokemon/slowbro/normal.pal"
-SlowbroShinyPalette: INCLUDE "gfx/pokemon/slowbro/shiny.pal"
-MagnemitePalette: INCLUDE "gfx/pokemon/magnemite/normal.pal"
-MagnemiteShinyPalette: INCLUDE "gfx/pokemon/magnemite/shiny.pal"
-MagnetonPalette: INCLUDE "gfx/pokemon/magneton/normal.pal"
-MagnetonShinyPalette: INCLUDE "gfx/pokemon/magneton/shiny.pal"
-FarfetchDPalette: INCLUDE "gfx/pokemon/farfetch_d/normal.pal"
-FarfetchDShinyPalette: INCLUDE "gfx/pokemon/farfetch_d/shiny.pal"
-DoduoPalette: INCLUDE "gfx/pokemon/doduo/normal.pal"
-DoduoShinyPalette: INCLUDE "gfx/pokemon/doduo/shiny.pal"
-DodrioPalette: INCLUDE "gfx/pokemon/dodrio/normal.pal"
-DodrioShinyPalette: INCLUDE "gfx/pokemon/dodrio/shiny.pal"
-SeelPalette: INCLUDE "gfx/pokemon/seel/normal.pal"
-SeelShinyPalette: INCLUDE "gfx/pokemon/seel/shiny.pal"
-DewgongPalette: INCLUDE "gfx/pokemon/dewgong/normal.pal"
-DewgongShinyPalette: INCLUDE "gfx/pokemon/dewgong/shiny.pal"
-GrimerPalette: INCLUDE "gfx/pokemon/grimer/normal.pal"
-GrimerShinyPalette: INCLUDE "gfx/pokemon/grimer/shiny.pal"
-MukPalette: INCLUDE "gfx/pokemon/muk/normal.pal"
-MukShinyPalette: INCLUDE "gfx/pokemon/muk/shiny.pal"
-ShellderPalette: INCLUDE "gfx/pokemon/shellder/normal.pal"
-ShellderShinyPalette: INCLUDE "gfx/pokemon/shellder/shiny.pal"
-CloysterPalette: INCLUDE "gfx/pokemon/cloyster/normal.pal"
-CloysterShinyPalette: INCLUDE "gfx/pokemon/cloyster/shiny.pal"
-GastlyPalette: INCLUDE "gfx/pokemon/gastly/normal.pal"
-GastlyShinyPalette: INCLUDE "gfx/pokemon/gastly/shiny.pal"
-HaunterPalette: INCLUDE "gfx/pokemon/haunter/normal.pal"
-HaunterShinyPalette: INCLUDE "gfx/pokemon/haunter/shiny.pal"
-GengarPalette: INCLUDE "gfx/pokemon/gengar/normal.pal"
-GengarShinyPalette: INCLUDE "gfx/pokemon/gengar/shiny.pal"
-OnixPalette: INCLUDE "gfx/pokemon/onix/normal.pal"
-OnixShinyPalette: INCLUDE "gfx/pokemon/onix/shiny.pal"
-DrowzeePalette: INCLUDE "gfx/pokemon/drowzee/normal.pal"
-DrowzeeShinyPalette: INCLUDE "gfx/pokemon/drowzee/shiny.pal"
-HypnoPalette: INCLUDE "gfx/pokemon/hypno/normal.pal"
-HypnoShinyPalette: INCLUDE "gfx/pokemon/hypno/shiny.pal"
-KrabbyPalette: INCLUDE "gfx/pokemon/krabby/normal.pal"
-KrabbyShinyPalette: INCLUDE "gfx/pokemon/krabby/shiny.pal"
-KinglerPalette: INCLUDE "gfx/pokemon/kingler/normal.pal"
-KinglerShinyPalette: INCLUDE "gfx/pokemon/kingler/shiny.pal"
-VoltorbPalette: INCLUDE "gfx/pokemon/voltorb/normal.pal"
-VoltorbShinyPalette: INCLUDE "gfx/pokemon/voltorb/shiny.pal"
-ElectrodePalette: INCLUDE "gfx/pokemon/electrode/normal.pal"
-ElectrodeShinyPalette: INCLUDE "gfx/pokemon/electrode/shiny.pal"
-ExeggcutePalette: INCLUDE "gfx/pokemon/exeggcute/normal.pal"
-ExeggcuteShinyPalette: INCLUDE "gfx/pokemon/exeggcute/shiny.pal"
-ExeggutorPalette: INCLUDE "gfx/pokemon/exeggutor/normal.pal"
-ExeggutorShinyPalette: INCLUDE "gfx/pokemon/exeggutor/shiny.pal"
-CubonePalette: INCLUDE "gfx/pokemon/cubone/normal.pal"
-CuboneShinyPalette: INCLUDE "gfx/pokemon/cubone/shiny.pal"
-MarowakPalette: INCLUDE "gfx/pokemon/marowak/normal.pal"
-MarowakShinyPalette: INCLUDE "gfx/pokemon/marowak/shiny.pal"
-HitmonleePalette: INCLUDE "gfx/pokemon/hitmonlee/normal.pal"
-HitmonleeShinyPalette: INCLUDE "gfx/pokemon/hitmonlee/shiny.pal"
-HitmonchanPalette: INCLUDE "gfx/pokemon/hitmonchan/normal.pal"
-HitmonchanShinyPalette: INCLUDE "gfx/pokemon/hitmonchan/shiny.pal"
-LickitungPalette: INCLUDE "gfx/pokemon/lickitung/normal.pal"
-LickitungShinyPalette: INCLUDE "gfx/pokemon/lickitung/shiny.pal"
-KoffingPalette: INCLUDE "gfx/pokemon/koffing/normal.pal"
-KoffingShinyPalette: INCLUDE "gfx/pokemon/koffing/shiny.pal"
-WeezingPalette: INCLUDE "gfx/pokemon/weezing/normal.pal"
-WeezingShinyPalette: INCLUDE "gfx/pokemon/weezing/shiny.pal"
-RhyhornPalette: INCLUDE "gfx/pokemon/rhyhorn/normal.pal"
-RhyhornShinyPalette: INCLUDE "gfx/pokemon/rhyhorn/shiny.pal"
-RhydonPalette: INCLUDE "gfx/pokemon/rhydon/normal.pal"
-RhydonShinyPalette: INCLUDE "gfx/pokemon/rhydon/shiny.pal"
-ChanseyPalette: INCLUDE "gfx/pokemon/chansey/normal.pal"
-ChanseyShinyPalette: INCLUDE "gfx/pokemon/chansey/shiny.pal"
-TangelaPalette: INCLUDE "gfx/pokemon/tangela/normal.pal"
-TangelaShinyPalette: INCLUDE "gfx/pokemon/tangela/shiny.pal"
-KangaskhanPalette: INCLUDE "gfx/pokemon/kangaskhan/normal.pal"
-KangaskhanShinyPalette: INCLUDE "gfx/pokemon/kangaskhan/shiny.pal"
-HorseaPalette: INCLUDE "gfx/pokemon/horsea/normal.pal"
-HorseaShinyPalette: INCLUDE "gfx/pokemon/horsea/shiny.pal"
-SeadraPalette: INCLUDE "gfx/pokemon/seadra/normal.pal"
-SeadraShinyPalette: INCLUDE "gfx/pokemon/seadra/shiny.pal"
-GoldeenPalette: INCLUDE "gfx/pokemon/goldeen/normal.pal"
-GoldeenShinyPalette: INCLUDE "gfx/pokemon/goldeen/shiny.pal"
-SeakingPalette: INCLUDE "gfx/pokemon/seaking/normal.pal"
-SeakingShinyPalette: INCLUDE "gfx/pokemon/seaking/shiny.pal"
-StaryuPalette: INCLUDE "gfx/pokemon/staryu/normal.pal"
-StaryuShinyPalette: INCLUDE "gfx/pokemon/staryu/shiny.pal"
-StarmiePalette: INCLUDE "gfx/pokemon/starmie/normal.pal"
-StarmieShinyPalette: INCLUDE "gfx/pokemon/starmie/shiny.pal"
-MrMimePalette: INCLUDE "gfx/pokemon/mr__mime/normal.pal"
-MrMimeShinyPalette: INCLUDE "gfx/pokemon/mr__mime/shiny.pal"
-ScytherPalette: INCLUDE "gfx/pokemon/scyther/normal.pal"
-ScytherShinyPalette: INCLUDE "gfx/pokemon/scyther/shiny.pal"
-JynxPalette: INCLUDE "gfx/pokemon/jynx/normal.pal"
-JynxShinyPalette: INCLUDE "gfx/pokemon/jynx/shiny.pal"
-ElectabuzzPalette: INCLUDE "gfx/pokemon/electabuzz/normal.pal"
-ElectabuzzShinyPalette: INCLUDE "gfx/pokemon/electabuzz/shiny.pal"
-MagmarPalette: INCLUDE "gfx/pokemon/magmar/normal.pal"
-MagmarShinyPalette: INCLUDE "gfx/pokemon/magmar/shiny.pal"
-PinsirPalette: INCLUDE "gfx/pokemon/pinsir/normal.pal"
-PinsirShinyPalette: INCLUDE "gfx/pokemon/pinsir/shiny.pal"
-TaurosPalette: INCLUDE "gfx/pokemon/tauros/normal.pal"
-TaurosShinyPalette: INCLUDE "gfx/pokemon/tauros/shiny.pal"
-MagikarpPalette: INCLUDE "gfx/pokemon/magikarp/normal.pal"
-MagikarpShinyPalette: INCLUDE "gfx/pokemon/magikarp/shiny.pal"
-GyaradosPalette: INCLUDE "gfx/pokemon/gyarados/normal.pal"
-GyaradosShinyPalette: INCLUDE "gfx/pokemon/gyarados/shiny.pal"
-LaprasPalette: INCLUDE "gfx/pokemon/lapras/normal.pal"
-LaprasShinyPalette: INCLUDE "gfx/pokemon/lapras/shiny.pal"
-DittoPalette: INCLUDE "gfx/pokemon/ditto/normal.pal"
-DittoShinyPalette: INCLUDE "gfx/pokemon/ditto/shiny.pal"
-EeveePalette: INCLUDE "gfx/pokemon/eevee/normal.pal"
-EeveeShinyPalette: INCLUDE "gfx/pokemon/eevee/shiny.pal"
-VaporeonPalette: INCLUDE "gfx/pokemon/vaporeon/normal.pal"
-VaporeonShinyPalette: INCLUDE "gfx/pokemon/vaporeon/shiny.pal"
-JolteonPalette: INCLUDE "gfx/pokemon/jolteon/normal.pal"
-JolteonShinyPalette: INCLUDE "gfx/pokemon/jolteon/shiny.pal"
-FlareonPalette: INCLUDE "gfx/pokemon/flareon/normal.pal"
-FlareonShinyPalette: INCLUDE "gfx/pokemon/flareon/shiny.pal"
-PorygonPalette: INCLUDE "gfx/pokemon/porygon/normal.pal"
-PorygonShinyPalette: INCLUDE "gfx/pokemon/porygon/shiny.pal"
-OmanytePalette: INCLUDE "gfx/pokemon/omanyte/normal.pal"
-OmanyteShinyPalette: INCLUDE "gfx/pokemon/omanyte/shiny.pal"
-OmastarPalette: INCLUDE "gfx/pokemon/omastar/normal.pal"
-OmastarShinyPalette: INCLUDE "gfx/pokemon/omastar/shiny.pal"
-KabutoPalette: INCLUDE "gfx/pokemon/kabuto/normal.pal"
-KabutoShinyPalette: INCLUDE "gfx/pokemon/kabuto/shiny.pal"
-KabutopsPalette: INCLUDE "gfx/pokemon/kabutops/normal.pal"
-KabutopsShinyPalette: INCLUDE "gfx/pokemon/kabutops/shiny.pal"
-AerodactylPalette: INCLUDE "gfx/pokemon/aerodactyl/normal.pal"
-AerodactylShinyPalette: INCLUDE "gfx/pokemon/aerodactyl/shiny.pal"
-SnorlaxPalette: INCLUDE "gfx/pokemon/snorlax/normal.pal"
-SnorlaxShinyPalette: INCLUDE "gfx/pokemon/snorlax/shiny.pal"
-ArticunoPalette: INCLUDE "gfx/pokemon/articuno/normal.pal"
-ArticunoShinyPalette: INCLUDE "gfx/pokemon/articuno/shiny.pal"
-ZapdosPalette: INCLUDE "gfx/pokemon/zapdos/normal.pal"
-ZapdosShinyPalette: INCLUDE "gfx/pokemon/zapdos/shiny.pal"
-MoltresPalette: INCLUDE "gfx/pokemon/moltres/normal.pal"
-MoltresShinyPalette: INCLUDE "gfx/pokemon/moltres/shiny.pal"
-DratiniPalette: INCLUDE "gfx/pokemon/dratini/normal.pal"
-DratiniShinyPalette: INCLUDE "gfx/pokemon/dratini/shiny.pal"
-DragonairPalette: INCLUDE "gfx/pokemon/dragonair/normal.pal"
-DragonairShinyPalette: INCLUDE "gfx/pokemon/dragonair/shiny.pal"
-DragonitePalette: INCLUDE "gfx/pokemon/dragonite/normal.pal"
-DragoniteShinyPalette: INCLUDE "gfx/pokemon/dragonite/shiny.pal"
-MewtwoPalette: INCLUDE "gfx/pokemon/mewtwo/normal.pal"
-MewtwoShinyPalette: INCLUDE "gfx/pokemon/mewtwo/shiny.pal"
-MewPalette: INCLUDE "gfx/pokemon/mew/normal.pal"
-MewShinyPalette: INCLUDE "gfx/pokemon/mew/shiny.pal"
-ChikoritaPalette: INCLUDE "gfx/pokemon/chikorita/normal.pal"
-ChikoritaShinyPalette: INCLUDE "gfx/pokemon/chikorita/shiny.pal"
-BayleefPalette: INCLUDE "gfx/pokemon/bayleef/normal.pal"
-BayleefShinyPalette: INCLUDE "gfx/pokemon/bayleef/shiny.pal"
-MeganiumPalette: INCLUDE "gfx/pokemon/meganium/normal.pal"
-MeganiumShinyPalette: INCLUDE "gfx/pokemon/meganium/shiny.pal"
-CyndaquilPalette: INCLUDE "gfx/pokemon/cyndaquil/normal.pal"
-CyndaquilShinyPalette: INCLUDE "gfx/pokemon/cyndaquil/shiny.pal"
-QuilavaPalette: INCLUDE "gfx/pokemon/quilava/normal.pal"
-QuilavaShinyPalette: INCLUDE "gfx/pokemon/quilava/shiny.pal"
-TyphlosionPalette: INCLUDE "gfx/pokemon/typhlosion/normal.pal"
-TyphlosionShinyPalette: INCLUDE "gfx/pokemon/typhlosion/shiny.pal"
-TotodilePalette: INCLUDE "gfx/pokemon/totodile/normal.pal"
-TotodileShinyPalette: INCLUDE "gfx/pokemon/totodile/shiny.pal"
-CroconawPalette: INCLUDE "gfx/pokemon/croconaw/normal.pal"
-CroconawShinyPalette: INCLUDE "gfx/pokemon/croconaw/shiny.pal"
-FeraligatrPalette: INCLUDE "gfx/pokemon/feraligatr/normal.pal"
-FeraligatrShinyPalette: INCLUDE "gfx/pokemon/feraligatr/shiny.pal"
-SentretPalette: INCLUDE "gfx/pokemon/sentret/normal.pal"
-SentretShinyPalette: INCLUDE "gfx/pokemon/sentret/shiny.pal"
-FurretPalette: INCLUDE "gfx/pokemon/furret/normal.pal"
-FurretShinyPalette: INCLUDE "gfx/pokemon/furret/shiny.pal"
-HoothootPalette: INCLUDE "gfx/pokemon/hoothoot/normal.pal"
-HoothootShinyPalette: INCLUDE "gfx/pokemon/hoothoot/shiny.pal"
-NoctowlPalette: INCLUDE "gfx/pokemon/noctowl/normal.pal"
-NoctowlShinyPalette: INCLUDE "gfx/pokemon/noctowl/shiny.pal"
-LedybaPalette: INCLUDE "gfx/pokemon/ledyba/normal.pal"
-LedybaShinyPalette: INCLUDE "gfx/pokemon/ledyba/shiny.pal"
-LedianPalette: INCLUDE "gfx/pokemon/ledian/normal.pal"
-LedianShinyPalette: INCLUDE "gfx/pokemon/ledian/shiny.pal"
-SpinarakPalette: INCLUDE "gfx/pokemon/spinarak/normal.pal"
-SpinarakShinyPalette: INCLUDE "gfx/pokemon/spinarak/shiny.pal"
-AriadosPalette: INCLUDE "gfx/pokemon/ariados/normal.pal"
-AriadosShinyPalette: INCLUDE "gfx/pokemon/ariados/shiny.pal"
-CrobatPalette: INCLUDE "gfx/pokemon/crobat/normal.pal"
-CrobatShinyPalette: INCLUDE "gfx/pokemon/crobat/shiny.pal"
-ChinchouPalette: INCLUDE "gfx/pokemon/chinchou/normal.pal"
-ChinchouShinyPalette: INCLUDE "gfx/pokemon/chinchou/shiny.pal"
-LanturnPalette: INCLUDE "gfx/pokemon/lanturn/normal.pal"
-LanturnShinyPalette: INCLUDE "gfx/pokemon/lanturn/shiny.pal"
-PichuPalette: INCLUDE "gfx/pokemon/pichu/normal.pal"
-PichuShinyPalette: INCLUDE "gfx/pokemon/pichu/shiny.pal"
-CleffaPalette: INCLUDE "gfx/pokemon/cleffa/normal.pal"
-CleffaShinyPalette: INCLUDE "gfx/pokemon/cleffa/shiny.pal"
-IgglybuffPalette: INCLUDE "gfx/pokemon/igglybuff/normal.pal"
-IgglybuffShinyPalette: INCLUDE "gfx/pokemon/igglybuff/shiny.pal"
-TogepiPalette: INCLUDE "gfx/pokemon/togepi/normal.pal"
-TogepiShinyPalette: INCLUDE "gfx/pokemon/togepi/shiny.pal"
-TogeticPalette: INCLUDE "gfx/pokemon/togetic/normal.pal"
-TogeticShinyPalette: INCLUDE "gfx/pokemon/togetic/shiny.pal"
-NatuPalette: INCLUDE "gfx/pokemon/natu/normal.pal"
-NatuShinyPalette: INCLUDE "gfx/pokemon/natu/shiny.pal"
-XatuPalette: INCLUDE "gfx/pokemon/xatu/normal.pal"
-XatuShinyPalette: INCLUDE "gfx/pokemon/xatu/shiny.pal"
-MareepPalette: INCLUDE "gfx/pokemon/mareep/normal.pal"
-MareepShinyPalette: INCLUDE "gfx/pokemon/mareep/shiny.pal"
-FlaaffyPalette: INCLUDE "gfx/pokemon/flaaffy/normal.pal"
-FlaaffyShinyPalette: INCLUDE "gfx/pokemon/flaaffy/shiny.pal"
-AmpharosPalette: INCLUDE "gfx/pokemon/ampharos/normal.pal"
-AmpharosShinyPalette: INCLUDE "gfx/pokemon/ampharos/shiny.pal"
-BellossomPalette: INCLUDE "gfx/pokemon/bellossom/normal.pal"
-BellossomShinyPalette: INCLUDE "gfx/pokemon/bellossom/shiny.pal"
-MarillPalette: INCLUDE "gfx/pokemon/marill/normal.pal"
-MarillShinyPalette: INCLUDE "gfx/pokemon/marill/shiny.pal"
-AzumarillPalette: INCLUDE "gfx/pokemon/azumarill/normal.pal"
-AzumarillShinyPalette: INCLUDE "gfx/pokemon/azumarill/shiny.pal"
-SudowoodoPalette: INCLUDE "gfx/pokemon/sudowoodo/normal.pal"
-SudowoodoShinyPalette: INCLUDE "gfx/pokemon/sudowoodo/shiny.pal"
-PolitoedPalette: INCLUDE "gfx/pokemon/politoed/normal.pal"
-PolitoedShinyPalette: INCLUDE "gfx/pokemon/politoed/shiny.pal"
-HoppipPalette: INCLUDE "gfx/pokemon/hoppip/normal.pal"
-HoppipShinyPalette: INCLUDE "gfx/pokemon/hoppip/shiny.pal"
-SkiploomPalette: INCLUDE "gfx/pokemon/skiploom/normal.pal"
-SkiploomShinyPalette: INCLUDE "gfx/pokemon/skiploom/shiny.pal"
-JumpluffPalette: INCLUDE "gfx/pokemon/jumpluff/normal.pal"
-JumpluffShinyPalette: INCLUDE "gfx/pokemon/jumpluff/shiny.pal"
-AipomPalette: INCLUDE "gfx/pokemon/aipom/normal.pal"
-AipomShinyPalette: INCLUDE "gfx/pokemon/aipom/shiny.pal"
-SunkernPalette: INCLUDE "gfx/pokemon/sunkern/normal.pal"
-SunkernShinyPalette: INCLUDE "gfx/pokemon/sunkern/shiny.pal"
-SunfloraPalette: INCLUDE "gfx/pokemon/sunflora/normal.pal"
-SunfloraShinyPalette: INCLUDE "gfx/pokemon/sunflora/shiny.pal"
-YanmaPalette: INCLUDE "gfx/pokemon/yanma/normal.pal"
-YanmaShinyPalette: INCLUDE "gfx/pokemon/yanma/shiny.pal"
-WooperPalette: INCLUDE "gfx/pokemon/wooper/normal.pal"
-WooperShinyPalette: INCLUDE "gfx/pokemon/wooper/shiny.pal"
-QuagsirePalette: INCLUDE "gfx/pokemon/quagsire/normal.pal"
-QuagsireShinyPalette: INCLUDE "gfx/pokemon/quagsire/shiny.pal"
-EspeonPalette: INCLUDE "gfx/pokemon/espeon/normal.pal"
-EspeonShinyPalette: INCLUDE "gfx/pokemon/espeon/shiny.pal"
-UmbreonPalette: INCLUDE "gfx/pokemon/umbreon/normal.pal"
-UmbreonShinyPalette: INCLUDE "gfx/pokemon/umbreon/shiny.pal"
-MurkrowPalette: INCLUDE "gfx/pokemon/murkrow/normal.pal"
-MurkrowShinyPalette: INCLUDE "gfx/pokemon/murkrow/shiny.pal"
-SlowkingPalette: INCLUDE "gfx/pokemon/slowking/normal.pal"
-SlowkingShinyPalette: INCLUDE "gfx/pokemon/slowking/shiny.pal"
-MisdreavusPalette: INCLUDE "gfx/pokemon/misdreavus/normal.pal"
-MisdreavusShinyPalette: INCLUDE "gfx/pokemon/misdreavus/shiny.pal"
-UnownPalette: INCLUDE "gfx/pokemon/unown/normal.pal"
-UnownShinyPalette: INCLUDE "gfx/pokemon/unown/shiny.pal"
-WobbuffetPalette: INCLUDE "gfx/pokemon/wobbuffet/normal.pal"
-WobbuffetShinyPalette: INCLUDE "gfx/pokemon/wobbuffet/shiny.pal"
-GirafarigPalette: INCLUDE "gfx/pokemon/girafarig/normal.pal"
-GirafarigShinyPalette: INCLUDE "gfx/pokemon/girafarig/shiny.pal"
-PinecoPalette: INCLUDE "gfx/pokemon/pineco/normal.pal"
-PinecoShinyPalette: INCLUDE "gfx/pokemon/pineco/shiny.pal"
-ForretressPalette: INCLUDE "gfx/pokemon/forretress/normal.pal"
-ForretressShinyPalette: INCLUDE "gfx/pokemon/forretress/shiny.pal"
-DunsparcePalette: INCLUDE "gfx/pokemon/dunsparce/normal.pal"
-DunsparceShinyPalette: INCLUDE "gfx/pokemon/dunsparce/shiny.pal"
-GligarPalette: INCLUDE "gfx/pokemon/gligar/normal.pal"
-GligarShinyPalette: INCLUDE "gfx/pokemon/gligar/shiny.pal"
-SteelixPalette: INCLUDE "gfx/pokemon/steelix/normal.pal"
-SteelixShinyPalette: INCLUDE "gfx/pokemon/steelix/shiny.pal"
-SnubbullPalette: INCLUDE "gfx/pokemon/snubbull/normal.pal"
-SnubbullShinyPalette: INCLUDE "gfx/pokemon/snubbull/shiny.pal"
-GranbullPalette: INCLUDE "gfx/pokemon/granbull/normal.pal"
-GranbullShinyPalette: INCLUDE "gfx/pokemon/granbull/shiny.pal"
-QwilfishPalette: INCLUDE "gfx/pokemon/qwilfish/normal.pal"
-QwilfishShinyPalette: INCLUDE "gfx/pokemon/qwilfish/shiny.pal"
-ScizorPalette: INCLUDE "gfx/pokemon/scizor/normal.pal"
-ScizorShinyPalette: INCLUDE "gfx/pokemon/scizor/shiny.pal"
-ShucklePalette: INCLUDE "gfx/pokemon/shuckle/normal.pal"
-ShuckleShinyPalette: INCLUDE "gfx/pokemon/shuckle/shiny.pal"
-HeracrossPalette: INCLUDE "gfx/pokemon/heracross/normal.pal"
-HeracrossShinyPalette: INCLUDE "gfx/pokemon/heracross/shiny.pal"
-SneaselPalette: INCLUDE "gfx/pokemon/sneasel/normal.pal"
-SneaselShinyPalette: INCLUDE "gfx/pokemon/sneasel/shiny.pal"
-TeddiursaPalette: INCLUDE "gfx/pokemon/teddiursa/normal.pal"
-TeddiursaShinyPalette: INCLUDE "gfx/pokemon/teddiursa/shiny.pal"
-UrsaringPalette: INCLUDE "gfx/pokemon/ursaring/normal.pal"
-UrsaringShinyPalette: INCLUDE "gfx/pokemon/ursaring/shiny.pal"
-SlugmaPalette: INCLUDE "gfx/pokemon/slugma/normal.pal"
-SlugmaShinyPalette: INCLUDE "gfx/pokemon/slugma/shiny.pal"
-MagcargoPalette: INCLUDE "gfx/pokemon/magcargo/normal.pal"
-MagcargoShinyPalette: INCLUDE "gfx/pokemon/magcargo/shiny.pal"
-SwinubPalette: INCLUDE "gfx/pokemon/swinub/normal.pal"
-SwinubShinyPalette: INCLUDE "gfx/pokemon/swinub/shiny.pal"
-PiloswinePalette: INCLUDE "gfx/pokemon/piloswine/normal.pal"
-PiloswineShinyPalette: INCLUDE "gfx/pokemon/piloswine/shiny.pal"
-CorsolaPalette: INCLUDE "gfx/pokemon/corsola/normal.pal"
-CorsolaShinyPalette: INCLUDE "gfx/pokemon/corsola/shiny.pal"
-RemoraidPalette: INCLUDE "gfx/pokemon/remoraid/normal.pal"
-RemoraidShinyPalette: INCLUDE "gfx/pokemon/remoraid/shiny.pal"
-OctilleryPalette: INCLUDE "gfx/pokemon/octillery/normal.pal"
-OctilleryShinyPalette: INCLUDE "gfx/pokemon/octillery/shiny.pal"
-DelibirdPalette: INCLUDE "gfx/pokemon/delibird/normal.pal"
-DelibirdShinyPalette: INCLUDE "gfx/pokemon/delibird/shiny.pal"
-MantinePalette: INCLUDE "gfx/pokemon/mantine/normal.pal"
-MantineShinyPalette: INCLUDE "gfx/pokemon/mantine/shiny.pal"
-SkarmoryPalette: INCLUDE "gfx/pokemon/skarmory/normal.pal"
-SkarmoryShinyPalette: INCLUDE "gfx/pokemon/skarmory/shiny.pal"
-HoundourPalette: INCLUDE "gfx/pokemon/houndour/normal.pal"
-HoundourShinyPalette: INCLUDE "gfx/pokemon/houndour/shiny.pal"
-HoundoomPalette: INCLUDE "gfx/pokemon/houndoom/normal.pal"
-HoundoomShinyPalette: INCLUDE "gfx/pokemon/houndoom/shiny.pal"
-KingdraPalette: INCLUDE "gfx/pokemon/kingdra/normal.pal"
-KingdraShinyPalette: INCLUDE "gfx/pokemon/kingdra/shiny.pal"
-PhanpyPalette: INCLUDE "gfx/pokemon/phanpy/normal.pal"
-PhanpyShinyPalette: INCLUDE "gfx/pokemon/phanpy/shiny.pal"
-DonphanPalette: INCLUDE "gfx/pokemon/donphan/normal.pal"
-DonphanShinyPalette: INCLUDE "gfx/pokemon/donphan/shiny.pal"
-Porygon2Palette: INCLUDE "gfx/pokemon/porygon2/normal.pal"
-Porygon2ShinyPalette: INCLUDE "gfx/pokemon/porygon2/shiny.pal"
-StantlerPalette: INCLUDE "gfx/pokemon/stantler/normal.pal"
-StantlerShinyPalette: INCLUDE "gfx/pokemon/stantler/shiny.pal"
-SmearglePalette: INCLUDE "gfx/pokemon/smeargle/normal.pal"
-SmeargleShinyPalette: INCLUDE "gfx/pokemon/smeargle/shiny.pal"
-TyroguePalette: INCLUDE "gfx/pokemon/tyrogue/normal.pal"
-TyrogueShinyPalette: INCLUDE "gfx/pokemon/tyrogue/shiny.pal"
-HitmontopPalette: INCLUDE "gfx/pokemon/hitmontop/normal.pal"
-HitmontopShinyPalette: INCLUDE "gfx/pokemon/hitmontop/shiny.pal"
-SmoochumPalette: INCLUDE "gfx/pokemon/smoochum/normal.pal"
-SmoochumShinyPalette: INCLUDE "gfx/pokemon/smoochum/shiny.pal"
-ElekidPalette: INCLUDE "gfx/pokemon/elekid/normal.pal"
-ElekidShinyPalette: INCLUDE "gfx/pokemon/elekid/shiny.pal"
-MagbyPalette: INCLUDE "gfx/pokemon/magby/normal.pal"
-MagbyShinyPalette: INCLUDE "gfx/pokemon/magby/shiny.pal"
-MiltankPalette: INCLUDE "gfx/pokemon/miltank/normal.pal"
-MiltankShinyPalette: INCLUDE "gfx/pokemon/miltank/shiny.pal"
-BlisseyPalette: INCLUDE "gfx/pokemon/blissey/normal.pal"
-BlisseyShinyPalette: INCLUDE "gfx/pokemon/blissey/shiny.pal"
-RaikouPalette: INCLUDE "gfx/pokemon/raikou/normal.pal"
-RaikouShinyPalette: INCLUDE "gfx/pokemon/raikou/shiny.pal"
-EnteiPalette: INCLUDE "gfx/pokemon/entei/normal.pal"
-EnteiShinyPalette: INCLUDE "gfx/pokemon/entei/shiny.pal"
-SuicunePalette: INCLUDE "gfx/pokemon/suicune/normal.pal"
-SuicuneShinyPalette: INCLUDE "gfx/pokemon/suicune/shiny.pal"
-LarvitarPalette: INCLUDE "gfx/pokemon/larvitar/normal.pal"
-LarvitarShinyPalette: INCLUDE "gfx/pokemon/larvitar/shiny.pal"
-PupitarPalette: INCLUDE "gfx/pokemon/pupitar/normal.pal"
-PupitarShinyPalette: INCLUDE "gfx/pokemon/pupitar/shiny.pal"
-TyranitarPalette: INCLUDE "gfx/pokemon/tyranitar/normal.pal"
-TyranitarShinyPalette: INCLUDE "gfx/pokemon/tyranitar/shiny.pal"
-LugiaPalette: INCLUDE "gfx/pokemon/lugia/normal.pal"
-LugiaShinyPalette: INCLUDE "gfx/pokemon/lugia/shiny.pal"
-HoOhPalette: INCLUDE "gfx/pokemon/ho_oh/normal.pal"
-HoOhShinyPalette: INCLUDE "gfx/pokemon/ho_oh/shiny.pal"
-CelebiPalette: INCLUDE "gfx/pokemon/celebi/normal.pal"
-CelebiShinyPalette: INCLUDE "gfx/pokemon/celebi/shiny.pal"
-
-; 252
- RGB 30, 26, 11
- RGB 23, 16, 00
-; 252 shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
-
-; Egg
- RGB 30, 26, 11
- RGB 23, 16, 00
-; Egg shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
-
-; 254
- RGB 30, 26, 11
- RGB 23, 16, 00
-; 254 shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
-
-; 255
- RGB 23, 23, 23
- RGB 17, 17, 17
-; 255 shiny
- RGB 23, 23, 23
- RGB 17, 17, 17
-
-; b0ce
--- a/gfx/pokemon/pic_pointers.asm
+++ /dev/null
@@ -1,511 +1,0 @@
-PicPointers::
-; entries correspond to constants/pokemon_constants.asm, two apiece
- dba_pic BulbasaurFrontpic
- dba_pic BulbasaurBackpic
- dba_pic IvysaurFrontpic
- dba_pic IvysaurBackpic
- dba_pic VenusaurFrontpic
- dba_pic VenusaurBackpic
- dba_pic CharmanderFrontpic
- dba_pic CharmanderBackpic
- dba_pic CharmeleonFrontpic
- dba_pic CharmeleonBackpic
- dba_pic CharizardFrontpic
- dba_pic CharizardBackpic
- dba_pic SquirtleFrontpic
- dba_pic SquirtleBackpic
- dba_pic WartortleFrontpic
- dba_pic WartortleBackpic
- dba_pic BlastoiseFrontpic
- dba_pic BlastoiseBackpic
- dba_pic CaterpieFrontpic
- dba_pic CaterpieBackpic
- dba_pic MetapodFrontpic
- dba_pic MetapodBackpic
- dba_pic ButterfreeFrontpic
- dba_pic ButterfreeBackpic
- dba_pic WeedleFrontpic
- dba_pic WeedleBackpic
- dba_pic KakunaFrontpic
- dba_pic KakunaBackpic
- dba_pic BeedrillFrontpic
- dba_pic BeedrillBackpic
- dba_pic PidgeyFrontpic
- dba_pic PidgeyBackpic
- dba_pic PidgeottoFrontpic
- dba_pic PidgeottoBackpic
- dba_pic PidgeotFrontpic
- dba_pic PidgeotBackpic
- dba_pic RattataFrontpic
- dba_pic RattataBackpic
- dba_pic RaticateFrontpic
- dba_pic RaticateBackpic
- dba_pic SpearowFrontpic
- dba_pic SpearowBackpic
- dba_pic FearowFrontpic
- dba_pic FearowBackpic
- dba_pic EkansFrontpic
- dba_pic EkansBackpic
- dba_pic ArbokFrontpic
- dba_pic ArbokBackpic
- dba_pic PikachuFrontpic
- dba_pic PikachuBackpic
- dba_pic RaichuFrontpic
- dba_pic RaichuBackpic
- dba_pic SandshrewFrontpic
- dba_pic SandshrewBackpic
- dba_pic SandslashFrontpic
- dba_pic SandslashBackpic
- dba_pic NidoranFFrontpic
- dba_pic NidoranFBackpic
- dba_pic NidorinaFrontpic
- dba_pic NidorinaBackpic
- dba_pic NidoqueenFrontpic
- dba_pic NidoqueenBackpic
- dba_pic NidoranMFrontpic
- dba_pic NidoranMBackpic
- dba_pic NidorinoFrontpic
- dba_pic NidorinoBackpic
- dba_pic NidokingFrontpic
- dba_pic NidokingBackpic
- dba_pic ClefairyFrontpic
- dba_pic ClefairyBackpic
- dba_pic ClefableFrontpic
- dba_pic ClefableBackpic
- dba_pic VulpixFrontpic
- dba_pic VulpixBackpic
- dba_pic NinetalesFrontpic
- dba_pic NinetalesBackpic
- dba_pic JigglypuffFrontpic
- dba_pic JigglypuffBackpic
- dba_pic WigglytuffFrontpic
- dba_pic WigglytuffBackpic
- dba_pic ZubatFrontpic
- dba_pic ZubatBackpic
- dba_pic GolbatFrontpic
- dba_pic GolbatBackpic
- dba_pic OddishFrontpic
- dba_pic OddishBackpic
- dba_pic GloomFrontpic
- dba_pic GloomBackpic
- dba_pic VileplumeFrontpic
- dba_pic VileplumeBackpic
- dba_pic ParasFrontpic
- dba_pic ParasBackpic
- dba_pic ParasectFrontpic
- dba_pic ParasectBackpic
- dba_pic VenonatFrontpic
- dba_pic VenonatBackpic
- dba_pic VenomothFrontpic
- dba_pic VenomothBackpic
- dba_pic DiglettFrontpic
- dba_pic DiglettBackpic
- dba_pic DugtrioFrontpic
- dba_pic DugtrioBackpic
- dba_pic MeowthFrontpic
- dba_pic MeowthBackpic
- dba_pic PersianFrontpic
- dba_pic PersianBackpic
- dba_pic PsyduckFrontpic
- dba_pic PsyduckBackpic
- dba_pic GolduckFrontpic
- dba_pic GolduckBackpic
- dba_pic MankeyFrontpic
- dba_pic MankeyBackpic
- dba_pic PrimeapeFrontpic
- dba_pic PrimeapeBackpic
- dba_pic GrowlitheFrontpic
- dba_pic GrowlitheBackpic
- dba_pic ArcanineFrontpic
- dba_pic ArcanineBackpic
- dba_pic PoliwagFrontpic
- dba_pic PoliwagBackpic
- dba_pic PoliwhirlFrontpic
- dba_pic PoliwhirlBackpic
- dba_pic PoliwrathFrontpic
- dba_pic PoliwrathBackpic
- dba_pic AbraFrontpic
- dba_pic AbraBackpic
- dba_pic KadabraFrontpic
- dba_pic KadabraBackpic
- dba_pic AlakazamFrontpic
- dba_pic AlakazamBackpic
- dba_pic MachopFrontpic
- dba_pic MachopBackpic
- dba_pic MachokeFrontpic
- dba_pic MachokeBackpic
- dba_pic MachampFrontpic
- dba_pic MachampBackpic
- dba_pic BellsproutFrontpic
- dba_pic BellsproutBackpic
- dba_pic WeepinbellFrontpic
- dba_pic WeepinbellBackpic
- dba_pic VictreebelFrontpic
- dba_pic VictreebelBackpic
- dba_pic TentacoolFrontpic
- dba_pic TentacoolBackpic
- dba_pic TentacruelFrontpic
- dba_pic TentacruelBackpic
- dba_pic GeodudeFrontpic
- dba_pic GeodudeBackpic
- dba_pic GravelerFrontpic
- dba_pic GravelerBackpic
- dba_pic GolemFrontpic
- dba_pic GolemBackpic
- dba_pic PonytaFrontpic
- dba_pic PonytaBackpic
- dba_pic RapidashFrontpic
- dba_pic RapidashBackpic
- dba_pic SlowpokeFrontpic
- dba_pic SlowpokeBackpic
- dba_pic SlowbroFrontpic
- dba_pic SlowbroBackpic
- dba_pic MagnemiteFrontpic
- dba_pic MagnemiteBackpic
- dba_pic MagnetonFrontpic
- dba_pic MagnetonBackpic
- dba_pic FarfetchDFrontpic
- dba_pic FarfetchDBackpic
- dba_pic DoduoFrontpic
- dba_pic DoduoBackpic
- dba_pic DodrioFrontpic
- dba_pic DodrioBackpic
- dba_pic SeelFrontpic
- dba_pic SeelBackpic
- dba_pic DewgongFrontpic
- dba_pic DewgongBackpic
- dba_pic GrimerFrontpic
- dba_pic GrimerBackpic
- dba_pic MukFrontpic
- dba_pic MukBackpic
- dba_pic ShellderFrontpic
- dba_pic ShellderBackpic
- dba_pic CloysterFrontpic
- dba_pic CloysterBackpic
- dba_pic GastlyFrontpic
- dba_pic GastlyBackpic
- dba_pic HaunterFrontpic
- dba_pic HaunterBackpic
- dba_pic GengarFrontpic
- dba_pic GengarBackpic
- dba_pic OnixFrontpic
- dba_pic OnixBackpic
- dba_pic DrowzeeFrontpic
- dba_pic DrowzeeBackpic
- dba_pic HypnoFrontpic
- dba_pic HypnoBackpic
- dba_pic KrabbyFrontpic
- dba_pic KrabbyBackpic
- dba_pic KinglerFrontpic
- dba_pic KinglerBackpic
- dba_pic VoltorbFrontpic
- dba_pic VoltorbBackpic
- dba_pic ElectrodeFrontpic
- dba_pic ElectrodeBackpic
- dba_pic ExeggcuteFrontpic
- dba_pic ExeggcuteBackpic
- dba_pic ExeggutorFrontpic
- dba_pic ExeggutorBackpic
- dba_pic CuboneFrontpic
- dba_pic CuboneBackpic
- dba_pic MarowakFrontpic
- dba_pic MarowakBackpic
- dba_pic HitmonleeFrontpic
- dba_pic HitmonleeBackpic
- dba_pic HitmonchanFrontpic
- dba_pic HitmonchanBackpic
- dba_pic LickitungFrontpic
- dba_pic LickitungBackpic
- dba_pic KoffingFrontpic
- dba_pic KoffingBackpic
- dba_pic WeezingFrontpic
- dba_pic WeezingBackpic
- dba_pic RhyhornFrontpic
- dba_pic RhyhornBackpic
- dba_pic RhydonFrontpic
- dba_pic RhydonBackpic
- dba_pic ChanseyFrontpic
- dba_pic ChanseyBackpic
- dba_pic TangelaFrontpic
- dba_pic TangelaBackpic
- dba_pic KangaskhanFrontpic
- dba_pic KangaskhanBackpic
- dba_pic HorseaFrontpic
- dba_pic HorseaBackpic
- dba_pic SeadraFrontpic
- dba_pic SeadraBackpic
- dba_pic GoldeenFrontpic
- dba_pic GoldeenBackpic
- dba_pic SeakingFrontpic
- dba_pic SeakingBackpic
- dba_pic StaryuFrontpic
- dba_pic StaryuBackpic
- dba_pic StarmieFrontpic
- dba_pic StarmieBackpic
- dba_pic MrMimeFrontpic
- dba_pic MrMimeBackpic
- dba_pic ScytherFrontpic
- dba_pic ScytherBackpic
- dba_pic JynxFrontpic
- dba_pic JynxBackpic
- dba_pic ElectabuzzFrontpic
- dba_pic ElectabuzzBackpic
- dba_pic MagmarFrontpic
- dba_pic MagmarBackpic
- dba_pic PinsirFrontpic
- dba_pic PinsirBackpic
- dba_pic TaurosFrontpic
- dba_pic TaurosBackpic
- dba_pic MagikarpFrontpic
- dba_pic MagikarpBackpic
- dba_pic GyaradosFrontpic
- dba_pic GyaradosBackpic
- dba_pic LaprasFrontpic
- dba_pic LaprasBackpic
- dba_pic DittoFrontpic
- dba_pic DittoBackpic
- dba_pic EeveeFrontpic
- dba_pic EeveeBackpic
- dba_pic VaporeonFrontpic
- dba_pic VaporeonBackpic
- dba_pic JolteonFrontpic
- dba_pic JolteonBackpic
- dba_pic FlareonFrontpic
- dba_pic FlareonBackpic
- dba_pic PorygonFrontpic
- dba_pic PorygonBackpic
- dba_pic OmanyteFrontpic
- dba_pic OmanyteBackpic
- dba_pic OmastarFrontpic
- dba_pic OmastarBackpic
- dba_pic KabutoFrontpic
- dba_pic KabutoBackpic
- dba_pic KabutopsFrontpic
- dba_pic KabutopsBackpic
- dba_pic AerodactylFrontpic
- dba_pic AerodactylBackpic
- dba_pic SnorlaxFrontpic
- dba_pic SnorlaxBackpic
- dba_pic ArticunoFrontpic
- dba_pic ArticunoBackpic
- dba_pic ZapdosFrontpic
- dba_pic ZapdosBackpic
- dba_pic MoltresFrontpic
- dba_pic MoltresBackpic
- dba_pic DratiniFrontpic
- dba_pic DratiniBackpic
- dba_pic DragonairFrontpic
- dba_pic DragonairBackpic
- dba_pic DragoniteFrontpic
- dba_pic DragoniteBackpic
- dba_pic MewtwoFrontpic
- dba_pic MewtwoBackpic
- dba_pic MewFrontpic
- dba_pic MewBackpic
- dba_pic ChikoritaFrontpic
- dba_pic ChikoritaBackpic
- dba_pic BayleefFrontpic
- dba_pic BayleefBackpic
- dba_pic MeganiumFrontpic
- dba_pic MeganiumBackpic
- dba_pic CyndaquilFrontpic
- dba_pic CyndaquilBackpic
- dba_pic QuilavaFrontpic
- dba_pic QuilavaBackpic
- dba_pic TyphlosionFrontpic
- dba_pic TyphlosionBackpic
- dba_pic TotodileFrontpic
- dba_pic TotodileBackpic
- dba_pic CroconawFrontpic
- dba_pic CroconawBackpic
- dba_pic FeraligatrFrontpic
- dba_pic FeraligatrBackpic
- dba_pic SentretFrontpic
- dba_pic SentretBackpic
- dba_pic FurretFrontpic
- dba_pic FurretBackpic
- dba_pic HoothootFrontpic
- dba_pic HoothootBackpic
- dba_pic NoctowlFrontpic
- dba_pic NoctowlBackpic
- dba_pic LedybaFrontpic
- dba_pic LedybaBackpic
- dba_pic LedianFrontpic
- dba_pic LedianBackpic
- dba_pic SpinarakFrontpic
- dba_pic SpinarakBackpic
- dba_pic AriadosFrontpic
- dba_pic AriadosBackpic
- dba_pic CrobatFrontpic
- dba_pic CrobatBackpic
- dba_pic ChinchouFrontpic
- dba_pic ChinchouBackpic
- dba_pic LanturnFrontpic
- dba_pic LanturnBackpic
- dba_pic PichuFrontpic
- dba_pic PichuBackpic
- dba_pic CleffaFrontpic
- dba_pic CleffaBackpic
- dba_pic IgglybuffFrontpic
- dba_pic IgglybuffBackpic
- dba_pic TogepiFrontpic
- dba_pic TogepiBackpic
- dba_pic TogeticFrontpic
- dba_pic TogeticBackpic
- dba_pic NatuFrontpic
- dba_pic NatuBackpic
- dba_pic XatuFrontpic
- dba_pic XatuBackpic
- dba_pic MareepFrontpic
- dba_pic MareepBackpic
- dba_pic FlaaffyFrontpic
- dba_pic FlaaffyBackpic
- dba_pic AmpharosFrontpic
- dba_pic AmpharosBackpic
- dba_pic BellossomFrontpic
- dba_pic BellossomBackpic
- dba_pic MarillFrontpic
- dba_pic MarillBackpic
- dba_pic AzumarillFrontpic
- dba_pic AzumarillBackpic
- dba_pic SudowoodoFrontpic
- dba_pic SudowoodoBackpic
- dba_pic PolitoedFrontpic
- dba_pic PolitoedBackpic
- dba_pic HoppipFrontpic
- dba_pic HoppipBackpic
- dba_pic SkiploomFrontpic
- dba_pic SkiploomBackpic
- dba_pic JumpluffFrontpic
- dba_pic JumpluffBackpic
- dba_pic AipomFrontpic
- dba_pic AipomBackpic
- dba_pic SunkernFrontpic
- dba_pic SunkernBackpic
- dba_pic SunfloraFrontpic
- dba_pic SunfloraBackpic
- dba_pic YanmaFrontpic
- dba_pic YanmaBackpic
- dba_pic WooperFrontpic
- dba_pic WooperBackpic
- dba_pic QuagsireFrontpic
- dba_pic QuagsireBackpic
- dba_pic EspeonFrontpic
- dba_pic EspeonBackpic
- dba_pic UmbreonFrontpic
- dba_pic UmbreonBackpic
- dba_pic MurkrowFrontpic
- dba_pic MurkrowBackpic
- dba_pic SlowkingFrontpic
- dba_pic SlowkingBackpic
- dba_pic MisdreavusFrontpic
- dba_pic MisdreavusBackpic
-
- ; Unown pics have their own table. See UnownPicPointers
- dbw -1, -1
- dbw -1, -1
-
- dba_pic WobbuffetFrontpic
- dba_pic WobbuffetBackpic
- dba_pic GirafarigFrontpic
- dba_pic GirafarigBackpic
- dba_pic PinecoFrontpic
- dba_pic PinecoBackpic
- dba_pic ForretressFrontpic
- dba_pic ForretressBackpic
- dba_pic DunsparceFrontpic
- dba_pic DunsparceBackpic
- dba_pic GligarFrontpic
- dba_pic GligarBackpic
- dba_pic SteelixFrontpic
- dba_pic SteelixBackpic
- dba_pic SnubbullFrontpic
- dba_pic SnubbullBackpic
- dba_pic GranbullFrontpic
- dba_pic GranbullBackpic
- dba_pic QwilfishFrontpic
- dba_pic QwilfishBackpic
- dba_pic ScizorFrontpic
- dba_pic ScizorBackpic
- dba_pic ShuckleFrontpic
- dba_pic ShuckleBackpic
- dba_pic HeracrossFrontpic
- dba_pic HeracrossBackpic
- dba_pic SneaselFrontpic
- dba_pic SneaselBackpic
- dba_pic TeddiursaFrontpic
- dba_pic TeddiursaBackpic
- dba_pic UrsaringFrontpic
- dba_pic UrsaringBackpic
- dba_pic SlugmaFrontpic
- dba_pic SlugmaBackpic
- dba_pic MagcargoFrontpic
- dba_pic MagcargoBackpic
- dba_pic SwinubFrontpic
- dba_pic SwinubBackpic
- dba_pic PiloswineFrontpic
- dba_pic PiloswineBackpic
- dba_pic CorsolaFrontpic
- dba_pic CorsolaBackpic
- dba_pic RemoraidFrontpic
- dba_pic RemoraidBackpic
- dba_pic OctilleryFrontpic
- dba_pic OctilleryBackpic
- dba_pic DelibirdFrontpic
- dba_pic DelibirdBackpic
- dba_pic MantineFrontpic
- dba_pic MantineBackpic
- dba_pic SkarmoryFrontpic
- dba_pic SkarmoryBackpic
- dba_pic HoundourFrontpic
- dba_pic HoundourBackpic
- dba_pic HoundoomFrontpic
- dba_pic HoundoomBackpic
- dba_pic KingdraFrontpic
- dba_pic KingdraBackpic
- dba_pic PhanpyFrontpic
- dba_pic PhanpyBackpic
- dba_pic DonphanFrontpic
- dba_pic DonphanBackpic
- dba_pic Porygon2Frontpic
- dba_pic Porygon2Backpic
- dba_pic StantlerFrontpic
- dba_pic StantlerBackpic
- dba_pic SmeargleFrontpic
- dba_pic SmeargleBackpic
- dba_pic TyrogueFrontpic
- dba_pic TyrogueBackpic
- dba_pic HitmontopFrontpic
- dba_pic HitmontopBackpic
- dba_pic SmoochumFrontpic
- dba_pic SmoochumBackpic
- dba_pic ElekidFrontpic
- dba_pic ElekidBackpic
- dba_pic MagbyFrontpic
- dba_pic MagbyBackpic
- dba_pic MiltankFrontpic
- dba_pic MiltankBackpic
- dba_pic BlisseyFrontpic
- dba_pic BlisseyBackpic
- dba_pic RaikouFrontpic
- dba_pic RaikouBackpic
- dba_pic EnteiFrontpic
- dba_pic EnteiBackpic
- dba_pic SuicuneFrontpic
- dba_pic SuicuneBackpic
- dba_pic LarvitarFrontpic
- dba_pic LarvitarBackpic
- dba_pic PupitarFrontpic
- dba_pic PupitarBackpic
- dba_pic TyranitarFrontpic
- dba_pic TyranitarBackpic
- dba_pic LugiaFrontpic
- dba_pic LugiaBackpic
- dba_pic HoOhFrontpic
- dba_pic HoOhBackpic
- dba_pic CelebiFrontpic
- dba_pic CelebiBackpic
- dbw -1, -1 ; unused
- dbw -1, -1 ; unused
- dba_pic EggPic
- dbw -1, -1 ; unused
--- a/gfx/pokemon/unown_pic_pointers.asm
+++ /dev/null
@@ -1,54 +1,0 @@
-UnownPicPointers::
-; entries correspond to Unown letters, two apiece
- dba_pic UnownAFrontpic
- dba_pic UnownABackpic
- dba_pic UnownBFrontpic
- dba_pic UnownBBackpic
- dba_pic UnownCFrontpic
- dba_pic UnownCBackpic
- dba_pic UnownDFrontpic
- dba_pic UnownDBackpic
- dba_pic UnownEFrontpic
- dba_pic UnownEBackpic
- dba_pic UnownFFrontpic
- dba_pic UnownFBackpic
- dba_pic UnownGFrontpic
- dba_pic UnownGBackpic
- dba_pic UnownHFrontpic
- dba_pic UnownHBackpic
- dba_pic UnownIFrontpic
- dba_pic UnownIBackpic
- dba_pic UnownJFrontpic
- dba_pic UnownJBackpic
- dba_pic UnownKFrontpic
- dba_pic UnownKBackpic
- dba_pic UnownLFrontpic
- dba_pic UnownLBackpic
- dba_pic UnownMFrontpic
- dba_pic UnownMBackpic
- dba_pic UnownNFrontpic
- dba_pic UnownNBackpic
- dba_pic UnownOFrontpic
- dba_pic UnownOBackpic
- dba_pic UnownPFrontpic
- dba_pic UnownPBackpic
- dba_pic UnownQFrontpic
- dba_pic UnownQBackpic
- dba_pic UnownRFrontpic
- dba_pic UnownRBackpic
- dba_pic UnownSFrontpic
- dba_pic UnownSBackpic
- dba_pic UnownTFrontpic
- dba_pic UnownTBackpic
- dba_pic UnownUFrontpic
- dba_pic UnownUBackpic
- dba_pic UnownVFrontpic
- dba_pic UnownVBackpic
- dba_pic UnownWFrontpic
- dba_pic UnownWBackpic
- dba_pic UnownXFrontpic
- dba_pic UnownXBackpic
- dba_pic UnownYFrontpic
- dba_pic UnownYBackpic
- dba_pic UnownZFrontpic
- dba_pic UnownZBackpic
--- a/gfx/trainer_palettes.asm
+++ /dev/null
@@ -1,76 +1,0 @@
-TrainerPalettes: ; b0ce
-; entries correspond to trainer classes
-
-PlayerPalette: ; b0ce
-; Chris uses the same colors as Cal
-INCLUDE "gfx/trainers/cal.pal"
-KrisPalette: ; b0d0
-; Kris shares Falkner's palette
-INCLUDE "gfx/trainers/falkner.pal"
-INCLUDE "gfx/trainers/whitney.pal"
-INCLUDE "gfx/trainers/bugsy.pal"
-INCLUDE "gfx/trainers/morty.pal"
-INCLUDE "gfx/trainers/pryce.pal"
-INCLUDE "gfx/trainers/jasmine.pal"
-INCLUDE "gfx/trainers/chuck.pal"
-INCLUDE "gfx/trainers/clair.pal"
-INCLUDE "gfx/trainers/rival1.pal"
-INCLUDE "gfx/trainers/oak.pal"
-INCLUDE "gfx/trainers/will.pal"
-INCLUDE "gfx/trainers/cal.pal"
-INCLUDE "gfx/trainers/bruno.pal"
-INCLUDE "gfx/trainers/karen.pal"
-INCLUDE "gfx/trainers/koga.pal"
-INCLUDE "gfx/trainers/champion.pal"
-INCLUDE "gfx/trainers/brock.pal"
-INCLUDE "gfx/trainers/misty.pal"
-INCLUDE "gfx/trainers/lt_surge.pal"
-INCLUDE "gfx/trainers/scientist.pal"
-INCLUDE "gfx/trainers/erika.pal"
-INCLUDE "gfx/trainers/youngster.pal"
-INCLUDE "gfx/trainers/schoolboy.pal"
-INCLUDE "gfx/trainers/bird_keeper.pal"
-INCLUDE "gfx/trainers/lass.pal"
-INCLUDE "gfx/trainers/janine.pal"
-INCLUDE "gfx/trainers/cooltrainer_m.pal"
-INCLUDE "gfx/trainers/cooltrainer_f.pal"
-INCLUDE "gfx/trainers/beauty.pal"
-INCLUDE "gfx/trainers/pokemaniac.pal"
-INCLUDE "gfx/trainers/grunt_m.pal"
-INCLUDE "gfx/trainers/gentleman.pal"
-INCLUDE "gfx/trainers/skier.pal"
-INCLUDE "gfx/trainers/teacher.pal"
-INCLUDE "gfx/trainers/sabrina.pal"
-INCLUDE "gfx/trainers/bug_catcher.pal"
-INCLUDE "gfx/trainers/fisher.pal"
-INCLUDE "gfx/trainers/swimmer_m.pal"
-INCLUDE "gfx/trainers/swimmer_f.pal"
-INCLUDE "gfx/trainers/sailor.pal"
-INCLUDE "gfx/trainers/super_nerd.pal"
-INCLUDE "gfx/trainers/rival2.pal"
-INCLUDE "gfx/trainers/guitarist.pal"
-INCLUDE "gfx/trainers/hiker.pal"
-INCLUDE "gfx/trainers/biker.pal"
-INCLUDE "gfx/trainers/blaine.pal"
-INCLUDE "gfx/trainers/burglar.pal"
-INCLUDE "gfx/trainers/firebreather.pal"
-INCLUDE "gfx/trainers/juggler.pal"
-INCLUDE "gfx/trainers/blackbelt_t.pal"
-INCLUDE "gfx/trainers/executive_m.pal"
-INCLUDE "gfx/trainers/psychic_t.pal"
-INCLUDE "gfx/trainers/picnicker.pal"
-INCLUDE "gfx/trainers/camper.pal"
-INCLUDE "gfx/trainers/executive_f.pal"
-INCLUDE "gfx/trainers/sage.pal"
-INCLUDE "gfx/trainers/medium.pal"
-INCLUDE "gfx/trainers/boarder.pal"
-INCLUDE "gfx/trainers/pokefan_m.pal"
-INCLUDE "gfx/trainers/kimono_girl.pal"
-INCLUDE "gfx/trainers/twins.pal"
-INCLUDE "gfx/trainers/pokefan_f.pal"
-INCLUDE "gfx/trainers/red.pal"
-INCLUDE "gfx/trainers/blue.pal"
-INCLUDE "gfx/trainers/officer.pal"
-INCLUDE "gfx/trainers/grunt_f.pal"
-INCLUDE "gfx/trainers/mysticalman.pal"
-; b1de
--- a/gfx/trainer_pic_pointers.asm
+++ /dev/null
@@ -1,69 +1,0 @@
-TrainerPicPointers::
-; entries correspond to trainer classes (see constants/trainer_constants.asm)
- dba_pic FalknerPic
- dba_pic WhitneyPic
- dba_pic BugsyPic
- dba_pic MortyPic
- dba_pic PrycePic
- dba_pic JasminePic
- dba_pic ChuckPic
- dba_pic ClairPic
- dba_pic Rival1Pic
- dba_pic PokemonProfPic
- dba_pic WillPic
- dba_pic CalPic
- dba_pic BrunoPic
- dba_pic KarenPic
- dba_pic KogaPic
- dba_pic ChampionPic
- dba_pic BrockPic
- dba_pic MistyPic
- dba_pic LtSurgePic
- dba_pic ScientistPic
- dba_pic ErikaPic
- dba_pic YoungsterPic
- dba_pic SchoolboyPic
- dba_pic BirdKeeperPic
- dba_pic LassPic
- dba_pic JaninePic
- dba_pic CooltrainermPic
- dba_pic CooltrainerfPic
- dba_pic BeautyPic
- dba_pic PokemaniacPic
- dba_pic GruntmPic
- dba_pic GentlemanPic
- dba_pic SkierPic
- dba_pic TeacherPic
- dba_pic SabrinaPic
- dba_pic BugCatcherPic
- dba_pic FisherPic
- dba_pic SwimmermPic
- dba_pic SwimmerfPic
- dba_pic SailorPic
- dba_pic SuperNerdPic
- dba_pic Rival2Pic
- dba_pic GuitaristPic
- dba_pic HikerPic
- dba_pic BikerPic
- dba_pic BlainePic
- dba_pic BurglarPic
- dba_pic FirebreatherPic
- dba_pic JugglerPic
- dba_pic BlackbeltTPic
- dba_pic ExecutivemPic
- dba_pic PsychicTPic
- dba_pic PicnickerPic
- dba_pic CamperPic
- dba_pic ExecutivefPic
- dba_pic SagePic
- dba_pic MediumPic
- dba_pic BoarderPic
- dba_pic PokefanmPic
- dba_pic KimonoGirlPic
- dba_pic TwinsPic
- dba_pic PokefanfPic
- dba_pic RedPic
- dba_pic BluePic
- dba_pic OfficerPic
- dba_pic GruntfPic
- dba_pic MysticalmanPic
--- a/macros.asm
+++ b/macros.asm
@@ -11,13 +11,13 @@
INCLUDE "macros/scripts/audio.asm"
INCLUDE "macros/scripts/maps.asm"
-INCLUDE "macros/scripts/event.asm"
+INCLUDE "macros/scripts/events.asm"
INCLUDE "macros/scripts/text.asm"
INCLUDE "macros/scripts/movement.asm"
INCLUDE "macros/scripts/effect_commands.asm"
-INCLUDE "macros/scripts/move_anim.asm"
-INCLUDE "macros/scripts/trade_anim.asm"
-INCLUDE "macros/scripts/gfx_anim.asm"
+INCLUDE "macros/scripts/battle_anims.asm"
+INCLUDE "macros/scripts/trade_anims.asm"
+INCLUDE "macros/scripts/gfx_anims.asm"
percent EQUS "* $ff / 100"
--- /dev/null
+++ b/macros/scripts/battle_anims.asm
@@ -1,0 +1,294 @@
+anim_wait: macro
+if \1 >= $d0
+ flip out
+endc
+ db \1
+ endm
+
+; BattleAnimCommands indexes (see engine/battle_anims/anim_commands.asm)
+ enum_start $d0
+
+ enum anim_obj_command ; $d0
+anim_obj: macro
+ db anim_obj_command
+ db \1 ; obj
+ db (\2 << 3) + \3 ; x
+ db (\4 << 3) + \5 ; y
+ db \6 ; param
+ endm
+
+ enum anim_1gfx_command ; $d1
+anim_1gfx: macro
+ db anim_1gfx_command
+ db \1 ; gfx1
+ endm
+
+ enum anim_2gfx_command ; $d2
+anim_2gfx: macro
+ db anim_2gfx_command
+ db \1 ; gfx1
+ db \2 ; gfx2
+ endm
+
+ enum anim_3gfx_command ; $d3
+anim_3gfx: macro
+ db anim_3gfx_command
+ db \1 ; gfx1
+ db \2 ; gfx2
+ db \3 ; gfx3
+ endm
+
+ enum anim_4gfx_command ; $d4
+anim_4gfx: macro
+ db anim_4gfx_command
+ db \1 ; gfx1
+ db \2 ; gfx2
+ db \3 ; gfx3
+ db \4 ; gfx4
+ endm
+
+ enum anim_5gfx_command ; $d5
+anim_5gfx: macro
+ db anim_5gfx_command
+ db \1 ; gfx1
+ db \2 ; gfx2
+ db \3 ; gfx3
+ db \4 ; gfx4
+ db \5 ; gfx5
+ endm
+
+ enum anim_incobj_command ; $d6
+anim_incobj: macro
+ db anim_incobj_command
+ db \1 ; id
+ endm
+
+ enum anim_setobj_command ; $d7
+anim_setobj: macro
+ db anim_setobj_command
+ db \1 ; id
+ db \2 ; obj
+ endm
+
+ enum anim_incbgeffect_command ; $d8
+anim_incbgeffect: macro
+ db anim_incbgeffect_command
+ db \1 ; effect
+ endm
+
+ enum anim_enemyfeetobj_command ; $d9
+anim_enemyfeetobj: macro
+ db anim_enemyfeetobj_command
+ endm
+
+ enum anim_playerheadobj_command ; $da
+anim_playerheadobj: macro
+ db anim_playerheadobj_command
+ endm
+
+ enum anim_checkpokeball_command ; $db
+anim_checkpokeball: macro
+ db anim_checkpokeball_command
+ endm
+
+ enum anim_transform_command ; $dc
+anim_transform: macro
+ db anim_transform_command
+ endm
+
+ enum anim_raisesub_command ; $dd
+anim_raisesub: macro
+ db anim_raisesub_command
+ endm
+
+ enum anim_dropsub_command ; $de
+anim_dropsub: macro
+ db anim_dropsub_command
+ endm
+
+ enum anim_resetobp0_command ; $df
+anim_resetobp0: macro
+ db anim_resetobp0_command
+ endm
+
+ enum anim_sound_command ; $e0
+anim_sound: macro
+ db anim_sound_command
+ db (\1 << 2) | \2 ; duration, tracks
+ db \3 ; id
+ endm
+
+ enum anim_cry_command ; $e1
+anim_cry: macro
+ db anim_cry_command
+ db \1 ; pitch
+ endm
+
+ enum anim_minimizeopp_command ; $e2
+anim_minimizeopp: macro
+ db anim_minimizeopp_command
+ endm
+
+ enum anim_oamon_command ; $e3
+anim_oamon: macro
+ db anim_oamon_command
+ endm
+
+ enum anim_oamoff_command ; $e4
+anim_oamoff: macro
+ db anim_oamoff_command
+ endm
+
+ enum anim_clearobjs_command ; $e5
+anim_clearobjs: macro
+ db anim_clearobjs_command
+ endm
+
+ enum anim_beatup_command ; $e6
+anim_beatup: macro
+ db anim_beatup_command
+ endm
+
+ enum anim_0xe7_command ; $e7
+anim_0xe7: macro
+ db anim_0xe7_command
+ endm
+
+ enum anim_updateactorpic_command ; $e8
+anim_updateactorpic: macro
+ db anim_updateactorpic_command
+ endm
+
+ enum anim_minimize_command ; $e9
+anim_minimize: macro
+ db anim_minimize_command
+ endm
+
+ enum anim_0xea_command ; $ea
+anim_0xea: macro
+ db anim_0xea_command
+ endm
+
+ enum anim_0xeb_command ; $eb
+anim_0xeb: macro
+ db anim_0xeb_command
+ endm
+
+ enum anim_0xec_command ; $ec
+anim_0xec: macro
+ db anim_0xec_command
+ endm
+
+ enum anim_0xed_command ; $ed
+anim_0xed: macro
+ db anim_0xed_command
+ endm
+
+ enum anim_if_param_and_command ; $ee
+anim_if_param_and: macro
+ db anim_if_param_and_command
+ db \1 ; value
+ dw \2 ; address
+ endm
+
+ enum anim_jumpuntil_command ; $ef
+anim_jumpuntil: macro
+ db anim_jumpuntil_command
+ dw \1 ; address
+ endm
+
+ enum anim_bgeffect_command ; $f0
+anim_bgeffect: macro
+ db anim_bgeffect_command
+ db \1 ; effect
+ db \2 ; unknown
+ db \3 ; unknown
+ db \4 ; unknown
+ endm
+
+ enum anim_bgp_command ; $f1
+anim_bgp: macro
+ db anim_bgp_command
+ db \1 ; colors
+ endm
+
+ enum anim_obp0_command ; $f2
+anim_obp0: macro
+ db anim_obp0_command
+ db \1 ; colors
+ endm
+
+ enum anim_obp1_command ; $f3
+anim_obp1: macro
+ db anim_obp1_command
+ db \1 ; colors
+ endm
+
+ enum anim_clearsprites_command ; $f4
+anim_clearsprites: macro
+ db anim_clearsprites_command
+ endm
+
+ enum anim_0xf5_command ; $f5
+anim_0xf5: macro
+ db anim_0xf5_command
+ endm
+
+ enum anim_0xf6_command ; $f6
+anim_0xf6: macro
+ db anim_0xf6_command
+ endm
+
+ enum anim_0xf7_command ; $f7
+anim_0xf7: macro
+ db anim_0xf7_command
+ endm
+
+ enum anim_if_param_equal_command ; $f8
+anim_if_param_equal: macro
+ db anim_if_param_equal_command
+ db \1 ; value
+ dw \2 ; address
+ endm
+
+ enum anim_setvar_command ; $f9
+anim_setvar: macro
+ db anim_setvar_command
+ db \1 ; value
+ endm
+
+ enum anim_incvar_command ; $fa
+anim_incvar: macro
+ db anim_incvar_command
+ endm
+
+ enum anim_if_var_equal_command ; $fb
+anim_if_var_equal: macro
+ db anim_if_var_equal_command
+ db \1 ; value
+ dw \2 ; address
+ endm
+
+ enum anim_jump_command ; $fc
+anim_jump: macro
+ db anim_jump_command
+ dw \1 ; address
+ endm
+
+ enum anim_loop_command ; $fd
+anim_loop: macro
+ db anim_loop_command
+ db \1 ; count
+ dw \2 ; address
+ endm
+
+ enum anim_call_command ; $fe
+anim_call: macro
+ db anim_call_command
+ dw \1 ; address
+ endm
+
+ enum anim_ret_command ; $ff
+anim_ret: macro
+ db anim_ret_command
+ endm
--- a/macros/scripts/event.asm
+++ /dev/null
@@ -1,1069 +1,0 @@
-; ScriptCommandTable indexes (see engine/scripting.asm)
- enum_start
-
- enum scall_command ; $00
-scall: macro
- db scall_command
- dw \1 ; pointer
- endm
-
- enum farscall_command ; $01
-farscall: macro
- db farscall_command
- dba \1
- endm
-
- enum ptcall_command ; $02
-ptcall: macro
- db ptcall_command
- dw \1 ; pointer
- endm
-
- enum jump_command ; $03
-jump: macro
- db jump_command
- dw \1 ; pointer
- endm
-
- enum farjump_command ; $04
-farjump: macro
- db farjump_command
- dba \1
- endm
-
- enum ptjump_command ; $05
-ptjump: macro
- db ptjump_command
- dw \1 ; pointer
- endm
-
- enum if_equal_command ; $06
-if_equal: macro
- db if_equal_command
- db \1 ; byte
- dw \2 ; pointer
- endm
-
- enum if_not_equal_command ; $07
-if_not_equal: macro
- db if_not_equal_command
- db \1 ; byte
- dw \2 ; pointer
- endm
-
- enum iffalse_command ; $08
-iffalse: macro
- db iffalse_command
- dw \1 ; pointer
- endm
-
- enum iftrue_command ; $09
-iftrue: macro
- db iftrue_command
- dw \1 ; pointer
- endm
-
- enum if_greater_than_command ; $0a
-if_greater_than: macro
- db if_greater_than_command
- db \1 ; byte
- dw \2 ; pointer
- endm
-
- enum if_less_than_command ; $0b
-if_less_than: macro
- db if_less_than_command
- db \1 ; byte
- dw \2 ; pointer
- endm
-
- enum jumpstd_command ; $0c
-jumpstd: macro
- db jumpstd_command
- dw \1 ; predefined_script
- endm
-
- enum callstd_command ; $0d
-callstd: macro
- db callstd_command
- dw \1 ; predefined_script
- endm
-
- enum callasm_command ; $0e
-callasm: macro
- db callasm_command
- dba \1
- endm
-
- enum special_command ; $0f
-special: macro
- db special_command
- dw (\1Special - SpecialsPointers) / 3
- endm
-
-add_special: MACRO
-\1Special::
- dba \1
-ENDM
-
- enum ptcallasm_command ; $10
-ptcallasm: macro
- db ptcallasm_command
- dw \1 ; asm
- endm
-
- enum checkmapscene_command ; $11
-checkmapscene: macro
- db checkmapscene_command
- map \1 ; map
- endm
-
- enum setmapscene_command ; $12
-setmapscene: macro
- db setmapscene_command
- map \1 ; map
- db \2 ; scene_id
- endm
-
- enum checkscene_command ; $13
-checkscene: macro
- db checkscene_command
- endm
-
- enum setscene_command ; $14
-setscene: macro
- db setscene_command
- db \1 ; scene_id
- endm
-
- enum writebyte_command ; $15
-writebyte: macro
- db writebyte_command
- db \1 ; value
- endm
-
- enum addvar_command ; $16
-addvar: macro
- db addvar_command
- db \1 ; value
- endm
-
- enum random_command ; $17
-random: macro
- db random_command
- db \1 ; input
- endm
-
- enum checkver_command ; $18
-checkver: macro
- db checkver_command
- endm
-
- enum copybytetovar_command ; $19
-copybytetovar: macro
- db copybytetovar_command
- dw \1 ; address
- endm
-
- enum copyvartobyte_command ; $1a
-copyvartobyte: macro
- db copyvartobyte_command
- dw \1 ; address
- endm
-
- enum loadvar_command ; $1b
-loadvar: macro
- db loadvar_command
- dw \1 ; address
- db \2 ; value
- endm
-
- enum checkcode_command ; $1c
-checkcode: macro
- db checkcode_command
- db \1 ; variable_id
- endm
-
- enum writevarcode_command ; $1d
-writevarcode: macro
- db writevarcode_command
- db \1 ; variable_id
- endm
-
- enum writecode_command ; $1e
-writecode: macro
- db writecode_command
- db \1 ; variable_id
- db \2 ; value
- endm
-
- enum giveitem_command ; $1f
-giveitem: macro
- db giveitem_command
- db \1 ; item
-if _NARG == 2
- db \2 ; quantity
-else
- db 1
-endc
- endm
-
- enum takeitem_command ; $20
-takeitem: macro
- db takeitem_command
- db \1 ; item
-if _NARG == 2
- db \2 ; quantity
-else
- db 1
-endc
- endm
-
- enum checkitem_command ; $21
-checkitem: macro
- db checkitem_command
- db \1 ; item
- endm
-
- enum givemoney_command ; $22
-givemoney: macro
- db givemoney_command
- db \1 ; account
- dt \2 ; money
- endm
-
- enum takemoney_command ; $23
-takemoney: macro
- db takemoney_command
- db \1 ; account
- dt \2 ; money
- endm
-
- enum checkmoney_command ; $24
-checkmoney: macro
- db checkmoney_command
- db \1 ; account
- dt \2 ; money
- endm
-
- enum givecoins_command ; $25
-givecoins: macro
- db givecoins_command
- dw \1 ; coins
- endm
-
- enum takecoins_command ; $26
-takecoins: macro
- db takecoins_command
- dw \1 ; coins
- endm
-
- enum checkcoins_command ; $27
-checkcoins: macro
- db checkcoins_command
- dw \1 ; coins
- endm
-
- enum addcellnum_command ; $28
-addcellnum: macro
- db addcellnum_command
- db \1 ; person
- endm
-
- enum delcellnum_command ; $29
-delcellnum: macro
- db delcellnum_command
- db \1 ; person
- endm
-
- enum checkcellnum_command ; $2a
-checkcellnum: macro
- db checkcellnum_command
- db \1 ; person
- endm
-
- enum checktime_command ; $2b
-checktime: macro
- db checktime_command
- db \1 ; time
- endm
-
-checkmorn EQUS "checktime MORN"
-checkday EQUS "checktime DAY"
-checknite EQUS "checktime NITE"
-
- enum checkpoke_command ; $2c
-checkpoke: macro
- db checkpoke_command
- db \1 ; pkmn
- endm
-
- enum givepoke_command ; $2d
-givepoke: macro
- db givepoke_command
- db \1 ; pokemon
- db \2 ; level
- if _NARG >= 3
- db \3 ; item
- if _NARG >= 4
- db \4 ; trainer
- if \4
- dw \5 ; trainer_name_pointer
- dw \6 ; pkmn_nickname
- endc
- else
- db 0
- endc
- else
- db 0, 0
- endc
- endm
-
- enum giveegg_command ; $2e
-giveegg: macro
- db giveegg_command
- db \1 ; pkmn
- db \2 ; level
- endm
-
- enum givepokeitem_command ; $2f
-givepokeitem: macro
- db givepokeitem_command
- dw \1 ; pointer
- endm
-
- enum checkpokeitem_command ; $30
-checkpokeitem: macro
- db checkpokeitem_command
- dw \1 ; pointer
- endm
-
- enum checkevent_command ; $31
-checkevent: macro
- db checkevent_command
- dw \1 ; event_flag
- endm
-
- enum clearevent_command ; $32
-clearevent: macro
- db clearevent_command
- dw \1 ; event_flag
- endm
-
- enum setevent_command ; $33
-setevent: macro
- db setevent_command
- dw \1 ; event_flag
- endm
-
- enum checkflag_command ; $34
-checkflag: macro
- db checkflag_command
- dw \1 ; engine_flag
- endm
-
- enum clearflag_command ; $35
-clearflag: macro
- db clearflag_command
- dw \1 ; engine_flag
- endm
-
- enum setflag_command ; $36
-setflag: macro
- db setflag_command
- dw \1 ; engine_flag
- endm
-
- enum wildon_command ; $37
-wildon: macro
- db wildon_command
- endm
-
- enum wildoff_command ; $38
-wildoff: macro
- db wildoff_command
- endm
-
- enum xycompare_command ; $39
-xycompare: macro
- db xycompare_command
- dw \1 ; pointer
- endm
-
- enum warpmod_command ; $3a
-warpmod: macro
- db warpmod_command
- db \1 ; warp_id
- map \2 ; map
- endm
-
- enum blackoutmod_command ; $3b
-blackoutmod: macro
- db blackoutmod_command
- map \1 ; map
- endm
-
- enum warp_command ; $3c
-warp: macro
- db warp_command
- map \1 ; map
- db \2 ; x
- db \3 ; y
- endm
-
- enum readmoney_command ; $3d
-readmoney: macro
- db readmoney_command
- db \1 ; account
- db \2 ; memory
- endm
-
- enum readcoins_command ; $3e
-readcoins: macro
- db readcoins_command
- db \1 ; memory
- endm
-
- enum RAM2MEM_command ; $3f
-RAM2MEM: macro
- db RAM2MEM_command
- db \1 ; memory
- endm
-
- enum pokenamemem_command ; $40
-pokenamemem: macro
- db pokenamemem_command
- db \1 ; pokemon
- db \2 ; memory
- endm
-
- enum itemtotext_command ; $41
-itemtotext: macro
- db itemtotext_command
- db \1 ; item
- db \2 ; memory
- endm
-
- enum mapnametotext_command ; $42
-mapnametotext: macro
- db mapnametotext_command
- db \1 ; memory
- endm
-
- enum trainertotext_command ; $43
-trainertotext: macro
- db trainertotext_command
- db \1 ; trainer_id
- db \2 ; trainer_group
- db \3 ; memory
- endm
-
- enum stringtotext_command ; $44
-stringtotext: macro
- db stringtotext_command
- dw \1 ; text_pointer
- db \2 ; memory
- endm
-
- enum itemnotify_command ; $45
-itemnotify: macro
- db itemnotify_command
- endm
-
- enum pocketisfull_command ; $46
-pocketisfull: macro
- db pocketisfull_command
- endm
-
- enum opentext_command ; $47
-opentext: macro
- db opentext_command
- endm
-
- enum refreshscreen_command ; $48
-refreshscreen: macro
- db refreshscreen_command
- db \1 ; dummy
- endm
-
- enum closetext_command ; $49
-closetext: macro
- db closetext_command
- endm
-
- enum loadbytec2cf_command ; $4a
-loadbytec2cf: macro
- db loadbytec2cf_command
- db \1 ; byte
- endm
-
- enum farwritetext_command ; $4b
-farwritetext: macro
- db farwritetext_command
- dba \1
- endm
-
- enum writetext_command ; $4c
-writetext: macro
- db writetext_command
- dw \1 ; text_pointer
- endm
-
- enum repeattext_command ; $4d
-repeattext: macro
- db repeattext_command
- db \1 ; byte
- db \2 ; byte
- endm
-
- enum yesorno_command ; $4e
-yesorno: macro
- db yesorno_command
- endm
-
- enum loadmenudata_command ; $4f
-loadmenudata: macro
- db loadmenudata_command
- dw \1 ; data
- endm
-
- enum closewindow_command ; $50
-closewindow: macro
- db closewindow_command
- endm
-
- enum jumptextfaceplayer_command ; $51
-jumptextfaceplayer: macro
- db jumptextfaceplayer_command
- dw \1 ; text_pointer
- endm
-
-; IF _CRYSTAL
- enum farjumptext_command ; $52
-farjumptext: macro
- db farjumptext_command
- dba \1
- endm
-; ENDC
-
- enum jumptext_command ; $53
-jumptext: macro
- db jumptext_command
- dw \1 ; text_pointer
- endm
-
- enum waitbutton_command ; $54
-waitbutton: macro
- db waitbutton_command
- endm
-
- enum buttonsound_command ; $55
-buttonsound: macro
- db buttonsound_command
- endm
-
- enum pokepic_command ; $56
-pokepic: macro
- db pokepic_command
- db \1 ; pokemon
- endm
-
- enum closepokepic_command ; $57
-closepokepic: macro
- db closepokepic_command
- endm
-
- enum _2dmenu_command ; $58
-_2dmenu: macro
- db _2dmenu_command
- endm
-
- enum verticalmenu_command ; $59
-verticalmenu: macro
- db verticalmenu_command
- endm
-
- enum loadpikachudata_command ; $5a
-loadpikachudata: macro
- db loadpikachudata_command
- endm
-
- enum randomwildmon_command ; $5b
-randomwildmon: macro
- db randomwildmon_command
- endm
-
- enum loadmemtrainer_command ; $5c
-loadmemtrainer: macro
- db loadmemtrainer_command
- endm
-
- enum loadwildmon_command ; $5d
-loadwildmon: macro
- db loadwildmon_command
- db \1 ; pokemon
- db \2 ; level
- endm
-
- enum loadtrainer_command ; $5e
-loadtrainer: macro
- db loadtrainer_command
- db \1 ; trainer_group
- db \2 ; trainer_id
- endm
-
- enum startbattle_command ; $5f
-startbattle: macro
- db startbattle_command
- endm
-
- enum reloadmapafterbattle_command ; $60
-reloadmapafterbattle: macro
- db reloadmapafterbattle_command
- endm
-
- enum catchtutorial_command ; $61
-catchtutorial: macro
- db catchtutorial_command
- db \1 ; byte
- endm
-
- enum trainertext_command ; $62
-trainertext: macro
- db trainertext_command
- db \1 ; which_text
- endm
-
- enum trainerflagaction_command ; $63
-trainerflagaction: macro
- db trainerflagaction_command
- db \1 ; action
- endm
-
- enum winlosstext_command ; $64
-winlosstext: macro
- db winlosstext_command
- dw \1 ; win_text_pointer
- dw \2 ; loss_text_pointer
- endm
-
- enum scripttalkafter_command ; $65
-scripttalkafter: macro
- db scripttalkafter_command
- endm
-
- enum end_if_just_battled_command ; $66
-end_if_just_battled: macro
- db end_if_just_battled_command
- endm
-
- enum check_just_battled_command ; $67
-check_just_battled: macro
- db check_just_battled_command
- endm
-
- enum setlasttalked_command ; $68
-setlasttalked: macro
- db setlasttalked_command
- db \1 ; object id
- endm
-
- enum applymovement_command ; $69
-applymovement: macro
- db applymovement_command
- db \1 ; object id
- dw \2 ; data
- endm
-
- enum applymovement2_command ; $6a
-applymovement2: macro
- db applymovement2_command
- dw \1 ; data
- endm
-
- enum faceplayer_command ; $6b
-faceplayer: macro
- db faceplayer_command
- endm
-
- enum faceobject_command ; $6c
-faceobject: macro
- db faceobject_command
- db \1 ; object1
- db \2 ; object2
- endm
-
- enum variablesprite_command ; $6d
-variablesprite: macro
- db variablesprite_command
- db \1 - SPRITE_VARS ; byte
- db \2 ; sprite
- endm
-
- enum disappear_command ; $6e
-disappear: macro
- db disappear_command
- db \1 ; object id
- endm
-
- enum appear_command ; $6f
-appear: macro
- db appear_command
- db \1 ; object id
- endm
-
- enum follow_command ; $70
-follow: macro
- db follow_command
- db \1 ; object2
- db \2 ; object1
- endm
-
- enum stopfollow_command ; $71
-stopfollow: macro
- db stopfollow_command
- endm
-
- enum moveobject_command ; $72
-moveobject: macro
- db moveobject_command
- db \1 ; object id
- db \2 ; x
- db \3 ; y
- endm
-
- enum writeobjectxy_command ; $73
-writeobjectxy: macro
- db writeobjectxy_command
- db \1 ; object id
- endm
-
- enum loademote_command ; $74
-loademote: macro
- db loademote_command
- db \1 ; bubble
- endm
-
- enum showemote_command ; $75
-showemote: macro
- db showemote_command
- db \1 ; bubble
- db \2 ; object id
- db \3 ; time
- endm
-
- enum spriteface_command ; $76
-spriteface: macro
- db spriteface_command
- db \1 ; object id
- db \2 ; facing
- endm
-
- enum follownotexact_command ; $77
-follownotexact: macro
- db follownotexact_command
- db \1 ; object2
- db \2 ; object1
- endm
-
- enum earthquake_command ; $78
-earthquake: macro
- db earthquake_command
- db \1 ; param
- endm
-
- enum changemap_command ; $79
-changemap: macro
- db changemap_command
- db \1 ; map_bank
- dw \2 ; map_data_pointer
- endm
-
- enum changeblock_command ; $7a
-changeblock: macro
- db changeblock_command
- db \1 ; x
- db \2 ; y
- db \3 ; block
- endm
-
- enum reloadmap_command ; $7b
-reloadmap: macro
- db reloadmap_command
- endm
-
- enum reloadmappart_command ; $7c
-reloadmappart: macro
- db reloadmappart_command
- endm
-
- enum writecmdqueue_command ; $7d
-writecmdqueue: macro
- db writecmdqueue_command
- dw \1 ; queue_pointer
- endm
-
- enum delcmdqueue_command ; $7e
-delcmdqueue: macro
- db delcmdqueue_command
- db \1 ; byte
- endm
-
- enum playmusic_command ; $7f
-playmusic: macro
- db playmusic_command
- dw \1 ; music_pointer
- endm
-
- enum encountermusic_command ; $80
-encountermusic: macro
- db encountermusic_command
- endm
-
- enum musicfadeout_command ; $81
-musicfadeout: macro
- db musicfadeout_command
- dw \1 ; music
- db \2 ; fadetime
- endm
-
- enum playmapmusic_command ; $82
-playmapmusic: macro
- db playmapmusic_command
- endm
-
- enum dontrestartmapmusic_command ; $83
-dontrestartmapmusic: macro
- db dontrestartmapmusic_command
- endm
-
- enum cry_command ; $84
-cry: macro
- db cry_command
- dw \1 ; cry_id
- endm
-
- enum playsound_command ; $85
-playsound: macro
- db playsound_command
- dw \1 ; sound_pointer
- endm
-
- enum waitsfx_command ; $86
-waitsfx: macro
- db waitsfx_command
- endm
-
- enum warpsound_command ; $87
-warpsound: macro
- db warpsound_command
- endm
-
- enum specialsound_command ; $88
-specialsound: macro
- db specialsound_command
- endm
-
- enum passtoengine_command ; $89
-passtoengine: macro
- db passtoengine_command
- db \1 ; data_pointer
- endm
-
- enum newloadmap_command ; $8a
-newloadmap: macro
- db newloadmap_command
- db \1 ; which_method
- endm
-
- enum pause_command ; $8b
-pause: macro
- db pause_command
- db \1 ; length
- endm
-
- enum deactivatefacing_command ; $8c
-deactivatefacing: macro
- db deactivatefacing_command
- db \1 ; time
- endm
-
- enum priorityjump_command ; $8d
-priorityjump: macro
- db priorityjump_command
- dw \1 ; pointer
- endm
-
- enum warpcheck_command ; $8e
-warpcheck: macro
- db warpcheck_command
- endm
-
- enum ptpriorityjump_command ; $8f
-ptpriorityjump: macro
- db ptpriorityjump_command
- dw \1 ; pointer
- endm
-
- enum return_command ; $90
-return: macro
- db return_command
- endm
-
- enum end_command ; $91
-end: macro
- db end_command
- endm
-
- enum reloadandreturn_command ; $92
-reloadandreturn: macro
- db reloadandreturn_command
- db \1 ; which_method
- endm
-
- enum end_all_command ; $93
-end_all: macro
- db end_all_command
- endm
-
- enum pokemart_command ; $94
-pokemart: macro
- db pokemart_command
- db \1 ; dialog_id
- dw \2 ; mart_id
- endm
-
- enum elevator_command ; $95
-elevator: macro
- db elevator_command
- dw \1 ; floor_list_pointer
- endm
-
- enum trade_command ; $96
-trade: macro
- db trade_command
- db \1 ; trade_id
- endm
-
- enum askforphonenumber_command ; $97
-askforphonenumber: macro
- db askforphonenumber_command
- db \1 ; number
- endm
-
- enum phonecall_command ; $98
-phonecall: macro
- db phonecall_command
- dw \1 ; caller_name
- endm
-
- enum hangup_command ; $99
-hangup: macro
- db hangup_command
- endm
-
- enum describedecoration_command ; $9a
-describedecoration: macro
- db describedecoration_command
- db \1 ; byte
- endm
-
- enum fruittree_command ; $9b
-fruittree: macro
- db fruittree_command
- db \1 ; tree_id
- endm
-
- enum specialphonecall_command ; $9c
-specialphonecall: macro
- db specialphonecall_command
- dw \1 ; call_id
- endm
-
- enum checkphonecall_command ; $9d
-checkphonecall: macro
- db checkphonecall_command
- endm
-
- enum verbosegiveitem_command ; $9e
-verbosegiveitem: macro
- db verbosegiveitem_command
- db \1 ; item
-if _NARG == 2
- db \2 ; quantity
-else
- db 1
-endc
- endm
-
- enum verbosegiveitem2_command ; $9f
-verbosegiveitem2: macro
- db verbosegiveitem2_command
- db \1 ; item
- db \2 ; var
- endm
-
- enum swarm_command ; $a0
-swarm: macro
- db swarm_command
- db \1 ; flag
- map \2 ; map
- endm
-
- enum halloffame_command ; $a1
-halloffame: macro
- db halloffame_command
- endm
-
- enum credits_command ; $a2
-credits: macro
- db credits_command
- endm
-
- enum warpfacing_command ; $a3
-warpfacing: macro
- db warpfacing_command
- db \1 ; facing
- map \2 ; map
- db \3 ; x
- db \4 ; y
- endm
-
- enum battletowertext_command ; $a4
-battletowertext: macro
- db battletowertext_command
- db \1 ; memory
- endm
-
- enum landmarktotext_command ; $a5
-landmarktotext: macro
- db landmarktotext_command
- db \1 ; id
- db \2 ; memory
- endm
-
- enum trainerclassname_command ; $a6
-trainerclassname: macro
- db trainerclassname_command
- db \1 ; id
- db \2 ; memory
- endm
-
- enum name_command ; $a7
-name: macro
- db name_command
- db \1 ; type
- db \2 ; id
- db \3 ; memory
- endm
-
- enum wait_command ; $a8
-wait: macro
- db wait_command
- db \1 ; duration
- endm
-
- enum check_save_command ; $a9
-check_save: macro
- db check_save_command
- endm
--- /dev/null
+++ b/macros/scripts/events.asm
@@ -1,0 +1,1069 @@
+; ScriptCommandTable indexes (see engine/scripting.asm)
+ enum_start
+
+ enum scall_command ; $00
+scall: macro
+ db scall_command
+ dw \1 ; pointer
+ endm
+
+ enum farscall_command ; $01
+farscall: macro
+ db farscall_command
+ dba \1
+ endm
+
+ enum ptcall_command ; $02
+ptcall: macro
+ db ptcall_command
+ dw \1 ; pointer
+ endm
+
+ enum jump_command ; $03
+jump: macro
+ db jump_command
+ dw \1 ; pointer
+ endm
+
+ enum farjump_command ; $04
+farjump: macro
+ db farjump_command
+ dba \1
+ endm
+
+ enum ptjump_command ; $05
+ptjump: macro
+ db ptjump_command
+ dw \1 ; pointer
+ endm
+
+ enum if_equal_command ; $06
+if_equal: macro
+ db if_equal_command
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+ enum if_not_equal_command ; $07
+if_not_equal: macro
+ db if_not_equal_command
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+ enum iffalse_command ; $08
+iffalse: macro
+ db iffalse_command
+ dw \1 ; pointer
+ endm
+
+ enum iftrue_command ; $09
+iftrue: macro
+ db iftrue_command
+ dw \1 ; pointer
+ endm
+
+ enum if_greater_than_command ; $0a
+if_greater_than: macro
+ db if_greater_than_command
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+ enum if_less_than_command ; $0b
+if_less_than: macro
+ db if_less_than_command
+ db \1 ; byte
+ dw \2 ; pointer
+ endm
+
+ enum jumpstd_command ; $0c
+jumpstd: macro
+ db jumpstd_command
+ dw \1 ; predefined_script
+ endm
+
+ enum callstd_command ; $0d
+callstd: macro
+ db callstd_command
+ dw \1 ; predefined_script
+ endm
+
+ enum callasm_command ; $0e
+callasm: macro
+ db callasm_command
+ dba \1
+ endm
+
+ enum special_command ; $0f
+special: macro
+ db special_command
+ dw (\1Special - SpecialsPointers) / 3
+ endm
+
+add_special: MACRO
+\1Special::
+ dba \1
+ENDM
+
+ enum ptcallasm_command ; $10
+ptcallasm: macro
+ db ptcallasm_command
+ dw \1 ; asm
+ endm
+
+ enum checkmapscene_command ; $11
+checkmapscene: macro
+ db checkmapscene_command
+ map \1 ; map
+ endm
+
+ enum setmapscene_command ; $12
+setmapscene: macro
+ db setmapscene_command
+ map \1 ; map
+ db \2 ; scene_id
+ endm
+
+ enum checkscene_command ; $13
+checkscene: macro
+ db checkscene_command
+ endm
+
+ enum setscene_command ; $14
+setscene: macro
+ db setscene_command
+ db \1 ; scene_id
+ endm
+
+ enum writebyte_command ; $15
+writebyte: macro
+ db writebyte_command
+ db \1 ; value
+ endm
+
+ enum addvar_command ; $16
+addvar: macro
+ db addvar_command
+ db \1 ; value
+ endm
+
+ enum random_command ; $17
+random: macro
+ db random_command
+ db \1 ; input
+ endm
+
+ enum checkver_command ; $18
+checkver: macro
+ db checkver_command
+ endm
+
+ enum copybytetovar_command ; $19
+copybytetovar: macro
+ db copybytetovar_command
+ dw \1 ; address
+ endm
+
+ enum copyvartobyte_command ; $1a
+copyvartobyte: macro
+ db copyvartobyte_command
+ dw \1 ; address
+ endm
+
+ enum loadvar_command ; $1b
+loadvar: macro
+ db loadvar_command
+ dw \1 ; address
+ db \2 ; value
+ endm
+
+ enum checkcode_command ; $1c
+checkcode: macro
+ db checkcode_command
+ db \1 ; variable_id
+ endm
+
+ enum writevarcode_command ; $1d
+writevarcode: macro
+ db writevarcode_command
+ db \1 ; variable_id
+ endm
+
+ enum writecode_command ; $1e
+writecode: macro
+ db writecode_command
+ db \1 ; variable_id
+ db \2 ; value
+ endm
+
+ enum giveitem_command ; $1f
+giveitem: macro
+ db giveitem_command
+ db \1 ; item
+if _NARG == 2
+ db \2 ; quantity
+else
+ db 1
+endc
+ endm
+
+ enum takeitem_command ; $20
+takeitem: macro
+ db takeitem_command
+ db \1 ; item
+if _NARG == 2
+ db \2 ; quantity
+else
+ db 1
+endc
+ endm
+
+ enum checkitem_command ; $21
+checkitem: macro
+ db checkitem_command
+ db \1 ; item
+ endm
+
+ enum givemoney_command ; $22
+givemoney: macro
+ db givemoney_command
+ db \1 ; account
+ dt \2 ; money
+ endm
+
+ enum takemoney_command ; $23
+takemoney: macro
+ db takemoney_command
+ db \1 ; account
+ dt \2 ; money
+ endm
+
+ enum checkmoney_command ; $24
+checkmoney: macro
+ db checkmoney_command
+ db \1 ; account
+ dt \2 ; money
+ endm
+
+ enum givecoins_command ; $25
+givecoins: macro
+ db givecoins_command
+ dw \1 ; coins
+ endm
+
+ enum takecoins_command ; $26
+takecoins: macro
+ db takecoins_command
+ dw \1 ; coins
+ endm
+
+ enum checkcoins_command ; $27
+checkcoins: macro
+ db checkcoins_command
+ dw \1 ; coins
+ endm
+
+ enum addcellnum_command ; $28
+addcellnum: macro
+ db addcellnum_command
+ db \1 ; person
+ endm
+
+ enum delcellnum_command ; $29
+delcellnum: macro
+ db delcellnum_command
+ db \1 ; person
+ endm
+
+ enum checkcellnum_command ; $2a
+checkcellnum: macro
+ db checkcellnum_command
+ db \1 ; person
+ endm
+
+ enum checktime_command ; $2b
+checktime: macro
+ db checktime_command
+ db \1 ; time
+ endm
+
+checkmorn EQUS "checktime MORN"
+checkday EQUS "checktime DAY"
+checknite EQUS "checktime NITE"
+
+ enum checkpoke_command ; $2c
+checkpoke: macro
+ db checkpoke_command
+ db \1 ; pkmn
+ endm
+
+ enum givepoke_command ; $2d
+givepoke: macro
+ db givepoke_command
+ db \1 ; pokemon
+ db \2 ; level
+ if _NARG >= 3
+ db \3 ; item
+ if _NARG >= 4
+ db \4 ; trainer
+ if \4
+ dw \5 ; trainer_name_pointer
+ dw \6 ; pkmn_nickname
+ endc
+ else
+ db 0
+ endc
+ else
+ db 0, 0
+ endc
+ endm
+
+ enum giveegg_command ; $2e
+giveegg: macro
+ db giveegg_command
+ db \1 ; pkmn
+ db \2 ; level
+ endm
+
+ enum givepokeitem_command ; $2f
+givepokeitem: macro
+ db givepokeitem_command
+ dw \1 ; pointer
+ endm
+
+ enum checkpokeitem_command ; $30
+checkpokeitem: macro
+ db checkpokeitem_command
+ dw \1 ; pointer
+ endm
+
+ enum checkevent_command ; $31
+checkevent: macro
+ db checkevent_command
+ dw \1 ; event_flag
+ endm
+
+ enum clearevent_command ; $32
+clearevent: macro
+ db clearevent_command
+ dw \1 ; event_flag
+ endm
+
+ enum setevent_command ; $33
+setevent: macro
+ db setevent_command
+ dw \1 ; event_flag
+ endm
+
+ enum checkflag_command ; $34
+checkflag: macro
+ db checkflag_command
+ dw \1 ; engine_flag
+ endm
+
+ enum clearflag_command ; $35
+clearflag: macro
+ db clearflag_command
+ dw \1 ; engine_flag
+ endm
+
+ enum setflag_command ; $36
+setflag: macro
+ db setflag_command
+ dw \1 ; engine_flag
+ endm
+
+ enum wildon_command ; $37
+wildon: macro
+ db wildon_command
+ endm
+
+ enum wildoff_command ; $38
+wildoff: macro
+ db wildoff_command
+ endm
+
+ enum xycompare_command ; $39
+xycompare: macro
+ db xycompare_command
+ dw \1 ; pointer
+ endm
+
+ enum warpmod_command ; $3a
+warpmod: macro
+ db warpmod_command
+ db \1 ; warp_id
+ map \2 ; map
+ endm
+
+ enum blackoutmod_command ; $3b
+blackoutmod: macro
+ db blackoutmod_command
+ map \1 ; map
+ endm
+
+ enum warp_command ; $3c
+warp: macro
+ db warp_command
+ map \1 ; map
+ db \2 ; x
+ db \3 ; y
+ endm
+
+ enum readmoney_command ; $3d
+readmoney: macro
+ db readmoney_command
+ db \1 ; account
+ db \2 ; memory
+ endm
+
+ enum readcoins_command ; $3e
+readcoins: macro
+ db readcoins_command
+ db \1 ; memory
+ endm
+
+ enum RAM2MEM_command ; $3f
+RAM2MEM: macro
+ db RAM2MEM_command
+ db \1 ; memory
+ endm
+
+ enum pokenamemem_command ; $40
+pokenamemem: macro
+ db pokenamemem_command
+ db \1 ; pokemon
+ db \2 ; memory
+ endm
+
+ enum itemtotext_command ; $41
+itemtotext: macro
+ db itemtotext_command
+ db \1 ; item
+ db \2 ; memory
+ endm
+
+ enum mapnametotext_command ; $42
+mapnametotext: macro
+ db mapnametotext_command
+ db \1 ; memory
+ endm
+
+ enum trainertotext_command ; $43
+trainertotext: macro
+ db trainertotext_command
+ db \1 ; trainer_id
+ db \2 ; trainer_group
+ db \3 ; memory
+ endm
+
+ enum stringtotext_command ; $44
+stringtotext: macro
+ db stringtotext_command
+ dw \1 ; text_pointer
+ db \2 ; memory
+ endm
+
+ enum itemnotify_command ; $45
+itemnotify: macro
+ db itemnotify_command
+ endm
+
+ enum pocketisfull_command ; $46
+pocketisfull: macro
+ db pocketisfull_command
+ endm
+
+ enum opentext_command ; $47
+opentext: macro
+ db opentext_command
+ endm
+
+ enum refreshscreen_command ; $48
+refreshscreen: macro
+ db refreshscreen_command
+ db \1 ; dummy
+ endm
+
+ enum closetext_command ; $49
+closetext: macro
+ db closetext_command
+ endm
+
+ enum loadbytec2cf_command ; $4a
+loadbytec2cf: macro
+ db loadbytec2cf_command
+ db \1 ; byte
+ endm
+
+ enum farwritetext_command ; $4b
+farwritetext: macro
+ db farwritetext_command
+ dba \1
+ endm
+
+ enum writetext_command ; $4c
+writetext: macro
+ db writetext_command
+ dw \1 ; text_pointer
+ endm
+
+ enum repeattext_command ; $4d
+repeattext: macro
+ db repeattext_command
+ db \1 ; byte
+ db \2 ; byte
+ endm
+
+ enum yesorno_command ; $4e
+yesorno: macro
+ db yesorno_command
+ endm
+
+ enum loadmenudata_command ; $4f
+loadmenudata: macro
+ db loadmenudata_command
+ dw \1 ; data
+ endm
+
+ enum closewindow_command ; $50
+closewindow: macro
+ db closewindow_command
+ endm
+
+ enum jumptextfaceplayer_command ; $51
+jumptextfaceplayer: macro
+ db jumptextfaceplayer_command
+ dw \1 ; text_pointer
+ endm
+
+; IF _CRYSTAL
+ enum farjumptext_command ; $52
+farjumptext: macro
+ db farjumptext_command
+ dba \1
+ endm
+; ENDC
+
+ enum jumptext_command ; $53
+jumptext: macro
+ db jumptext_command
+ dw \1 ; text_pointer
+ endm
+
+ enum waitbutton_command ; $54
+waitbutton: macro
+ db waitbutton_command
+ endm
+
+ enum buttonsound_command ; $55
+buttonsound: macro
+ db buttonsound_command
+ endm
+
+ enum pokepic_command ; $56
+pokepic: macro
+ db pokepic_command
+ db \1 ; pokemon
+ endm
+
+ enum closepokepic_command ; $57
+closepokepic: macro
+ db closepokepic_command
+ endm
+
+ enum _2dmenu_command ; $58
+_2dmenu: macro
+ db _2dmenu_command
+ endm
+
+ enum verticalmenu_command ; $59
+verticalmenu: macro
+ db verticalmenu_command
+ endm
+
+ enum loadpikachudata_command ; $5a
+loadpikachudata: macro
+ db loadpikachudata_command
+ endm
+
+ enum randomwildmon_command ; $5b
+randomwildmon: macro
+ db randomwildmon_command
+ endm
+
+ enum loadmemtrainer_command ; $5c
+loadmemtrainer: macro
+ db loadmemtrainer_command
+ endm
+
+ enum loadwildmon_command ; $5d
+loadwildmon: macro
+ db loadwildmon_command
+ db \1 ; pokemon
+ db \2 ; level
+ endm
+
+ enum loadtrainer_command ; $5e
+loadtrainer: macro
+ db loadtrainer_command
+ db \1 ; trainer_group
+ db \2 ; trainer_id
+ endm
+
+ enum startbattle_command ; $5f
+startbattle: macro
+ db startbattle_command
+ endm
+
+ enum reloadmapafterbattle_command ; $60
+reloadmapafterbattle: macro
+ db reloadmapafterbattle_command
+ endm
+
+ enum catchtutorial_command ; $61
+catchtutorial: macro
+ db catchtutorial_command
+ db \1 ; byte
+ endm
+
+ enum trainertext_command ; $62
+trainertext: macro
+ db trainertext_command
+ db \1 ; which_text
+ endm
+
+ enum trainerflagaction_command ; $63
+trainerflagaction: macro
+ db trainerflagaction_command
+ db \1 ; action
+ endm
+
+ enum winlosstext_command ; $64
+winlosstext: macro
+ db winlosstext_command
+ dw \1 ; win_text_pointer
+ dw \2 ; loss_text_pointer
+ endm
+
+ enum scripttalkafter_command ; $65
+scripttalkafter: macro
+ db scripttalkafter_command
+ endm
+
+ enum end_if_just_battled_command ; $66
+end_if_just_battled: macro
+ db end_if_just_battled_command
+ endm
+
+ enum check_just_battled_command ; $67
+check_just_battled: macro
+ db check_just_battled_command
+ endm
+
+ enum setlasttalked_command ; $68
+setlasttalked: macro
+ db setlasttalked_command
+ db \1 ; object id
+ endm
+
+ enum applymovement_command ; $69
+applymovement: macro
+ db applymovement_command
+ db \1 ; object id
+ dw \2 ; data
+ endm
+
+ enum applymovement2_command ; $6a
+applymovement2: macro
+ db applymovement2_command
+ dw \1 ; data
+ endm
+
+ enum faceplayer_command ; $6b
+faceplayer: macro
+ db faceplayer_command
+ endm
+
+ enum faceobject_command ; $6c
+faceobject: macro
+ db faceobject_command
+ db \1 ; object1
+ db \2 ; object2
+ endm
+
+ enum variablesprite_command ; $6d
+variablesprite: macro
+ db variablesprite_command
+ db \1 - SPRITE_VARS ; byte
+ db \2 ; sprite
+ endm
+
+ enum disappear_command ; $6e
+disappear: macro
+ db disappear_command
+ db \1 ; object id
+ endm
+
+ enum appear_command ; $6f
+appear: macro
+ db appear_command
+ db \1 ; object id
+ endm
+
+ enum follow_command ; $70
+follow: macro
+ db follow_command
+ db \1 ; object2
+ db \2 ; object1
+ endm
+
+ enum stopfollow_command ; $71
+stopfollow: macro
+ db stopfollow_command
+ endm
+
+ enum moveobject_command ; $72
+moveobject: macro
+ db moveobject_command
+ db \1 ; object id
+ db \2 ; x
+ db \3 ; y
+ endm
+
+ enum writeobjectxy_command ; $73
+writeobjectxy: macro
+ db writeobjectxy_command
+ db \1 ; object id
+ endm
+
+ enum loademote_command ; $74
+loademote: macro
+ db loademote_command
+ db \1 ; bubble
+ endm
+
+ enum showemote_command ; $75
+showemote: macro
+ db showemote_command
+ db \1 ; bubble
+ db \2 ; object id
+ db \3 ; time
+ endm
+
+ enum spriteface_command ; $76
+spriteface: macro
+ db spriteface_command
+ db \1 ; object id
+ db \2 ; facing
+ endm
+
+ enum follownotexact_command ; $77
+follownotexact: macro
+ db follownotexact_command
+ db \1 ; object2
+ db \2 ; object1
+ endm
+
+ enum earthquake_command ; $78
+earthquake: macro
+ db earthquake_command
+ db \1 ; param
+ endm
+
+ enum changemap_command ; $79
+changemap: macro
+ db changemap_command
+ db \1 ; map_bank
+ dw \2 ; map_data_pointer
+ endm
+
+ enum changeblock_command ; $7a
+changeblock: macro
+ db changeblock_command
+ db \1 ; x
+ db \2 ; y
+ db \3 ; block
+ endm
+
+ enum reloadmap_command ; $7b
+reloadmap: macro
+ db reloadmap_command
+ endm
+
+ enum reloadmappart_command ; $7c
+reloadmappart: macro
+ db reloadmappart_command
+ endm
+
+ enum writecmdqueue_command ; $7d
+writecmdqueue: macro
+ db writecmdqueue_command
+ dw \1 ; queue_pointer
+ endm
+
+ enum delcmdqueue_command ; $7e
+delcmdqueue: macro
+ db delcmdqueue_command
+ db \1 ; byte
+ endm
+
+ enum playmusic_command ; $7f
+playmusic: macro
+ db playmusic_command
+ dw \1 ; music_pointer
+ endm
+
+ enum encountermusic_command ; $80
+encountermusic: macro
+ db encountermusic_command
+ endm
+
+ enum musicfadeout_command ; $81
+musicfadeout: macro
+ db musicfadeout_command
+ dw \1 ; music
+ db \2 ; fadetime
+ endm
+
+ enum playmapmusic_command ; $82
+playmapmusic: macro
+ db playmapmusic_command
+ endm
+
+ enum dontrestartmapmusic_command ; $83
+dontrestartmapmusic: macro
+ db dontrestartmapmusic_command
+ endm
+
+ enum cry_command ; $84
+cry: macro
+ db cry_command
+ dw \1 ; cry_id
+ endm
+
+ enum playsound_command ; $85
+playsound: macro
+ db playsound_command
+ dw \1 ; sound_pointer
+ endm
+
+ enum waitsfx_command ; $86
+waitsfx: macro
+ db waitsfx_command
+ endm
+
+ enum warpsound_command ; $87
+warpsound: macro
+ db warpsound_command
+ endm
+
+ enum specialsound_command ; $88
+specialsound: macro
+ db specialsound_command
+ endm
+
+ enum passtoengine_command ; $89
+passtoengine: macro
+ db passtoengine_command
+ db \1 ; data_pointer
+ endm
+
+ enum newloadmap_command ; $8a
+newloadmap: macro
+ db newloadmap_command
+ db \1 ; which_method
+ endm
+
+ enum pause_command ; $8b
+pause: macro
+ db pause_command
+ db \1 ; length
+ endm
+
+ enum deactivatefacing_command ; $8c
+deactivatefacing: macro
+ db deactivatefacing_command
+ db \1 ; time
+ endm
+
+ enum priorityjump_command ; $8d
+priorityjump: macro
+ db priorityjump_command
+ dw \1 ; pointer
+ endm
+
+ enum warpcheck_command ; $8e
+warpcheck: macro
+ db warpcheck_command
+ endm
+
+ enum ptpriorityjump_command ; $8f
+ptpriorityjump: macro
+ db ptpriorityjump_command
+ dw \1 ; pointer
+ endm
+
+ enum return_command ; $90
+return: macro
+ db return_command
+ endm
+
+ enum end_command ; $91
+end: macro
+ db end_command
+ endm
+
+ enum reloadandreturn_command ; $92
+reloadandreturn: macro
+ db reloadandreturn_command
+ db \1 ; which_method
+ endm
+
+ enum end_all_command ; $93
+end_all: macro
+ db end_all_command
+ endm
+
+ enum pokemart_command ; $94
+pokemart: macro
+ db pokemart_command
+ db \1 ; dialog_id
+ dw \2 ; mart_id
+ endm
+
+ enum elevator_command ; $95
+elevator: macro
+ db elevator_command
+ dw \1 ; floor_list_pointer
+ endm
+
+ enum trade_command ; $96
+trade: macro
+ db trade_command
+ db \1 ; trade_id
+ endm
+
+ enum askforphonenumber_command ; $97
+askforphonenumber: macro
+ db askforphonenumber_command
+ db \1 ; number
+ endm
+
+ enum phonecall_command ; $98
+phonecall: macro
+ db phonecall_command
+ dw \1 ; caller_name
+ endm
+
+ enum hangup_command ; $99
+hangup: macro
+ db hangup_command
+ endm
+
+ enum describedecoration_command ; $9a
+describedecoration: macro
+ db describedecoration_command
+ db \1 ; byte
+ endm
+
+ enum fruittree_command ; $9b
+fruittree: macro
+ db fruittree_command
+ db \1 ; tree_id
+ endm
+
+ enum specialphonecall_command ; $9c
+specialphonecall: macro
+ db specialphonecall_command
+ dw \1 ; call_id
+ endm
+
+ enum checkphonecall_command ; $9d
+checkphonecall: macro
+ db checkphonecall_command
+ endm
+
+ enum verbosegiveitem_command ; $9e
+verbosegiveitem: macro
+ db verbosegiveitem_command
+ db \1 ; item
+if _NARG == 2
+ db \2 ; quantity
+else
+ db 1
+endc
+ endm
+
+ enum verbosegiveitem2_command ; $9f
+verbosegiveitem2: macro
+ db verbosegiveitem2_command
+ db \1 ; item
+ db \2 ; var
+ endm
+
+ enum swarm_command ; $a0
+swarm: macro
+ db swarm_command
+ db \1 ; flag
+ map \2 ; map
+ endm
+
+ enum halloffame_command ; $a1
+halloffame: macro
+ db halloffame_command
+ endm
+
+ enum credits_command ; $a2
+credits: macro
+ db credits_command
+ endm
+
+ enum warpfacing_command ; $a3
+warpfacing: macro
+ db warpfacing_command
+ db \1 ; facing
+ map \2 ; map
+ db \3 ; x
+ db \4 ; y
+ endm
+
+ enum battletowertext_command ; $a4
+battletowertext: macro
+ db battletowertext_command
+ db \1 ; memory
+ endm
+
+ enum landmarktotext_command ; $a5
+landmarktotext: macro
+ db landmarktotext_command
+ db \1 ; id
+ db \2 ; memory
+ endm
+
+ enum trainerclassname_command ; $a6
+trainerclassname: macro
+ db trainerclassname_command
+ db \1 ; id
+ db \2 ; memory
+ endm
+
+ enum name_command ; $a7
+name: macro
+ db name_command
+ db \1 ; type
+ db \2 ; id
+ db \3 ; memory
+ endm
+
+ enum wait_command ; $a8
+wait: macro
+ db wait_command
+ db \1 ; duration
+ endm
+
+ enum check_save_command ; $a9
+check_save: macro
+ db check_save_command
+ endm
--- a/macros/scripts/gfx_anim.asm
+++ /dev/null
@@ -1,44 +1,0 @@
-; pic + oam animations
-
-frame: macro
- db \1
-x = \2
-if _NARG > 2
-rept _NARG +- 2
-x = x | (1 << (\3 + 1))
- shift
-endr
-endc
- db x
- endm
-
- enum_start $fc
-
- enum delanim_command ; $fc
-delanim: macro ; used for oam
- db delanim_command
- endm
-
- enum dorepeat_command ; $fd
-dorepeat: macro
- db dorepeat_command
- db \1 ; #
- endm
-
- enum setrepeat_command ; $fe
-setrepeat: macro
- db setrepeat_command
- db \1 ; #
- endm
-
- enum endanim_command ; $ff
-endanim: macro
- db endanim_command
- endm
-
-__enum__ = $fe
-
- enum dorestart_command ; $fe
-dorestart: macro ; used for oam
- db dorestart_command
- endm
--- /dev/null
+++ b/macros/scripts/gfx_anims.asm
@@ -1,0 +1,44 @@
+; pic + oam animations
+
+frame: macro
+ db \1
+x = \2
+if _NARG > 2
+rept _NARG +- 2
+x = x | (1 << (\3 + 1))
+ shift
+endr
+endc
+ db x
+ endm
+
+ enum_start $fc
+
+ enum delanim_command ; $fc
+delanim: macro ; used for oam
+ db delanim_command
+ endm
+
+ enum dorepeat_command ; $fd
+dorepeat: macro
+ db dorepeat_command
+ db \1 ; #
+ endm
+
+ enum setrepeat_command ; $fe
+setrepeat: macro
+ db setrepeat_command
+ db \1 ; #
+ endm
+
+ enum endanim_command ; $ff
+endanim: macro
+ db endanim_command
+ endm
+
+__enum__ = $fe
+
+ enum dorestart_command ; $fe
+dorestart: macro ; used for oam
+ db dorestart_command
+ endm
--- a/macros/scripts/move_anim.asm
+++ /dev/null
@@ -1,294 +1,0 @@
-anim_wait: macro
-if \1 >= $d0
- flip out
-endc
- db \1
- endm
-
-; BattleAnimCommands indexes (see engine/anims/anim_commands.asm)
- enum_start $d0
-
- enum anim_obj_command ; $d0
-anim_obj: macro
- db anim_obj_command
- db \1 ; obj
- db (\2 << 3) + \3 ; x
- db (\4 << 3) + \5 ; y
- db \6 ; param
- endm
-
- enum anim_1gfx_command ; $d1
-anim_1gfx: macro
- db anim_1gfx_command
- db \1 ; gfx1
- endm
-
- enum anim_2gfx_command ; $d2
-anim_2gfx: macro
- db anim_2gfx_command
- db \1 ; gfx1
- db \2 ; gfx2
- endm
-
- enum anim_3gfx_command ; $d3
-anim_3gfx: macro
- db anim_3gfx_command
- db \1 ; gfx1
- db \2 ; gfx2
- db \3 ; gfx3
- endm
-
- enum anim_4gfx_command ; $d4
-anim_4gfx: macro
- db anim_4gfx_command
- db \1 ; gfx1
- db \2 ; gfx2
- db \3 ; gfx3
- db \4 ; gfx4
- endm
-
- enum anim_5gfx_command ; $d5
-anim_5gfx: macro
- db anim_5gfx_command
- db \1 ; gfx1
- db \2 ; gfx2
- db \3 ; gfx3
- db \4 ; gfx4
- db \5 ; gfx5
- endm
-
- enum anim_incobj_command ; $d6
-anim_incobj: macro
- db anim_incobj_command
- db \1 ; id
- endm
-
- enum anim_setobj_command ; $d7
-anim_setobj: macro
- db anim_setobj_command
- db \1 ; id
- db \2 ; obj
- endm
-
- enum anim_incbgeffect_command ; $d8
-anim_incbgeffect: macro
- db anim_incbgeffect_command
- db \1 ; effect
- endm
-
- enum anim_enemyfeetobj_command ; $d9
-anim_enemyfeetobj: macro
- db anim_enemyfeetobj_command
- endm
-
- enum anim_playerheadobj_command ; $da
-anim_playerheadobj: macro
- db anim_playerheadobj_command
- endm
-
- enum anim_checkpokeball_command ; $db
-anim_checkpokeball: macro
- db anim_checkpokeball_command
- endm
-
- enum anim_transform_command ; $dc
-anim_transform: macro
- db anim_transform_command
- endm
-
- enum anim_raisesub_command ; $dd
-anim_raisesub: macro
- db anim_raisesub_command
- endm
-
- enum anim_dropsub_command ; $de
-anim_dropsub: macro
- db anim_dropsub_command
- endm
-
- enum anim_resetobp0_command ; $df
-anim_resetobp0: macro
- db anim_resetobp0_command
- endm
-
- enum anim_sound_command ; $e0
-anim_sound: macro
- db anim_sound_command
- db (\1 << 2) | \2 ; duration, tracks
- db \3 ; id
- endm
-
- enum anim_cry_command ; $e1
-anim_cry: macro
- db anim_cry_command
- db \1 ; pitch
- endm
-
- enum anim_minimizeopp_command ; $e2
-anim_minimizeopp: macro
- db anim_minimizeopp_command
- endm
-
- enum anim_oamon_command ; $e3
-anim_oamon: macro
- db anim_oamon_command
- endm
-
- enum anim_oamoff_command ; $e4
-anim_oamoff: macro
- db anim_oamoff_command
- endm
-
- enum anim_clearobjs_command ; $e5
-anim_clearobjs: macro
- db anim_clearobjs_command
- endm
-
- enum anim_beatup_command ; $e6
-anim_beatup: macro
- db anim_beatup_command
- endm
-
- enum anim_0xe7_command ; $e7
-anim_0xe7: macro
- db anim_0xe7_command
- endm
-
- enum anim_updateactorpic_command ; $e8
-anim_updateactorpic: macro
- db anim_updateactorpic_command
- endm
-
- enum anim_minimize_command ; $e9
-anim_minimize: macro
- db anim_minimize_command
- endm
-
- enum anim_0xea_command ; $ea
-anim_0xea: macro
- db anim_0xea_command
- endm
-
- enum anim_0xeb_command ; $eb
-anim_0xeb: macro
- db anim_0xeb_command
- endm
-
- enum anim_0xec_command ; $ec
-anim_0xec: macro
- db anim_0xec_command
- endm
-
- enum anim_0xed_command ; $ed
-anim_0xed: macro
- db anim_0xed_command
- endm
-
- enum anim_if_param_and_command ; $ee
-anim_if_param_and: macro
- db anim_if_param_and_command
- db \1 ; value
- dw \2 ; address
- endm
-
- enum anim_jumpuntil_command ; $ef
-anim_jumpuntil: macro
- db anim_jumpuntil_command
- dw \1 ; address
- endm
-
- enum anim_bgeffect_command ; $f0
-anim_bgeffect: macro
- db anim_bgeffect_command
- db \1 ; effect
- db \2 ; unknown
- db \3 ; unknown
- db \4 ; unknown
- endm
-
- enum anim_bgp_command ; $f1
-anim_bgp: macro
- db anim_bgp_command
- db \1 ; colors
- endm
-
- enum anim_obp0_command ; $f2
-anim_obp0: macro
- db anim_obp0_command
- db \1 ; colors
- endm
-
- enum anim_obp1_command ; $f3
-anim_obp1: macro
- db anim_obp1_command
- db \1 ; colors
- endm
-
- enum anim_clearsprites_command ; $f4
-anim_clearsprites: macro
- db anim_clearsprites_command
- endm
-
- enum anim_0xf5_command ; $f5
-anim_0xf5: macro
- db anim_0xf5_command
- endm
-
- enum anim_0xf6_command ; $f6
-anim_0xf6: macro
- db anim_0xf6_command
- endm
-
- enum anim_0xf7_command ; $f7
-anim_0xf7: macro
- db anim_0xf7_command
- endm
-
- enum anim_if_param_equal_command ; $f8
-anim_if_param_equal: macro
- db anim_if_param_equal_command
- db \1 ; value
- dw \2 ; address
- endm
-
- enum anim_setvar_command ; $f9
-anim_setvar: macro
- db anim_setvar_command
- db \1 ; value
- endm
-
- enum anim_incvar_command ; $fa
-anim_incvar: macro
- db anim_incvar_command
- endm
-
- enum anim_if_var_equal_command ; $fb
-anim_if_var_equal: macro
- db anim_if_var_equal_command
- db \1 ; value
- dw \2 ; address
- endm
-
- enum anim_jump_command ; $fc
-anim_jump: macro
- db anim_jump_command
- dw \1 ; address
- endm
-
- enum anim_loop_command ; $fd
-anim_loop: macro
- db anim_loop_command
- db \1 ; count
- dw \2 ; address
- endm
-
- enum anim_call_command ; $fe
-anim_call: macro
- db anim_call_command
- dw \1 ; address
- endm
-
- enum anim_ret_command ; $ff
-anim_ret: macro
- db anim_ret_command
- endm
--- a/macros/scripts/trade_anim.asm
+++ /dev/null
@@ -1,255 +1,0 @@
-; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm)
- enum_start
-
- enum tradeanim_next_command ; $00
-tradeanim_next: macro
- db tradeanim_next_command
-endm
-
- enum tradeanim_show_givemon_data_command ; $01
-tradeanim_show_givemon_data: macro
- db tradeanim_show_givemon_data_command
-endm
-
- enum tradeanim_show_getmon_data_command ; $02
-tradeanim_show_getmon_data: macro
- db tradeanim_show_getmon_data_command
-endm
-
- enum tradeanim_enter_link_tube_command ; $03
-tradeanim_enter_link_tube: macro
- db tradeanim_enter_link_tube_command
-endm
-
-__enum__ set $5
-
- enum tradeanim_exit_link_tube_command ; $05
-tradeanim_exit_link_tube: macro
- db tradeanim_exit_link_tube_command
-endm
-
- enum tradeanim_tube_to_ot_command ; $06
-tradeanim_tube_to_ot: macro
- db tradeanim_tube_to_ot_command
-endm
-
-__enum__ set $0e
-
- enum tradeanim_tube_to_player_command ; $0e
-tradeanim_tube_to_player: macro
- db tradeanim_tube_to_player_command
-endm
-
-__enum__ set $16
-
- enum tradeanim_sent_to_ot_text_command ; $16
-tradeanim_sent_to_ot_text: macro
- db tradeanim_sent_to_ot_text_command
-endm
-
- enum tradeanim_ot_bids_farewell_command ; $17
-tradeanim_ot_bids_farewell: macro
- db tradeanim_ot_bids_farewell_command
-endm
-
- enum tradeanim_take_care_of_text_command ; $18
-tradeanim_take_care_of_text: macro
- db tradeanim_take_care_of_text_command
-endm
-
- enum tradeanim_ot_sends_text_1_command ; $19
-tradeanim_ot_sends_text_1: macro
- db tradeanim_ot_sends_text_1_command
-endm
-
- enum tradeanim_ot_sends_text_2_command ; $1a
-tradeanim_ot_sends_text_2: macro
- db tradeanim_ot_sends_text_2_command
-endm
-
- enum tradeanim_setup_givemon_scroll_command ; $1b
-tradeanim_setup_givemon_scroll: macro
- db tradeanim_setup_givemon_scroll_command
-endm
-
- enum tradeanim_do_givemon_scroll_command ; $1c
-tradeanim_do_givemon_scroll: macro
- db tradeanim_do_givemon_scroll_command
-endm
-
- enum tradeanim_frontpic_scroll_command ; $1d
-tradeanim_frontpic_scroll: macro
- db tradeanim_frontpic_scroll_command
-endm
-
- enum tradeanim_textbox_scroll_command ; $1e
-tradeanim_textbox_scroll: macro
- db tradeanim_textbox_scroll_command
-endm
-
- enum tradeanim_scroll_out_right_command ; $1f
-tradeanim_scroll_out_right: macro
- db tradeanim_scroll_out_right_command
-endm
-
-__enum__ set $21
-
- enum tradeanim_wait_80_command ; $21
-tradeanim_wait_80: macro
- db tradeanim_wait_80_command
-endm
-
- enum tradeanim_wait_40_command ; $22
-tradeanim_wait_40: macro
- db tradeanim_wait_40_command
-endm
-
- enum tradeanim_rocking_ball_command ; $23
-tradeanim_rocking_ball: macro
- db tradeanim_rocking_ball_command
-endm
-
- enum tradeanim_drop_ball_command ; $24
-tradeanim_drop_ball: macro
- db tradeanim_drop_ball_command
-endm
-
- enum tradeanim_wait_anim_command ; $25
-tradeanim_wait_anim: macro
- db tradeanim_wait_anim_command
-endm
-
-__enum__ set $27
-
- enum tradeanim_poof_command ; $27
-tradeanim_poof: macro
- db tradeanim_poof_command
-endm
-
- enum tradeanim_bulge_through_tube_command ; $28
-tradeanim_bulge_through_tube: macro
- db tradeanim_bulge_through_tube_command
-endm
-
- enum tradeanim_give_trademon_sfx_command ; $29
-tradeanim_give_trademon_sfx: macro
- db tradeanim_give_trademon_sfx_command
-endm
-
- enum tradeanim_get_trademon_sfx_command ; $2a
-tradeanim_get_trademon_sfx: macro
- db tradeanim_get_trademon_sfx_command
-endm
-
- enum tradeanim_end_command ; $2b
-tradeanim_end: macro
- db tradeanim_end_command
-endm
-
- enum tradeanim_animate_frontpic_command ; $2c
-tradeanim_animate_frontpic: macro
- db tradeanim_animate_frontpic_command
-endm
-
- enum tradeanim_wait_96_command ; $2d
-tradeanim_wait_96: macro
- db tradeanim_wait_96_command
-endm
-
- enum tradeanim_wait_80_if_ot_egg_command ; $2e
-tradeanim_wait_80_if_ot_egg: macro
- db tradeanim_wait_80_if_ot_egg_command
-endm
-
- enum tradeanim_wait_180_if_ot_egg_command ; $2f
-tradeanim_wait_180_if_ot_egg: macro
- db tradeanim_wait_180_if_ot_egg_command
-endm
-
-
-; Mobile
- enum_start $01
-
- enum mobiletradeanim_showgivemon_command ; $01
-mobiletradeanim_showgivemon: macro
- db mobiletradeanim_showgivemon_command
-endm
-
- enum mobiletradeanim_02_command ; $02
-mobiletradeanim_02: macro
- db mobiletradeanim_02_command
-endm
-
- enum mobiletradeanim_sendmon_command ; $03
-mobiletradeanim_sendmon: macro
- db mobiletradeanim_sendmon_command
-endm
-
-__enum__ set $05
-
- enum mobiletradeanim_05_command ; $05
-mobiletradeanim_05: macro
- db mobiletradeanim_05_command
-endm
-
- enum mobiletradeanim_06_command ; $06
-mobiletradeanim_06: macro
- db mobiletradeanim_06_command
-endm
-
- enum mobiletradeanim_07_command ; $07
-mobiletradeanim_07: macro
- db mobiletradeanim_07_command
-endm
-
- enum mobiletradeanim_receivemon_command ; $08
-mobiletradeanim_receivemon: macro
- db mobiletradeanim_receivemon_command
-endm
-
-__enum__ set $0b
-
- enum mobiletradeanim_showgetmon_command ; $0b
-mobiletradeanim_showgetmon: macro
- db mobiletradeanim_showgetmon_command
-endm
-
- enum mobiletradeanim_end_command ; $0c
-mobiletradeanim_end: macro
- db mobiletradeanim_end_command
-endm
-
- enum mobiletradeanim_showgtsgivemon_command ; $0d
-mobiletradeanim_showgtsgivemon: macro
- db mobiletradeanim_showgtsgivemon_command
-endm
-
- enum mobiletradeanim_showgtsgetmon_command ; $0e
-mobiletradeanim_showgtsgetmon: macro
- db mobiletradeanim_showgtsgetmon_command
-endm
-
- enum mobiletradeanim_0f_command ; $0f
-mobiletradeanim_0f: macro
- db mobiletradeanim_0f_command
-endm
-
- enum mobiletradeanim_10_command ; $10
-mobiletradeanim_10: macro
- db mobiletradeanim_10_command
-endm
-
- enum mobiletradeanim_11_command ; $11
-mobiletradeanim_11: macro
- db mobiletradeanim_11_command
-endm
-
- enum mobiletradeanim_12_command ; $12
-mobiletradeanim_12: macro
- db mobiletradeanim_12_command
-endm
-
- enum mobiletradeanim_showoddegg_command ; $13
-mobiletradeanim_showoddegg: macro
- db mobiletradeanim_showoddegg_command
-endm
--- /dev/null
+++ b/macros/scripts/trade_anims.asm
@@ -1,0 +1,255 @@
+; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm)
+ enum_start
+
+ enum tradeanim_next_command ; $00
+tradeanim_next: macro
+ db tradeanim_next_command
+endm
+
+ enum tradeanim_show_givemon_data_command ; $01
+tradeanim_show_givemon_data: macro
+ db tradeanim_show_givemon_data_command
+endm
+
+ enum tradeanim_show_getmon_data_command ; $02
+tradeanim_show_getmon_data: macro
+ db tradeanim_show_getmon_data_command
+endm
+
+ enum tradeanim_enter_link_tube_command ; $03
+tradeanim_enter_link_tube: macro
+ db tradeanim_enter_link_tube_command
+endm
+
+__enum__ set $5
+
+ enum tradeanim_exit_link_tube_command ; $05
+tradeanim_exit_link_tube: macro
+ db tradeanim_exit_link_tube_command
+endm
+
+ enum tradeanim_tube_to_ot_command ; $06
+tradeanim_tube_to_ot: macro
+ db tradeanim_tube_to_ot_command
+endm
+
+__enum__ set $0e
+
+ enum tradeanim_tube_to_player_command ; $0e
+tradeanim_tube_to_player: macro
+ db tradeanim_tube_to_player_command
+endm
+
+__enum__ set $16
+
+ enum tradeanim_sent_to_ot_text_command ; $16
+tradeanim_sent_to_ot_text: macro
+ db tradeanim_sent_to_ot_text_command
+endm
+
+ enum tradeanim_ot_bids_farewell_command ; $17
+tradeanim_ot_bids_farewell: macro
+ db tradeanim_ot_bids_farewell_command
+endm
+
+ enum tradeanim_take_care_of_text_command ; $18
+tradeanim_take_care_of_text: macro
+ db tradeanim_take_care_of_text_command
+endm
+
+ enum tradeanim_ot_sends_text_1_command ; $19
+tradeanim_ot_sends_text_1: macro
+ db tradeanim_ot_sends_text_1_command
+endm
+
+ enum tradeanim_ot_sends_text_2_command ; $1a
+tradeanim_ot_sends_text_2: macro
+ db tradeanim_ot_sends_text_2_command
+endm
+
+ enum tradeanim_setup_givemon_scroll_command ; $1b
+tradeanim_setup_givemon_scroll: macro
+ db tradeanim_setup_givemon_scroll_command
+endm
+
+ enum tradeanim_do_givemon_scroll_command ; $1c
+tradeanim_do_givemon_scroll: macro
+ db tradeanim_do_givemon_scroll_command
+endm
+
+ enum tradeanim_frontpic_scroll_command ; $1d
+tradeanim_frontpic_scroll: macro
+ db tradeanim_frontpic_scroll_command
+endm
+
+ enum tradeanim_textbox_scroll_command ; $1e
+tradeanim_textbox_scroll: macro
+ db tradeanim_textbox_scroll_command
+endm
+
+ enum tradeanim_scroll_out_right_command ; $1f
+tradeanim_scroll_out_right: macro
+ db tradeanim_scroll_out_right_command
+endm
+
+__enum__ set $21
+
+ enum tradeanim_wait_80_command ; $21
+tradeanim_wait_80: macro
+ db tradeanim_wait_80_command
+endm
+
+ enum tradeanim_wait_40_command ; $22
+tradeanim_wait_40: macro
+ db tradeanim_wait_40_command
+endm
+
+ enum tradeanim_rocking_ball_command ; $23
+tradeanim_rocking_ball: macro
+ db tradeanim_rocking_ball_command
+endm
+
+ enum tradeanim_drop_ball_command ; $24
+tradeanim_drop_ball: macro
+ db tradeanim_drop_ball_command
+endm
+
+ enum tradeanim_wait_anim_command ; $25
+tradeanim_wait_anim: macro
+ db tradeanim_wait_anim_command
+endm
+
+__enum__ set $27
+
+ enum tradeanim_poof_command ; $27
+tradeanim_poof: macro
+ db tradeanim_poof_command
+endm
+
+ enum tradeanim_bulge_through_tube_command ; $28
+tradeanim_bulge_through_tube: macro
+ db tradeanim_bulge_through_tube_command
+endm
+
+ enum tradeanim_give_trademon_sfx_command ; $29
+tradeanim_give_trademon_sfx: macro
+ db tradeanim_give_trademon_sfx_command
+endm
+
+ enum tradeanim_get_trademon_sfx_command ; $2a
+tradeanim_get_trademon_sfx: macro
+ db tradeanim_get_trademon_sfx_command
+endm
+
+ enum tradeanim_end_command ; $2b
+tradeanim_end: macro
+ db tradeanim_end_command
+endm
+
+ enum tradeanim_animate_frontpic_command ; $2c
+tradeanim_animate_frontpic: macro
+ db tradeanim_animate_frontpic_command
+endm
+
+ enum tradeanim_wait_96_command ; $2d
+tradeanim_wait_96: macro
+ db tradeanim_wait_96_command
+endm
+
+ enum tradeanim_wait_80_if_ot_egg_command ; $2e
+tradeanim_wait_80_if_ot_egg: macro
+ db tradeanim_wait_80_if_ot_egg_command
+endm
+
+ enum tradeanim_wait_180_if_ot_egg_command ; $2f
+tradeanim_wait_180_if_ot_egg: macro
+ db tradeanim_wait_180_if_ot_egg_command
+endm
+
+
+; Mobile
+ enum_start $01
+
+ enum mobiletradeanim_showgivemon_command ; $01
+mobiletradeanim_showgivemon: macro
+ db mobiletradeanim_showgivemon_command
+endm
+
+ enum mobiletradeanim_02_command ; $02
+mobiletradeanim_02: macro
+ db mobiletradeanim_02_command
+endm
+
+ enum mobiletradeanim_sendmon_command ; $03
+mobiletradeanim_sendmon: macro
+ db mobiletradeanim_sendmon_command
+endm
+
+__enum__ set $05
+
+ enum mobiletradeanim_05_command ; $05
+mobiletradeanim_05: macro
+ db mobiletradeanim_05_command
+endm
+
+ enum mobiletradeanim_06_command ; $06
+mobiletradeanim_06: macro
+ db mobiletradeanim_06_command
+endm
+
+ enum mobiletradeanim_07_command ; $07
+mobiletradeanim_07: macro
+ db mobiletradeanim_07_command
+endm
+
+ enum mobiletradeanim_receivemon_command ; $08
+mobiletradeanim_receivemon: macro
+ db mobiletradeanim_receivemon_command
+endm
+
+__enum__ set $0b
+
+ enum mobiletradeanim_showgetmon_command ; $0b
+mobiletradeanim_showgetmon: macro
+ db mobiletradeanim_showgetmon_command
+endm
+
+ enum mobiletradeanim_end_command ; $0c
+mobiletradeanim_end: macro
+ db mobiletradeanim_end_command
+endm
+
+ enum mobiletradeanim_showgtsgivemon_command ; $0d
+mobiletradeanim_showgtsgivemon: macro
+ db mobiletradeanim_showgtsgivemon_command
+endm
+
+ enum mobiletradeanim_showgtsgetmon_command ; $0e
+mobiletradeanim_showgtsgetmon: macro
+ db mobiletradeanim_showgtsgetmon_command
+endm
+
+ enum mobiletradeanim_0f_command ; $0f
+mobiletradeanim_0f: macro
+ db mobiletradeanim_0f_command
+endm
+
+ enum mobiletradeanim_10_command ; $10
+mobiletradeanim_10: macro
+ db mobiletradeanim_10_command
+endm
+
+ enum mobiletradeanim_11_command ; $11
+mobiletradeanim_11: macro
+ db mobiletradeanim_11_command
+endm
+
+ enum mobiletradeanim_12_command ; $12
+mobiletradeanim_12: macro
+ db mobiletradeanim_12_command
+endm
+
+ enum mobiletradeanim_showoddegg_command ; $13
+mobiletradeanim_showoddegg: macro
+ db mobiletradeanim_showoddegg_command
+endm
--- a/main.asm
+++ b/main.asm
@@ -40,7 +40,7 @@
INCLUDE "engine/routines/getbreedmonlevelgrowth.asm"
INCLUDE "event/bug_contest/caught_mon.asm"
INCLUDE "engine/item_effects.asm"
-INCLUDE "engine/routines/getpokeballwobble.asm"
+INCLUDE "engine/battle_anims/getpokeballwobble.asm"
INCLUDE "engine/routines/knowsmove.asm"
@@ -118,11 +118,11 @@
INCLUDE "engine/decorations.asm"
INCLUDE "engine/routines/leveluphappinessmod.asm"
INCLUDE "data/trainers/trainer_dvs.asm"
-INCLUDE "engine/routines/returntobattle_useball.asm"
-INCLUDE "engine/routines/consumehelditem.asm"
+INCLUDE "engine/battle/returntobattle_useball.asm"
+INCLUDE "engine/battle/consumehelditem.asm"
INCLUDE "data/moves/move_effects_pointers.asm"
INCLUDE "data/moves/move_effects.asm"
-INCLUDE "engine/routines/kurt_selectquantity_interpretjoypad.asm"
+INCLUDE "event/kurt_selectquantity_interpretjoypad.asm"
SECTION "bankA", ROMX
@@ -246,7 +246,7 @@
INCLUDE "mobile/get_trainer_class.asm"
INCLUDE "engine/battle/sliding_intro.asm"
INCLUDE "mobile/print_opp_message.asm"
-INCLUDE "engine/routines/checkbattlescene.asm"
+INCLUDE "engine/battle/checkbattlescene.asm"
INCLUDE "engine/gbc_only.asm"
INCLUDE "event/poke_seer.asm"
@@ -308,7 +308,7 @@
SECTION "bank21", ROMX
INCLUDE "engine/printer.asm"
-INCLUDE "gfx/anims.asm"
+INCLUDE "gfx/battle_anims.asm"
INCLUDE "event/halloffame.asm"
@@ -330,7 +330,7 @@
INCLUDE "engine/battle/battle_transition.asm"
INCLUDE "event/field_moves.asm"
INCLUDE "event/magnet_train.asm"
-INCLUDE "engine/routines/battlestart_copytilemapatonce.asm"
+INCLUDE "engine/battle/battlestart_copytilemapatonce.asm"
INCLUDE "engine/sprites.asm"
INCLUDE "engine/mon_icons.asm"
@@ -389,7 +389,7 @@
SECTION "bank32", ROMX
-INCLUDE "engine/anims/bg_effects.asm"
+INCLUDE "engine/battle_anims/bg_effects.asm"
INCLUDE "data/moves/move_anims.asm"
INCLUDE "event/poisonstep_pals.asm"
@@ -400,14 +400,14 @@
SECTION "Move Animations", ROMX
INCLUDE "event/bug_contest/display_stats.asm"
-INCLUDE "engine/anims/anim_commands.asm"
-INCLUDE "engine/anims/engine.asm"
-INCLUDE "data/anims/objects.asm"
-INCLUDE "engine/anims/functions.asm"
-INCLUDE "engine/anims/helpers.asm"
-INCLUDE "data/anims/framesets.asm"
-INCLUDE "data/anims/oam.asm"
-INCLUDE "data/anims/object_gfx.asm"
+INCLUDE "engine/battle_anims/anim_commands.asm"
+INCLUDE "engine/battle_anims/engine.asm"
+INCLUDE "data/battle_anims/objects.asm"
+INCLUDE "engine/battle_anims/functions.asm"
+INCLUDE "engine/battle_anims/helpers.asm"
+INCLUDE "data/battle_anims/framesets.asm"
+INCLUDE "data/battle_anims/oam.asm"
+INCLUDE "data/battle_anims/object_gfx.asm"
SECTION "Pic Animations 1", ROMX
@@ -554,7 +554,7 @@
SECTION "bank5E", ROMX
-INCLUDE "engine/routines/updatebattlehuds.asm"
+INCLUDE "engine/battle/updatebattlehuds.asm"
SECTION "mobile_5e", ROMX
--- a/maps/map_headers.asm
+++ b/maps/map_headers.asm
@@ -382,7 +382,7 @@
map_header Route12SuperRodHouse, TILESET_HOUSE_1, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
-MapGroup_Silver :
+MapGroup_Silver:
map_header Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, FISHGROUP_POND
map_header SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, FISHGROUP_POND
map_header SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE