Sync sprite and battle anim consts/labels (pret/pokecrystal#1055)

* Sync sprite and battle anim consts/labels

* Add `; 00` comments

* Renamed to `SpriteAnimFunc_` and `BattleAnimFunc_`
This commit is contained in:
vulcandth 2023-09-17 14:48:08 -05:00
parent 1a5c2b0414
commit 70f883dc86
35 changed files with 3896 additions and 3896 deletions

File diff suppressed because it is too large Load Diff

View File

@ -35,102 +35,102 @@ 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_INTRO_BUBBLE ; 01
const SPRITE_ANIM_INDEX_GS_INTRO_SHELLDER ; 02
const SPRITE_ANIM_INDEX_GS_INTRO_MAGIKARP ; 03
const SPRITE_ANIM_INDEX_UNUSED_INTRO_AERODACTYL ; 04
const SPRITE_ANIM_INDEX_GS_INTRO_LAPRAS ; 05
const SPRITE_ANIM_INDEX_GS_INTRO_NOTE ; 06
const SPRITE_ANIM_INDEX_GS_INTRO_INVISIBLE_NOTE ; 07
const SPRITE_ANIM_INDEX_GS_INTRO_JIGGLYPUFF ; 08
const SPRITE_ANIM_INDEX_GS_INTRO_PIKACHU ; 09
const SPRITE_ANIM_INDEX_GS_INTRO_PIKACHU_TAIL ; 0a
const SPRITE_ANIM_INDEX_GS_INTRO_FIREBALL ; 0b
const SPRITE_ANIM_INDEX_GS_INTRO_CHIKORITA ; 0c
const SPRITE_ANIM_INDEX_GS_INTRO_CYNDAQUIL ; 0d
const SPRITE_ANIM_INDEX_GS_INTRO_TOTODILE ; 0e
const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 0f
const SPRITE_ANIM_INDEX_UNUSED_PIKACHU ; 10
const SPRITE_ANIM_INDEX_UNUSED_PIKACHU_TAIL ; 11
const SPRITE_ANIM_INDEX_UNUSED_NOTE ; 12
const SPRITE_ANIM_INDEX_UNUSED_JIGGLYPUFF ; 13
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 14
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 15
const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR ; 16
const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE ; 17
const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 18
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 19
const SPRITE_ANIM_INDEX_SLOTS_EGG ; 1a
const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 1b
const SPRITE_ANIM_INDEX_RED_WALK ; 1c
const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 1d
const SPRITE_ANIM_INDEX_MEMORY_GAME_CURSOR ; 1e
const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 1f
const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 20
const SPRITE_ANIM_INDEX_TRADE_POOF ; 21
const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 22
const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 23
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 24
const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 25
const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 26
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 27
const SPRITE_ANIM_INDEX_LEAF ; 28
const SPRITE_ANIM_INDEX_CUT_TREE ; 29
const SPRITE_ANIM_INDEX_FLY_LEAF ; 2a
const SPRITE_ANIM_INDEX_EGG_CRACK ; 2b
const SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA ; 2c
const SPRITE_ANIM_INDEX_HEADBUTT ; 2d
const SPRITE_ANIM_INDEX_EGG_HATCH ; 2e
DEF NUM_SPRITE_ANIM_INDEXES EQU const_value
const SPRITE_ANIM_OBJ_PARTY_MON ; 00
const SPRITE_ANIM_OBJ_GS_INTRO_BUBBLE ; 01
const SPRITE_ANIM_OBJ_GS_INTRO_SHELLDER ; 02
const SPRITE_ANIM_OBJ_GS_INTRO_MAGIKARP ; 03
const SPRITE_ANIM_OBJ_UNUSED_INTRO_AERODACTYL ; 04
const SPRITE_ANIM_OBJ_GS_INTRO_LAPRAS ; 05
const SPRITE_ANIM_OBJ_GS_INTRO_NOTE ; 06
const SPRITE_ANIM_OBJ_GS_INTRO_INVISIBLE_NOTE ; 07
const SPRITE_ANIM_OBJ_GS_INTRO_JIGGLYPUFF ; 08
const SPRITE_ANIM_OBJ_GS_INTRO_PIKACHU ; 09
const SPRITE_ANIM_OBJ_GS_INTRO_PIKACHU_TAIL ; 0a
const SPRITE_ANIM_OBJ_GS_INTRO_FIREBALL ; 0b
const SPRITE_ANIM_OBJ_GS_INTRO_CHIKORITA ; 0c
const SPRITE_ANIM_OBJ_GS_INTRO_CYNDAQUIL ; 0d
const SPRITE_ANIM_OBJ_GS_INTRO_TOTODILE ; 0e
const SPRITE_ANIM_OBJ_GS_TITLE_TRAIL ; 0f
const SPRITE_ANIM_OBJ_UNUSED_PIKACHU ; 10
const SPRITE_ANIM_OBJ_UNUSED_PIKACHU_TAIL ; 11
const SPRITE_ANIM_OBJ_UNUSED_NOTE ; 12
const SPRITE_ANIM_OBJ_UNUSED_JIGGLYPUFF ; 13
const SPRITE_ANIM_OBJ_NAMING_SCREEN_CURSOR ; 14
const SPRITE_ANIM_OBJ_GAMEFREAK_LOGO ; 15
const SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_STAR ; 16
const SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_SPARKLE ; 17
const SPRITE_ANIM_OBJ_SLOTS_GOLEM ; 18
const SPRITE_ANIM_OBJ_SLOTS_CHANSEY ; 19
const SPRITE_ANIM_OBJ_SLOTS_EGG ; 1a
const SPRITE_ANIM_OBJ_COMPOSE_MAIL_CURSOR ; 1b
const SPRITE_ANIM_OBJ_RED_WALK ; 1c
const SPRITE_ANIM_OBJ_UNUSED_CURSOR ; 1d
const SPRITE_ANIM_OBJ_MEMORY_GAME_CURSOR ; 1e
const SPRITE_ANIM_OBJ_POKEGEAR_ARROW ; 1f
const SPRITE_ANIM_OBJ_TRADE_POKE_BALL ; 20
const SPRITE_ANIM_OBJ_TRADE_POOF ; 21
const SPRITE_ANIM_OBJ_TRADE_TUBE_BULGE ; 22
const SPRITE_ANIM_OBJ_TRADEMON_ICON ; 23
const SPRITE_ANIM_OBJ_TRADEMON_BUBBLE ; 24
const SPRITE_ANIM_OBJ_EVOLUTION_BALL_OF_LIGHT ; 25
const SPRITE_ANIM_OBJ_RADIO_TUNING_KNOB ; 26
const SPRITE_ANIM_OBJ_MAGNET_TRAIN_RED ; 27
const SPRITE_ANIM_OBJ_LEAF ; 28
const SPRITE_ANIM_OBJ_CUT_TREE ; 29
const SPRITE_ANIM_OBJ_FLY_LEAF ; 2a
const SPRITE_ANIM_OBJ_EGG_CRACK ; 2b
const SPRITE_ANIM_OBJ_GS_INTRO_HO_OH_LUGIA ; 2c
const SPRITE_ANIM_OBJ_HEADBUTT ; 2d
const SPRITE_ANIM_OBJ_EGG_HATCH ; 2e
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_INTRO_BUBBLE ; 04
const SPRITE_ANIM_SEQ_GS_INTRO_SHELLDER ; 05
const SPRITE_ANIM_SEQ_GS_INTRO_MAGIKARP ; 06
const SPRITE_ANIM_SEQ_UNUSED_INTRO_AERODACTYL ; 07
const SPRITE_ANIM_SEQ_GS_INTRO_LAPRAS ; 08
const SPRITE_ANIM_SEQ_GS_INTRO_NOTE ; 09
const SPRITE_ANIM_SEQ_GS_INTRO_JIGGLYPUFF ; 0a
const SPRITE_ANIM_SEQ_GS_INTRO_PIKACHU ; 0b
const SPRITE_ANIM_SEQ_GS_INTRO_PIKACHU_TAIL ; 0c
const SPRITE_ANIM_SEQ_GS_INTRO_FIREBALL ; 0d
const SPRITE_ANIM_SEQ_GS_INTRO_CHIKORITA_TOTODILE ; 0e
const SPRITE_ANIM_SEQ_GS_INTRO_CYNDAQUIL ; 0f
const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 10
const SPRITE_ANIM_SEQ_UNUSED_PIKACHU ; 11
const SPRITE_ANIM_SEQ_UNUSED_PIKACHU_TAIL ; 12
const SPRITE_ANIM_SEQ_UNUSED_NOTE ; 13
const SPRITE_ANIM_SEQ_UNUSED_JIGGLYPUFF ; 14
const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 15
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 16
const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR ; 17
const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE ; 18
const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 19
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 1a
const SPRITE_ANIM_SEQ_SLOTS_EGG ; 1b
const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 1c
const SPRITE_ANIM_SEQ_UNUSED_CURSOR ; 1d
const SPRITE_ANIM_SEQ_MEMORY_GAME_CURSOR ; 1e
const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 1f
const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 20
const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 21
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 22
const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 23
const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 24
const SPRITE_ANIM_SEQ_CUT_LEAVES ; 25
const SPRITE_ANIM_SEQ_FLY_FROM ; 26
const SPRITE_ANIM_SEQ_FLY_LEAF ; 27
const SPRITE_ANIM_SEQ_FLY_TO ; 28
const SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA ; 29
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_INTRO_BUBBLE ; 04
const SPRITE_ANIM_FUNC_GS_INTRO_SHELLDER ; 05
const SPRITE_ANIM_FUNC_GS_INTRO_MAGIKARP ; 06
const SPRITE_ANIM_FUNC_UNUSED_INTRO_AERODACTYL ; 07
const SPRITE_ANIM_FUNC_GS_INTRO_LAPRAS ; 08
const SPRITE_ANIM_FUNC_GS_INTRO_NOTE ; 09
const SPRITE_ANIM_FUNC_GS_INTRO_JIGGLYPUFF ; 0a
const SPRITE_ANIM_FUNC_GS_INTRO_PIKACHU ; 0b
const SPRITE_ANIM_FUNC_GS_INTRO_PIKACHU_TAIL ; 0c
const SPRITE_ANIM_FUNC_GS_INTRO_FIREBALL ; 0d
const SPRITE_ANIM_FUNC_GS_INTRO_CHIKORITA_TOTODILE ; 0e
const SPRITE_ANIM_FUNC_GS_INTRO_CYNDAQUIL ; 0f
const SPRITE_ANIM_FUNC_GS_TITLE_TRAIL ; 10
const SPRITE_ANIM_FUNC_UNUSED_PIKACHU ; 11
const SPRITE_ANIM_FUNC_UNUSED_PIKACHU_TAIL ; 12
const SPRITE_ANIM_FUNC_UNUSED_NOTE ; 13
const SPRITE_ANIM_FUNC_UNUSED_JIGGLYPUFF ; 14
const SPRITE_ANIM_FUNC_NAMING_SCREEN_CURSOR ; 15
const SPRITE_ANIM_FUNC_GAMEFREAK_LOGO ; 16
const SPRITE_ANIM_FUNC_GS_GAMEFREAK_LOGO_STAR ; 17
const SPRITE_ANIM_FUNC_GS_GAMEFREAK_LOGO_SPARKLE ; 18
const SPRITE_ANIM_FUNC_SLOTS_GOLEM ; 19
const SPRITE_ANIM_FUNC_SLOTS_CHANSEY ; 1a
const SPRITE_ANIM_FUNC_SLOTS_EGG ; 1b
const SPRITE_ANIM_FUNC_MAIL_CURSOR ; 1c
const SPRITE_ANIM_FUNC_UNUSED_CURSOR ; 1d
const SPRITE_ANIM_FUNC_MEMORY_GAME_CURSOR ; 1e
const SPRITE_ANIM_FUNC_POKEGEAR_ARROW ; 1f
const SPRITE_ANIM_FUNC_TRADE_POKE_BALL ; 20
const SPRITE_ANIM_FUNC_TRADE_TUBE_BULGE ; 21
const SPRITE_ANIM_FUNC_TRADEMON_IN_TUBE ; 22
const SPRITE_ANIM_FUNC_REVEAL_NEW_MON ; 23
const SPRITE_ANIM_FUNC_RADIO_TUNING_KNOB ; 24
const SPRITE_ANIM_FUNC_CUT_LEAVES ; 25
const SPRITE_ANIM_FUNC_FLY_FROM ; 26
const SPRITE_ANIM_FUNC_FLY_LEAF ; 27
const SPRITE_ANIM_FUNC_FLY_TO ; 28
const SPRITE_ANIM_FUNC_GS_INTRO_HO_OH_LUGIA ; 29
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
@ -49,4 +49,4 @@ AnimObjGFX:
anim_obj_gfx 24, AnimObjAeroblastGFX
anim_obj_gfx 1, NULL
anim_obj_gfx 1, NULL
assert_table_length NUM_ANIM_GFX + 1
assert_table_length NUM_BATTLE_ANIM_GFX + 1

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,97 @@
SpriteAnimObjects:
; entries correspond to SPRITE_ANIM_OBJ_* constants
; frameset, sequence, dict
; SPRITE_ANIM_OBJ_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_FUNC_PARTY_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_INTRO_BUBBLE
db SPRITE_ANIM_FRAMESET_GS_INTRO_BUBBLE, SPRITE_ANIM_FUNC_GS_INTRO_BUBBLE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_INTRO_SHELLDER
db SPRITE_ANIM_FRAMESET_GS_INTRO_SHELLDER, SPRITE_ANIM_FUNC_GS_INTRO_SHELLDER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_INTRO_MAGIKARP
db SPRITE_ANIM_FRAMESET_GS_INTRO_MAGIKARP, SPRITE_ANIM_FUNC_GS_INTRO_MAGIKARP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_UNUSED_INTRO_AERODACTYL
db SPRITE_ANIM_FRAMESET_UNUSED_INTRO_AERODACTYL, SPRITE_ANIM_FUNC_UNUSED_INTRO_AERODACTYL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_INTRO_LAPRAS
db SPRITE_ANIM_FRAMESET_GS_INTRO_LAPRAS, SPRITE_ANIM_FUNC_GS_INTRO_LAPRAS, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_OBJ_GS_INTRO_NOTE
db SPRITE_ANIM_FRAMESET_GS_INTRO_NOTE, SPRITE_ANIM_FUNC_GS_INTRO_NOTE, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_GS_INTRO_INVISIBLE_NOTE
db SPRITE_ANIM_FRAMESET_GS_INTRO_INVISIBLE_NOTE, SPRITE_ANIM_FUNC_GS_INTRO_NOTE, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_GS_INTRO_JIGGLYPUFF
db SPRITE_ANIM_FRAMESET_GS_INTRO_JIGGLYPUFF, SPRITE_ANIM_FUNC_GS_INTRO_JIGGLYPUFF, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_GS_INTRO_PIKACHU
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU, SPRITE_ANIM_FUNC_GS_INTRO_PIKACHU, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_GS_INTRO_PIKACHU_TAIL
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU_TAIL, SPRITE_ANIM_FUNC_GS_INTRO_PIKACHU_TAIL, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_GS_INTRO_FIREBALL
db SPRITE_ANIM_FRAMESET_GS_INTRO_FIREBALL, SPRITE_ANIM_FUNC_GS_INTRO_FIREBALL, SPRITE_ANIM_DICT_GS_INTRO_2
; SPRITE_ANIM_OBJ_GS_INTRO_CHIKORITA
db SPRITE_ANIM_FRAMESET_GS_INTRO_CHIKORITA, SPRITE_ANIM_FUNC_GS_INTRO_CHIKORITA_TOTODILE, SPRITE_ANIM_DICT_GS_INTRO_2
; SPRITE_ANIM_OBJ_GS_INTRO_CYNDAQUIL
db SPRITE_ANIM_FRAMESET_GS_INTRO_CYNDAQUIL, SPRITE_ANIM_FUNC_GS_INTRO_CYNDAQUIL, SPRITE_ANIM_DICT_GS_INTRO_2
; SPRITE_ANIM_OBJ_GS_INTRO_TOTODILE
db SPRITE_ANIM_FRAMESET_GS_INTRO_TOTODILE, SPRITE_ANIM_FUNC_GS_INTRO_CHIKORITA_TOTODILE, SPRITE_ANIM_DICT_GS_INTRO_2
; 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_UNUSED_PIKACHU
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU, SPRITE_ANIM_FUNC_UNUSED_PIKACHU, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_UNUSED_PIKACHU_TAIL
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU_TAIL, SPRITE_ANIM_FUNC_UNUSED_PIKACHU_TAIL, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_UNUSED_NOTE
db SPRITE_ANIM_FRAMESET_GS_INTRO_NOTE, SPRITE_ANIM_FUNC_UNUSED_NOTE, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_OBJ_UNUSED_JIGGLYPUFF
db SPRITE_ANIM_FRAMESET_GS_INTRO_JIGGLYPUFF, SPRITE_ANIM_FUNC_UNUSED_JIGGLYPUFF, SPRITE_ANIM_DICT_GS_INTRO
; 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_GS_SPLASH
; 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

View File

@ -1,97 +0,0 @@
SpriteAnimSeqData:
; entries correspond to SPRITE_ANIM_INDEX_* constants
; frameset, sequence, dict
; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_INTRO_BUBBLE
db SPRITE_ANIM_FRAMESET_GS_INTRO_BUBBLE, SPRITE_ANIM_SEQ_GS_INTRO_BUBBLE, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_INTRO_SHELLDER
db SPRITE_ANIM_FRAMESET_GS_INTRO_SHELLDER, SPRITE_ANIM_SEQ_GS_INTRO_SHELLDER, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_INTRO_MAGIKARP
db SPRITE_ANIM_FRAMESET_GS_INTRO_MAGIKARP, SPRITE_ANIM_SEQ_GS_INTRO_MAGIKARP, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_UNUSED_INTRO_AERODACTYL
db SPRITE_ANIM_FRAMESET_UNUSED_INTRO_AERODACTYL, SPRITE_ANIM_SEQ_UNUSED_INTRO_AERODACTYL, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_INTRO_LAPRAS
db SPRITE_ANIM_FRAMESET_GS_INTRO_LAPRAS, SPRITE_ANIM_SEQ_GS_INTRO_LAPRAS, SPRITE_ANIM_DICT_DEFAULT
; SPRITE_ANIM_INDEX_GS_INTRO_NOTE
db SPRITE_ANIM_FRAMESET_GS_INTRO_NOTE, SPRITE_ANIM_SEQ_GS_INTRO_NOTE, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_GS_INTRO_INVISIBLE_NOTE
db SPRITE_ANIM_FRAMESET_GS_INTRO_INVISIBLE_NOTE, SPRITE_ANIM_SEQ_GS_INTRO_NOTE, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_GS_INTRO_JIGGLYPUFF
db SPRITE_ANIM_FRAMESET_GS_INTRO_JIGGLYPUFF, SPRITE_ANIM_SEQ_GS_INTRO_JIGGLYPUFF, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_GS_INTRO_PIKACHU
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU, SPRITE_ANIM_SEQ_GS_INTRO_PIKACHU, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_GS_INTRO_PIKACHU_TAIL
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU_TAIL, SPRITE_ANIM_SEQ_GS_INTRO_PIKACHU_TAIL, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_GS_INTRO_FIREBALL
db SPRITE_ANIM_FRAMESET_GS_INTRO_FIREBALL, SPRITE_ANIM_SEQ_GS_INTRO_FIREBALL, SPRITE_ANIM_DICT_GS_INTRO_2
; SPRITE_ANIM_INDEX_GS_INTRO_CHIKORITA
db SPRITE_ANIM_FRAMESET_GS_INTRO_CHIKORITA, SPRITE_ANIM_SEQ_GS_INTRO_CHIKORITA_TOTODILE, SPRITE_ANIM_DICT_GS_INTRO_2
; SPRITE_ANIM_INDEX_GS_INTRO_CYNDAQUIL
db SPRITE_ANIM_FRAMESET_GS_INTRO_CYNDAQUIL, SPRITE_ANIM_SEQ_GS_INTRO_CYNDAQUIL, SPRITE_ANIM_DICT_GS_INTRO_2
; SPRITE_ANIM_INDEX_GS_INTRO_TOTODILE
db SPRITE_ANIM_FRAMESET_GS_INTRO_TOTODILE, SPRITE_ANIM_SEQ_GS_INTRO_CHIKORITA_TOTODILE, SPRITE_ANIM_DICT_GS_INTRO_2
; 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_UNUSED_PIKACHU
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU, SPRITE_ANIM_SEQ_UNUSED_PIKACHU, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_UNUSED_PIKACHU_TAIL
db SPRITE_ANIM_FRAMESET_GS_INTRO_PIKACHU_TAIL, SPRITE_ANIM_SEQ_UNUSED_PIKACHU_TAIL, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_UNUSED_NOTE
db SPRITE_ANIM_FRAMESET_GS_INTRO_NOTE, SPRITE_ANIM_SEQ_UNUSED_NOTE, SPRITE_ANIM_DICT_GS_INTRO
; SPRITE_ANIM_INDEX_UNUSED_JIGGLYPUFF
db SPRITE_ANIM_FRAMESET_GS_INTRO_JIGGLYPUFF, SPRITE_ANIM_SEQ_UNUSED_JIGGLYPUFF, SPRITE_ANIM_DICT_GS_INTRO
; 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_GS_SPLASH
; 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

View File

@ -94,7 +94,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
@ -678,7 +678,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
@ -728,7 +728,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
@ -763,11 +763,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
@ -817,11 +817,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
@ -1330,7 +1330,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
@ -424,13 +424,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
@ -491,13 +491,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

View File

@ -12,7 +12,7 @@ DoBattleAnimFrame:
jp hl
.Jumptable:
; entries correspond to BATTLEANIMFUNC_* constants
; entries correspond to BATTLE_ANIM_FUNC_* constants
table_width 2, DoBattleAnimFrame.Jumptable
dw BattleAnimFunction_Null
dw BattleAnimFunction_MoveFromUserToTarget
@ -94,7 +94,7 @@ DoBattleAnimFrame:
dw BattleAnimFunction_AncientPower
dw BattleAnimFunction_RockSmash
dw BattleAnimFunction_Cotton
assert_table_length NUM_BATTLEANIMFUNCS
assert_table_length NUM_BATTLE_ANIM_FUNCS
BattleAnimFunction_Null:
call BattleAnim_AnonJumptable
@ -303,14 +303,14 @@ BattleAnimFunction_PokeBall:
add hl, bc
add [hl]
ld [hl], a
ld a, BATTLEANIMFRAMESET_POKE_BALL_3
ld a, BATTLE_ANIM_FRAMESET_POKE_BALL_3
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ret
.three
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_POKE_BALL_1
ld a, BATTLE_ANIM_FRAMESET_POKE_BALL_1
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
@ -340,13 +340,13 @@ BattleAnimFunction_PokeBall:
sub $4
ld [hl], a
ret nz
ld a, BATTLEANIMFRAMESET_POKE_BALL_4
ld a, BATTLE_ANIM_FRAMESET_POKE_BALL_4
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ret
.six
ld a, BATTLEANIMFRAMESET_POKE_BALL_5
ld a, BATTLE_ANIM_FRAMESET_POKE_BALL_5
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
@ -358,7 +358,7 @@ BattleAnimFunction_PokeBall:
.seven
call GetBallAnimPal
ld a, BATTLEANIMFRAMESET_POKE_BALL_2
ld a, BATTLE_ANIM_FRAMESET_POKE_BALL_2
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR2
@ -489,7 +489,7 @@ BattleAnimFunction_Ember:
.three
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_FLAMETHROWER
ld a, BATTLE_ANIM_FRAMESET_FLAMETHROWER
call ReinitBattleAnimFrameset
.four
ret
@ -727,7 +727,7 @@ BattleAnimFunction_FireBlast:
ld [hl], a
cp $7
jr z, .seven
ld a, BATTLEANIMFRAMESET_BURNED
ld a, BATTLE_ANIM_FRAMESET_BURNED
call ReinitBattleAnimFrameset
ret
@ -746,7 +746,7 @@ BattleAnimFunction_FireBlast:
.set_up_eight
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_EMBER
ld a, BATTLE_ANIM_FRAMESET_EMBER
call ReinitBattleAnimFrameset
.eight
ld hl, BATTLEANIMSTRUCT_VAR1
@ -835,7 +835,7 @@ BattleAnimFunction_RazorLeaf:
add hl, bc
ld [hli], a
ld [hl], a
ld a, BATTLEANIMFRAMESET_RAZOR_LEAF_2
ld a, BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@ -931,7 +931,7 @@ BattleAnimFunction_RazorLeaf:
ret
.three
ld a, BATTLEANIMFRAMESET_RAZOR_LEAF_1
ld a, BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
add hl, bc
@ -1008,7 +1008,7 @@ BattleAnimFunction_RockSmash:
and $40
rlca
rlca
add BATTLEANIMFRAMESET_BIG_ROCK
add BATTLE_ANIM_FRAMESET_BIG_ROCK
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], a
@ -1087,7 +1087,7 @@ BattleAnimFunction_Bubble:
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld [hl], $0
ld a, BATTLEANIMFRAMESET_PULSING_BUBBLE
ld a, BATTLE_ANIM_FRAMESET_PULSING_BUBBLE
call ReinitBattleAnimFrameset
.two
ld hl, BATTLEANIMSTRUCT_XCOORD
@ -1237,8 +1237,8 @@ BattleAnimFunction_Sing:
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, BATTLEANIMFRAMESET_MUSIC_NOTE_1
add [hl] ; BATTLEANIMFRAMESET_MUSIC_NOTE_2 BATTLEANIMFRAMESET_MUSIC_NOTE_3
ld a, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1
add [hl] ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3
call ReinitBattleAnimFrameset
.one
@ -1295,7 +1295,7 @@ BattleAnimFunction_WaterGun:
.run_down
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_WATER_GUN_2
ld a, BATTLE_ANIM_FRAMESET_WATER_GUN_2
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@ -1319,7 +1319,7 @@ BattleAnimFunction_WaterGun:
.splash
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_WATER_GUN_3
ld a, BATTLE_ANIM_FRAMESET_WATER_GUN_3
call ReinitBattleAnimFrameset
.three
ret
@ -1437,7 +1437,7 @@ BattleAnimFunction_ThunderWave:
.one
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_THUNDER_WAVE_EXTRA
ld a, BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA
call ReinitBattleAnimFrameset
.zero
.two
@ -1504,15 +1504,15 @@ BattleAnimFunction_Clamp_Encore:
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl]
inc a ; BATTLEANIMFRAMESET_3B (Clamp Flipped)
; BATTLEANIMFRAMESET_A1 (Hands Flipped)
inc a ; BATTLE_ANIM_FRAMESET_3B (Clamp Flipped)
; BATTLE_ANIM_FRAMESET_A1 (Hands Flipped)
jr .reinit
.load_no_inc
ld hl, BATTLEANIMSTRUCT_VAR2
add hl, bc
ld a, [hl] ; BATTLEANIMFRAMESET_3A (Clamp)
; BATTLEANIMFRAMESET_A0 (Hands)
ld a, [hl] ; BATTLE_ANIM_FRAMESET_3A (Clamp)
; BATTLE_ANIM_FRAMESET_A0 (Hands)
.reinit
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_VAR1
@ -1583,11 +1583,11 @@ BattleAnimFunction_Bite:
ld [hl], a
bit 7, a
jr nz, .flipped2
ld a, BATTLEANIMFRAMESET_BITE_2
ld a, BATTLE_ANIM_FRAMESET_BITE_2
jr .got_frameset
.flipped2
ld a, BATTLEANIMFRAMESET_BITE_1
ld a, BATTLE_ANIM_FRAMESET_BITE_1
.got_frameset
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_VAR1
@ -1838,8 +1838,8 @@ BattleAnimFunction_Wrap:
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld a, [hl]
inc a ; BATTLEANIMFRAMESET_BIND_2
; BATTLEANIMFRAMESET_BIND_4
inc a ; BATTLE_ANIM_FRAMESET_BIND_2
; BATTLE_ANIM_FRAMESET_BIND_4
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1 ; Unused?
@ -1874,7 +1874,7 @@ BattleAnimFunction_LeechSeed:
.sprout
ld [hl], $40
ld a, BATTLEANIMFRAMESET_LEECH_SEED_2
ld a, BATTLE_ANIM_FRAMESET_LEECH_SEED_2
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ret
@ -1890,7 +1890,7 @@ BattleAnimFunction_LeechSeed:
.flutter
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_LEECH_SEED_3
ld a, BATTLE_ANIM_FRAMESET_LEECH_SEED_3
call ReinitBattleAnimFrameset
.three
ret
@ -2191,7 +2191,7 @@ BattleAnimFunction_Egg:
.seven
; Switches Softboiled frameset to egg wobbling
ld a, BATTLEANIMFRAMESET_EGG_WOBBLE ; Egg wobbling
ld a, BATTLE_ANIM_FRAMESET_EGG_WOBBLE ; Egg wobbling
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ret
@ -2211,8 +2211,8 @@ BattleAnimFunction_Egg:
ret
.nine
; First Softboiled ANIM_OBJ_EGG turns into the bottom half frameset
ld a, BATTLEANIMFRAMESET_EGG_CRACKED_BOTTOM ; Cracked egg bottom
; First Softboiled BATTLE_ANIM_OBJ_EGG turns into the bottom half frameset
ld a, BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM ; Cracked egg bottom
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@ -2221,8 +2221,8 @@ BattleAnimFunction_Egg:
ret
.eleven
; Second Softboiled ANIM_OBJ_EGG
ld a, BATTLEANIMFRAMESET_EGG_CRACKED_TOP ; Cracked egg top
; Second Softboiled BATTLE_ANIM_OBJ_EGG
ld a, BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP ; Cracked egg top
call ReinitBattleAnimFrameset
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_VAR1
@ -2313,7 +2313,7 @@ BattleAnimFunction_MoveUp:
BattleAnimFunction_Sound:
; Moves object back and forth in one of three angles using a sine behavior and disappear after 8 frames. Used in Growl, Snore and Kinesis
; Obj Param: Used to define object angle. How much to increase from base frameset, which is hardcoded as BATTLEANIMFRAMESET_SOUND_1
; Obj Param: Used to define object angle. How much to increase from base frameset, which is hardcoded as BATTLE_ANIM_FRAMESET_SOUND_1
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@ -2337,8 +2337,8 @@ BattleAnimFunction_Sound:
ld [hl], $8 ; duration
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, BATTLEANIMFRAMESET_SOUND_1
add [hl] ; BATTLEANIMFRAMESET_SOUND_2 BATTLEANIMFRAMESET_SOUND_3
ld a, BATTLE_ANIM_FRAMESET_SOUND_1
add [hl] ; BATTLE_ANIM_FRAMESET_SOUND_2 BATTLE_ANIM_FRAMESET_SOUND_3
call ReinitBattleAnimFrameset
ret
@ -2414,7 +2414,7 @@ BattleAnimFunction_ConfuseRay:
and $80
rlca
ld [hl], a
add BATTLEANIMFRAMESET_CONFUSE_RAY_1 ; BATTLEANIMFRAMESET_CONFUSE_RAY_2
add BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1 ; BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2
call ReinitBattleAnimFrameset
ret
@ -2484,8 +2484,8 @@ BattleAnimFunction_Dizzy:
rlca
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
add [hl] ; BATTLEANIMFRAMESET_61 BATTLEANIMFRAMESET_62
; BATTLEANIMFRAMESET_9C BATTLEANIMFRAMESET_9D
add [hl] ; BATTLE_ANIM_FRAMESET_61 BATTLE_ANIM_FRAMESET_62
; BATTLE_ANIM_FRAMESET_9C BATTLE_ANIM_FRAMESET_9D
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@ -2522,22 +2522,22 @@ BattleAnimFunction_Dizzy:
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl]
inc a ; BATTLEANIMFRAMESET_62
; BATTLEANIMFRAMESET_9D
inc a ; BATTLE_ANIM_FRAMESET_62
; BATTLE_ANIM_FRAMESET_9D
jr .got_frameset
.not_flipped
ld hl, BATTLEANIMSTRUCT_VAR1
add hl, bc
ld a, [hl] ; BATTLEANIMFRAMESET_61
; BATTLEANIMFRAMESET_9C
ld a, [hl] ; BATTLE_ANIM_FRAMESET_61
; BATTLE_ANIM_FRAMESET_9C
.got_frameset
call ReinitBattleAnimFrameset
ret
BattleAnimFunction_Amnesia:
; Creates 3 objects based on Obj Param
; Obj Param: How much to increase from base frameset, which is hardcoded as BATTLEANIMFRAMESET_AMNESIA_1
; Obj Param: How much to increase from base frameset, which is hardcoded as BATTLE_ANIM_FRAMESET_AMNESIA_1
; anim_incobj is used to DeInit object (used by Present)
call BattleAnim_AnonJumptable
.anon_dw
@ -2550,7 +2550,7 @@ BattleAnimFunction_Amnesia:
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, [hl]
add BATTLEANIMFRAMESET_AMNESIA_1 ; BATTLEANIMFRAMESET_AMNESIA_2 BATTLEANIMFRAMESET_AMNESIA_3
add BATTLE_ANIM_FRAMESET_AMNESIA_1 ; BATTLE_ANIM_FRAMESET_AMNESIA_2 BATTLE_ANIM_FRAMESET_AMNESIA_3
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@ -2638,7 +2638,7 @@ BattleAnimFunction_String:
add hl, bc
set OAM_Y_FLIP, [hl]
.not_param_zero
add BATTLEANIMFRAMESET_STRING_SHOT_1 ; BATTLEANIMFRAMESET_STRING_SHOT_2 BATTLEANIMFRAMESET_STRING_SHOT_3
add BATTLE_ANIM_FRAMESET_STRING_SHOT_1 ; BATTLE_ANIM_FRAMESET_STRING_SHOT_2 BATTLE_ANIM_FRAMESET_STRING_SHOT_3
call ReinitBattleAnimFrameset
.one
ret
@ -2679,7 +2679,7 @@ BattleAnimFunction_Paralyzed:
xor $ff
inc a
ld [hl], a
ld a, BATTLEANIMFRAMESET_PARALYZED_FLIPPED
ld a, BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED
call ReinitBattleAnimFrameset
ret
@ -3535,7 +3535,7 @@ BattleAnimFunction_SpeedLine:
add hl, bc
ld a, [hl]
and $7f
add BATTLEANIMFRAMESET_SPEED_LINE_1 ; BATTLEANIMFRAMESET_SPEED_LINE_2 BATTLEANIMFRAMESET_SPEED_LINE_3
add BATTLE_ANIM_FRAMESET_SPEED_LINE_1 ; BATTLE_ANIM_FRAMESET_SPEED_LINE_2 BATTLE_ANIM_FRAMESET_SPEED_LINE_3
call ReinitBattleAnimFrameset
.one
ld hl, BATTLEANIMSTRUCT_PARAM
@ -3554,7 +3554,7 @@ BattleAnimFunction_SpeedLine:
ret
BattleAnimFunction_Sludge:
; Object moves upward for $c frames and switches to BATTLEANIMFRAMESET_SLUDGE_BUBBLE_BURST
; Object moves upward for $c frames and switches to BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST
call BattleAnim_AnonJumptable
.anon_dw
dw .zero
@ -3579,7 +3579,7 @@ BattleAnimFunction_Sludge:
.done
call BattleAnim_IncAnonJumptableIndex
ld a, BATTLEANIMFRAMESET_SLUDGE_BUBBLE_BURST
ld a, BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST
call ReinitBattleAnimFrameset
.two
ld hl, BATTLEANIMSTRUCT_YOFFSET
@ -3707,8 +3707,8 @@ BattleAnimFunction_LockOnMindReader:
and $f
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
add [hl] ; BATTLEANIMFRAMESET_8F BATTLEANIMFRAMESET_90 BATTLEANIMFRAMESET_91
; BATTLEANIMFRAMESET_93 BATTLEANIMFRAMESET_94 BATTLEANIMFRAMESET_95
add [hl] ; BATTLE_ANIM_FRAMESET_8F BATTLE_ANIM_FRAMESET_90 BATTLE_ANIM_FRAMESET_91
; BATTLE_ANIM_FRAMESET_93 BATTLE_ANIM_FRAMESET_94 BATTLE_ANIM_FRAMESET_95
call ReinitBattleAnimFrameset
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
@ -3767,8 +3767,8 @@ BattleAnimFunction_HealBellNotes:
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_PARAM
add hl, bc
ld a, BATTLEANIMFRAMESET_MUSIC_NOTE_1
add [hl] ; BATTLEANIMFRAMESET_MUSIC_NOTE_2 BATTLEANIMFRAMESET_MUSIC_NOTE_3
ld a, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1
add [hl] ; BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3
call ReinitBattleAnimFrameset
.one
ld hl, BATTLEANIMSTRUCT_YOFFSET
@ -4139,7 +4139,7 @@ BattleAnimFunction_RainSandstorm:
ret
BattleAnimFunction_AnimObjB0: ; unused
; Used by object ANIM_OBJ_B0, with itself is not used in any animation
; Used by object BATTLE_ANIM_OBJ_B0, with itself is not used in any animation
; Obj Param: Lower nybble is added to VAR1 while upper nybble is added to XCOORD
ld hl, BATTLEANIMSTRUCT_XCOORD
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
@ -159,7 +159,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
@ -212,7 +212,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
@ -299,14 +299,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
@ -333,14 +333,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
@ -432,7 +432,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

@ -291,7 +291,7 @@ MagnetTrain_Jumptable:
ld d, (8 + 2) * TILE_WIDTH + 5
ld a, [wMagnetTrainPlayerSpriteInitX]
ld e, a
ld a, SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
ld a, SPRITE_ANIM_OBJ_MAGNET_TRAIN_RED
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc

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

@ -1152,7 +1152,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
@ -1213,7 +1213,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
@ -2132,7 +2132,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

@ -63,7 +63,7 @@ PartyMenu_InitAnimatedMonIcon:
; 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
@ -141,11 +141,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:
@ -156,11 +156,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:
@ -242,11 +242,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
@ -276,7 +276,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
@ -296,11 +296,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

@ -1102,7 +1102,7 @@ IF DEF(_GOLD)
ELIF DEF(_SILVER)
depixel 15, 11, 4, 0
ENDC
ld a, SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
ld a, SPRITE_ANIM_OBJ_GS_TITLE_TRAIL
call InitSpriteAnimStruct
ret

View File

@ -164,7 +164,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
@ -196,7 +196,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
ret
@ -355,7 +355,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
@ -1036,7 +1036,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
@ -1137,7 +1137,7 @@ INCBIN "gfx/naming_screen/mail.2bpp"
call .PlaceMailCharset
ret
; called from engine/gfx/sprite_anims.asm
; called from engine/sprite_anims/functions.asm
ComposeMail_AnimateCursor:
call .GetDPad

View File

@ -235,7 +235,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

@ -349,7 +349,7 @@ Intro_InitBubble:
ld e, [hl]
inc hl
ld d, [hl]
ld a, SPRITE_ANIM_INDEX_GS_INTRO_BUBBLE
ld a, SPRITE_ANIM_OBJ_GS_INTRO_BUBBLE
call InitSpriteAnimStruct
ret
@ -394,7 +394,7 @@ Intro_InitMagikarps:
ret
.InitAnim:
ld a, SPRITE_ANIM_INDEX_GS_INTRO_MAGIKARP
ld a, SPRITE_ANIM_OBJ_GS_INTRO_MAGIKARP
call InitSpriteAnimStruct
ret
@ -406,7 +406,7 @@ Intro_InitShellders:
depixel 16, 15
.InitAnim:
ld a, SPRITE_ANIM_INDEX_GS_INTRO_SHELLDER
ld a, SPRITE_ANIM_OBJ_GS_INTRO_SHELLDER
call InitSpriteAnimStruct
ret
@ -415,13 +415,13 @@ Intro_InitLapras:
and %00011111
ret nz
depixel 16, 24
ld a, SPRITE_ANIM_INDEX_GS_INTRO_LAPRAS
ld a, SPRITE_ANIM_OBJ_GS_INTRO_LAPRAS
call InitSpriteAnimStruct
ret
Intro_UnusedInitAerodactyl: ; unreferenced
depixel 2, 0
ld a, SPRITE_ANIM_INDEX_UNUSED_INTRO_AERODACTYL
ld a, SPRITE_ANIM_OBJ_UNUSED_INTRO_AERODACTYL
call InitSpriteAnimStruct
ret
@ -734,28 +734,28 @@ Intro_InitNote:
and %01111111
jr z, .invisible
depixel 11, 6, 4, 0
ld a, SPRITE_ANIM_INDEX_GS_INTRO_NOTE
ld a, SPRITE_ANIM_OBJ_GS_INTRO_NOTE
call InitSpriteAnimStruct
ret
.invisible
depixel 10, 6, 4, 0
ld a, SPRITE_ANIM_INDEX_GS_INTRO_INVISIBLE_NOTE
ld a, SPRITE_ANIM_OBJ_GS_INTRO_INVISIBLE_NOTE
call InitSpriteAnimStruct
ret
Intro_InitJigglypuff:
depixel 14, 6
ld a, SPRITE_ANIM_INDEX_GS_INTRO_JIGGLYPUFF
ld a, SPRITE_ANIM_OBJ_GS_INTRO_JIGGLYPUFF
call InitSpriteAnimStruct
ret
Intro_InitPikachu:
depixel 14, 24
ld a, SPRITE_ANIM_INDEX_GS_INTRO_PIKACHU
ld a, SPRITE_ANIM_OBJ_GS_INTRO_PIKACHU
call InitSpriteAnimStruct
depixel 14, 24
ld a, SPRITE_ANIM_INDEX_GS_INTRO_PIKACHU_TAIL
ld a, SPRITE_ANIM_OBJ_GS_INTRO_PIKACHU_TAIL
call InitSpriteAnimStruct
ret
@ -1019,7 +1019,7 @@ Intro_ChikoritaAppears:
ld de, SFX_GS_INTRO_POKEMON_APPEARS
call PlaySFX
depixel 22, 1
ld a, SPRITE_ANIM_INDEX_GS_INTRO_CHIKORITA
ld a, SPRITE_ANIM_OBJ_GS_INTRO_CHIKORITA
call InitSpriteAnimStruct
ret
@ -1027,7 +1027,7 @@ Intro_CyndaquilAppears:
ld de, SFX_GS_INTRO_POKEMON_APPEARS
call PlaySFX
depixel 22, 20
ld a, SPRITE_ANIM_INDEX_GS_INTRO_CYNDAQUIL
ld a, SPRITE_ANIM_OBJ_GS_INTRO_CYNDAQUIL
call InitSpriteAnimStruct
ret
@ -1035,7 +1035,7 @@ Intro_TotodileAppears:
ld de, SFX_GS_INTRO_POKEMON_APPEARS
call PlaySFX
depixel 22, 1
ld a, SPRITE_ANIM_INDEX_GS_INTRO_TOTODILE
ld a, SPRITE_ANIM_OBJ_GS_INTRO_TOTODILE
call InitSpriteAnimStruct
ret
@ -1150,7 +1150,7 @@ Intro_AnimateFireball:
and 3
ret nz
depixel 12, 10, 4, 4
ld a, SPRITE_ANIM_INDEX_GS_INTRO_FIREBALL
ld a, SPRITE_ANIM_OBJ_GS_INTRO_FIREBALL
call InitSpriteAnimStruct
ld hl, hSCX
dec [hl]

View File

@ -148,7 +148,7 @@ GameFreakPresents_Star:
ld [wIntroSceneFrameCounter], a
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR
ld a, SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_STAR
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
@ -165,13 +165,13 @@ GameFreakPresents_PlaceLogo:
; Draw the Game Freak logo (may be initially invisible due to palette)
; wait until the star animation completed
; this counter is set in DoAnimFrame.GSIntroStar in engine/gfx/sprite_anims.asm
; this counter is set in DoSpriteAnimFrame.GSIntroStar in engine/sprite_anims/functions.asm
ld a, [wIntroSceneFrameCounter]
and a
ret z
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
ld a, SPRITE_ANIM_OBJ_GAMEFREAK_LOGO
call InitSpriteAnimStruct
call GameFreakPresents_NextScene
@ -247,7 +247,7 @@ GameFreakPresents_WaitForTimer:
ret
GameFreakPresents_UpdateLogoPal:
; called from DoAnimFrame.GameFreakLogo
; called from DoSpriteAnimFrame.GameFreakLogo
; OBP1 was initialized at end of GameFreakPresents_Init
; once we reached the final state, leave it alone
@ -284,7 +284,7 @@ GameFreakPresents_Sparkle:
; set up a new sparkle sprite
push af
depixel 11, 11
ld a, SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE
ld a, SPRITE_ANIM_OBJ_GS_GAMEFREAK_LOGO_SPARKLE
call InitSpriteAnimStruct
pop af

View File

@ -69,7 +69,7 @@ TitleScreen:
ld [hl], a ; wTitleScreenTimer + 1
depixel 12, 11
ld a, SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA
ld a, SPRITE_ANIM_OBJ_GS_INTRO_HO_OH_LUGIA
call InitSpriteAnimStruct
ld hl, wSpriteAnim1
ld de, wSpriteAnim10

View File

@ -339,7 +339,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
@ -348,7 +348,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
@ -946,7 +946,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, 64
@ -955,7 +955,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
@ -970,7 +970,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
@ -983,7 +983,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, 128

View File

@ -156,7 +156,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
@ -647,7 +647,7 @@ PokegearMap_ContinueMap:
PokegearMap_InitPlayerIcon:
push af
depixel 0, 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
@ -668,14 +668,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
@ -726,7 +726,7 @@ TownMap_GetKantoLandmarkLimits:
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
@ -1349,7 +1349,7 @@ INCBIN "gfx/pokegear/clock.tilemap.rle"
_UpdateRadioStation:
jr UpdateRadioStation
; called from engine/gfx/sprite_anims.asm
; called from engine/sprite_anims/functions.asm
AnimateTuningKnob:
push bc
@ -2664,14 +2664,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:
@ -2690,7 +2690,7 @@ TownMapPlayerIcon:
call Request2bpp
; Animation/palette
depixel 0, 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

View File

@ -766,7 +766,7 @@ EggHatch_CrackShell:
add 9 * TILE_WIDTH
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
@ -794,7 +794,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

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
@ -82,7 +82,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
@ -145,11 +145,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
@ -513,9 +513,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,8 +12,8 @@ DoAnimFrame:
jp hl
.Jumptable:
; entries correspond to SPRITE_ANIM_SEQ_* constants (see constants/sprite_anim_constants.asm)
table_width 2, DoAnimFrame.Jumptable
; entries correspond to SPRITE_ANIM_FUNC_* constants (see constants/sprite_anim_constants.asm)
table_width 2, DoSpriteAnimFrame.Jumptable
dw AnimSeq_Null
dw AnimSeq_PartyMon
dw AnimSeq_PartyMonSwitch
@ -56,7 +56,7 @@ DoAnimFrame:
dw AnimSeq_FlyLeaf
dw AnimSeq_FlyTo
dw AnimSeq_GSIntroHoOhLugia
assert_table_length NUM_SPRITE_ANIM_SEQS
assert_table_length NUM_SPRITE_ANIM_FUNCS
AnimSeq_Null:
ret

View File

@ -230,7 +230,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"
INCLUDE "engine/movie/init_hof_credits.asm"

View File

@ -198,7 +198,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
@ -206,7 +206,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::
@ -663,13 +663,13 @@ NEXTU
; battle
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

View File

@ -40,7 +40,7 @@ ENDM
vc_const "@"
; [FPA 042801 Begin]
vc_const ANIM_GFX_BUBBLE
vc_const BATTLE_ANIM_GFX_BUBBLE
; [fight begin]
vc_const SCREEN_HEIGHT_PX

View File

@ -420,7 +420,7 @@ MotionBlur0 = 11
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer2 wStringBuffer2+1 wStringBuffer2+2 wStringBuffer2+3 wStringBuffer2+4 wStringBuffer2+5 wBattleAnimTileDict+2}
ConditionValueB = {dws_ == == == == == == == }
ConditionValueC = {dws_ "P" "R" "E" "S" "E" "N" ANIM_GFX_BUBBLE }
ConditionValueC = {dws_ "P" "R" "E" "S" "E" "N" BATTLE_ANIM_GFX_BUBBLE }

View File

@ -40,7 +40,7 @@ ENDM
vc_const "@"
; [FPA 042801 Begin]
vc_const ANIM_GFX_BUBBLE
vc_const BATTLE_ANIM_GFX_BUBBLE
; [fight begin]
vc_const SCREEN_HEIGHT_PX

View File

@ -425,7 +425,7 @@ MotionBlur0 = 11
ConditionType = 0
ConditionValueA = {dws_ wStringBuffer2 wStringBuffer2+1 wStringBuffer2+2 wStringBuffer2+3 wStringBuffer2+4 wStringBuffer2+5 wBattleAnimTileDict+2}
ConditionValueB = {dws_ == == == == == == == }
ConditionValueC = {dws_ "P" "R" "E" "S" "E" "N" ANIM_GFX_BUBBLE }
ConditionValueC = {dws_ "P" "R" "E" "S" "E" "N" BATTLE_ANIM_GFX_BUBBLE }