Sync with pokecrystal up to aba1f14

This commit is contained in:
xCrystal 2023-09-24 15:06:19 +02:00
parent 5e78fd1ecc
commit 2cbe0e1764
34 changed files with 4172 additions and 4172 deletions

File diff suppressed because it is too large Load Diff

View File

@ -33,105 +33,105 @@ DEF NUM_SPRITE_ANIM_GFX EQU const_value
; wSpriteAnimDict size (see wram.asm)
DEF NUM_SPRITEANIMDICT_ENTRIES EQU 10
; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm)
; SpriteAnimObjects indexes (see data/sprite_anims/objects.asm)
const_def
const SPRITE_ANIM_INDEX_PARTY_MON ; 00
const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03
const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR ; 04
const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE ; 05
const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07
const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08
const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09
const SPRITE_ANIM_INDEX_RED_WALK ; 0a
const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b
const SPRITE_ANIM_INDEX_MEMORY_GAME_CURSOR ; 0c
const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d
const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e
const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f
const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10
const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12
const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13
const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15
const SPRITE_ANIM_INDEX_LEAF ; 16
const SPRITE_ANIM_INDEX_CUT_TREE ; 17
const SPRITE_ANIM_INDEX_FLY_LEAF ; 18
const SPRITE_ANIM_INDEX_EGG_CRACK ; 19
const SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA ; 1a
const SPRITE_ANIM_INDEX_HEADBUTT ; 1b
const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c
const SPRITE_ANIM_INDEX_EZCHAT_CURSOR ; 1d
const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f
const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20
const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21
const SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE ; 22
const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE ; 23
const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE ; 24
const SPRITE_ANIM_INDEX_MOBILE_TRADE_PING ; 25
const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26
const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27
const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28
const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29
const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a
const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b
const SPRITE_ANIM_INDEX_CELEBI ; 2c
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_DOWN ; 2d
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN ; 2e
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_UP ; 2f
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_UP ; 30
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_LEFT ; 31
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT ; 32
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT ; 33
const SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT ; 34
DEF NUM_SPRITE_ANIM_INDEXES EQU const_value
const SPRITE_ANIM_OBJ_PARTY_MON ; 00
const SPRITE_ANIM_OBJ_GS_TITLE_TRAIL ; 01
const SPRITE_ANIM_OBJ_NAMING_SCREEN_CURSOR ; 02
const SPRITE_ANIM_OBJ_GAMEFREAK_LOGO ; 03
const SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_STAR ; 04
const SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_SPARKLE ; 05
const SPRITE_ANIM_OBJ_SLOTS_GOLEM ; 06
const SPRITE_ANIM_OBJ_SLOTS_CHANSEY ; 07
const SPRITE_ANIM_OBJ_SLOTS_EGG ; 08
const SPRITE_ANIM_OBJ_COMPOSE_MAIL_CURSOR ; 09
const SPRITE_ANIM_OBJ_RED_WALK ; 0a
const SPRITE_ANIM_OBJ_UNUSED_CURSOR ; 0b
const SPRITE_ANIM_OBJ_MEMORY_GAME_CURSOR ; 0c
const SPRITE_ANIM_OBJ_POKEGEAR_ARROW ; 0d
const SPRITE_ANIM_OBJ_TRADE_POKE_BALL ; 0e
const SPRITE_ANIM_OBJ_TRADE_POOF ; 0f
const SPRITE_ANIM_OBJ_TRADE_TUBE_BULGE ; 10
const SPRITE_ANIM_OBJ_TRADEMON_ICON ; 11
const SPRITE_ANIM_OBJ_TRADEMON_BUBBLE ; 12
const SPRITE_ANIM_OBJ_EVOLUTION_BALL_OF_LIGHT ; 13
const SPRITE_ANIM_OBJ_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_OBJ_MAGNET_TRAIN_RED ; 15
const SPRITE_ANIM_OBJ_LEAF ; 16
const SPRITE_ANIM_OBJ_CUT_TREE ; 17
const SPRITE_ANIM_OBJ_FLY_LEAF ; 18
const SPRITE_ANIM_OBJ_EGG_CRACK ; 19
const SPRITE_ANIM_OBJ_GS_INTRO_HO_OH_LUGIA ; 1a
const SPRITE_ANIM_OBJ_HEADBUTT ; 1b
const SPRITE_ANIM_OBJ_EGG_HATCH ; 1c
const SPRITE_ANIM_OBJ_EZCHAT_CURSOR ; 1d
const SPRITE_ANIM_OBJ_BLUE_WALK ; 1e
const SPRITE_ANIM_OBJ_MAGNET_TRAIN_BLUE ; 1f
const SPRITE_ANIM_OBJ_MOBILE_TRADE_SENT_BALL ; 20
const SPRITE_ANIM_OBJ_MOBILE_TRADE_OT_BALL ; 21
const SPRITE_ANIM_OBJ_MOBILE_TRADE_CABLE_BULGE ; 22
const SPRITE_ANIM_OBJ_MOBILE_TRADE_SENT_PULSE ; 23
const SPRITE_ANIM_OBJ_MOBILE_TRADE_OT_PULSE ; 24
const SPRITE_ANIM_OBJ_MOBILE_TRADE_PING ; 25
const SPRITE_ANIM_OBJ_INTRO_SUICUNE ; 26
const SPRITE_ANIM_OBJ_INTRO_PICHU ; 27
const SPRITE_ANIM_OBJ_INTRO_WOOPER ; 28
const SPRITE_ANIM_OBJ_INTRO_UNOWN ; 29
const SPRITE_ANIM_OBJ_INTRO_UNOWN_F ; 2a
const SPRITE_ANIM_OBJ_INTRO_SUICUNE_AWAY ; 2b
const SPRITE_ANIM_OBJ_CELEBI ; 2c
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_DOWN ; 2d
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN ; 2e
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_UP ; 2f
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_UP ; 30
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_LEFT ; 31
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT ; 32
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT ; 33
const SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT ; 34
DEF NUM_SPRITE_ANIM_OBJS EQU const_value
; DoAnimFrame.Jumptable indexes (see engine/gfx/sprite_anims.asm)
; DoSpriteAnimFrame.Jumptable indexes (see engine/sprite_anims/functions.asm)
const_def
const SPRITE_ANIM_SEQ_NULL ; 00
const SPRITE_ANIM_SEQ_PARTY_MON ; 01
const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02
const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03
const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04
const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06
const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR ; 07
const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE ; 08
const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a
const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b
const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c
const SPRITE_ANIM_SEQ_UNUSED_CURSOR ; 0d
const SPRITE_ANIM_SEQ_MEMORY_GAME_CURSOR ; 0e
const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f
const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10
const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12
const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13
const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15
const SPRITE_ANIM_SEQ_FLY_FROM ; 16
const SPRITE_ANIM_SEQ_FLY_LEAF ; 17
const SPRITE_ANIM_SEQ_FLY_TO ; 18
const SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA ; 19
const SPRITE_ANIM_SEQ_EZCHAT_CURSOR ; 1a
const SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE ; 1b
const SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE ; 1c
const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d
const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e
const SPRITE_ANIM_SEQ_CELEBI ; 1f
const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20
const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21
const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22
const SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_DOWN ; 23
const SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_UP ; 24
const SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_LEFT ; 25
const SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_RIGHT ; 26
DEF NUM_SPRITE_ANIM_SEQS EQU const_value
const SPRITE_ANIM_FUNC_NULL ; 00
const SPRITE_ANIM_FUNC_PARTY_MON ; 01
const SPRITE_ANIM_FUNC_PARTY_MON_SWITCH ; 02
const SPRITE_ANIM_FUNC_PARTY_MON_SELECTED ; 03
const SPRITE_ANIM_FUNC_GS_TITLE_TRAIL ; 04
const SPRITE_ANIM_FUNC_NAMING_SCREEN_CURSOR ; 05
const SPRITE_ANIM_FUNC_GAMEFREAK_LOGO ; 06
const SPRITE_ANIM_FUNC_GS_GAMEFREAK_LOGO_STAR ; 07
const SPRITE_ANIM_FUNC_GS_GAMEFREAK_LOGO_SPARKLE ; 08
const SPRITE_ANIM_FUNC_SLOTS_GOLEM ; 09
const SPRITE_ANIM_FUNC_SLOTS_CHANSEY ; 0a
const SPRITE_ANIM_FUNC_SLOTS_EGG ; 0b
const SPRITE_ANIM_FUNC_MAIL_CURSOR ; 0c
const SPRITE_ANIM_FUNC_UNUSED_CURSOR ; 0d
const SPRITE_ANIM_FUNC_MEMORY_GAME_CURSOR ; 0e
const SPRITE_ANIM_FUNC_POKEGEAR_ARROW ; 0f
const SPRITE_ANIM_FUNC_TRADE_POKE_BALL ; 10
const SPRITE_ANIM_FUNC_TRADE_TUBE_BULGE ; 11
const SPRITE_ANIM_FUNC_TRADEMON_IN_TUBE ; 12
const SPRITE_ANIM_FUNC_REVEAL_NEW_MON ; 13
const SPRITE_ANIM_FUNC_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_FUNC_CUT_LEAVES ; 15
const SPRITE_ANIM_FUNC_FLY_FROM ; 16
const SPRITE_ANIM_FUNC_FLY_LEAF ; 17
const SPRITE_ANIM_FUNC_FLY_TO ; 18
const SPRITE_ANIM_FUNC_GS_INTRO_HO_OH_LUGIA ; 19
const SPRITE_ANIM_FUNC_EZCHAT_CURSOR ; 1a
const SPRITE_ANIM_FUNC_MOBILE_TRADE_SENT_PULSE ; 1b
const SPRITE_ANIM_FUNC_MOBILE_TRADE_OT_PULSE ; 1c
const SPRITE_ANIM_FUNC_INTRO_SUICUNE ; 1d
const SPRITE_ANIM_FUNC_INTRO_PICHU_WOOPER ; 1e
const SPRITE_ANIM_FUNC_CELEBI ; 1f
const SPRITE_ANIM_FUNC_INTRO_UNOWN ; 20
const SPRITE_ANIM_FUNC_INTRO_UNOWN_F ; 21
const SPRITE_ANIM_FUNC_INTRO_SUICUNE_AWAY ; 22
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN ; 23
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP ; 24
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT ; 25
const SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT ; 26
DEF NUM_SPRITE_ANIM_FUNCS EQU const_value
; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
const_def

File diff suppressed because it is too large Load Diff

View File

@ -5,225 +5,225 @@ MACRO battleanimoam
ENDM
BattleAnimOAMData:
; entries correspond to BATTLEANIMOAMSET_* constants
; entries correspond to BATTLE_ANIM_OAMSET_* constants
table_width 4, BattleAnimOAMData
battleanimoam $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00
battleanimoam $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01
battleanimoam $08, 4, .OAMData_02 ; BATTLEANIMOAMSET_02
battleanimoam $09, 4, .OAMData_03 ; BATTLEANIMOAMSET_03
battleanimoam $0d, 4, .OAMData_04 ; BATTLEANIMOAMSET_04
battleanimoam $0f, 4, .OAMData_03 ; BATTLEANIMOAMSET_05
battleanimoam $13, 4, .OAMData_04 ; BATTLEANIMOAMSET_06
battleanimoam $04, 16, .OAMData_00 ; BATTLEANIMOAMSET_07
battleanimoam $08, 16, .OAMData_00 ; BATTLEANIMOAMSET_08
battleanimoam $08, 16, .OAMData_09 ; BATTLEANIMOAMSET_09
battleanimoam $00, 4, .OAMData_04 ; BATTLEANIMOAMSET_0A
battleanimoam $02, 4, .OAMData_03 ; BATTLEANIMOAMSET_0B
battleanimoam $06, 2, .OAMData_0c ; BATTLEANIMOAMSET_0C
battleanimoam $07, 2, .OAMData_0c ; BATTLEANIMOAMSET_0D
battleanimoam $02, 4, .OAMData_04 ; BATTLEANIMOAMSET_0E
battleanimoam $04, 1, .OAMData_0f ; BATTLEANIMOAMSET_0F
battleanimoam $05, 1, .OAMData_0f ; BATTLEANIMOAMSET_10
battleanimoam $00, 2, .OAMData_11 ; BATTLEANIMOAMSET_11
battleanimoam $02, 2, .OAMData_11 ; BATTLEANIMOAMSET_12
battleanimoam $00, 4, .OAMData_13 ; BATTLEANIMOAMSET_13
battleanimoam $00, 1, .OAMData_0f ; BATTLEANIMOAMSET_14
battleanimoam $01, 1, .OAMData_0f ; BATTLEANIMOAMSET_15
battleanimoam $02, 1, .OAMData_0f ; BATTLEANIMOAMSET_16
battleanimoam $03, 1, .OAMData_0f ; BATTLEANIMOAMSET_17
battleanimoam $00, 4, .OAMData_02 ; BATTLEANIMOAMSET_18
battleanimoam $01, 16, .OAMData_00 ; BATTLEANIMOAMSET_19
battleanimoam $05, 16, .OAMData_00 ; BATTLEANIMOAMSET_1A
battleanimoam $00, 4, .OAMData_03 ; BATTLEANIMOAMSET_1B
battleanimoam $05, 12, .OAMData_1c ; BATTLEANIMOAMSET_1C
battleanimoam $02, 4, .OAMData_02 ; BATTLEANIMOAMSET_1D
battleanimoam $06, 1, .OAMData_0f ; BATTLEANIMOAMSET_1E
battleanimoam $07, 1, .OAMData_0f ; BATTLEANIMOAMSET_1F
battleanimoam $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_20
battleanimoam $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_21
battleanimoam $09, 22, .OAMData_22 ; BATTLEANIMOAMSET_22
battleanimoam $04, 2, .OAMData_11 ; BATTLEANIMOAMSET_23
battleanimoam $06, 2, .OAMData_11 ; BATTLEANIMOAMSET_24
battleanimoam $0c, 1, .OAMData_0f ; BATTLEANIMOAMSET_25
battleanimoam $0a, 1, .OAMData_0f ; BATTLEANIMOAMSET_26
battleanimoam $0b, 4, .OAMData_02 ; BATTLEANIMOAMSET_27
battleanimoam $08, 4, .OAMData_04 ; BATTLEANIMOAMSET_28
battleanimoam $06, 4, .OAMData_04 ; BATTLEANIMOAMSET_29
battleanimoam $00, 5, .OAMData_2a ; BATTLEANIMOAMSET_2A
battleanimoam $03, 6, .OAMData_2b ; BATTLEANIMOAMSET_2B
battleanimoam $00, 7, .OAMData_2c ; BATTLEANIMOAMSET_2C
battleanimoam $03, 8, .OAMData_2d ; BATTLEANIMOAMSET_2D
battleanimoam $00, 9, .OAMData_2e ; BATTLEANIMOAMSET_2E
battleanimoam $00, 4, .OAMData_2f ; BATTLEANIMOAMSET_2F
battleanimoam $02, 4, .OAMData_30 ; BATTLEANIMOAMSET_30
battleanimoam $04, 6, .OAMData_31 ; BATTLEANIMOAMSET_31
battleanimoam $00, 2, .OAMData_32 ; BATTLEANIMOAMSET_32
battleanimoam $00, 7, .OAMData_33 ; BATTLEANIMOAMSET_33
battleanimoam $00, 14, .OAMData_32 ; BATTLEANIMOAMSET_34
battleanimoam $00, 21, .OAMData_33 ; BATTLEANIMOAMSET_35
battleanimoam $00, 2, .OAMData_36 ; BATTLEANIMOAMSET_36
battleanimoam $00, 6, .OAMData_36 ; BATTLEANIMOAMSET_37
battleanimoam $00, 10, .OAMData_36 ; BATTLEANIMOAMSET_38
battleanimoam $00, 14, .OAMData_36 ; BATTLEANIMOAMSET_39
battleanimoam $00, 2, .OAMData_3a ; BATTLEANIMOAMSET_3A
battleanimoam $00, 6, .OAMData_3a ; BATTLEANIMOAMSET_3B
battleanimoam $00, 10, .OAMData_3a ; BATTLEANIMOAMSET_3C
battleanimoam $00, 14, .OAMData_3a ; BATTLEANIMOAMSET_3D
battleanimoam $00, 4, .OAMData_3e ; BATTLEANIMOAMSET_3E
battleanimoam $00, 16, .OAMData_3e ; BATTLEANIMOAMSET_3F
battleanimoam $00, 26, .OAMData_3e ; BATTLEANIMOAMSET_40
battleanimoam $00, 26, .OAMData_41 ; BATTLEANIMOAMSET_41
battleanimoam $0e, 4, .OAMData_42 ; BATTLEANIMOAMSET_42
battleanimoam $0e, 8, .OAMData_42 ; BATTLEANIMOAMSET_43
battleanimoam $0e, 4, .OAMData_44 ; BATTLEANIMOAMSET_44
battleanimoam $0e, 8, .OAMData_44 ; BATTLEANIMOAMSET_45
battleanimoam $0e, 4, .OAMData_46 ; BATTLEANIMOAMSET_46
battleanimoam $0e, 4, .OAMData_47 ; BATTLEANIMOAMSET_47
battleanimoam $00, 6, .OAMData_48 ; BATTLEANIMOAMSET_48
battleanimoam $03, 4, .OAMData_49 ; BATTLEANIMOAMSET_49
battleanimoam $03, 2, .OAMData_4a ; BATTLEANIMOAMSET_4A
battleanimoam $01, 5, .OAMData_0f ; BATTLEANIMOAMSET_4B
battleanimoam $01, 6, .OAMData_4c ; BATTLEANIMOAMSET_4C
battleanimoam $01, 7, .OAMData_4d ; BATTLEANIMOAMSET_4D
battleanimoam $01, 3, .OAMData_4d ; BATTLEANIMOAMSET_4E
battleanimoam $01, 8, .OAMData_4f ; BATTLEANIMOAMSET_4F
battleanimoam $01, 9, .OAMData_50 ; BATTLEANIMOAMSET_50
battleanimoam $01, 10, .OAMData_51 ; BATTLEANIMOAMSET_51
battleanimoam $01, 6, .OAMData_51 ; BATTLEANIMOAMSET_52
battleanimoam $00, 9, .OAMData_01 ; BATTLEANIMOAMSET_53
battleanimoam $04, 4, .OAMData_02 ; BATTLEANIMOAMSET_54
battleanimoam $05, 4, .OAMData_02 ; BATTLEANIMOAMSET_55
battleanimoam $00, 2, .OAMData_56 ; BATTLEANIMOAMSET_56
battleanimoam $02, 2, .OAMData_56 ; BATTLEANIMOAMSET_57
battleanimoam $04, 2, .OAMData_56 ; BATTLEANIMOAMSET_58
battleanimoam $02, 4, .OAMData_59 ; BATTLEANIMOAMSET_59
battleanimoam $02, 4, .OAMData_5a ; BATTLEANIMOAMSET_5A
battleanimoam $02, 2, .OAMData_0c ; BATTLEANIMOAMSET_5B
battleanimoam $04, 2, .OAMData_0c ; BATTLEANIMOAMSET_5C
battleanimoam $06, 4, .OAMData_5d ; BATTLEANIMOAMSET_5D
battleanimoam $08, 2, .OAMData_0c ; BATTLEANIMOAMSET_5E
battleanimoam $09, 2, .OAMData_0c ; BATTLEANIMOAMSET_5F
battleanimoam $05, 2, .OAMData_60 ; BATTLEANIMOAMSET_60
battleanimoam $00, 2, .OAMData_61 ; BATTLEANIMOAMSET_61
battleanimoam $00, 5, .OAMData_61 ; BATTLEANIMOAMSET_62
battleanimoam $00, 9, .OAMData_61 ; BATTLEANIMOAMSET_63
battleanimoam $09, 9, .OAMData_61 ; BATTLEANIMOAMSET_64
battleanimoam $00, 4, .OAMData_65 ; BATTLEANIMOAMSET_65
battleanimoam $00, 7, .OAMData_65 ; BATTLEANIMOAMSET_66
battleanimoam $00, 9, .OAMData_65 ; BATTLEANIMOAMSET_67
battleanimoam $09, 9, .OAMData_65 ; BATTLEANIMOAMSET_68
battleanimoam $04, 1, .OAMData_69 ; BATTLEANIMOAMSET_69
battleanimoam $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_6A
battleanimoam $06, 4, .OAMData_03 ; BATTLEANIMOAMSET_6B
battleanimoam $0a, 4, .OAMData_03 ; BATTLEANIMOAMSET_6C
battleanimoam $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_6D
battleanimoam $08, 5, .OAMData_6e ; BATTLEANIMOAMSET_6E
battleanimoam $0d, 3, .OAMData_6f ; BATTLEANIMOAMSET_6F
battleanimoam $01, 8, .OAMData_70 ; BATTLEANIMOAMSET_70
battleanimoam $03, 8, .OAMData_70 ; BATTLEANIMOAMSET_71
battleanimoam $05, 8, .OAMData_70 ; BATTLEANIMOAMSET_72
battleanimoam $07, 8, .OAMData_70 ; BATTLEANIMOAMSET_73
battleanimoam $06, 4, .OAMData_02 ; BATTLEANIMOAMSET_74
battleanimoam $07, 4, .OAMData_02 ; BATTLEANIMOAMSET_75
battleanimoam $0a, 2, .OAMData_76 ; BATTLEANIMOAMSET_76
battleanimoam $00, 1, .OAMData_77 ; BATTLEANIMOAMSET_77
battleanimoam $00, 3, .OAMData_78 ; BATTLEANIMOAMSET_78
battleanimoam $00, 6, .OAMData_79 ; BATTLEANIMOAMSET_79
battleanimoam $00, 9, .OAMData_7a ; BATTLEANIMOAMSET_7A
battleanimoam $00, 12, .OAMData_7b ; BATTLEANIMOAMSET_7B
battleanimoam $00, 14, .OAMData_7c ; BATTLEANIMOAMSET_7C
battleanimoam $00, 15, .OAMData_7d ; BATTLEANIMOAMSET_7D
battleanimoam $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_7E
battleanimoam $08, 4, .OAMData_03 ; BATTLEANIMOAMSET_7F
battleanimoam $0d, 1, .OAMData_0f ; BATTLEANIMOAMSET_80
battleanimoam $0e, 4, .OAMData_81 ; BATTLEANIMOAMSET_81
battleanimoam $10, 1, .OAMData_0f ; BATTLEANIMOAMSET_82
battleanimoam $11, 1, .OAMData_0f ; BATTLEANIMOAMSET_83
battleanimoam $04, 2, .OAMData_6a ; BATTLEANIMOAMSET_84
battleanimoam $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_85
battleanimoam $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_86
battleanimoam $00, 8, .OAMData_87 ; BATTLEANIMOAMSET_87
battleanimoam $00, 12, .OAMData_88 ; BATTLEANIMOAMSET_88
battleanimoam $00, 16, .OAMData_87 ; BATTLEANIMOAMSET_89
battleanimoam $09, 2, .OAMData_8a ; BATTLEANIMOAMSET_8A
battleanimoam $09, 4, .OAMData_8a ; BATTLEANIMOAMSET_8B
battleanimoam $09, 6, .OAMData_8a ; BATTLEANIMOAMSET_8C
battleanimoam $09, 8, .OAMData_8a ; BATTLEANIMOAMSET_8D
battleanimoam $12, 5, .OAMData_8e ; BATTLEANIMOAMSET_8E
battleanimoam $00, 4, .OAMData_8f ; BATTLEANIMOAMSET_8F
battleanimoam $04, 4, .OAMData_8f ; BATTLEANIMOAMSET_90
battleanimoam $08, 4, .OAMData_8f ; BATTLEANIMOAMSET_91
battleanimoam $0c, 4, .OAMData_8f ; BATTLEANIMOAMSET_92
battleanimoam $00, 6, .OAMData_93 ; BATTLEANIMOAMSET_93
battleanimoam $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_94
battleanimoam $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_95
battleanimoam $15, 4, .OAMData_30 ; BATTLEANIMOAMSET_96
battleanimoam $04, 4, .OAMData_30 ; BATTLEANIMOAMSET_97
battleanimoam $0c, 4, .OAMData_04 ; BATTLEANIMOAMSET_98
battleanimoam $0a, 4, .OAMData_99 ; BATTLEANIMOAMSET_99
battleanimoam $0c, 4, .OAMData_03 ; BATTLEANIMOAMSET_9A
battleanimoam $00, 36, .OAMData_9b ; BATTLEANIMOAMSET_9B
battleanimoam $0d, 2, .OAMData_9c ; BATTLEANIMOAMSET_9C
battleanimoam $0d, 4, .OAMData_9c ; BATTLEANIMOAMSET_9D
battleanimoam $0d, 6, .OAMData_9c ; BATTLEANIMOAMSET_9E
battleanimoam $02, 8, .OAMData_9f ; BATTLEANIMOAMSET_9F
battleanimoam $08, 7, .OAMData_a0 ; BATTLEANIMOAMSET_A0
battleanimoam $08, 5, .OAMData_a0 ; BATTLEANIMOAMSET_A1
battleanimoam $08, 3, .OAMData_a0 ; BATTLEANIMOAMSET_A2
battleanimoam $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_A3
battleanimoam $00, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A4
battleanimoam $06, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A5
battleanimoam $0c, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A6
battleanimoam $12, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A7
battleanimoam $18, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A8
battleanimoam $1e, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A9
battleanimoam $24, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AA
battleanimoam $2a, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AB
battleanimoam $03, 4, .OAMData_ac ; BATTLEANIMOAMSET_AC
battleanimoam $12, 4, .OAMData_03 ; BATTLEANIMOAMSET_AD
battleanimoam $10, 4, .OAMData_04 ; BATTLEANIMOAMSET_AE
battleanimoam $16, 1, .OAMData_0f ; BATTLEANIMOAMSET_AF
battleanimoam $17, 4, .OAMData_02 ; BATTLEANIMOAMSET_B0
battleanimoam $18, 4, .OAMData_03 ; BATTLEANIMOAMSET_B1
battleanimoam $1c, 4, .OAMData_03 ; BATTLEANIMOAMSET_B2
battleanimoam $20, 3, .OAMData_03 ; BATTLEANIMOAMSET_B3
battleanimoam $23, 4, .OAMData_04 ; BATTLEANIMOAMSET_B4
battleanimoam $25, 3, .OAMData_03 ; BATTLEANIMOAMSET_B5
battleanimoam $17, 4, .OAMData_03 ; BATTLEANIMOAMSET_B6
battleanimoam $0a, 16, .OAMData_00 ; BATTLEANIMOAMSET_B7
battleanimoam $10, 16, .OAMData_1c ; BATTLEANIMOAMSET_B8
battleanimoam $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_B9
battleanimoam $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BA
battleanimoam $08, 2, .OAMData_11 ; BATTLEANIMOAMSET_BB
battleanimoam $20, 6, .OAMData_bc ; BATTLEANIMOAMSET_BC
battleanimoam $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_BD
battleanimoam $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BE
battleanimoam $1a, 4, .OAMData_30 ; BATTLEANIMOAMSET_BF
battleanimoam $16, 9, .OAMData_01 ; BATTLEANIMOAMSET_C0
battleanimoam $10, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C1
battleanimoam $09, 6, .OAMData_c2 ; BATTLEANIMOAMSET_C2
battleanimoam $11, 9, .OAMData_c3 ; BATTLEANIMOAMSET_C3
battleanimoam $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_C4
battleanimoam $0b, 4, .OAMData_30 ; BATTLEANIMOAMSET_C5
battleanimoam $1c, 6, .OAMData_02 ; BATTLEANIMOAMSET_C6
battleanimoam $20, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C7
battleanimoam $05, 6, .OAMData_c8 ; BATTLEANIMOAMSET_C8
battleanimoam $0b, 4, .OAMData_03 ; BATTLEANIMOAMSET_C9
battleanimoam $09, 4, .OAMData_ca ; BATTLEANIMOAMSET_CA
battleanimoam $0b, 4, .OAMData_04 ; BATTLEANIMOAMSET_CB
battleanimoam $11, 13, .OAMData_cc ; BATTLEANIMOAMSET_CC
battleanimoam $00, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CD
battleanimoam $09, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CE
battleanimoam $00, 12, .OAMData_cf ; BATTLEANIMOAMSET_CF
battleanimoam $06, 12, .OAMData_cf ; BATTLEANIMOAMSET_D0
battleanimoam $0c, 12, .OAMData_cf ; BATTLEANIMOAMSET_D1
battleanimoam $12, 12, .OAMData_cf ; BATTLEANIMOAMSET_D2
battleanimoam $00, 13, .OAMData_cc ; BATTLEANIMOAMSET_D3
battleanimoam $00, 7, .OAMData_d4 ; BATTLEANIMOAMSET_D4
battleanimoam $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5
battleanimoam $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6
battleanimoam $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7
assert_table_length NUM_BATTLEANIMOAMSETS
battleanimoam $00, 16, .OAMData_00 ; BATTLE_ANIM_OAMSET_00
battleanimoam $04, 9, .OAMData_01 ; BATTLE_ANIM_OAMSET_01
battleanimoam $08, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_02
battleanimoam $09, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_03
battleanimoam $0d, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_04
battleanimoam $0f, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_05
battleanimoam $13, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_06
battleanimoam $04, 16, .OAMData_00 ; BATTLE_ANIM_OAMSET_07
battleanimoam $08, 16, .OAMData_00 ; BATTLE_ANIM_OAMSET_08
battleanimoam $08, 16, .OAMData_09 ; BATTLE_ANIM_OAMSET_09
battleanimoam $00, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_0A
battleanimoam $02, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_0B
battleanimoam $06, 2, .OAMData_0c ; BATTLE_ANIM_OAMSET_0C
battleanimoam $07, 2, .OAMData_0c ; BATTLE_ANIM_OAMSET_0D
battleanimoam $02, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_0E
battleanimoam $04, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_0F
battleanimoam $05, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_10
battleanimoam $00, 2, .OAMData_11 ; BATTLE_ANIM_OAMSET_11
battleanimoam $02, 2, .OAMData_11 ; BATTLE_ANIM_OAMSET_12
battleanimoam $00, 4, .OAMData_13 ; BATTLE_ANIM_OAMSET_13
battleanimoam $00, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_14
battleanimoam $01, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_15
battleanimoam $02, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_16
battleanimoam $03, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_17
battleanimoam $00, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_18
battleanimoam $01, 16, .OAMData_00 ; BATTLE_ANIM_OAMSET_19
battleanimoam $05, 16, .OAMData_00 ; BATTLE_ANIM_OAMSET_1A
battleanimoam $00, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_1B
battleanimoam $05, 12, .OAMData_1c ; BATTLE_ANIM_OAMSET_1C
battleanimoam $02, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_1D
battleanimoam $06, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_1E
battleanimoam $07, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_1F
battleanimoam $08, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_20
battleanimoam $04, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_21
battleanimoam $09, 22, .OAMData_22 ; BATTLE_ANIM_OAMSET_22
battleanimoam $04, 2, .OAMData_11 ; BATTLE_ANIM_OAMSET_23
battleanimoam $06, 2, .OAMData_11 ; BATTLE_ANIM_OAMSET_24
battleanimoam $0c, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_25
battleanimoam $0a, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_26
battleanimoam $0b, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_27
battleanimoam $08, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_28
battleanimoam $06, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_29
battleanimoam $00, 5, .OAMData_2a ; BATTLE_ANIM_OAMSET_2A
battleanimoam $03, 6, .OAMData_2b ; BATTLE_ANIM_OAMSET_2B
battleanimoam $00, 7, .OAMData_2c ; BATTLE_ANIM_OAMSET_2C
battleanimoam $03, 8, .OAMData_2d ; BATTLE_ANIM_OAMSET_2D
battleanimoam $00, 9, .OAMData_2e ; BATTLE_ANIM_OAMSET_2E
battleanimoam $00, 4, .OAMData_2f ; BATTLE_ANIM_OAMSET_2F
battleanimoam $02, 4, .OAMData_30 ; BATTLE_ANIM_OAMSET_30
battleanimoam $04, 6, .OAMData_31 ; BATTLE_ANIM_OAMSET_31
battleanimoam $00, 2, .OAMData_32 ; BATTLE_ANIM_OAMSET_32
battleanimoam $00, 7, .OAMData_33 ; BATTLE_ANIM_OAMSET_33
battleanimoam $00, 14, .OAMData_32 ; BATTLE_ANIM_OAMSET_34
battleanimoam $00, 21, .OAMData_33 ; BATTLE_ANIM_OAMSET_35
battleanimoam $00, 2, .OAMData_36 ; BATTLE_ANIM_OAMSET_36
battleanimoam $00, 6, .OAMData_36 ; BATTLE_ANIM_OAMSET_37
battleanimoam $00, 10, .OAMData_36 ; BATTLE_ANIM_OAMSET_38
battleanimoam $00, 14, .OAMData_36 ; BATTLE_ANIM_OAMSET_39
battleanimoam $00, 2, .OAMData_3a ; BATTLE_ANIM_OAMSET_3A
battleanimoam $00, 6, .OAMData_3a ; BATTLE_ANIM_OAMSET_3B
battleanimoam $00, 10, .OAMData_3a ; BATTLE_ANIM_OAMSET_3C
battleanimoam $00, 14, .OAMData_3a ; BATTLE_ANIM_OAMSET_3D
battleanimoam $00, 4, .OAMData_3e ; BATTLE_ANIM_OAMSET_3E
battleanimoam $00, 16, .OAMData_3e ; BATTLE_ANIM_OAMSET_3F
battleanimoam $00, 26, .OAMData_3e ; BATTLE_ANIM_OAMSET_40
battleanimoam $00, 26, .OAMData_41 ; BATTLE_ANIM_OAMSET_41
battleanimoam $0e, 4, .OAMData_42 ; BATTLE_ANIM_OAMSET_42
battleanimoam $0e, 8, .OAMData_42 ; BATTLE_ANIM_OAMSET_43
battleanimoam $0e, 4, .OAMData_44 ; BATTLE_ANIM_OAMSET_44
battleanimoam $0e, 8, .OAMData_44 ; BATTLE_ANIM_OAMSET_45
battleanimoam $0e, 4, .OAMData_46 ; BATTLE_ANIM_OAMSET_46
battleanimoam $0e, 4, .OAMData_47 ; BATTLE_ANIM_OAMSET_47
battleanimoam $00, 6, .OAMData_48 ; BATTLE_ANIM_OAMSET_48
battleanimoam $03, 4, .OAMData_49 ; BATTLE_ANIM_OAMSET_49
battleanimoam $03, 2, .OAMData_4a ; BATTLE_ANIM_OAMSET_4A
battleanimoam $01, 5, .OAMData_0f ; BATTLE_ANIM_OAMSET_4B
battleanimoam $01, 6, .OAMData_4c ; BATTLE_ANIM_OAMSET_4C
battleanimoam $01, 7, .OAMData_4d ; BATTLE_ANIM_OAMSET_4D
battleanimoam $01, 3, .OAMData_4d ; BATTLE_ANIM_OAMSET_4E
battleanimoam $01, 8, .OAMData_4f ; BATTLE_ANIM_OAMSET_4F
battleanimoam $01, 9, .OAMData_50 ; BATTLE_ANIM_OAMSET_50
battleanimoam $01, 10, .OAMData_51 ; BATTLE_ANIM_OAMSET_51
battleanimoam $01, 6, .OAMData_51 ; BATTLE_ANIM_OAMSET_52
battleanimoam $00, 9, .OAMData_01 ; BATTLE_ANIM_OAMSET_53
battleanimoam $04, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_54
battleanimoam $05, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_55
battleanimoam $00, 2, .OAMData_56 ; BATTLE_ANIM_OAMSET_56
battleanimoam $02, 2, .OAMData_56 ; BATTLE_ANIM_OAMSET_57
battleanimoam $04, 2, .OAMData_56 ; BATTLE_ANIM_OAMSET_58
battleanimoam $02, 4, .OAMData_59 ; BATTLE_ANIM_OAMSET_59
battleanimoam $02, 4, .OAMData_5a ; BATTLE_ANIM_OAMSET_5A
battleanimoam $02, 2, .OAMData_0c ; BATTLE_ANIM_OAMSET_5B
battleanimoam $04, 2, .OAMData_0c ; BATTLE_ANIM_OAMSET_5C
battleanimoam $06, 4, .OAMData_5d ; BATTLE_ANIM_OAMSET_5D
battleanimoam $08, 2, .OAMData_0c ; BATTLE_ANIM_OAMSET_5E
battleanimoam $09, 2, .OAMData_0c ; BATTLE_ANIM_OAMSET_5F
battleanimoam $05, 2, .OAMData_60 ; BATTLE_ANIM_OAMSET_60
battleanimoam $00, 2, .OAMData_61 ; BATTLE_ANIM_OAMSET_61
battleanimoam $00, 5, .OAMData_61 ; BATTLE_ANIM_OAMSET_62
battleanimoam $00, 9, .OAMData_61 ; BATTLE_ANIM_OAMSET_63
battleanimoam $09, 9, .OAMData_61 ; BATTLE_ANIM_OAMSET_64
battleanimoam $00, 4, .OAMData_65 ; BATTLE_ANIM_OAMSET_65
battleanimoam $00, 7, .OAMData_65 ; BATTLE_ANIM_OAMSET_66
battleanimoam $00, 9, .OAMData_65 ; BATTLE_ANIM_OAMSET_67
battleanimoam $09, 9, .OAMData_65 ; BATTLE_ANIM_OAMSET_68
battleanimoam $04, 1, .OAMData_69 ; BATTLE_ANIM_OAMSET_69
battleanimoam $05, 2, .OAMData_6a ; BATTLE_ANIM_OAMSET_6A
battleanimoam $06, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_6B
battleanimoam $0a, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_6C
battleanimoam $0e, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_6D
battleanimoam $08, 5, .OAMData_6e ; BATTLE_ANIM_OAMSET_6E
battleanimoam $0d, 3, .OAMData_6f ; BATTLE_ANIM_OAMSET_6F
battleanimoam $01, 8, .OAMData_70 ; BATTLE_ANIM_OAMSET_70
battleanimoam $03, 8, .OAMData_70 ; BATTLE_ANIM_OAMSET_71
battleanimoam $05, 8, .OAMData_70 ; BATTLE_ANIM_OAMSET_72
battleanimoam $07, 8, .OAMData_70 ; BATTLE_ANIM_OAMSET_73
battleanimoam $06, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_74
battleanimoam $07, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_75
battleanimoam $0a, 2, .OAMData_76 ; BATTLE_ANIM_OAMSET_76
battleanimoam $00, 1, .OAMData_77 ; BATTLE_ANIM_OAMSET_77
battleanimoam $00, 3, .OAMData_78 ; BATTLE_ANIM_OAMSET_78
battleanimoam $00, 6, .OAMData_79 ; BATTLE_ANIM_OAMSET_79
battleanimoam $00, 9, .OAMData_7a ; BATTLE_ANIM_OAMSET_7A
battleanimoam $00, 12, .OAMData_7b ; BATTLE_ANIM_OAMSET_7B
battleanimoam $00, 14, .OAMData_7c ; BATTLE_ANIM_OAMSET_7C
battleanimoam $00, 15, .OAMData_7d ; BATTLE_ANIM_OAMSET_7D
battleanimoam $04, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_7E
battleanimoam $08, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_7F
battleanimoam $0d, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_80
battleanimoam $0e, 4, .OAMData_81 ; BATTLE_ANIM_OAMSET_81
battleanimoam $10, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_82
battleanimoam $11, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_83
battleanimoam $04, 2, .OAMData_6a ; BATTLE_ANIM_OAMSET_84
battleanimoam $05, 2, .OAMData_6a ; BATTLE_ANIM_OAMSET_85
battleanimoam $0a, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_86
battleanimoam $00, 8, .OAMData_87 ; BATTLE_ANIM_OAMSET_87
battleanimoam $00, 12, .OAMData_88 ; BATTLE_ANIM_OAMSET_88
battleanimoam $00, 16, .OAMData_87 ; BATTLE_ANIM_OAMSET_89
battleanimoam $09, 2, .OAMData_8a ; BATTLE_ANIM_OAMSET_8A
battleanimoam $09, 4, .OAMData_8a ; BATTLE_ANIM_OAMSET_8B
battleanimoam $09, 6, .OAMData_8a ; BATTLE_ANIM_OAMSET_8C
battleanimoam $09, 8, .OAMData_8a ; BATTLE_ANIM_OAMSET_8D
battleanimoam $12, 5, .OAMData_8e ; BATTLE_ANIM_OAMSET_8E
battleanimoam $00, 4, .OAMData_8f ; BATTLE_ANIM_OAMSET_8F
battleanimoam $04, 4, .OAMData_8f ; BATTLE_ANIM_OAMSET_90
battleanimoam $08, 4, .OAMData_8f ; BATTLE_ANIM_OAMSET_91
battleanimoam $0c, 4, .OAMData_8f ; BATTLE_ANIM_OAMSET_92
battleanimoam $00, 6, .OAMData_93 ; BATTLE_ANIM_OAMSET_93
battleanimoam $04, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_94
battleanimoam $0a, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_95
battleanimoam $15, 4, .OAMData_30 ; BATTLE_ANIM_OAMSET_96
battleanimoam $04, 4, .OAMData_30 ; BATTLE_ANIM_OAMSET_97
battleanimoam $0c, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_98
battleanimoam $0a, 4, .OAMData_99 ; BATTLE_ANIM_OAMSET_99
battleanimoam $0c, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_9A
battleanimoam $00, 36, .OAMData_9b ; BATTLE_ANIM_OAMSET_9B
battleanimoam $0d, 2, .OAMData_9c ; BATTLE_ANIM_OAMSET_9C
battleanimoam $0d, 4, .OAMData_9c ; BATTLE_ANIM_OAMSET_9D
battleanimoam $0d, 6, .OAMData_9c ; BATTLE_ANIM_OAMSET_9E
battleanimoam $02, 8, .OAMData_9f ; BATTLE_ANIM_OAMSET_9F
battleanimoam $08, 7, .OAMData_a0 ; BATTLE_ANIM_OAMSET_A0
battleanimoam $08, 5, .OAMData_a0 ; BATTLE_ANIM_OAMSET_A1
battleanimoam $08, 3, .OAMData_a0 ; BATTLE_ANIM_OAMSET_A2
battleanimoam $00, 16, .OAMData_1c ; BATTLE_ANIM_OAMSET_A3
battleanimoam $00, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_A4
battleanimoam $06, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_A5
battleanimoam $0c, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_A6
battleanimoam $12, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_A7
battleanimoam $18, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_A8
battleanimoam $1e, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_A9
battleanimoam $24, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_AA
battleanimoam $2a, 9, .OAMData_a4 ; BATTLE_ANIM_OAMSET_AB
battleanimoam $03, 4, .OAMData_ac ; BATTLE_ANIM_OAMSET_AC
battleanimoam $12, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_AD
battleanimoam $10, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_AE
battleanimoam $16, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_AF
battleanimoam $17, 4, .OAMData_02 ; BATTLE_ANIM_OAMSET_B0
battleanimoam $18, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_B1
battleanimoam $1c, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_B2
battleanimoam $20, 3, .OAMData_03 ; BATTLE_ANIM_OAMSET_B3
battleanimoam $23, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_B4
battleanimoam $25, 3, .OAMData_03 ; BATTLE_ANIM_OAMSET_B5
battleanimoam $17, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_B6
battleanimoam $0a, 16, .OAMData_00 ; BATTLE_ANIM_OAMSET_B7
battleanimoam $10, 16, .OAMData_1c ; BATTLE_ANIM_OAMSET_B8
battleanimoam $00, 16, .OAMData_1c ; BATTLE_ANIM_OAMSET_B9
battleanimoam $04, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_BA
battleanimoam $08, 2, .OAMData_11 ; BATTLE_ANIM_OAMSET_BB
battleanimoam $20, 6, .OAMData_bc ; BATTLE_ANIM_OAMSET_BC
battleanimoam $08, 1, .OAMData_0f ; BATTLE_ANIM_OAMSET_BD
battleanimoam $04, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_BE
battleanimoam $1a, 4, .OAMData_30 ; BATTLE_ANIM_OAMSET_BF
battleanimoam $16, 9, .OAMData_01 ; BATTLE_ANIM_OAMSET_C0
battleanimoam $10, 16, .OAMData_c1 ; BATTLE_ANIM_OAMSET_C1
battleanimoam $09, 6, .OAMData_c2 ; BATTLE_ANIM_OAMSET_C2
battleanimoam $11, 9, .OAMData_c3 ; BATTLE_ANIM_OAMSET_C3
battleanimoam $0e, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_C4
battleanimoam $0b, 4, .OAMData_30 ; BATTLE_ANIM_OAMSET_C5
battleanimoam $1c, 6, .OAMData_02 ; BATTLE_ANIM_OAMSET_C6
battleanimoam $20, 16, .OAMData_c1 ; BATTLE_ANIM_OAMSET_C7
battleanimoam $05, 6, .OAMData_c8 ; BATTLE_ANIM_OAMSET_C8
battleanimoam $0b, 4, .OAMData_03 ; BATTLE_ANIM_OAMSET_C9
battleanimoam $09, 4, .OAMData_ca ; BATTLE_ANIM_OAMSET_CA
battleanimoam $0b, 4, .OAMData_04 ; BATTLE_ANIM_OAMSET_CB
battleanimoam $11, 13, .OAMData_cc ; BATTLE_ANIM_OAMSET_CC
battleanimoam $00, 9, .OAMData_c3 ; BATTLE_ANIM_OAMSET_CD
battleanimoam $09, 9, .OAMData_c3 ; BATTLE_ANIM_OAMSET_CE
battleanimoam $00, 12, .OAMData_cf ; BATTLE_ANIM_OAMSET_CF
battleanimoam $06, 12, .OAMData_cf ; BATTLE_ANIM_OAMSET_D0
battleanimoam $0c, 12, .OAMData_cf ; BATTLE_ANIM_OAMSET_D1
battleanimoam $12, 12, .OAMData_cf ; BATTLE_ANIM_OAMSET_D2
battleanimoam $00, 13, .OAMData_cc ; BATTLE_ANIM_OAMSET_D3
battleanimoam $00, 7, .OAMData_d4 ; BATTLE_ANIM_OAMSET_D4
battleanimoam $00, 6, .OAMData_d5 ; BATTLE_ANIM_OAMSET_D5
battleanimoam $00, 14, .OAMData_d6 ; BATTLE_ANIM_OAMSET_D6
battleanimoam $00, 12, .OAMData_d7 ; BATTLE_ANIM_OAMSET_D7
assert_table_length NUM_BATTLE_ANIM_OAMSETS
.OAMData_11:
dbsprite -1, -1, 4, 0, $00, $0

View File

@ -5,7 +5,7 @@ MACRO anim_obj_gfx
ENDM
AnimObjGFX:
; entries correspond to ANIM_GFX_* constants
; entries correspond to BATTLE_ANIM_GFX_* constants
table_width 4, AnimObjGFX
anim_obj_gfx 0, AnimObj00GFX
anim_obj_gfx 21, AnimObjHitGFX

View File

@ -17,382 +17,382 @@ MACRO battleanimobj
ENDM
BattleAnimObjects:
; entries correspond to ANIM_OBJ_* constants
; entries correspond to BATTLE_ANIM_OBJ_* constants
table_width BATTLEANIMOBJ_LENGTH, BattleAnimObjects
; ANIM_OBJ_HIT_BIG_YFIX
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_HIT_BIG, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_HIT_YFIX
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_HIT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_HIT_SMALL_YFIX
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_HIT_SMALL, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_HIT_BIG
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_HIT_BIG, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_HIT
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_HIT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_HIT_SMALL
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_HIT_SMALL, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_PUNCH
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_PUNCH, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_KICK
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_KICK, BATTLEANIMFUNC_KICK, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_PALM
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_PALM, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_FANG
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_FANG, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_PUNCH_SHAKE
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_PUNCH_SHAKE, BATTLEANIMFUNC_SHAKE, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_EMBER
battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_EMBER, BATTLEANIMFUNC_EMBER, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_DRAGON_RAGE
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_DRAGON_RAGE, BATTLEANIMFUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_FLAMETHROWER
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_FLAMETHROWER, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_FIRE_SPIN
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_EMBER, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_FIRE_BLAST
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_FLAMETHROWER, BATTLEANIMFUNC_FIRE_BLAST, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_BURNED
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_BURNED, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_BLIZZARD
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_BLIZZARD, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE
; ANIM_OBJ_ICE
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_ICE, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE
; ANIM_OBJ_ICE_BEAM
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_ICE_BEAM, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE
; ANIM_OBJ_RAZOR_LEAF
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_RAZOR_LEAF_1, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, ANIM_GFX_PLANT
; ANIM_OBJ_POKE_BALL
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_POKE_BALL_1, BATTLEANIMFUNC_POKEBALL, PAL_BATTLE_OB_RED, ANIM_GFX_POKE_BALL
; ANIM_OBJ_POKE_BALL_BLOCKED
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_POKE_BALL_1, BATTLEANIMFUNC_POKEBALL_BLOCKED, PAL_BATTLE_OB_RED, ANIM_GFX_POKE_BALL
; ANIM_OBJ_EXPLOSION1
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_EXPLOSION, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_RED, ANIM_GFX_EXPLOSION
; ANIM_OBJ_EXPLOSION2
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_EXPLOSION, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_RED, ANIM_GFX_EXPLOSION
; ANIM_OBJ_ACID
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_ACID, BATTLEANIMFUNC_THROW_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON
; ANIM_OBJ_SLUDGE
battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_SLUDGE_BUBBLE, BATTLEANIMFUNC_SLUDGE, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON
; ANIM_OBJ_BETA_BALL_POOF
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_BALL_POOF, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SMOKE
; ANIM_OBJ_BALL_POOF
battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_BALL_POOF, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SMOKE
; ANIM_OBJ_BIG_ROCK
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_BIG_ROCK, BATTLEANIMFUNC_DROP, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS
; ANIM_OBJ_SMALL_ROCK
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_SMALL_ROCK, BATTLEANIMFUNC_DROP, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS
; ANIM_OBJ_STRENGTH
battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_STRENGTH, BATTLEANIMFUNC_STRENGTH_SEISMIC_TOSS, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS
; ANIM_OBJ_SEISMIC_TOSS
battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_SEISMIC_TOSS, BATTLEANIMFUNC_STRENGTH_SEISMIC_TOSS, PAL_BATTLE_OB_BLUE, ANIM_GFX_GLOBE
; ANIM_OBJ_BUBBLE
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_SMALL_BUBBLE, BATTLEANIMFUNC_BUBBLE, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE
; ANIM_OBJ_SURF
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_SURF, BATTLEANIMFUNC_SURF, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE
; ANIM_OBJ_SING
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_MUSIC_NOTE_1, BATTLEANIMFUNC_SING, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE
; ANIM_OBJ_WATER_GUN
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_WATER_GUN_1, BATTLEANIMFUNC_WATER_GUN, PAL_BATTLE_OB_BLUE, ANIM_GFX_WATER
; ANIM_OBJ_HYDRO_PUMP
battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_HYDRO_PUMP, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_WATER
; ANIM_OBJ_POWDER
battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_POWDER, BATTLEANIMFUNC_POWDER, PAL_BATTLE_OB_GREEN, ANIM_GFX_POWDER
; ANIM_OBJ_BEAM
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_BEAM, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM
; ANIM_OBJ_BEAM_TIP
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_BEAM_TIP, BATTLEANIMFUNC_SHAKE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM
; ANIM_OBJ_ICE_BUILDUP
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_ICE_BUILDUP, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE
; ANIM_OBJ_FROZEN
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_FROZEN, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ICE
; ANIM_OBJ_MASTER_BALL_SPARKLE
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_CIRCLING_SPARKLE, BATTLEANIMFUNC_RECOVER, PAL_BATTLE_OB_BROWN, ANIM_GFX_SPEED
; ANIM_OBJ_RECOVER
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_SMALL_BUBBLE, BATTLEANIMFUNC_RECOVER, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BUBBLE
; ANIM_OBJ_THUNDER_CENTER
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_THUNDER_CENTER, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_THUNDER_LEFT
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_THUNDER_LEFT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_THUNDER_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_THUNDER_RIGHT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_THUNDER_WAVE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_THUNDER_WAVE_DISABLE, BATTLEANIMFUNC_THUNDER_WAVE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_THUNDERBOLT_SPARKS
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_THUNDERBOLT_SPARKS, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_THUNDERBOLT_CORE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_THUNDERBOLT_CORE, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION
; ANIM_OBJ_THUNDERSHOCK_SPARKS
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_THUNDERSHOCK_SPARKS, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_THUNDERSHOCK_CORE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_THUNDERSHOCK_CORE, BATTLEANIMFUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION
; ANIM_OBJ_CLAMP
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_CLAMP, BATTLEANIMFUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_BITE
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_BITE_1, BATTLEANIMFUNC_BITE, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_CUT_DOWN_LEFT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_CUT_DOWN_LEFT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_CUT_DOWN_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_CUT_DOWN_RIGHT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_CUT_UP_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_CUT_UP_RIGHT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_CUT_LONG_DOWN_LEFT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_CUT_LONG_DOWN_LEFT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_CUT_LONG_DOWN_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_CUT_LONG_DOWN_RIGHT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_SOLAR_BEAM_CHARGE
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_CHARGE_ORB_1, BATTLEANIMFUNC_SOLAR_BEAM, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE
; ANIM_OBJ_ABSORB_CENTER
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_ABSORB_CENTER, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE
; ANIM_OBJ_GUST
battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_GUST, BATTLEANIMFUNC_GUST, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND
; ANIM_OBJ_VINE_WHIP1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_VINE_WHIP_1, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP
; ANIM_OBJ_VINE_WHIP2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_VINE_WHIP_2, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP
; ANIM_OBJ_RAZOR_WIND1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_RAZOR_WIND_1, BATTLEANIMFUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP
; ANIM_OBJ_RAZOR_WIND2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_RAZOR_WIND_2, BATTLEANIMFUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP
; ANIM_OBJ_SONICBOOM_JP
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_SONICBOOM_JP, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP
; ANIM_OBJ_WARP
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_WARP, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED
; ANIM_OBJ_ABSORB
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_CHARGE_ORB_2, BATTLEANIMFUNC_ABSORB, PAL_BATTLE_OB_GREEN, ANIM_GFX_CHARGE
; ANIM_OBJ_EGG
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_EGG, BATTLEANIMFUNC_EGG, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG
; ANIM_OBJ_FOCUS
battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_FOCUS, BATTLEANIMFUNC_MOVE_UP, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED
; ANIM_OBJ_BIND1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_BIND_1, BATTLEANIMFUNC_WRAP, PAL_BATTLE_OB_GREEN, ANIM_GFX_ROPE
; ANIM_OBJ_BIND2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_BIND_3, BATTLEANIMFUNC_WRAP, PAL_BATTLE_OB_GREEN, ANIM_GFX_ROPE
; ANIM_OBJ_LEECH_SEED
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_LEECH_SEED_1, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, ANIM_GFX_PLANT
; ANIM_OBJ_SOUND
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_SOUND_1, BATTLEANIMFUNC_SOUND, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE
; ANIM_OBJ_WAVE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_WAVE, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_PSYCHIC
; ANIM_OBJ_CONFUSE_RAY
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_CONFUSE_RAY_1, BATTLEANIMFUNC_CONFUSE_RAY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED
; ANIM_OBJ_LEER
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_LEER, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM
; ANIM_OBJ_LEER_TIP
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_BEAM_TIP, BATTLEANIMFUNC_SHAKE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_BEAM
; ANIM_OBJ_SCREEN
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_REFLECT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_REFLECT
; ANIM_OBJ_HARDEN
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_REFLECT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_REFLECT
; ANIM_OBJ_CHICK
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_CHICK_1, BATTLEANIMFUNC_DIZZY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_STATUS
; ANIM_OBJ_AMNESIA
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AMNESIA_1, BATTLEANIMFUNC_AMNESIA, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS
; ANIM_OBJ_ASLEEP
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_ASLEEP, BATTLEANIMFUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS
; ANIM_OBJ_SKULL_CROSSBONE
battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_SKULL_CROSSBONE, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_POISON
; ANIM_OBJ_DIG_SAND
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_DIG_SAND, BATTLEANIMFUNC_DIG, PAL_BATTLE_OB_BROWN, ANIM_GFX_SAND
; ANIM_OBJ_DIG_PILE
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_DIG_PILE, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BROWN, ANIM_GFX_SAND
; ANIM_OBJ_SAND
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_SAND, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, ANIM_GFX_SAND
; ANIM_OBJ_PARALYZED
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_PARALYZED, BATTLEANIMFUNC_PARALYZED, PAL_BATTLE_OB_YELLOW, ANIM_GFX_STATUS
; ANIM_OBJ_STRING_SHOT
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_STRING_SHOT_1, BATTLEANIMFUNC_STRING, PAL_BATTLE_OB_GRAY, ANIM_GFX_WEB
; ANIM_OBJ_HAZE
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_HAZE, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE
; ANIM_OBJ_MIST
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_MIST, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE
; ANIM_OBJ_SMOG
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_HAZE, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE
; ANIM_OBJ_POISON_GAS
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_HAZE, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE
; ANIM_OBJ_HORN
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_HORN, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, ANIM_GFX_HORN
; ANIM_OBJ_NEEDLE
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_NEEDLE, BATTLEANIMFUNC_NEEDLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_HORN
; ANIM_OBJ_PETAL_DANCE
battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_FLOWER, BATTLEANIMFUNC_PETAL_DANCE, PAL_BATTLE_OB_RED, ANIM_GFX_FLOWER
; ANIM_OBJ_SLUDGE_BOMB
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_BARRAGE_BALL, BATTLEANIMFUNC_THROW_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG
; ANIM_OBJ_PAY_DAY
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_PAY_DAY, BATTLEANIMFUNC_THIEF_PAYDAY, PAL_BATTLE_OB_BROWN, ANIM_GFX_STATUS
; ANIM_OBJ_SONICBOOM_JP_UNUSED
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_SONICBOOM_JP, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP
; ANIM_OBJ_MIMIC
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_CIRCLING_SPARKLE, BATTLEANIMFUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_SPEED
; ANIM_OBJ_ATTRACT
battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_HEART, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS
; ANIM_OBJ_BONEMERANG
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_SPINNING_BONE, BATTLEANIMFUNC_BONEMERANG, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_BONE_CLUB
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_SPINNING_BONE, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_BONE_RUSH
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_SPINNING_BONE, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_SWIFT
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_STAR, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS
; ANIM_OBJ_KINESIS
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_SPOON, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_FLASH
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_SPARKLE, BATTLEANIMFUNC_SHINY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED
; ANIM_OBJ_SHINY
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_SPARKLE, BATTLEANIMFUNC_SHINY, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED
; ANIM_OBJ_SKY_ATTACK
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_SKY_ATTACK, BATTLEANIMFUNC_SKY_ATTACK, PAL_BATTLE_OB_GRAY, ANIM_GFX_SKY_ATTACK
; ANIM_OBJ_LICK
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_LICK, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WATER
; ANIM_OBJ_WITHDRAW
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_WITHDRAW_SHELL, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_REFLECT
; ANIM_OBJ_DRAIN
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_SMALL_BUBBLE, BATTLEANIMFUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_BLUE, ANIM_GFX_BUBBLE
; ANIM_OBJ_GROWTH
battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_SHRINKING_CHARGE_ORB, BATTLEANIMFUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_YELLOW, ANIM_GFX_CHARGE
; ANIM_OBJ_CONVERSION2
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_CONVERSION, BATTLEANIMFUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION
; ANIM_OBJ_SMOKE
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_HAZE, BATTLEANIMFUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HAZE
; ANIM_OBJ_SMOKESCREEN
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_BARRAGE_BALL, BATTLEANIMFUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG
; ANIM_OBJ_SWORDS_DANCE
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_SWORD, BATTLEANIMFUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_GRAY, ANIM_GFX_WHIP
; ANIM_OBJ_SPEED_LINE
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_SPEED_LINE_1, BATTLEANIMFUNC_SPEED_LINE, PAL_BATTLE_OB_GRAY, ANIM_GFX_SPEED
; ANIM_OBJ_SHARPEN
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_SHARPEN, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHAPES
; ANIM_OBJ_DEFENSE_CURL
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_DEFENSE_CURL, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHAPES
; ANIM_OBJ_METRONOME_HAND
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_METRONOME_HAND, BATTLEANIMFUNC_METRONOME_HAND, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_METRONOME_SPARKLE
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_CIRCLING_SPARKLE, BATTLEANIMFUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED
; ANIM_OBJ_DISABLE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_THUNDER_WAVE_DISABLE, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_AGILITY
battleanimobj RELATIVE_X | X_FLIP | PRIORITY, $88, BATTLEANIMFRAMESET_AGILITY, BATTLEANIMFUNC_AGILITY, PAL_BATTLE_OB_BLUE, ANIM_GFX_WIND
; ANIM_OBJ_HEART
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_HEART, BATTLEANIMFUNC_FLOAT_UP, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS
; ANIM_OBJ_FLAME_WHEEL
battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_EMBER, BATTLEANIMFUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_SACRED_FIRE
battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_FLAMETHROWER, BATTLEANIMFUNC_SACRED_FIRE, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_COTTON_SPORE
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_COTTON, BATTLEANIMFUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_MILK_DRINK
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_MILK_BOTTLE, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_ANGER
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_ANGER_VEIN, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_HEAL_BELL
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_HEAL_BELL, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_MISC
; ANIM_OBJ_HEAL_BELL_NOTE
battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_MUSIC_NOTE_1, BATTLEANIMFUNC_HEAL_BELL_NOTES, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE
; ANIM_OBJ_BATON_PASS
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_BATON_PASS, BATTLEANIMFUNC_BATON_PASS, PAL_BATTLE_OB_RED, ANIM_GFX_MISC
; ANIM_OBJ_LOCK_ON
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_LOCK_ON_1, BATTLEANIMFUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_MIND_READER
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_MIND_READER_1, BATTLEANIMFUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_SAFEGUARD
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_SAFEGUARD, BATTLEANIMFUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_PROTECT
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_STAR, BATTLEANIMFUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS
; ANIM_OBJ_THIEF
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_ITEM_BAG, BATTLEANIMFUNC_THIEF_PAYDAY, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS
; ANIM_OBJ_OCTAZOOKA
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_BARRAGE_BALL, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, ANIM_GFX_EGG
; ANIM_OBJ_PRESENT
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_ITEM_BAG, BATTLEANIMFUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, ANIM_GFX_STATUS
; ANIM_OBJ_SPIKES
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_SPIKE, BATTLEANIMFUNC_SPIKES, PAL_BATTLE_OB_GRAY, ANIM_GFX_MISC
; ANIM_OBJ_POWDER_SNOW
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_POWDER_SNOW, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_GRAY, ANIM_GFX_ICE
; ANIM_OBJ_DRAGONBREATH
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_BURNED, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_RED, ANIM_GFX_FIRE
; ANIM_OBJ_CONVERSION
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_CONVERSION, BATTLEANIMFUNC_CONVERSION, PAL_BATTLE_OB_GRAY, ANIM_GFX_EXPLOSION
; ANIM_OBJ_SPIDER_WEB
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_SPIDER_WEB, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_WEB
; ANIM_OBJ_CAKE_UNUSED
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_UNUSED_CAKE, BATTLEANIMFUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, ANIM_GFX_OBJECTS
; ANIM_OBJ_NIGHTMARE
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_IMP, BATTLEANIMFUNC_DIZZY, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS
; ANIM_OBJ_IN_NIGHTMARE
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_IMP_FLIPPED, BATTLEANIMFUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS
; ANIM_OBJ_LOVELY_KISS
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_IMP, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS
; ANIM_OBJ_SWEET_KISS
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_CHERUB, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_ANGELS
; ANIM_OBJ_SKETCH
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_PENCIL, BATTLEANIMFUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_GREEN, ANIM_GFX_OBJECTS
; ANIM_OBJ_ENCORE_HAND
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_ENCORE_HAND, BATTLEANIMFUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, ANIM_GFX_OBJECTS
; ANIM_OBJ_ENCORE_STAR
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_STAR, BATTLEANIMFUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_YELLOW, ANIM_GFX_OBJECTS
; ANIM_OBJ_DESTINY_BOND
battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_DESTINY_BOND, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS
; ANIM_OBJ_MORNING_SUN
battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_MORNING_SUN, BATTLEANIMFUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SHINE
; ANIM_OBJ_GLIMMER
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_GLIMMER, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHINE
; ANIM_OBJ_MOONLIGHT
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_MOONLIGHT, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SHINE
; ANIM_OBJ_HIDDEN_POWER
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_CHARGE_ORB_1, BATTLEANIMFUNC_HIDDEN_POWER, PAL_BATTLE_OB_RED, ANIM_GFX_CHARGE
; ANIM_OBJ_CROSS_CHOP1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_CROSS_CHOP_1, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_CROSS_CHOP2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_CROSS_CHOP_2, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_CUT
; ANIM_OBJ_SANDSTORM
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_SANDSTORM, BATTLEANIMFUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_BROWN, ANIM_GFX_POWDER
; ANIM_OBJ_ZAP_CANNON
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_ZAP_CANNON, BATTLEANIMFUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_YELLOW, ANIM_GFX_LIGHTNING
; ANIM_OBJ_SPITE
battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_IMP, BATTLEANIMFUNC_POWDER, PAL_BATTLE_OB_GRAY, ANIM_GFX_ANGELS
; ANIM_OBJ_CURSE
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_CURSE_NAIL, BATTLEANIMFUNC_CURSE, PAL_BATTLE_OB_GRAY, ANIM_GFX_OBJECTS
; ANIM_OBJ_PERISH_SONG
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_MUSIC_NOTE_1, BATTLEANIMFUNC_PERISH_SONG, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE
; ANIM_OBJ_FORESIGHT
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_FORESIGHT_SHINE, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_SHINE
; ANIM_OBJ_RAPID_SPIN
battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_RAPID_SPIN, BATTLEANIMFUNC_RAPID_SPIN, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND
; ANIM_OBJ_SWAGGER
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_SWAGGER, BATTLEANIMFUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_GRAY, ANIM_GFX_WIND
; ANIM_OBJ_BELLY_DRUM_HAND
battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_PALM, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_BELLY_DRUM_NOTE
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_MUSIC_NOTE_1, BATTLEANIMFUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_GRAY, ANIM_GFX_NOISE
; ANIM_OBJ_MEAN_LOOK
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_MEAN_LOOK, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_BLUE, ANIM_GFX_PSYCHIC
; ANIM_OBJ_BETA_PURSUIT
battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_UPSIDE_DOWN_PUNCH, BATTLEANIMFUNC_BETA_PURSUIT, PAL_BATTLE_OB_GRAY, ANIM_GFX_HIT
; ANIM_OBJ_SHOOTING_SPARKLE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_GROWING_SPARKLE, BATTLEANIMFUNC_USER_TO_TARGET, PAL_BATTLE_OB_YELLOW, ANIM_GFX_SPEED
; ANIM_OBJ_RAIN
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_RAIN, BATTLEANIMFUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_GRAY, ANIM_GFX_WATER
; ANIM_OBJ_B0
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_MIST, BATTLEANIMFUNC_ANIM_OBJ_B0, PAL_BATTLE_OB_RED, ANIM_GFX_HAZE
; ANIM_OBJ_PSYCH_UP
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_PSYCH_UP, BATTLEANIMFUNC_PSYCH_UP, PAL_BATTLE_OB_GRAY, ANIM_GFX_STATUS
; ANIM_OBJ_ANCIENTPOWER
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_BIG_ROCK, BATTLEANIMFUNC_ANCIENT_POWER, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS
; ANIM_OBJ_AEROBLAST
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_AEROBLAST, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_YELLOW, ANIM_GFX_AEROBLAST
; ANIM_OBJ_SHADOW_BALL
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_BARRAGE_BALL, BATTLEANIMFUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_BLUE, ANIM_GFX_EGG
; ANIM_OBJ_ROCK_SMASH
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_BIG_ROCK, BATTLEANIMFUNC_ROCK_SMASH, PAL_BATTLE_OB_BROWN, ANIM_GFX_ROCKS
; ANIM_OBJ_FLOWER
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_FLOWER, BATTLEANIMFUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_RED, ANIM_GFX_FLOWER
; ANIM_OBJ_COTTON
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_COTTON, BATTLEANIMFUNC_COTTON, PAL_BATTLE_OB_RED, ANIM_GFX_MISC
; ANIM_OBJ_ENEMYFEET_1ROW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_ENEMYFEET_1ROW, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD
; ANIM_OBJ_PLAYERHEAD_1ROW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_PLAYERHEAD_1ROW, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET
; ANIM_OBJ_ENEMYFEET_2ROW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_ENEMYFEET_2ROW, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_ENEMY, ANIM_GFX_PLAYERHEAD
; ANIM_OBJ_PLAYERHEAD_2ROW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_PLAYERHEAD_2ROW, BATTLEANIMFUNC_NULL, PAL_BATTLE_OB_PLAYER, ANIM_GFX_ENEMYFEET
assert_table_length NUM_ANIM_OBJS
; BATTLE_ANIM_OBJ_HIT_BIG_YFIX
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_HIT_BIG, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_HIT_YFIX
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_HIT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_HIT_SMALL_YFIX
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_HIT_SMALL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_HIT_BIG
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_HIT_BIG, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_HIT
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_HIT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_HIT_SMALL
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_HIT_SMALL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_PUNCH
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_PUNCH, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_KICK
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_KICK, BATTLE_ANIM_FUNC_KICK, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_PALM
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_PALM, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_FANG
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_FANG, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_PUNCH_SHAKE
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_PUNCH_SHAKE, BATTLE_ANIM_FUNC_SHAKE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_EMBER
battleanimobj RELATIVE_X, $aa, BATTLE_ANIM_FRAMESET_EMBER, BATTLE_ANIM_FUNC_EMBER, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_DRAGON_RAGE
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_DRAGON_RAGE, BATTLE_ANIM_FUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_FLAMETHROWER
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_FLAMETHROWER, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_FIRE_SPIN
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_EMBER, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_FIRE_BLAST
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_FLAMETHROWER, BATTLE_ANIM_FUNC_FIRE_BLAST, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_BURNED
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BURNED, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_BLIZZARD
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BLIZZARD, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ICE
; BATTLE_ANIM_OBJ_ICE
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_ICE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ICE
; BATTLE_ANIM_OBJ_ICE_BEAM
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_ICE_BEAM, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ICE
; BATTLE_ANIM_OBJ_RAZOR_LEAF
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1, BATTLE_ANIM_FUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_PLANT
; BATTLE_ANIM_OBJ_POKE_BALL
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_POKE_BALL_1, BATTLE_ANIM_FUNC_POKEBALL, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_POKE_BALL
; BATTLE_ANIM_OBJ_POKE_BALL_BLOCKED
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_POKE_BALL_1, BATTLE_ANIM_FUNC_POKEBALL_BLOCKED, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_POKE_BALL
; BATTLE_ANIM_OBJ_EXPLOSION1
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_EXPLOSION, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_EXPLOSION
; BATTLE_ANIM_OBJ_EXPLOSION2
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_EXPLOSION, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_EXPLOSION
; BATTLE_ANIM_OBJ_ACID
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_ACID, BATTLE_ANIM_FUNC_THROW_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_POISON
; BATTLE_ANIM_OBJ_SLUDGE
battleanimobj RELATIVE_X, $b4, BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE, BATTLE_ANIM_FUNC_SLUDGE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_POISON
; BATTLE_ANIM_OBJ_BETA_BALL_POOF
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BALL_POOF, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SMOKE
; BATTLE_ANIM_OBJ_BALL_POOF
battleanimobj RELATIVE_X, $a0, BATTLE_ANIM_FRAMESET_BALL_POOF, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SMOKE
; BATTLE_ANIM_OBJ_BIG_ROCK
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_BIG_ROCK, BATTLE_ANIM_FUNC_DROP, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
; BATTLE_ANIM_OBJ_SMALL_ROCK
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_SMALL_ROCK, BATTLE_ANIM_FUNC_DROP, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
; BATTLE_ANIM_OBJ_STRENGTH
battleanimobj RELATIVE_X, $b0, BATTLE_ANIM_FRAMESET_STRENGTH, BATTLE_ANIM_FUNC_STRENGTH_SEISMIC_TOSS, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
; BATTLE_ANIM_OBJ_SEISMIC_TOSS
battleanimobj RELATIVE_X, $b0, BATTLE_ANIM_FRAMESET_SEISMIC_TOSS, BATTLE_ANIM_FUNC_STRENGTH_SEISMIC_TOSS, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_GLOBE
; BATTLE_ANIM_OBJ_BUBBLE
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_SMALL_BUBBLE, BATTLE_ANIM_FUNC_BUBBLE, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_BUBBLE
; BATTLE_ANIM_OBJ_SURF
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_SURF, BATTLE_ANIM_FUNC_SURF, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_BUBBLE
; BATTLE_ANIM_OBJ_SING
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1, BATTLE_ANIM_FUNC_SING, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
; BATTLE_ANIM_OBJ_WATER_GUN
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLE_ANIM_FRAMESET_WATER_GUN_1, BATTLE_ANIM_FUNC_WATER_GUN, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WATER
; BATTLE_ANIM_OBJ_HYDRO_PUMP
battleanimobj RELATIVE_X, $b4, BATTLE_ANIM_FRAMESET_HYDRO_PUMP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WATER
; BATTLE_ANIM_OBJ_POWDER
battleanimobj RELATIVE_X, $40, BATTLE_ANIM_FRAMESET_POWDER, BATTLE_ANIM_FUNC_POWDER, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_POWDER
; BATTLE_ANIM_OBJ_BEAM
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_BEAM, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
; BATTLE_ANIM_OBJ_BEAM_TIP
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_BEAM_TIP, BATTLE_ANIM_FUNC_SHAKE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
; BATTLE_ANIM_OBJ_ICE_BUILDUP
battleanimobj RELATIVE_X, $b8, BATTLE_ANIM_FRAMESET_ICE_BUILDUP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ICE
; BATTLE_ANIM_OBJ_FROZEN
battleanimobj RELATIVE_X, $b8, BATTLE_ANIM_FRAMESET_FROZEN, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ICE
; BATTLE_ANIM_OBJ_MASTER_BALL_SPARKLE
battleanimobj RELATIVE_X, $b8, BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE, BATTLE_ANIM_FUNC_RECOVER, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_RECOVER
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_SMALL_BUBBLE, BATTLE_ANIM_FUNC_RECOVER, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BUBBLE
; BATTLE_ANIM_OBJ_THUNDER_CENTER
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_CENTER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_THUNDER_LEFT
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_THUNDER_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_THUNDER_WAVE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE, BATTLE_ANIM_FUNC_THUNDER_WAVE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_THUNDERBOLT_SPARKS
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_THUNDERBOLT_CORE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
; BATTLE_ANIM_OBJ_THUNDERSHOCK_SPARKS
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_THUNDERSHOCK_CORE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
; BATTLE_ANIM_OBJ_CLAMP
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_CLAMP, BATTLE_ANIM_FUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_BITE
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BITE_1, BATTLE_ANIM_FUNC_BITE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_CUT_DOWN_LEFT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_CUT_DOWN_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_CUT_UP_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_CUT_LONG_DOWN_LEFT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_CUT_LONG_DOWN_RIGHT
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_SOLAR_BEAM_CHARGE
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_CHARGE_ORB_1, BATTLE_ANIM_FUNC_SOLAR_BEAM, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_CHARGE
; BATTLE_ANIM_OBJ_ABSORB_CENTER
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_ABSORB_CENTER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_CHARGE
; BATTLE_ANIM_OBJ_GUST
battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLE_ANIM_FRAMESET_GUST, BATTLE_ANIM_FUNC_GUST, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
; BATTLE_ANIM_OBJ_VINE_WHIP1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_VINE_WHIP_1, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
; BATTLE_ANIM_OBJ_VINE_WHIP2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_VINE_WHIP_2, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
; BATTLE_ANIM_OBJ_RAZOR_WIND1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_RAZOR_WIND_1, BATTLE_ANIM_FUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
; BATTLE_ANIM_OBJ_RAZOR_WIND2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_RAZOR_WIND_2, BATTLE_ANIM_FUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
; BATTLE_ANIM_OBJ_SONICBOOM_JP
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLE_ANIM_FRAMESET_SONICBOOM_JP, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
; BATTLE_ANIM_OBJ_WARP
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_WARP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_ABSORB
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_CHARGE_ORB_2, BATTLE_ANIM_FUNC_ABSORB, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_CHARGE
; BATTLE_ANIM_OBJ_EGG
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_EGG, BATTLE_ANIM_FUNC_EGG, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
; BATTLE_ANIM_OBJ_FOCUS
battleanimobj RELATIVE_X, $b0, BATTLE_ANIM_FRAMESET_FOCUS, BATTLE_ANIM_FUNC_MOVE_UP, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_BIND1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_BIND_1, BATTLE_ANIM_FUNC_WRAP, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_ROPE
; BATTLE_ANIM_OBJ_BIND2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_BIND_3, BATTLE_ANIM_FUNC_WRAP, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_ROPE
; BATTLE_ANIM_OBJ_LEECH_SEED
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLE_ANIM_FRAMESET_LEECH_SEED_1, BATTLE_ANIM_FUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_PLANT
; BATTLE_ANIM_OBJ_SOUND
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SOUND_1, BATTLE_ANIM_FUNC_SOUND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
; BATTLE_ANIM_OBJ_WAVE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_WAVE, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_PSYCHIC
; BATTLE_ANIM_OBJ_CONFUSE_RAY
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1, BATTLE_ANIM_FUNC_CONFUSE_RAY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_LEER
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLE_ANIM_FRAMESET_LEER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
; BATTLE_ANIM_OBJ_LEER_TIP
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLE_ANIM_FRAMESET_BEAM_TIP, BATTLE_ANIM_FUNC_SHAKE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
; BATTLE_ANIM_OBJ_SCREEN
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_REFLECT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_REFLECT
; BATTLE_ANIM_OBJ_HARDEN
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_REFLECT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_REFLECT
; BATTLE_ANIM_OBJ_CHICK
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLE_ANIM_FRAMESET_CHICK_1, BATTLE_ANIM_FUNC_DIZZY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_AMNESIA
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_AMNESIA_1, BATTLE_ANIM_FUNC_AMNESIA, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_ASLEEP
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_ASLEEP, BATTLE_ANIM_FUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_SKULL_CROSSBONE
battleanimobj RELATIVE_X, $50, BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_POISON
; BATTLE_ANIM_OBJ_DIG_SAND
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLE_ANIM_FRAMESET_DIG_SAND, BATTLE_ANIM_FUNC_DIG, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_SAND
; BATTLE_ANIM_OBJ_DIG_PILE
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLE_ANIM_FRAMESET_DIG_PILE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_SAND
; BATTLE_ANIM_OBJ_SAND
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SAND, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SAND
; BATTLE_ANIM_OBJ_PARALYZED
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_PARALYZED, BATTLE_ANIM_FUNC_PARALYZED, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_STRING_SHOT
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_STRING_SHOT_1, BATTLE_ANIM_FUNC_STRING, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WEB
; BATTLE_ANIM_OBJ_HAZE
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
; BATTLE_ANIM_OBJ_MIST
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLE_ANIM_FRAMESET_MIST, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
; BATTLE_ANIM_OBJ_SMOG
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
; BATTLE_ANIM_OBJ_POISON_GAS
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
; BATTLE_ANIM_OBJ_HORN
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLE_ANIM_FRAMESET_HORN, BATTLE_ANIM_FUNC_HORN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HORN
; BATTLE_ANIM_OBJ_NEEDLE
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLE_ANIM_FRAMESET_NEEDLE, BATTLE_ANIM_FUNC_NEEDLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HORN
; BATTLE_ANIM_OBJ_PETAL_DANCE
battleanimobj RELATIVE_X, $48, BATTLE_ANIM_FRAMESET_FLOWER, BATTLE_ANIM_FUNC_PETAL_DANCE, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FLOWER
; BATTLE_ANIM_OBJ_SLUDGE_BOMB
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_THROW_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
; BATTLE_ANIM_OBJ_PAY_DAY
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_PAY_DAY, BATTLE_ANIM_FUNC_THIEF_PAYDAY, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_SONICBOOM_JP_UNUSED
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SONICBOOM_JP, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
; BATTLE_ANIM_OBJ_MIMIC
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE, BATTLE_ANIM_FUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_ATTRACT
battleanimobj RELATIVE_X, $78, BATTLE_ANIM_FRAMESET_HEART, BATTLE_ANIM_FUNC_POISON_GAS, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_BONEMERANG
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_SPINNING_BONE, BATTLE_ANIM_FUNC_BONEMERANG, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_BONE_CLUB
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_SPINNING_BONE, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_BONE_RUSH
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_SPINNING_BONE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_SWIFT
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_KINESIS
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SPOON, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_FLASH
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_SPARKLE, BATTLE_ANIM_FUNC_SHINY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_SHINY
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_SPARKLE, BATTLE_ANIM_FUNC_SHINY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_SKY_ATTACK
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_SKY_ATTACK, BATTLE_ANIM_FUNC_SKY_ATTACK, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SKY_ATTACK
; BATTLE_ANIM_OBJ_LICK
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLE_ANIM_FRAMESET_LICK, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WATER
; BATTLE_ANIM_OBJ_WITHDRAW
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_REFLECT
; BATTLE_ANIM_OBJ_DRAIN
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_SMALL_BUBBLE, BATTLE_ANIM_FUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_BUBBLE
; BATTLE_ANIM_OBJ_GROWTH
battleanimobj RELATIVE_X, $b0, BATTLE_ANIM_FRAMESET_SHRINKING_CHARGE_ORB, BATTLE_ANIM_FUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_CHARGE
; BATTLE_ANIM_OBJ_CONVERSION2
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_CONVERSION, BATTLE_ANIM_FUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
; BATTLE_ANIM_OBJ_SMOKE
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
; BATTLE_ANIM_OBJ_SMOKESCREEN
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
; BATTLE_ANIM_OBJ_SWORDS_DANCE
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_SWORD, BATTLE_ANIM_FUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
; BATTLE_ANIM_OBJ_SPEED_LINE
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_SPEED_LINE_1, BATTLE_ANIM_FUNC_SPEED_LINE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_SHARPEN
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_SHARPEN, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SHAPES
; BATTLE_ANIM_OBJ_DEFENSE_CURL
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_DEFENSE_CURL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SHAPES
; BATTLE_ANIM_OBJ_METRONOME_HAND
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_METRONOME_HAND, BATTLE_ANIM_FUNC_METRONOME_HAND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_METRONOME_SPARKLE
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE, BATTLE_ANIM_FUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_DISABLE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_AGILITY
battleanimobj RELATIVE_X | X_FLIP | PRIORITY, $88, BATTLE_ANIM_FRAMESET_AGILITY, BATTLE_ANIM_FUNC_AGILITY, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WIND
; BATTLE_ANIM_OBJ_HEART
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_HEART, BATTLE_ANIM_FUNC_FLOAT_UP, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_FLAME_WHEEL
battleanimobj RELATIVE_X, $98, BATTLE_ANIM_FRAMESET_EMBER, BATTLE_ANIM_FUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_SACRED_FIRE
battleanimobj RELATIVE_X, $a8, BATTLE_ANIM_FRAMESET_FLAMETHROWER, BATTLE_ANIM_FUNC_SACRED_FIRE, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_COTTON_SPORE
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLE_ANIM_FRAMESET_COTTON, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_MILK_DRINK
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_MILK_BOTTLE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_ANGER
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_ANGER_VEIN, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_HEAL_BELL
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLE_ANIM_FRAMESET_HEAL_BELL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_HEAL_BELL_NOTE
battleanimobj RELATIVE_X, $40, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1, BATTLE_ANIM_FUNC_HEAL_BELL_NOTES, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
; BATTLE_ANIM_OBJ_BATON_PASS
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLE_ANIM_FRAMESET_BATON_PASS, BATTLE_ANIM_FUNC_BATON_PASS, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_LOCK_ON
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_LOCK_ON_1, BATTLE_ANIM_FUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_MIND_READER
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_MIND_READER_1, BATTLE_ANIM_FUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_SAFEGUARD
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SAFEGUARD, BATTLE_ANIM_FUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_PROTECT
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_THIEF
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_ITEM_BAG, BATTLE_ANIM_FUNC_THIEF_PAYDAY, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_OCTAZOOKA
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
; BATTLE_ANIM_OBJ_PRESENT
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_ITEM_BAG, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_SPIKES
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLE_ANIM_FRAMESET_SPIKE, BATTLE_ANIM_FUNC_SPIKES, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_POWDER_SNOW
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_POWDER_SNOW, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ICE
; BATTLE_ANIM_OBJ_DRAGONBREATH
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BURNED, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
; BATTLE_ANIM_OBJ_CONVERSION
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_CONVERSION, BATTLE_ANIM_FUNC_CONVERSION, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
; BATTLE_ANIM_OBJ_SPIDER_WEB
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_SPIDER_WEB, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WEB
; BATTLE_ANIM_OBJ_CAKE_UNUSED
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_UNUSED_CAKE, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_NIGHTMARE
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_DIZZY, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
; BATTLE_ANIM_OBJ_IN_NIGHTMARE
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_IMP_FLIPPED, BATTLE_ANIM_FUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
; BATTLE_ANIM_OBJ_LOVELY_KISS
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
; BATTLE_ANIM_OBJ_SWEET_KISS
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_CHERUB, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ANGELS
; BATTLE_ANIM_OBJ_SKETCH
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLE_ANIM_FRAMESET_PENCIL, BATTLE_ANIM_FUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_ENCORE_HAND
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_ENCORE_HAND, BATTLE_ANIM_FUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_ENCORE_STAR
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_DESTINY_BOND
battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLE_ANIM_FRAMESET_DESTINY_BOND, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
; BATTLE_ANIM_OBJ_MORNING_SUN
battleanimobj RELATIVE_X | X_FLIP, $40, BATTLE_ANIM_FRAMESET_MORNING_SUN, BATTLE_ANIM_FUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SHINE
; BATTLE_ANIM_OBJ_GLIMMER
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_GLIMMER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SHINE
; BATTLE_ANIM_OBJ_MOONLIGHT
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_MOONLIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SHINE
; BATTLE_ANIM_OBJ_HIDDEN_POWER
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_CHARGE_ORB_1, BATTLE_ANIM_FUNC_HIDDEN_POWER, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_CHARGE
; BATTLE_ANIM_OBJ_CROSS_CHOP1
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CROSS_CHOP_1, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_CROSS_CHOP2
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CROSS_CHOP_2, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
; BATTLE_ANIM_OBJ_SANDSTORM
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLE_ANIM_FRAMESET_SANDSTORM, BATTLE_ANIM_FUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_POWDER
; BATTLE_ANIM_OBJ_ZAP_CANNON
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_ZAP_CANNON, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
; BATTLE_ANIM_OBJ_SPITE
battleanimobj RELATIVE_X | X_FLIP, $40, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_POWDER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
; BATTLE_ANIM_OBJ_CURSE
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLE_ANIM_FRAMESET_CURSE_NAIL, BATTLE_ANIM_FUNC_CURSE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_OBJECTS
; BATTLE_ANIM_OBJ_PERISH_SONG
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1, BATTLE_ANIM_FUNC_PERISH_SONG, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
; BATTLE_ANIM_OBJ_FORESIGHT
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SHINE
; BATTLE_ANIM_OBJ_RAPID_SPIN
battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLE_ANIM_FRAMESET_RAPID_SPIN, BATTLE_ANIM_FUNC_RAPID_SPIN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
; BATTLE_ANIM_OBJ_SWAGGER
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SWAGGER, BATTLE_ANIM_FUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
; BATTLE_ANIM_OBJ_BELLY_DRUM_HAND
battleanimobj RELATIVE_X, $a8, BATTLE_ANIM_FRAMESET_PALM, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_BELLY_DRUM_NOTE
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1, BATTLE_ANIM_FUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
; BATTLE_ANIM_OBJ_MEAN_LOOK
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_MEAN_LOOK, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_PSYCHIC
; BATTLE_ANIM_OBJ_BETA_PURSUIT
battleanimobj RELATIVE_X, $a8, BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH, BATTLE_ANIM_FUNC_BETA_PURSUIT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
; BATTLE_ANIM_OBJ_SHOOTING_SPARKLE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_GROWING_SPARKLE, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
; BATTLE_ANIM_OBJ_RAIN
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLE_ANIM_FRAMESET_RAIN, BATTLE_ANIM_FUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WATER
; BATTLE_ANIM_OBJ_B0
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_MIST, BATTLE_ANIM_FUNC_BATTLE_ANIM_OBJ_B0, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_HAZE
; BATTLE_ANIM_OBJ_PSYCH_UP
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_PSYCH_UP, BATTLE_ANIM_FUNC_PSYCH_UP, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_STATUS
; BATTLE_ANIM_OBJ_ANCIENTPOWER
battleanimobj RELATIVE_X, $b8, BATTLE_ANIM_FRAMESET_BIG_ROCK, BATTLE_ANIM_FUNC_ANCIENT_POWER, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
; BATTLE_ANIM_OBJ_AEROBLAST
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_AEROBLAST, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_AEROBLAST
; BATTLE_ANIM_OBJ_SHADOW_BALL
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_EGG
; BATTLE_ANIM_OBJ_ROCK_SMASH
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_BIG_ROCK, BATTLE_ANIM_FUNC_ROCK_SMASH, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
; BATTLE_ANIM_OBJ_FLOWER
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_FLOWER, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FLOWER
; BATTLE_ANIM_OBJ_COTTON
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_COTTON, BATTLE_ANIM_FUNC_COTTON, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_MISC
; BATTLE_ANIM_OBJ_ENEMYFEET_1ROW
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_ENEMY, BATTLE_ANIM_GFX_PLAYERHEAD
; BATTLE_ANIM_OBJ_PLAYERHEAD_1ROW
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_PLAYERHEAD_1ROW, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_PLAYER, BATTLE_ANIM_GFX_ENEMYFEET
; BATTLE_ANIM_OBJ_ENEMYFEET_2ROW
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_ENEMYFEET_2ROW, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_ENEMY, BATTLE_ANIM_GFX_PLAYERHEAD
; BATTLE_ANIM_OBJ_PLAYERHEAD_2ROW
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_PLAYERHEAD_2ROW, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_PLAYER, BATTLE_ANIM_GFX_ENEMYFEET
assert_table_length NUM_BATTLE_ANIM_OBJS

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,112 @@
SpriteAnimObjects:
; entries correspond to SPRITE_ANIM_OBJ_* constants (see constants/sprite_anim_constants.asm)
table_width 3, SpriteAnimObjects
; frameset, sequence, tile
; SPRITE_ANIM_OBJ_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_FUNC_PARTY_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_TITLE_TRAIL
db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_FUNC_GS_TITLE_TRAIL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_FUNC_NAMING_SCREEN_CURSOR, SPRITE_ANIM_DICT_TEXT_CURSOR
; SPRITE_ANIM_OBJ_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_FUNC_GAMEFREAK_LOGO, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_STAR
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_FUNC_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_DICT_GS_SPLASH
; SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_SPARKLE
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_FUNC_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_DICT_GS_SPLASH
; SPRITE_ANIM_OBJ_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_FUNC_SLOTS_GOLEM, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_OBJ_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_FUNC_SLOTS_CHANSEY, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_OBJ_SLOTS_EGG
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_FUNC_SLOTS_EGG, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_OBJ_COMPOSE_MAIL_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_FUNC_MAIL_CURSOR, SPRITE_ANIM_DICT_TEXT_CURSOR
; SPRITE_ANIM_OBJ_RED_WALK
db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_UNUSED_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_FUNC_UNUSED_CURSOR, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_OBJ_MEMORY_GAME_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_FUNC_MEMORY_GAME_CURSOR, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_OBJ_POKEGEAR_ARROW
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_FUNC_POKEGEAR_ARROW, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_OBJ_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_FUNC_TRADE_POKE_BALL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_TRADE_POOF
db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_TRADE_TUBE_BULGE
db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_FUNC_TRADE_TUBE_BULGE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_TRADEMON_ICON
db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_FUNC_TRADEMON_IN_TUBE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_TRADEMON_BUBBLE
db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_FUNC_TRADEMON_IN_TUBE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_EVOLUTION_BALL_OF_LIGHT
db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_FUNC_REVEAL_NEW_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_RADIO_TUNING_KNOB
db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_FUNC_RADIO_TUNING_KNOB, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MAGNET_TRAIN_RED
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_FUNC_CUT_LEAVES, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_CUT_TREE
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_FLY_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_FUNC_FLY_LEAF, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_EGG_CRACK
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_INTRO_HO_OH_LUGIA
db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA, SPRITE_ANIM_FUNC_GS_INTRO_HO_OH_LUGIA, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_HEADBUTT
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_EGG_HATCH
db SPRITE_ANIM_FRAMESET_EGG_HATCH_1, SPRITE_ANIM_FUNC_REVEAL_NEW_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_EZCHAT_CURSOR
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1, SPRITE_ANIM_FUNC_EZCHAT_CURSOR, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_BLUE_WALK
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MAGNET_TRAIN_BLUE
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MOBILE_TRADE_SENT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MOBILE_TRADE_OT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MOBILE_TRADE_CABLE_BULGE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MOBILE_TRADE_SENT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_FUNC_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MOBILE_TRADE_OT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_FUNC_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_MOBILE_TRADE_PING
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_FUNC_INTRO_SUICUNE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_INTRO_PICHU
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_FUNC_INTRO_PICHU_WOOPER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_INTRO_WOOPER
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_FUNC_INTRO_PICHU_WOOPER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_INTRO_UNOWN
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_FUNC_INTRO_UNOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_INTRO_UNOWN_F
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_FUNC_INTRO_UNOWN_F, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_INTRO_SUICUNE_AWAY
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_FUNC_INTRO_SUICUNE_AWAY, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_FUNC_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_DOWN, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_UP
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_UP, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_UP
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_UP, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_LEFT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_LEFT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
assert_table_length NUM_SPRITE_ANIM_OBJS

View File

@ -1,112 +0,0 @@
SpriteAnimSeqData:
; entries correspond to SPRITE_ANIM_INDEX_* constants (see constants/sprite_anim_constants.asm)
table_width 3, SpriteAnimSeqData
; frameset, sequence, tile
; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, SPRITE_ANIM_DICT_TEXT_CURSOR
; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_DICT_GS_SPLASH
; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE
db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_DICT_GS_SPLASH
; SPRITE_ANIM_INDEX_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_INDEX_SLOTS_EGG
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, SPRITE_ANIM_DICT_SLOTS
; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, SPRITE_ANIM_DICT_TEXT_CURSOR
; SPRITE_ANIM_INDEX_RED_WALK
db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_UNUSED_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_UNUSED_CURSOR, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_INDEX_MEMORY_GAME_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_MEMORY_GAME_CURSOR, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, SPRITE_ANIM_DICT_ARROW_CURSOR
; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADE_POOF
db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADEMON_ICON
db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_CUT_TREE
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_FLY_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EGG_CRACK
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA
db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA, SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_HEADBUTT
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EGG_HATCH
db SPRITE_ANIM_FRAMESET_EGG_HATCH_1, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_EZCHAT_CURSOR
db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1, SPRITE_ANIM_SEQ_EZCHAT_CURSOR, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_BLUE_WALK
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_PICHU
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_WOOPER
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_UNOWN
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_DOWN, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_DOWN, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_UP
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_UP, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_UP
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_UP, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_UP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_LEFT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_LEFT, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_LEFT, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_MALE_WALK_RIGHT, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT
db SPRITE_ANIM_FRAMESET_LEVEL_SELECTION_MENU_FEMALE_WALK_RIGHT, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITE_ANIM_DICT_DEFAULT
assert_table_length NUM_SPRITE_ANIM_INDEXES

View File

@ -14,7 +14,7 @@ Defined in [macros/scripts/battle_anims.asm](https://github.com/pret/pokecrystal
Spawns an *object* at coordinate (*x*, *y*).
- *object*: `ANIM_OBJ` constants (see [constants/battle_anim_constants.asm](https://github.com/pret/pokecrystal/blob/master/constants/battle_anim_constants.asm))
- *object*: `BATTLE_ANIM_OBJ` constants (see [constants/battle_anim_constants.asm](https://github.com/pret/pokecrystal/blob/master/constants/battle_anim_constants.asm))
- *x*: the x position in pixels
- *y*: the y position in pixels
- *x_tile*: an added x position in tiles (8 pixels)
@ -85,7 +85,7 @@ Since there can't be two of the same bg effect, the effect type is used. This is
## `$DA`: `anim_battlergfx_1row`
Loads animation graphics for the bottom one or two rows of the enemy pokemon and the top one or two rows of the player's.
These graphics are identified through `ANIM_GFX_ENEMYFEET` and `ANIM_GFX_PLAYERHEAD`.
These graphics are identified through `BATTLE_ANIM_GFX_ENEMYFEET` and `BATTLE_ANIM_GFX_PLAYERHEAD`.
Caveats:
- Doesn't work with `anim_4gfx` and `anim_5gfx`.

View File

@ -2700,7 +2700,7 @@ If `IsInArray` returns `nc`, data at `bc` will be executed as code.
-; BUG: BattleAnimCmd only clears the first 6⅔ objects (see docs/bugs_and_glitches.md)
ld hl, wActiveAnimObjects
- ld a, $a0
+ ld a, NUM_ANIM_OBJECTS * BATTLEANIMSTRUCT_LENGTH
+ ld a, NUM_BATTLE_ANIM_STRUCTS * BATTLEANIMSTRUCT_LENGTH
.loop
ld [hl], 0
inc hl

View File

@ -672,7 +672,7 @@ _Sine::
calc_sine_wave
```
`Sprites_Cosine` and `Sprites_Sine` in [engine/gfx/sprites.asm](https://github.com/pret/pokecrystal/blob/master/engine/gfx/sprites.asm):
`Sprites_Cosine` and `Sprites_Sine` in [engine/sprite_anims/core.asm](https://github.com/pret/pokecrystal/blob/master/engine/sprite_anims/core.asm):
```asm
Sprites_Cosine:

View File

@ -116,7 +116,7 @@ RunBattleAnimScript:
cp ROLLOUT
jr nz, .not_rollout
ld a, ANIM_BG_ROLLOUT
ld a, BATTLE_BG_EFFECT_ROLLOUT
ld b, NUM_BG_EFFECTS
ld de, BG_EFFECT_STRUCT_LENGTH
ld hl, wBGEffect1Function
@ -645,7 +645,7 @@ BattleAnimCmd_ResetObp0:
BattleAnimCmd_ClearObjs:
ld hl, wActiveAnimObjects
ld a, NUM_ANIM_OBJECTS * BATTLEANIMSTRUCT_LENGTH
ld a, NUM_BATTLE_ANIM_STRUCTS * BATTLEANIMSTRUCT_LENGTH
.loop
ld [hl], 0
inc hl
@ -695,7 +695,7 @@ endr
BattleAnimCmd_IncObj:
call GetBattleAnimByte
ld e, NUM_ANIM_OBJECTS
ld e, NUM_BATTLE_ANIM_STRUCTS
ld bc, wActiveAnimObjects
.loop
ld hl, BATTLEANIMSTRUCT_INDEX
@ -745,7 +745,7 @@ BattleAnimCmd_IncBGEffect:
BattleAnimCmd_SetObj:
call GetBattleAnimByte
ld e, NUM_ANIM_OBJECTS
ld e, NUM_BATTLE_ANIM_STRUCTS
ld bc, wActiveAnimObjects
.loop
ld hl, BATTLEANIMSTRUCT_INDEX
@ -780,11 +780,11 @@ BattleAnimCmd_BattlerGFX_1Row:
jr .loop
.okay
ld a, ANIM_GFX_PLAYERHEAD
ld a, BATTLE_ANIM_GFX_PLAYERHEAD
ld [hli], a
ld a, ($80 - 6 - 7) - BATTLEANIM_BASE_TILE
ld [hli], a
ld a, ANIM_GFX_ENEMYFEET
ld a, BATTLE_ANIM_GFX_ENEMYFEET
ld [hli], a
ld a, ($80 - 6) - BATTLEANIM_BASE_TILE
ld [hl], a
@ -834,11 +834,11 @@ BattleAnimCmd_BattlerGFX_2Row:
jr .loop
.okay
ld a, ANIM_GFX_PLAYERHEAD
ld a, BATTLE_ANIM_GFX_PLAYERHEAD
ld [hli], a
ld a, ($80 - 6 * 2 - 7 * 2) - BATTLEANIM_BASE_TILE
ld [hli], a
ld a, ANIM_GFX_ENEMYFEET
ld a, BATTLE_ANIM_GFX_ENEMYFEET
ld [hli], a
ld a, ($80 - 6 * 2) - BATTLEANIM_BASE_TILE
ld [hl], a
@ -1422,7 +1422,7 @@ BattleAnim_UpdateOAM_All:
ld a, 0
ld [wBattleAnimOAMPointerLo], a
ld hl, wActiveAnimObjects
ld e, NUM_ANIM_OBJECTS
ld e, NUM_BATTLE_ANIM_STRUCTS
.loop
ld a, [hl]
and a

View File

@ -78,7 +78,7 @@ DoBattleBGEffectFunction:
jp hl
BattleBGEffects:
; entries correspond to ANIM_BG_* constants
; entries correspond to BATTLE_BG_EFFECT_* constants
dw BattleBGEffect_End
dw BattleBGEffect_FlashInverted
dw BattleBGEffect_FlashWhite
@ -402,13 +402,13 @@ BattleBGEffect_BattlerObj_1Row:
push bc
call BGEffect_CheckBattleTurn
jr nz, .player_side
ld a, ANIM_OBJ_ENEMYFEET_1ROW
ld a, BATTLE_ANIM_OBJ_ENEMYFEET_1ROW
ld [wBattleObjectTempID], a
ld a, 16 * TILE_WIDTH + 4
jr .okay
.player_side
ld a, ANIM_OBJ_PLAYERHEAD_1ROW
ld a, BATTLE_ANIM_OBJ_PLAYERHEAD_1ROW
ld [wBattleObjectTempID], a
ld a, 6 * TILE_WIDTH
.okay
@ -469,13 +469,13 @@ BattleBGEffect_BattlerObj_2Row:
push bc
call BGEffect_CheckBattleTurn
jr nz, .player_side
ld a, ANIM_OBJ_ENEMYFEET_2ROW
ld a, BATTLE_ANIM_OBJ_ENEMYFEET_2ROW
ld [wBattleObjectTempID], a
ld a, 16 * TILE_WIDTH + 4
jr .okay
.player_side
ld a, ANIM_OBJ_PLAYERHEAD_2ROW
ld a, BATTLE_ANIM_OBJ_PLAYERHEAD_2ROW
ld [wBattleObjectTempID], a
ld a, 6 * TILE_WIDTH
.okay

View File

@ -1,6 +1,6 @@
QueueBattleAnimation:
ld hl, wActiveAnimObjects
ld e, NUM_ANIM_OBJECTS
ld e, NUM_BATTLE_ANIM_STRUCTS
.loop
ld a, [hl]
and a

File diff suppressed because it is too large Load Diff

View File

@ -14,14 +14,14 @@ CelebiShrineEvent:
ld [wVramState], a
call LoadCelebiGFX
depixel 0, 10, 7, 0
ld a, SPRITE_ANIM_INDEX_CELEBI
ld a, SPRITE_ANIM_OBJ_CELEBI
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], SPECIALCELEBIEVENT_CELEBI
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_CELEBI
ld [hl], SPRITE_ANIM_FUNC_CELEBI
ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc
ld a, $80
@ -111,7 +111,7 @@ CelebiEvent_SpawnLeaf: ; unreferenced
add $40
ld d, a
ld e, $0
ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land
ld a, SPRITE_ANIM_OBJ_FLY_LEAF ; fly land
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc

View File

@ -31,7 +31,7 @@ ShakeHeadbuttTree:
lb bc, BANK(HeadbuttTreeGFX), 8
call Request2bpp
call Cut_Headbutt_GetPixelFacing
ld a, SPRITE_ANIM_INDEX_HEADBUTT
ld a, SPRITE_ANIM_OBJ_HEADBUTT
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -163,7 +163,7 @@ OWCutJumptable:
Cut_SpawnAnimateTree:
call Cut_Headbutt_GetPixelFacing
ld a, SPRITE_ANIM_INDEX_CUT_TREE ; cut tree
ld a, SPRITE_ANIM_OBJ_CUT_TREE ; cut tree
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -216,7 +216,7 @@ Cut_WaitAnimSFX:
Cut_SpawnLeaf:
push de
push af
ld a, SPRITE_ANIM_INDEX_LEAF ; leaf
ld a, SPRITE_ANIM_OBJ_LEAF ; leaf
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -303,14 +303,14 @@ FlyFromAnim:
ld [wVramState], a
call FlyFunction_InitGFX
depixel 10, 10, 4, 0
ld a, SPRITE_ANIM_INDEX_RED_WALK
ld a, SPRITE_ANIM_OBJ_RED_WALK
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], FIELDMOVE_FLY
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_FLY_FROM
ld [hl], SPRITE_ANIM_FUNC_FLY_FROM
ld a, 128
ld [wFrameCounter], a
.loop
@ -337,14 +337,14 @@ FlyToAnim:
ld [wVramState], a
call FlyFunction_InitGFX
depixel 31, 10, 4, 0
ld a, SPRITE_ANIM_INDEX_RED_WALK
ld a, SPRITE_ANIM_OBJ_RED_WALK
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], FIELDMOVE_FLY
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_FLY_TO
ld [hl], SPRITE_ANIM_FUNC_FLY_TO
ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc
ld [hl], 11 * TILE_WIDTH
@ -436,7 +436,7 @@ FlyFunction_FrameTimer:
add 8 * 8 ; gives a number in [$40, $50, $60, $70]
ld d, a
ld e, 0
ld a, SPRITE_ANIM_INDEX_FLY_LEAF
ld a, SPRITE_ANIM_OBJ_FLY_LEAF
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc

View File

@ -292,7 +292,7 @@ MagnetTrain_Jumptable:
ld d, (8 + 2) * TILE_WIDTH + 5
ld a, [wMagnetTrainPlayerSpriteInitX]
ld e, a
ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
ld b, SPRITE_ANIM_OBJ_MAGNET_TRAIN_RED
ldh a, [rSVBK]
push af
ld a, BANK(wPlayerGender)
@ -300,7 +300,7 @@ MagnetTrain_Jumptable:
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
ld b, SPRITE_ANIM_OBJ_MAGNET_TRAIN_BLUE
.got_gender
pop af
ldh [rSVBK], a

View File

@ -109,7 +109,7 @@ endr
.spawn_object
depixel 6, 3, 4, 4
ld a, SPRITE_ANIM_INDEX_MEMORY_GAME_CURSOR
ld a, SPRITE_ANIM_OBJ_MEMORY_GAME_CURSOR
call InitSpriteAnimStruct
ld a, 5
ld [wMemoryGameNumberTriesRemaining], a

View File

@ -1147,7 +1147,7 @@ ReelAction_InitGolem:
push bc
push af
depixel 12, 13
ld a, SPRITE_ANIM_INDEX_SLOTS_GOLEM
ld a, SPRITE_ANIM_OBJ_SLOTS_GOLEM
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc
@ -1208,7 +1208,7 @@ ReelAction_InitChansey:
ld [hl], 0
push bc
depixel 12, 0
ld a, SPRITE_ANIM_INDEX_SLOTS_CHANSEY
ld a, SPRITE_ANIM_OBJ_SLOTS_CHANSEY
call InitSpriteAnimStruct
pop bc
xor a
@ -2129,7 +2129,7 @@ Slots_AnimateChansey:
dec [hl]
push bc
depixel 12, 13, 0, 4
ld a, SPRITE_ANIM_INDEX_SLOTS_EGG
ld a, SPRITE_ANIM_OBJ_SLOTS_EGG
call InitSpriteAnimStruct
pop bc
ret

View File

@ -137,7 +137,7 @@ InitPartyMenuIcon:
; x coord
ld e, $10
; type is partymon icon
ld a, SPRITE_ANIM_INDEX_PARTY_MON
ld a, SPRITE_ANIM_OBJ_PARTY_MON
call _InitSpriteAnimStruct
pop af
ld hl, SPRITEANIMSTRUCT_TILE_ID
@ -184,11 +184,11 @@ NamingScreen_InitAnimatedMonIcon:
xor a
call GetIconGFX
depixel 4, 4, 4, 0
ld a, SPRITE_ANIM_INDEX_PARTY_MON
ld a, SPRITE_ANIM_OBJ_PARTY_MON
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_NULL
ld [hl], SPRITE_ANIM_FUNC_NULL
ret
MoveList_InitAnimatedMonIcon:
@ -199,11 +199,11 @@ MoveList_InitAnimatedMonIcon:
call GetIconGFX
ld d, 3 * TILE_WIDTH + 2 ; depixel 3, 4, 2, 4
ld e, 4 * TILE_WIDTH + 4
ld a, SPRITE_ANIM_INDEX_PARTY_MON
ld a, SPRITE_ANIM_OBJ_PARTY_MON
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_NULL
ld [hl], SPRITE_ANIM_FUNC_NULL
ret
Trade_LoadMonIconGFX:
@ -323,11 +323,11 @@ FreezeMonIcons:
jr z, .next
cp d
jr z, .loadwithtwo
ld a, SPRITE_ANIM_SEQ_NULL
ld a, SPRITE_ANIM_FUNC_NULL
jr .ok
.loadwithtwo
ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
ld a, SPRITE_ANIM_FUNC_PARTY_MON_SWITCH
.ok
push hl
@ -357,7 +357,7 @@ UnfreezeMonIcons:
ld b, h
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_PARTY_MON
ld [hl], SPRITE_ANIM_FUNC_PARTY_MON
pop hl
.next
ld bc, $10
@ -377,11 +377,11 @@ HoldSwitchmonIcon:
jr z, .next
cp d
jr z, .is_switchmon
ld a, SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
ld a, SPRITE_ANIM_FUNC_PARTY_MON_SELECTED
jr .join_back
.is_switchmon
ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
ld a, SPRITE_ANIM_FUNC_PARTY_MON_SWITCH
.join_back
push hl
ld c, l

View File

@ -240,7 +240,7 @@ LevelSelectionMenu_InitPlayerSprite:
push af
depixel 0, 0
; all the SPRITE_ANIM_* related to the level selection menu are sorted by direction, then by gender
ld b, SPRITE_ANIM_INDEX_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
ld b, SPRITE_ANIM_OBJ_LEVEL_SELECTION_MENU_MALE_WALK_DOWN
ld a, [wPlayerGender]
add b
call InitSpriteAnimStruct
@ -343,7 +343,7 @@ LevelSelectionMenu_SetAnimSeqAndFrameset:
ld bc, wSpriteAnim1
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld a, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_DOWN
ld a, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN
add e ; add direction
ld [hl], a
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
@ -361,7 +361,7 @@ LevelSelectionMenu_DoPageChangeEvent:
ld de, .Events
ld bc, wSpriteAnim1
.loop
ld a, [de] ; SPRITE_ANIM_SEQ_* or $00 table terminator
ld a, [de] ; SPRITE_ANIM_FUNC_* or $00 table terminator
and a
ret z
inc de
@ -424,16 +424,16 @@ DEF PAGE_EDGE_LEFT EQU $08
DEF PAGE_EDGE_RIGHT EQU $a8
MACRO page_change_event
; SPRITE_ANIM_SEQ_* to match, Match object's X or Y, X/Y coordinate, Action if both SPRITE_ANIM_SEQ_* and X/Y match
; SPRITE_ANIM_FUNC_* to match, Match object's X or Y, X/Y coordinate, Action if both SPRITE_ANIM_FUNC_* and X/Y match
db \1, \2, \3
dw \4
ENDM
.Events:
page_change_event SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITEANIMSTRUCT_YCOORD, PAGE_EDGE_DOWN, .PageChangeDown
page_change_event SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_UP, SPRITEANIMSTRUCT_YCOORD, PAGE_EDGE_UP, .PageChangeUp
page_change_event SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITEANIMSTRUCT_XCOORD, PAGE_EDGE_LEFT, .PageChangeLeft
page_change_event SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITEANIMSTRUCT_XCOORD, PAGE_EDGE_RIGHT, .PageChangeRight
page_change_event SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN, SPRITEANIMSTRUCT_YCOORD, PAGE_EDGE_DOWN, .PageChangeDown
page_change_event SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_UP, SPRITEANIMSTRUCT_YCOORD, PAGE_EDGE_UP, .PageChangeUp
page_change_event SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_LEFT, SPRITEANIMSTRUCT_XCOORD, PAGE_EDGE_LEFT, .PageChangeLeft
page_change_event SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_RIGHT, SPRITEANIMSTRUCT_XCOORD, PAGE_EDGE_RIGHT, .PageChangeRight
db $0
.PageChangeDown:
@ -675,7 +675,7 @@ LevelSelectionMenu_Delay10Frames:
ret
_LevelSelectionMenuHandleTransition:
; Called from the corresponding SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_* animation sequence.
; Called from the corresponding SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_* animation sequence.
; This function is here because LevelSelectionMenu_LandmarkTransitions is in this bank.
; Applies the animation to the player sprite for the current frame.
ld hl, wLevelSelectionMenuLandmarkTransitionsPointer
@ -748,7 +748,7 @@ _LevelSelectionMenuHandleTransition:
; make the player sprite face down as the default state
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld a, SPRITE_ANIM_SEQ_LEVEL_SELECTION_MENU_WALK_DOWN
ld a, SPRITE_ANIM_FUNC_LEVEL_SELECTION_MENU_WALK_DOWN
ld [hl], a
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc

View File

@ -166,7 +166,7 @@ NamingScreen:
ld [hli], a
ld [hl], a
depixel 4, 4, 4, 0
ld a, SPRITE_ANIM_INDEX_RED_WALK
ld a, SPRITE_ANIM_OBJ_RED_WALK
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
@ -198,14 +198,14 @@ NamingScreen:
ld [hli], a
ld [hl], a
pop de
ld b, SPRITE_ANIM_INDEX_RED_WALK
ld b, SPRITE_ANIM_OBJ_RED_WALK
ld a, d
cp HIGH(KrisSpriteGFX)
jr nz, .not_kris
ld a, e
cp LOW(KrisSpriteGFX)
jr nz, .not_kris
ld b, SPRITE_ANIM_INDEX_BLUE_WALK
ld b, SPRITE_ANIM_OBJ_BLUE_WALK
.not_kris
ld a, b
depixel 4, 4, 4, 0
@ -367,7 +367,7 @@ NamingScreenJoypadLoop:
jr nz, .got_cursor_position
ld d, 8 * TILE_WIDTH
.got_cursor_position
ld a, SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
ld a, SPRITE_ANIM_OBJ_NAMING_SCREEN_CURSOR
call InitSpriteAnimStruct
ld a, c
ld [wNamingScreenCursorObjectPointer], a
@ -917,7 +917,7 @@ _ComposeMailMessage:
; init mail icon
depixel 3, 2
ld a, SPRITE_ANIM_INDEX_PARTY_MON
ld a, SPRITE_ANIM_OBJ_PARTY_MON
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
@ -1033,7 +1033,7 @@ INCBIN "gfx/naming_screen/mail.2bpp"
.init_blinking_cursor
depixel 9, 2
ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
ld a, SPRITE_ANIM_OBJ_COMPOSE_MAIL_CURSOR
call InitSpriteAnimStruct
ld a, c
ld [wNamingScreenCursorObjectPointer], a

View File

@ -311,7 +311,7 @@ EvolutionAnimation:
.GenerateBallOfLight:
push de
depixel 9, 11
ld a, SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
ld a, SPRITE_ANIM_OBJ_EVOLUTION_BALL_OF_LIGHT
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc

View File

@ -388,7 +388,7 @@ IntroScene7:
call Intro_ResetLYOverrides
farcall ClearSpriteAnims
depixel 13, 27, 4, 0
ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE
ld a, SPRITE_ANIM_OBJ_INTRO_SUICUNE
call InitSpriteAnimStruct
ld a, $f0
ld [wGlobalAnimXOffset], a
@ -481,7 +481,7 @@ IntroScene10:
.pichu
depixel 21, 16, 1, 0
ld a, SPRITE_ANIM_INDEX_INTRO_PICHU
ld a, SPRITE_ANIM_OBJ_INTRO_PICHU
call InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU
call PlaySFX
@ -489,7 +489,7 @@ IntroScene10:
.wooper
depixel 22, 6
ld a, SPRITE_ANIM_INDEX_INTRO_WOOPER
ld a, SPRITE_ANIM_OBJ_INTRO_WOOPER
call InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU
call PlaySFX
@ -668,7 +668,7 @@ IntroScene13:
ldh [hWY], a
farcall ClearSpriteAnims
depixel 13, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE
ld a, SPRITE_ANIM_OBJ_INTRO_SUICUNE
call InitSpriteAnimStruct
ld de, MUSIC_CRYSTAL_OPENING
call PlayMusic
@ -779,10 +779,10 @@ IntroScene15:
farcall ClearSpriteAnims
call Intro_SetCGBPalUpdate
depixel 8, 5
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN_F
ld a, SPRITE_ANIM_OBJ_INTRO_UNOWN_F
call InitSpriteAnimStruct
depixel 12, 0
ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
ld a, SPRITE_ANIM_OBJ_INTRO_SUICUNE_AWAY
call InitSpriteAnimStruct
xor a
ld [wIntroSceneFrameCounter], a
@ -931,7 +931,7 @@ IntroScene19:
ld [hl], $7f
call Intro_SetCGBPalUpdate
depixel 12, 0
ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
ld a, SPRITE_ANIM_OBJ_INTRO_SUICUNE_AWAY
call InitSpriteAnimStruct
xor a
ld [wIntroSceneFrameCounter], a
@ -1189,7 +1189,7 @@ INCLUDE "gfx/intro/fade.pal"
CrystalIntro_InitUnownAnim:
push de
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
ld a, SPRITE_ANIM_OBJ_INTRO_UNOWN
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
@ -1199,7 +1199,7 @@ CrystalIntro_InitUnownAnim:
pop de
push de
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
ld a, SPRITE_ANIM_OBJ_INTRO_UNOWN
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
@ -1209,7 +1209,7 @@ CrystalIntro_InitUnownAnim:
pop de
push de
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
ld a, SPRITE_ANIM_OBJ_INTRO_UNOWN
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
@ -1218,7 +1218,7 @@ CrystalIntro_InitUnownAnim:
call ReinitSpriteAnimFrame
pop de
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
ld a, SPRITE_ANIM_OBJ_INTRO_UNOWN
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc

View File

@ -89,7 +89,7 @@ GameFreakPresentsInit:
farcall ClearSpriteAnims
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
ld a, SPRITE_ANIM_OBJ_GAMEFREAK_LOGO
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc

View File

@ -354,7 +354,7 @@ TradeAnim_InitTubeAnim:
call LoadTradeBubbleGFX
pop de
ld a, SPRITE_ANIM_INDEX_TRADEMON_ICON
ld a, SPRITE_ANIM_OBJ_TRADEMON_ICON
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
@ -363,7 +363,7 @@ TradeAnim_InitTubeAnim:
ld [hl], b
pop de
ld a, SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
ld a, SPRITE_ANIM_OBJ_TRADEMON_BUBBLE
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
@ -1007,7 +1007,7 @@ TrademonStats_PrintTrademonID:
TradeAnim_RockingBall:
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL
ld a, SPRITE_ANIM_OBJ_TRADE_POKE_BALL
call InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
ld a, 32
@ -1016,7 +1016,7 @@ TradeAnim_RockingBall:
TradeAnim_DropBall:
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL
ld a, SPRITE_ANIM_OBJ_TRADE_POKE_BALL
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
@ -1031,7 +1031,7 @@ TradeAnim_DropBall:
TradeAnim_Poof:
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_TRADE_POOF
ld a, SPRITE_ANIM_OBJ_TRADE_POOF
call InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
ld a, 16
@ -1044,7 +1044,7 @@ TradeAnim_BulgeThroughTube:
ld a, %11100100 ; 3,2,1,0
call DmgToCgbObjPal0
depixel 5, 11
ld a, SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
ld a, SPRITE_ANIM_OBJ_TRADE_TUBE_BULGE
call InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
ld a, 64

View File

@ -150,7 +150,7 @@ INCBIN "gfx/pokegear/fast_ship.2bpp"
InitPokegearModeIndicatorArrow:
depixel 4, 2, 4, 0
ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW
ld a, SPRITE_ANIM_OBJ_POKEGEAR_ARROW
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -560,11 +560,11 @@ PokegearMap_ContinueMap:
PokegearMap_InitPlayerIcon:
push af
depixel 0, 0
ld b, SPRITE_ANIM_INDEX_RED_WALK
ld b, SPRITE_ANIM_OBJ_RED_WALK
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_BLUE_WALK
ld b, SPRITE_ANIM_OBJ_BLUE_WALK
.got_gender
ld a, b
call InitSpriteAnimStruct
@ -587,14 +587,14 @@ PokegearMap_InitPlayerIcon:
PokegearMap_InitCursor:
push af
depixel 0, 0
ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW
ld a, SPRITE_ANIM_OBJ_POKEGEAR_ARROW
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $04
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_NULL
ld [hl], SPRITE_ANIM_FUNC_NULL
pop af
push bc
call PokegearMap_UpdateCursorPosition
@ -632,7 +632,7 @@ PokegearMap_UpdateCursorPosition:
PokegearRadio_Init:
call InitPokegearTilemap
depixel 4, 10, 4, 4
ld a, SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
ld a, SPRITE_ANIM_OBJ_RADIO_TUNING_KNOB
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -2429,14 +2429,14 @@ TownMapMon:
farcall GetSpeciesIcon
; Animation/palette
depixel 0, 0
ld a, SPRITE_ANIM_INDEX_PARTY_MON
ld a, SPRITE_ANIM_OBJ_PARTY_MON
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
ld [hl], $08
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_NULL
ld [hl], SPRITE_ANIM_FUNC_NULL
ret
TownMapPlayerIcon:
@ -2458,11 +2458,11 @@ TownMapPlayerIcon:
call Request2bpp
; Animation/palette
depixel 0, 0
ld b, SPRITE_ANIM_INDEX_RED_WALK ; Male
ld b, SPRITE_ANIM_OBJ_RED_WALK ; Male
ld a, [wPlayerGender]
bit PLAYERGENDER_FEMALE_F, a
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_BLUE_WALK ; Female
ld b, SPRITE_ANIM_OBJ_BLUE_WALK ; Female
.got_gender
ld a, b
call InitSpriteAnimStruct

View File

@ -652,7 +652,7 @@ Hatch_UpdateFrontpicBGMapCenter:
call SetPalettes
jp WaitBGMap
EggHatch_DoAnimFrame:
EggHatch_DoSpriteAnimFrame:
push hl
push de
push bc
@ -711,14 +711,14 @@ EggHatch_AnimationSequence:
ldh [hSCX], a
ld a, -2
ld [wGlobalAnimXOffset], a
call EggHatch_DoAnimFrame
call EggHatch_DoSpriteAnimFrame
ld c, 2
call DelayFrames
ld a, -2
ldh [hSCX], a
ld a, 2
ld [wGlobalAnimXOffset], a
call EggHatch_DoAnimFrame
call EggHatch_DoSpriteAnimFrame
ld c, 2
call DelayFrames
dec e
@ -772,7 +772,7 @@ EggHatch_CrackShell:
add 9 * TILE_WIDTH + 4
ld d, a
ld e, 11 * TILE_WIDTH
ld a, SPRITE_ANIM_INDEX_EGG_CRACK
ld a, SPRITE_ANIM_OBJ_EGG_CRACK
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -800,7 +800,7 @@ Hatch_InitShellFragments:
push hl
push bc
ld a, SPRITE_ANIM_INDEX_EGG_HATCH
ld a, SPRITE_ANIM_OBJ_EGG_HATCH
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
@ -823,7 +823,7 @@ Hatch_InitShellFragments:
.done
ld de, SFX_EGG_HATCH
call PlaySFX
call EggHatch_DoAnimFrame
call EggHatch_DoSpriteAnimFrame
ret
MACRO shell_fragment
@ -847,7 +847,7 @@ ENDM
Hatch_ShellFragmentLoop:
ld c, 129
.loop
call EggHatch_DoAnimFrame
call EggHatch_DoSpriteAnimFrame
dec c
jr nz, .loop
ret

View File

@ -43,7 +43,7 @@ DoNextFrameForAllSprites:
ld b, h
push hl
push de
call DoAnimFrame ; Uses a massive dw
call DoSpriteAnimFrame ; Uses a massive dw
call UpdateAnimFrame
pop de
pop hl
@ -87,7 +87,7 @@ DoNextFrameForFirst16Sprites:
ld b, h
push hl
push de
call DoAnimFrame ; Uses a massive dw
call DoSpriteAnimFrame ; Uses a massive dw
call UpdateAnimFrame
pop de
pop hl
@ -150,11 +150,11 @@ _InitSpriteAnimStruct::
inc [hl]
.nonzero
; Get row a of SpriteAnimSeqData, copy the pointer into de
; Get row a of SpriteAnimObjects, copy the pointer into de
pop af
ld e, a
ld d, 0
ld hl, SpriteAnimSeqData
ld hl, SpriteAnimObjects
add hl, de
add hl, de
add hl, de
@ -531,9 +531,9 @@ UnusedLoadSpriteAnimGFX: ; unreferenced
pop bc
ret
INCLUDE "data/sprite_anims/sequences.asm"
INCLUDE "data/sprite_anims/objects.asm"
INCLUDE "engine/gfx/sprite_anims.asm"
INCLUDE "engine/sprite_anims/functions.asm"
INCLUDE "data/sprite_anims/framesets.asm"

View File

@ -1,4 +1,4 @@
DoAnimFrame:
DoSpriteAnimFrame:
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld e, [hl]
@ -12,59 +12,59 @@ DoAnimFrame:
jp hl
.Jumptable:
; entries correspond to SPRITE_ANIM_SEQ_* constants (see constants/sprite_anim_constants.asm)
table_width 2, DoAnimFrame.Jumptable
dw AnimSeq_Null
dw AnimSeq_PartyMon
dw AnimSeq_PartyMonSwitch
dw AnimSeq_PartyMonSelected
dw AnimSeq_GSTitleTrail
dw AnimSeq_NamingScreenCursor
dw AnimSeq_GameFreakLogo
dw AnimSeq_GSGameFreakLogoStar
dw AnimSeq_GSGameFreakLogoSparkle
dw AnimSeq_SlotsGolem
dw AnimSeq_SlotsChansey
dw AnimSeq_SlotsChanseyEgg
dw AnimSeq_MailCursor
dw AnimSeq_UnusedCursor
dw AnimSeq_MemoryGameCursor
dw AnimSeq_PokegearArrow
dw AnimSeq_TradePokeBall
dw AnimSeq_TradeTubeBulge
dw AnimSeq_TrademonInTube
dw AnimSeq_RevealNewMon
dw AnimSeq_RadioTuningKnob
dw AnimSeq_CutLeaves
dw AnimSeq_FlyFrom
dw AnimSeq_FlyLeaf
dw AnimSeq_FlyTo
dw AnimSeq_GSIntroHoOhLugia
dw AnimSeq_EZChatCursor
dw AnimSeq_MobileTradeSentPulse
dw AnimSeq_MobileTradeOTPulse
dw AnimSeq_IntroSuicune
dw AnimSeq_IntroPichuWooper
dw AnimSeq_Celebi
dw AnimSeq_IntroUnown
dw AnimSeq_IntroUnownF
dw AnimSeq_IntroSuicuneAway
dw AnimSeq_LevelSelectionMenuWalkDown
dw AnimSeq_LevelSelectionMenuWalkUp
dw AnimSeq_LevelSelectionMenuWalkLeft
dw AnimSeq_LevelSelectionMenuWalkRight
assert_table_length NUM_SPRITE_ANIM_SEQS
; entries correspond to SPRITE_ANIM_FUNC_* constants (see constants/sprite_anim_constants.asm)
table_width 2, DoSpriteAnimFrame.Jumptable
dw SpriteAnimFunc_Null
dw SpriteAnimFunc_PartyMon
dw SpriteAnimFunc_PartyMonSwitch
dw SpriteAnimFunc_PartyMonSelected
dw SpriteAnimFunc_GSTitleTrail
dw SpriteAnimFunc_NamingScreenCursor
dw SpriteAnimFunc_GameFreakLogo
dw SpriteAnimFunc_GSGameFreakLogoStar
dw SpriteAnimFunc_GSGameFreakLogoSparkle
dw SpriteAnimFunc_SlotsGolem
dw SpriteAnimFunc_SlotsChansey
dw SpriteAnimFunc_SlotsChanseyEgg
dw SpriteAnimFunc_MailCursor
dw SpriteAnimFunc_UnusedCursor
dw SpriteAnimFunc_MemoryGameCursor
dw SpriteAnimFunc_PokegearArrow
dw SpriteAnimFunc_TradePokeBall
dw SpriteAnimFunc_TradeTubeBulge
dw SpriteAnimFunc_TrademonInTube
dw SpriteAnimFunc_RevealNewMon
dw SpriteAnimFunc_RadioTuningKnob
dw SpriteAnimFunc_CutLeaves
dw SpriteAnimFunc_FlyFrom
dw SpriteAnimFunc_FlyLeaf
dw SpriteAnimFunc_FlyTo
dw SpriteAnimFunc_GSIntroHoOhLugia
dw SpriteAnimFunc_EZChatCursor
dw SpriteAnimFunc_MobileTradeSentPulse
dw SpriteAnimFunc_MobileTradeOTPulse
dw SpriteAnimFunc_IntroSuicune
dw SpriteAnimFunc_IntroPichuWooper
dw SpriteAnimFunc_Celebi
dw SpriteAnimFunc_IntroUnown
dw SpriteAnimFunc_IntroUnownF
dw SpriteAnimFunc_IntroSuicuneAway
dw SpriteAnimFunc_LevelSelectionMenuWalkDown
dw SpriteAnimFunc_LevelSelectionMenuWalkUp
dw SpriteAnimFunc_LevelSelectionMenuWalkLeft
dw SpriteAnimFunc_LevelSelectionMenuWalkRight
assert_table_length NUM_SPRITE_ANIM_FUNCS
AnimSeq_Null:
SpriteAnimFunc_Null:
ret
AnimSeq_PartyMon:
SpriteAnimFunc_PartyMon:
ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc
cp [hl]
jr z, AnimSeq_PartyMonSwitch
jr z, SpriteAnimFunc_PartyMonSwitch
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
@ -75,7 +75,7 @@ AnimSeq_PartyMon:
ld [hl], 0
ret
AnimSeq_PartyMonSwitch:
SpriteAnimFunc_PartyMonSwitch:
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hl], 8 * 3
@ -117,7 +117,7 @@ AnimSeq_PartyMonSwitch:
ld [hl], a
ret
AnimSeq_PartyMonSelected:
SpriteAnimFunc_PartyMonSelected:
ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX
@ -136,7 +136,7 @@ AnimSeq_PartyMonSelected:
ld [hl], 8 * 3
ret
AnimSeq_GSTitleTrail:
SpriteAnimFunc_GSTitleTrail:
call AnimSeqs_AnonJumptable
jp hl
.anon_dw
@ -203,7 +203,7 @@ AnimSeq_GSTitleTrail:
call DeinitializeSprite
ret
AnimSeq_GSIntroHoOhLugia:
SpriteAnimFunc_GSIntroHoOhLugia:
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@ -217,19 +217,19 @@ AnimSeq_GSIntroHoOhLugia:
ld [hl], a
ret
AnimSeq_NamingScreenCursor:
SpriteAnimFunc_NamingScreenCursor:
callfar NamingScreen_AnimateCursor
ret
AnimSeq_MailCursor:
SpriteAnimFunc_MailCursor:
callfar ComposeMail_AnimateCursor
ret
AnimSeq_GameFreakLogo:
SpriteAnimFunc_GameFreakLogo:
callfar GameFreakLogoSpriteAnim
ret
AnimSeq_GSGameFreakLogoStar:
SpriteAnimFunc_GSGameFreakLogoStar:
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@ -280,7 +280,7 @@ AnimSeq_GSGameFreakLogoStar:
call DeinitializeSprite
ret
AnimSeq_GSGameFreakLogoSparkle:
SpriteAnimFunc_GSGameFreakLogoSparkle:
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, [hli]
@ -357,11 +357,11 @@ AnimSeq_GSGameFreakLogoSparkle:
call DeinitializeSprite
ret
AnimSeq_SlotsGolem:
SpriteAnimFunc_SlotsGolem:
callfar Slots_AnimateGolem
ret
AnimSeq_SlotsChansey:
SpriteAnimFunc_SlotsChansey:
callfar Slots_AnimateChansey
ld hl, wSlotsDelay
ld a, [hl]
@ -372,7 +372,7 @@ AnimSeq_SlotsChansey:
call _ReinitSpriteAnimFrame
ret
AnimSeq_SlotsChanseyEgg:
SpriteAnimFunc_SlotsChanseyEgg:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld a, [hl]
@ -405,19 +405,19 @@ AnimSeq_SlotsChanseyEgg:
ld [hl], a
ret
AnimSeq_UnusedCursor:
SpriteAnimFunc_UnusedCursor:
callfar UnusedCursor_InterpretJoypad_AnimateCursor
ret
AnimSeq_PokegearArrow:
SpriteAnimFunc_PokegearArrow:
callfar AnimatePokegearModeIndicatorArrow
ret
AnimSeq_MemoryGameCursor:
SpriteAnimFunc_MemoryGameCursor:
callfar MemoryGame_InterpretJoypad_AnimateCursor
ret
AnimSeq_TradePokeBall:
SpriteAnimFunc_TradePokeBall:
call AnimSeqs_AnonJumptable
jp hl
.anon_dw
@ -541,7 +541,7 @@ AnimSeq_TradePokeBall:
call DeinitializeSprite
ret
AnimSeq_TradeTubeBulge:
SpriteAnimFunc_TradeTubeBulge:
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@ -559,11 +559,11 @@ AnimSeq_TradeTubeBulge:
call DeinitializeSprite
ret
AnimSeq_TrademonInTube:
SpriteAnimFunc_TrademonInTube:
callfar TradeAnim_AnimateTrademonInTube
ret
AnimSeq_RevealNewMon:
SpriteAnimFunc_RevealNewMon:
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@ -600,11 +600,11 @@ AnimSeq_RevealNewMon:
call DeinitializeSprite
ret
AnimSeq_RadioTuningKnob:
SpriteAnimFunc_RadioTuningKnob:
callfar AnimateTuningKnob
ret
AnimSeq_CutLeaves:
SpriteAnimFunc_CutLeaves:
ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc
ld e, [hl]
@ -643,7 +643,7 @@ AnimSeq_CutLeaves:
ld [hl], a
ret
AnimSeq_FlyFrom:
SpriteAnimFunc_FlyFrom:
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
@ -682,7 +682,7 @@ AnimSeq_FlyFrom:
ld [hl], a
ret
AnimSeq_FlyLeaf:
SpriteAnimFunc_FlyLeaf:
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
@ -711,7 +711,7 @@ AnimSeq_FlyLeaf:
call DeinitializeSprite
ret
AnimSeq_FlyTo:
SpriteAnimFunc_FlyTo:
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
@ -743,13 +743,13 @@ AnimSeq_FlyTo:
ld [hl], a
ret
AnimSeq_MobileTradeSentPulse:
SpriteAnimFunc_MobileTradeSentPulse:
ret
AnimSeq_MobileTradeOTPulse:
SpriteAnimFunc_MobileTradeOTPulse:
ret
AnimSeq_IntroSuicune:
SpriteAnimFunc_IntroSuicune:
ld a, [wIntroSceneTimer]
and a
jr nz, .continue
@ -777,7 +777,7 @@ AnimSeq_IntroSuicune:
call _ReinitSpriteAnimFrame
ret
AnimSeq_IntroPichuWooper:
SpriteAnimFunc_IntroPichuWooper:
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
@ -796,7 +796,7 @@ AnimSeq_IntroPichuWooper:
.done
ret
AnimSeq_IntroUnown:
SpriteAnimFunc_IntroUnown:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld d, [hl]
@ -822,7 +822,7 @@ AnimSeq_IntroUnown:
ld [hl], a
ret
AnimSeq_IntroUnownF:
SpriteAnimFunc_IntroUnownF:
ld a, [wSlotsDelay]
cp $40
ret nz
@ -830,7 +830,7 @@ AnimSeq_IntroUnownF:
call _ReinitSpriteAnimFrame
ret
AnimSeq_IntroSuicuneAway:
SpriteAnimFunc_IntroSuicuneAway:
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld a, [hl]
@ -838,14 +838,14 @@ AnimSeq_IntroSuicuneAway:
ld [hl], a
ret
AnimSeq_EZChatCursor:
SpriteAnimFunc_EZChatCursor:
ret
AnimSeq_Celebi:
SpriteAnimFunc_Celebi:
farcall UpdateCelebiPosition
ret
AnimSeq_LevelSelectionMenuWalkDown:
SpriteAnimFunc_LevelSelectionMenuWalkDown:
call LevelSelectionMenuHandleTransition
ret nc
ld hl, SPRITEANIMSTRUCT_YCOORD
@ -853,7 +853,7 @@ AnimSeq_LevelSelectionMenuWalkDown:
inc [hl]
ret
AnimSeq_LevelSelectionMenuWalkUp:
SpriteAnimFunc_LevelSelectionMenuWalkUp:
call LevelSelectionMenuHandleTransition
ret nc
ld hl, SPRITEANIMSTRUCT_YCOORD
@ -861,7 +861,7 @@ AnimSeq_LevelSelectionMenuWalkUp:
dec [hl]
ret
AnimSeq_LevelSelectionMenuWalkLeft:
SpriteAnimFunc_LevelSelectionMenuWalkLeft:
call LevelSelectionMenuHandleTransition
ret nc
ld hl, SPRITEANIMSTRUCT_XCOORD
@ -869,7 +869,7 @@ AnimSeq_LevelSelectionMenuWalkLeft:
dec [hl]
ret
AnimSeq_LevelSelectionMenuWalkRight:
SpriteAnimFunc_LevelSelectionMenuWalkRight:
call LevelSelectionMenuHandleTransition
ret nc
ld hl, SPRITEANIMSTRUCT_XCOORD

View File

@ -276,7 +276,7 @@ INCLUDE "engine/tilesets/timeofday_pals.asm"
INCLUDE "engine/battle/battle_transition.asm"
INCLUDE "engine/events/field_moves.asm"
INCLUDE "engine/events/magnet_train.asm"
INCLUDE "engine/gfx/sprites.asm"
INCLUDE "engine/sprite_anims/core.asm"
INCLUDE "engine/gfx/mon_icons.asm"

View File

@ -190,7 +190,7 @@ wSpriteAnimData::
wSpriteAnimDict::
; wSpriteAnimDict pairs keys with values
; keys: SPRITE_ANIM_DICT_* indexes (taken from SpriteAnimSeqData)
; keys: SPRITE_ANIM_DICT_* indexes (taken from SpriteAnimObjects)
; values: vTiles0 offsets
ds NUM_SPRITEANIMDICT_ENTRIES * 2
@ -198,7 +198,7 @@ wSpriteAnimationStructs::
; wSpriteAnim1 - wSpriteAnim10
for n, 1, NUM_SPRITE_ANIM_STRUCTS + 1
; field 0: index
; fields 1-3: loaded from SpriteAnimSeqData
; fields 1-3: loaded from SpriteAnimObjects
wSpriteAnim{d:n}:: sprite_anim_struct wSpriteAnim{d:n}
endr
wSpriteAnimationStructsEnd::
@ -2666,13 +2666,13 @@ SECTION "Battle Animations", WRAMX
wBattleAnimTileDict::
; wBattleAnimTileDict pairs keys with values
; keys: ANIM_GFX_* indexes (taken from anim_*gfx arguments)
; keys: BATTLE_ANIM_GFX_* indexes (taken from anim_*gfx arguments)
; values: vTiles0 offsets
ds NUM_BATTLEANIMTILEDICT_ENTRIES * 2
wActiveAnimObjects::
; wAnimObject1 - wAnimObject10
for n, 1, NUM_ANIM_OBJECTS + 1
for n, 1, NUM_BATTLE_ANIM_STRUCTS + 1
wAnimObject{d:n}:: battle_anim_struct wAnimObject{d:n}
endr