Sync with pokecrystal up to aba1f14

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

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

File diff suppressed because it is too large Load Diff

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -276,7 +276,7 @@ INCLUDE "engine/tilesets/timeofday_pals.asm"
INCLUDE "engine/battle/battle_transition.asm" INCLUDE "engine/battle/battle_transition.asm"
INCLUDE "engine/events/field_moves.asm" INCLUDE "engine/events/field_moves.asm"
INCLUDE "engine/events/magnet_train.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/gfx/mon_icons.asm"

View File

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