summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2021-10-11 10:36:05 -0400
committerGriffinR <griffin.g.richards@gmail.com>2021-10-11 13:18:21 -0400
commitf23e0beebac9aa983620c024d691690fedc4e784 (patch)
tree132c654b5c44c1b903f7727fc41a7b699e722256 /src
parentb8a44bf10a5bfbe35381b744d86f535a14c0969a (diff)
Rename battle anim cmds, move its data, name remaining symbols
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim.c2099
-rw-r--r--src/data/battle_anim.h1625
2 files changed, 1876 insertions, 1848 deletions
diff --git a/src/battle_anim.c b/src/battle_anim.c
index 4599e3e09..4b9fbb1dc 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -18,65 +18,70 @@
#include "task.h"
#include "constants/battle_anim.h"
+/*
+ This file handles the commands for the macros defined in
+ battle_anim_script.inc and used in battle_anim_scripts.s
+*/
+
#define ANIM_SPRITE_INDEX_COUNT 8
extern const u16 gMovesWithQuietBGM[];
extern const u8 *const gBattleAnims_Moves[];
-static void ScriptCmd_loadspritegfx(void);
-static void ScriptCmd_unloadspritegfx(void);
-static void ScriptCmd_createsprite(void);
-static void ScriptCmd_createvisualtask(void);
-static void ScriptCmd_delay(void);
-static void ScriptCmd_waitforvisualfinish(void);
-static void ScriptCmd_nop(void);
-static void ScriptCmd_nop2(void);
-static void ScriptCmd_end(void);
-static void ScriptCmd_playse(void);
-static void ScriptCmd_monbg(void);
-static void ScriptCmd_clearmonbg(void);
-static void ScriptCmd_setalpha(void);
-static void ScriptCmd_blendoff(void);
-static void ScriptCmd_call(void);
-static void ScriptCmd_return(void);
-static void ScriptCmd_setarg(void);
-static void ScriptCmd_choosetwoturnanim(void);
-static void ScriptCmd_jumpifmoveturn(void);
-static void ScriptCmd_goto(void);
-static void ScriptCmd_fadetobg(void);
-static void ScriptCmd_restorebg(void);
-static void ScriptCmd_waitbgfadeout(void);
-static void ScriptCmd_waitbgfadein(void);
-static void ScriptCmd_changebg(void);
-static void ScriptCmd_playsewithpan(void);
-static void ScriptCmd_setpan(void);
-static void ScriptCmd_panse(void);
-static void ScriptCmd_loopsewithpan(void);
-static void ScriptCmd_waitplaysewithpan(void);
-static void ScriptCmd_setbldcnt(void);
-static void ScriptCmd_createsoundtask(void);
-static void ScriptCmd_waitsound(void);
-static void ScriptCmd_jumpargeq(void);
-static void ScriptCmd_monbg_22(void);
-static void ScriptCmd_clearmonbg_23(void);
-static void ScriptCmd_jumpifcontest(void);
-static void ScriptCmd_fadetobgfromset(void);
-static void ScriptCmd_panse_adjustnone(void);
-static void ScriptCmd_panse_adjustall(void);
-static void ScriptCmd_monbgprio_28(void);
-static void ScriptCmd_monbgprio_29(void);
-static void ScriptCmd_monbgprio_2A(void);
-static void ScriptCmd_invisible(void);
-static void ScriptCmd_visible(void);
-static void ScriptCmd_doublebattle_2D(void);
-static void ScriptCmd_doublebattle_2E(void);
-static void ScriptCmd_stopsound(void);
+static void Cmd_loadspritegfx(void);
+static void Cmd_unloadspritegfx(void);
+static void Cmd_createsprite(void);
+static void Cmd_createvisualtask(void);
+static void Cmd_delay(void);
+static void Cmd_waitforvisualfinish(void);
+static void Cmd_nop(void);
+static void Cmd_nop2(void);
+static void Cmd_end(void);
+static void Cmd_playse(void);
+static void Cmd_monbg(void);
+static void Cmd_clearmonbg(void);
+static void Cmd_setalpha(void);
+static void Cmd_blendoff(void);
+static void Cmd_call(void);
+static void Cmd_return(void);
+static void Cmd_setarg(void);
+static void Cmd_choosetwoturnanim(void);
+static void Cmd_jumpifmoveturn(void);
+static void Cmd_goto(void);
+static void Cmd_fadetobg(void);
+static void Cmd_restorebg(void);
+static void Cmd_waitbgfadeout(void);
+static void Cmd_waitbgfadein(void);
+static void Cmd_changebg(void);
+static void Cmd_playsewithpan(void);
+static void Cmd_setpan(void);
+static void Cmd_panse(void);
+static void Cmd_loopsewithpan(void);
+static void Cmd_waitplaysewithpan(void);
+static void Cmd_setbldcnt(void);
+static void Cmd_createsoundtask(void);
+static void Cmd_waitsound(void);
+static void Cmd_jumpargeq(void);
+static void Cmd_monbg_static(void);
+static void Cmd_clearmonbg_static(void);
+static void Cmd_jumpifcontest(void);
+static void Cmd_fadetobgfromset(void);
+static void Cmd_panse_adjustnone(void);
+static void Cmd_panse_adjustall(void);
+static void Cmd_splitbgprio(void);
+static void Cmd_splitbgprio_all(void);
+static void Cmd_splitbgprio_foes(void);
+static void Cmd_invisible(void);
+static void Cmd_visible(void);
+static void Cmd_teamattack_moveback(void);
+static void Cmd_teamattack_movefwd(void);
+static void Cmd_stopsound(void);
static void RunAnimScriptCommand(void);
-static void task_pA_ma0A_obj_to_bg_pal(u8 taskId);
+static void Task_UpdateMonBg(u8 taskId);
static void FlipBattlerBgTiles(void);
static void Task_ClearMonBg(u8 taskId);
-static void sub_80A4BB0(u8 taskId);
+static void Task_ClearMonBgStatic(u8 taskId);
static void Task_FadeToBg(u8 taskId);
static void Task_PanFromInitialToTarget(u8 taskId);
static void Task_LoopAndPlaySE(u8 taskId);
@@ -108,1682 +113,58 @@ EWRAM_DATA u8 gBattleAnimTarget = 0;
EWRAM_DATA u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT] = {0};
EWRAM_DATA u8 gAnimCustomPanning = 0;
-const struct OamData gOamData_AffineOff_ObjNormal_8x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x8),
- .x = 0,
- .size = SPRITE_SIZE(8x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-
-const struct OamData gOamData_AffineOff_ObjNormal_16x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x16),
- .x = 0,
- .size = SPRITE_SIZE(16x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_32x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x32),
- .x = 0,
- .size = SPRITE_SIZE(32x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_64x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x64),
- .x = 0,
- .size = SPRITE_SIZE(64x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_16x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x8),
- .x = 0,
- .size = SPRITE_SIZE(16x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_32x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x8),
- .x = 0,
- .size = SPRITE_SIZE(32x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_32x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x16),
- .x = 0,
- .size = SPRITE_SIZE(32x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_64x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x32),
- .x = 0,
- .size = SPRITE_SIZE(64x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_8x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x16),
- .x = 0,
- .size = SPRITE_SIZE(8x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_8x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x32),
- .x = 0,
- .size = SPRITE_SIZE(8x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_16x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x32),
- .x = 0,
- .size = SPRITE_SIZE(16x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjNormal_32x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x64),
- .x = 0,
- .size = SPRITE_SIZE(32x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_8x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x8),
- .x = 0,
- .size = SPRITE_SIZE(8x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_16x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x16),
- .x = 0,
- .size = SPRITE_SIZE(16x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_32x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x32),
- .x = 0,
- .size = SPRITE_SIZE(32x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_64x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x64),
- .x = 0,
- .size = SPRITE_SIZE(64x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_16x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x8),
- .x = 0,
- .size = SPRITE_SIZE(16x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_32x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x8),
- .x = 0,
- .size = SPRITE_SIZE(32x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_32x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x16),
- .x = 0,
- .size = SPRITE_SIZE(32x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_64x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x32),
- .x = 0,
- .size = SPRITE_SIZE(64x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_8x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x16),
- .x = 0,
- .size = SPRITE_SIZE(8x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_8x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x32),
- .x = 0,
- .size = SPRITE_SIZE(8x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_16x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x32),
- .x = 0,
- .size = SPRITE_SIZE(16x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjNormal_32x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x64),
- .x = 0,
- .size = SPRITE_SIZE(32x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_8x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x8),
- .x = 0,
- .size = SPRITE_SIZE(8x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_16x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x16),
- .x = 0,
- .size = SPRITE_SIZE(16x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_32x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x32),
- .x = 0,
- .size = SPRITE_SIZE(32x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_64x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x64),
- .x = 0,
- .size = SPRITE_SIZE(64x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_16x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x8),
- .x = 0,
- .size = SPRITE_SIZE(16x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_32x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x8),
- .x = 0,
- .size = SPRITE_SIZE(32x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_32x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x16),
- .x = 0,
- .size = SPRITE_SIZE(32x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_64x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x32),
- .x = 0,
- .size = SPRITE_SIZE(64x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_8x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x16),
- .x = 0,
- .size = SPRITE_SIZE(8x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_8x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x32),
- .x = 0,
- .size = SPRITE_SIZE(8x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_16x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x32),
- .x = 0,
- .size = SPRITE_SIZE(16x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjNormal_32x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_NORMAL,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x64),
- .x = 0,
- .size = SPRITE_SIZE(32x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_8x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x8),
- .x = 0,
- .size = SPRITE_SIZE(8x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_16x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x16),
- .x = 0,
- .size = SPRITE_SIZE(16x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_32x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x32),
- .x = 0,
- .size = SPRITE_SIZE(32x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_64x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x64),
- .x = 0,
- .size = SPRITE_SIZE(64x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_16x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x8),
- .x = 0,
- .size = SPRITE_SIZE(16x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_32x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x8),
- .x = 0,
- .size = SPRITE_SIZE(32x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_32x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x16),
- .x = 0,
- .size = SPRITE_SIZE(32x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_64x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x32),
- .x = 0,
- .size = SPRITE_SIZE(64x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_8x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x16),
- .x = 0,
- .size = SPRITE_SIZE(8x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_8x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x32),
- .x = 0,
- .size = SPRITE_SIZE(8x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_16x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x32),
- .x = 0,
- .size = SPRITE_SIZE(16x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineOff_ObjBlend_32x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_OFF,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x64),
- .x = 0,
- .size = SPRITE_SIZE(32x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_8x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x8),
- .x = 0,
- .size = SPRITE_SIZE(8x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_16x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x16),
- .x = 0,
- .size = SPRITE_SIZE(16x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_32x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x32),
- .x = 0,
- .size = SPRITE_SIZE(32x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_64x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x64),
- .x = 0,
- .size = SPRITE_SIZE(64x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_16x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x8),
- .x = 0,
- .size = SPRITE_SIZE(16x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_32x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x8),
- .x = 0,
- .size = SPRITE_SIZE(32x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_32x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x16),
- .x = 0,
- .size = SPRITE_SIZE(32x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_64x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x32),
- .x = 0,
- .size = SPRITE_SIZE(64x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_8x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x16),
- .x = 0,
- .size = SPRITE_SIZE(8x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_8x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x32),
- .x = 0,
- .size = SPRITE_SIZE(8x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_16x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x32),
- .x = 0,
- .size = SPRITE_SIZE(16x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineNormal_ObjBlend_32x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_NORMAL,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x64),
- .x = 0,
- .size = SPRITE_SIZE(32x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_8x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x8),
- .x = 0,
- .size = SPRITE_SIZE(8x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_16x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x16),
- .x = 0,
- .size = SPRITE_SIZE(16x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_32x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x32),
- .x = 0,
- .size = SPRITE_SIZE(32x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_64x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x64),
- .x = 0,
- .size = SPRITE_SIZE(64x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_16x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x8),
- .x = 0,
- .size = SPRITE_SIZE(16x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_32x8 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x8),
- .x = 0,
- .size = SPRITE_SIZE(32x8),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_32x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x16),
- .x = 0,
- .size = SPRITE_SIZE(32x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_64x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(64x32),
- .x = 0,
- .size = SPRITE_SIZE(64x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_8x16 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x16),
- .x = 0,
- .size = SPRITE_SIZE(8x16),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_8x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(8x32),
- .x = 0,
- .size = SPRITE_SIZE(8x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_16x32 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(16x32),
- .x = 0,
- .size = SPRITE_SIZE(16x32),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct OamData gOamData_AffineDouble_ObjBlend_32x64 =
-{
- .y = 0,
- .affineMode = ST_OAM_AFFINE_DOUBLE,
- .objMode = ST_OAM_OBJ_BLEND,
- .bpp = ST_OAM_4BPP,
- .shape = SPRITE_SHAPE(32x64),
- .x = 0,
- .size = SPRITE_SIZE(32x64),
- .tileNum = 0,
- .priority = 2,
- .paletteNum = 0,
-};
-
-const struct CompressedSpriteSheet gBattleAnimPicTable[] =
-{
- {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE},
- {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK},
- {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL},
- {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE},
- {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB},
- {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD},
- {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED},
- {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6},
- {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB},
- {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST},
- {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE},
- {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2},
- {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE},
- {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL},
- {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON},
- {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG},
- {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE},
- {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL},
- {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION},
- {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS},
- {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT},
- {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT},
- {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2},
- {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS},
- {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE},
- {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND},
- {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE},
- {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER},
- {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST},
- {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER},
- {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE},
- {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR},
- {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST},
- {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE},
- {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE},
- {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME},
- {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2},
- {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING},
- {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2},
- {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH},
- {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3},
- {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2},
- {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2},
- {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK},
- {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2},
- {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2},
- {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP},
- {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2},
- {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1},
- {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2},
- {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT},
- {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT},
- {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND},
- {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE},
- {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK},
- {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST},
- {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT},
- {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING},
- {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS},
- {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z},
- {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2},
- {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH},
- {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS},
- {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF},
- {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER},
- {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER},
- {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE},
- {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER},
- {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE},
- {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER},
- {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3},
- {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4},
- {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES},
- {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK},
- {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND},
- {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT},
- {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES},
- {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2},
- {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4},
- {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK},
- {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2},
- {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE},
- {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES},
- {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3},
- {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2},
- {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE},
- {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH},
- {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER},
- {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL},
- {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE},
- {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2},
- {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING},
- {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE},
- {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA},
- {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2},
- {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2},
- {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL},
- {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON},
- {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB},
- {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE},
- {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN},
- {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG},
- {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG},
- {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG},
- {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS},
- {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2},
- {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3},
- {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET},
- {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2},
- {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2},
- {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT},
- {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND},
- {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK},
- {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN},
- {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK},
- {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS},
- {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES},
- {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2},
- {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH},
- {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2},
- {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG},
- {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN},
- {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL},
- {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET},
- {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2},
- {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2},
- {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL},
- {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL},
- {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND},
- {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2},
- {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4},
- {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5},
- {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE},
- {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE},
- {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2},
- {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT},
- {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT},
- {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH},
- {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT},
- {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH},
- {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS},
- {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS},
- {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES},
- {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET},
- {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD},
- {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP},
- {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE},
- {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS},
- {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT},
- {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB},
- {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE},
- {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE},
- {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES},
- {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2},
- {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2},
- {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES},
- {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW},
- {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT},
- {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE},
- {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER},
- {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF},
- {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE},
- {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES},
- {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING},
- {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING},
- {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING},
- {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL},
- {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL},
- {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL},
- {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL},
- {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL},
- {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2},
- {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD},
- {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H},
- {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR},
- {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG},
- {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL},
- {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK},
- {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES},
- {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING},
- {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD},
- {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB},
- {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB},
- {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH},
- {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY},
- {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE},
- {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS},
- {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE},
- {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW},
- {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT},
- {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE},
- {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO},
- {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK},
- {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE},
- {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON},
- {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE},
- {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL},
- {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z},
- {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION},
- {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL},
- {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT},
- {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK},
- {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG},
- {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING},
- {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT},
- {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL},
- {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2},
- {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST},
- {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL},
- {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE},
- {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART},
- {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS},
- {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT},
- {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY},
- {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2},
- {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES},
- {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART},
- {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB},
- {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE},
- {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART},
- {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL},
- {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL},
- {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE},
- {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS},
- {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG},
- {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE},
- {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL},
- {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT},
- {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z},
- {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN},
- {gBattleAnimSpriteGfx_TriAttackTriangle, 0x0800, ANIM_TAG_TRI_ATTACK_TRIANGLE},
- {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB},
- {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE},
- {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS},
- {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB},
- {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB},
- {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB},
- {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2},
- {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL},
- {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT},
- {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI},
- {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR},
- {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD},
- {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP},
- {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING},
- {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH},
- {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE},
- {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND},
- {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE},
- {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB},
- {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN},
- {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB},
- {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT},
- {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME},
- {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL},
- {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT},
- {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR},
- {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK},
- {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS},
- {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB},
- {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES},
- {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT},
- {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR},
- {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL},
- {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB},
- {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB},
- {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE},
- {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
- {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB},
- {gBattleAnimSpriteGfx_Pokeblock, 0x0080, ANIM_TAG_POKEBLOCK},
- {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER},
- {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6},
- {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH},
- {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD},
- {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1},
- {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2},
- {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3},
- {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2},
- {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE},
- {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES},
- {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT},
- {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND},
- {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3},
- {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL},
- {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD},
- {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT},
- {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2},
- {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT},
- {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2},
-};
-
-const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
-{
- {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE},
- {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK},
- {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL},
- {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE},
- {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB},
- {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD},
- {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED},
- {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6},
- {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB},
- {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST},
- {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE},
- {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2},
- {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE},
- {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL},
- {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON},
- {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG},
- {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE},
- {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL},
- {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION},
- {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS},
- {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT},
- {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT},
- {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2},
- {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS},
- {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE},
- {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND},
- {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE},
- {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER},
- {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST},
- {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER},
- {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE},
- {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR},
- {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST},
- {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE},
- {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE},
- {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME},
- {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2},
- {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING},
- {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2},
- {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH},
- {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3},
- {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2},
- {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2},
- {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK},
- {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2},
- {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2},
- {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP},
- {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP},
- {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1},
- {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2},
- {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT},
- {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT},
- {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND},
- {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE},
- {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK},
- {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST},
- {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT},
- {gBattleAnimSpritePal_Ring, ANIM_TAG_RING},
- {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS},
- {gBattleAnimSpritePal_Z, ANIM_TAG_Z},
- {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2},
- {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH},
- {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS},
- {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF},
- {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER},
- {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER},
- {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE},
- {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER},
- {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE},
- {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER},
- {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3},
- {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4},
- {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES},
- {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK},
- {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND},
- {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT},
- {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES},
- {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2},
- {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4},
- {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK},
- {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2},
- {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE},
- {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES},
- {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3},
- {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2},
- {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE},
- {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH},
- {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER},
- {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL},
- {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE},
- {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2},
- {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING},
- {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE},
- {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA},
- {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2},
- {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2},
- {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL},
- {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON},
- {gBattleAnimSpritePal_String2, ANIM_TAG_WEB},
- {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE},
- {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN},
- {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG},
- {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG},
- {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG},
- {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS},
- {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2},
- {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3},
- {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET},
- {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2},
- {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2},
- {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT},
- {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND},
- {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK},
- {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN},
- {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK},
- {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS},
- {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES},
- {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2},
- {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH},
- {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2},
- {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG},
- {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN},
- {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL},
- {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET},
- {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2},
- {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2},
- {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL},
- {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL},
- {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND},
- {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2},
- {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4},
- {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5},
- {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE},
- {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE},
- {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2},
- {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT},
- {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT},
- {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH},
- {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT},
- {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH},
- {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS},
- {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS},
- {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES},
- {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET},
- {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD},
- {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP},
- {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE},
- {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS},
- {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT},
- {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB},
- {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE},
- {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE},
- {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES},
- {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2},
- {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2},
- {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES},
- {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW},
- {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT},
- {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE},
- {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER},
- {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF},
- {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE},
- {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES},
- {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING},
- {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING},
- {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING},
- {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL},
- {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL},
- {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL},
- {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL},
- {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL},
- {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2},
- {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD},
- {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H},
- {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR},
- {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG},
- {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL},
- {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK},
- {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES},
- {gBattleAnimSpritePal_String, ANIM_TAG_STRING},
- {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD},
- {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB},
- {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB},
- {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH},
- {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY},
- {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE},
- {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS},
- {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE},
- {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW},
- {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT},
- {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE},
- {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO},
- {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK},
- {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE},
- {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON},
- {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE},
- {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL},
- {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z},
- {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION},
- {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL},
- {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT},
- {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK},
- {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG},
- {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING},
- {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT},
- {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL},
- {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2},
- {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST},
- {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL},
- {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE},
- {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART},
- {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS},
- {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT},
- {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY},
- {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2},
- {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES},
- {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART},
- {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB},
- {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE},
- {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART},
- {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL},
- {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL},
- {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE},
- {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS},
- {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG},
- {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE},
- {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL},
- {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT},
- {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z},
- {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN},
- {gBattleAnimSpritePal_TriAttackTriangle, ANIM_TAG_TRI_ATTACK_TRIANGLE},
- {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB},
- {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE},
- {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS},
- {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB},
- {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB},
- {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB},
- {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2},
- {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL},
- {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT},
- {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI},
- {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR},
- {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD},
- {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP},
- {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING},
- {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH},
- {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE},
- {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND},
- {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE},
- {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB},
- {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN},
- {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB},
- {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT},
- {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME},
- {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL},
- {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT},
- {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR},
- {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK},
- {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS},
- {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB},
- {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES},
- {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT},
- {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR},
- {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL},
- {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB},
- {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB},
- {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE},
- {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
- {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB},
- {gBattleAnimSpritePal_Pokeblock, ANIM_TAG_POKEBLOCK},
- {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER},
- {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6},
- {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH},
- {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD},
- {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1},
- {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2},
- {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3},
- {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2},
- {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE},
- {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES},
- {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT},
- {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND},
- {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3},
- {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL},
- {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD},
- {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT},
- {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2},
- {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT},
- {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2},
-};
-
-const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
-{
- [BG_NONE] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
- [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
- [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost},
- [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic},
- [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent},
- [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer},
- [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests},
- [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill},
- [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests},
- [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent},
- [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer},
- [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder},
- [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent},
- [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer},
- [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests},
- [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice},
- [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic},
- [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir},
- [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill},
- [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests},
- [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora},
- [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure},
- [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent},
- [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer},
- [BG_SOLARBEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactOpponent},
- [BG_SOLARBEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactPlayer},
- [BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests},
-};
+#include "data/battle_anim.h"
static void (* const sScriptCmdTable[])(void) =
{
- ScriptCmd_loadspritegfx,
- ScriptCmd_unloadspritegfx,
- ScriptCmd_createsprite,
- ScriptCmd_createvisualtask,
- ScriptCmd_delay,
- ScriptCmd_waitforvisualfinish,
- ScriptCmd_nop,
- ScriptCmd_nop2,
- ScriptCmd_end,
- ScriptCmd_playse,
- ScriptCmd_monbg,
- ScriptCmd_clearmonbg,
- ScriptCmd_setalpha,
- ScriptCmd_blendoff,
- ScriptCmd_call,
- ScriptCmd_return,
- ScriptCmd_setarg,
- ScriptCmd_choosetwoturnanim,
- ScriptCmd_jumpifmoveturn,
- ScriptCmd_goto,
- ScriptCmd_fadetobg,
- ScriptCmd_restorebg,
- ScriptCmd_waitbgfadeout,
- ScriptCmd_waitbgfadein,
- ScriptCmd_changebg,
- ScriptCmd_playsewithpan,
- ScriptCmd_setpan,
- ScriptCmd_panse,
- ScriptCmd_loopsewithpan,
- ScriptCmd_waitplaysewithpan,
- ScriptCmd_setbldcnt,
- ScriptCmd_createsoundtask,
- ScriptCmd_waitsound,
- ScriptCmd_jumpargeq,
- ScriptCmd_monbg_22,
- ScriptCmd_clearmonbg_23,
- ScriptCmd_jumpifcontest,
- ScriptCmd_fadetobgfromset,
- ScriptCmd_panse_adjustnone,
- ScriptCmd_panse_adjustall,
- ScriptCmd_monbgprio_28,
- ScriptCmd_monbgprio_29,
- ScriptCmd_monbgprio_2A,
- ScriptCmd_invisible,
- ScriptCmd_visible,
- ScriptCmd_doublebattle_2D,
- ScriptCmd_doublebattle_2E,
- ScriptCmd_stopsound
+ Cmd_loadspritegfx, // 0x00
+ Cmd_unloadspritegfx, // 0x01
+ Cmd_createsprite, // 0x02
+ Cmd_createvisualtask, // 0x03
+ Cmd_delay, // 0x04
+ Cmd_waitforvisualfinish, // 0x05
+ Cmd_nop, // 0x06
+ Cmd_nop2, // 0x07
+ Cmd_end, // 0x08
+ Cmd_playse, // 0x09
+ Cmd_monbg, // 0x0A
+ Cmd_clearmonbg, // 0x0B
+ Cmd_setalpha, // 0x0C
+ Cmd_blendoff, // 0x0D
+ Cmd_call, // 0x0E
+ Cmd_return, // 0x0F
+ Cmd_setarg, // 0x10
+ Cmd_choosetwoturnanim, // 0x11
+ Cmd_jumpifmoveturn, // 0x12
+ Cmd_goto, // 0x13
+ Cmd_fadetobg, // 0x14
+ Cmd_restorebg, // 0x15
+ Cmd_waitbgfadeout, // 0x16
+ Cmd_waitbgfadein, // 0x17
+ Cmd_changebg, // 0x18
+ Cmd_playsewithpan, // 0x19
+ Cmd_setpan, // 0x1A
+ Cmd_panse, // 0x1B
+ Cmd_loopsewithpan, // 0x1C
+ Cmd_waitplaysewithpan, // 0x1D
+ Cmd_setbldcnt, // 0x1E
+ Cmd_createsoundtask, // 0x1F
+ Cmd_waitsound, // 0x20
+ Cmd_jumpargeq, // 0x21
+ Cmd_monbg_static, // 0x22
+ Cmd_clearmonbg_static, // 0x23
+ Cmd_jumpifcontest, // 0x24
+ Cmd_fadetobgfromset, // 0x25
+ Cmd_panse_adjustnone, // 0x26
+ Cmd_panse_adjustall, // 0x27
+ Cmd_splitbgprio, // 0x28
+ Cmd_splitbgprio_all, // 0x29
+ Cmd_splitbgprio_foes, // 0x2A
+ Cmd_invisible, // 0x2B
+ Cmd_visible, // 0x2C
+ Cmd_teamattack_moveback, // 0x2D
+ Cmd_teamattack_movefwd, // 0x2E
+ Cmd_stopsound, // 0x2F
};
void ClearBattleAnimationVars(void)
@@ -1950,7 +331,7 @@ static void RunAnimScriptCommand(void)
} while (sAnimFramesToWait == 0 && gAnimScriptActive);
}
-static void ScriptCmd_loadspritegfx(void)
+static void Cmd_loadspritegfx(void)
{
u16 index;
@@ -1964,7 +345,7 @@ static void ScriptCmd_loadspritegfx(void)
gAnimScriptCallback = WaitAnimFrameCount;
}
-static void ScriptCmd_unloadspritegfx(void)
+static void Cmd_unloadspritegfx(void)
{
u16 index;
@@ -1976,7 +357,7 @@ static void ScriptCmd_unloadspritegfx(void)
ClearSpriteIndex(GET_TRUE_SPRITE_INDEX(index));
}
-static void ScriptCmd_createsprite(void)
+static void Cmd_createsprite(void)
{
s32 i;
const struct SpriteTemplate *template;
@@ -1999,11 +380,11 @@ static void ScriptCmd_createsprite(void)
sBattleAnimScriptPtr += 2;
}
- if (argVar & 0x80)
+ if (argVar & ANIMSPRITE_IS_TARGET)
{
- argVar ^= 0x80;
- if (argVar >= 0x40)
- argVar -= 0x40;
+ argVar ^= ANIMSPRITE_IS_TARGET;
+ if (argVar >= 64)
+ argVar -= 64;
else
argVar *= -1;
@@ -2011,8 +392,8 @@ static void ScriptCmd_createsprite(void)
}
else
{
- if (argVar >= 0x40)
- argVar -= 0x40;
+ if (argVar >= 64)
+ argVar -= 64;
else
argVar *= -1;
@@ -2030,7 +411,7 @@ static void ScriptCmd_createsprite(void)
gAnimVisualTaskCount++;
}
-static void ScriptCmd_createvisualtask(void)
+static void Cmd_createvisualtask(void)
{
TaskFunc taskFunc;
u8 taskPriority;
@@ -2060,7 +441,7 @@ static void ScriptCmd_createvisualtask(void)
gAnimVisualTaskCount++;
}
-static void ScriptCmd_delay(void)
+static void Cmd_delay(void)
{
sBattleAnimScriptPtr++;
sAnimFramesToWait = sBattleAnimScriptPtr[0];
@@ -2071,7 +452,7 @@ static void ScriptCmd_delay(void)
}
// Wait for visual tasks to finish.
-static void ScriptCmd_waitforvisualfinish(void)
+static void Cmd_waitforvisualfinish(void)
{
if (gAnimVisualTaskCount == 0)
{
@@ -2084,15 +465,15 @@ static void ScriptCmd_waitforvisualfinish(void)
}
}
-static void ScriptCmd_nop(void)
+static void Cmd_nop(void)
{
}
-static void ScriptCmd_nop2(void)
+static void Cmd_nop2(void)
{
}
-static void ScriptCmd_end(void)
+static void Cmd_end(void)
{
s32 i;
bool32 continuousAnim = FALSE;
@@ -2146,7 +527,7 @@ static void ScriptCmd_end(void)
}
}
-static void ScriptCmd_playse(void)
+static void Cmd_playse(void)
{
sBattleAnimScriptPtr++;
PlaySE(T1_READ_16(sBattleAnimScriptPtr));
@@ -2154,56 +535,60 @@ static void ScriptCmd_playse(void)
}
// These two tasks share context and similar task data
-// To differentiate them their task data is prefixed t1/t2
+// To differentiate them the task data for Task_UpdateMonBg is prefixed t2
-// Task data for sub_80A40F4
-#define t1_BattlerSpriteId data[0]
-#define t1_InBg2 data[1]
-#define t1_CREATE_ANOTHER_TASK 2
-#define t1_IS_SECONDMON_BG 3
+// Task data for Task_InitUpdateMonBg
+#define tBattlerId data[0]
+#define tInBg2 data[1]
+#define tActive data[2]
+#define tIsPartner data[3]
-// Task data for task_pA_ma0A_obj_to_bg_pal
-#define t2_BATTLER_SPRITE_ID 0
-#define t2_MON_IN_BG2 5
-#define t2_MONBG_BATTLER 6
+// Task data for Task_UpdateMonBg
+#define t2_SpriteId data[0]
+#define t2_SpriteX data[1]
+#define t2_SpriteY data[2]
+#define t2_BgX data[3]
+#define t2_BgY data[4]
+#define t2_InBg2 data[5]
+#define t2_BattlerId data[6]
-static void sub_80A40F4(u8 taskId)
+static void Task_InitUpdateMonBg(u8 taskId)
{
- u8 newTaskId;
+ u8 updateTaskId;
s16 *data = gTasks[taskId].data;
- u8 battlerSpriteId = gBattlerSpriteIds[t1_BattlerSpriteId];
+ u8 battlerSpriteId = gBattlerSpriteIds[tBattlerId];
gSprites[battlerSpriteId].invisible = TRUE;
- if (!data[t1_CREATE_ANOTHER_TASK])
+ if (!tActive)
{
DestroyAnimVisualTask(taskId);
return;
}
- newTaskId = CreateTask(task_pA_ma0A_obj_to_bg_pal, 10);
- gTasks[newTaskId].data[t2_BATTLER_SPRITE_ID] = battlerSpriteId;
- gTasks[newTaskId].data[1] = gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2;
- gTasks[newTaskId].data[2] = gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2;
+ updateTaskId = CreateTask(Task_UpdateMonBg, 10);
+ gTasks[updateTaskId].t2_SpriteId = battlerSpriteId;
+ gTasks[updateTaskId].t2_SpriteX = gSprites[battlerSpriteId].x + gSprites[battlerSpriteId].x2;
+ gTasks[updateTaskId].t2_SpriteY = gSprites[battlerSpriteId].y + gSprites[battlerSpriteId].y2;
- if (!t1_InBg2)
+ if (!tInBg2)
{
- gTasks[newTaskId].data[3] = gBattle_BG1_X;
- gTasks[newTaskId].data[4] = gBattle_BG1_Y;
+ gTasks[updateTaskId].t2_BgX = gBattle_BG1_X;
+ gTasks[updateTaskId].t2_BgY = gBattle_BG1_Y;
}
else
{
- gTasks[newTaskId].data[3] = gBattle_BG2_X;
- gTasks[newTaskId].data[4] = gBattle_BG2_Y;
+ gTasks[updateTaskId].t2_BgX = gBattle_BG2_X;
+ gTasks[updateTaskId].t2_BgY = gBattle_BG2_Y;
}
- gTasks[newTaskId].data[t2_MON_IN_BG2] = t1_InBg2;
- gTasks[newTaskId].data[t2_MONBG_BATTLER] = t1_BattlerSpriteId;
- sMonAnimTaskIdArray[data[t1_IS_SECONDMON_BG]] = newTaskId;
+ gTasks[updateTaskId].t2_InBg2 = tInBg2;
+ gTasks[updateTaskId].t2_BattlerId = tBattlerId;
+ sMonAnimTaskIdArray[tIsPartner] = updateTaskId;
DestroyAnimVisualTask(taskId);
}
-static void ScriptCmd_monbg(void)
+static void Cmd_monbg(void)
{
bool8 toBG_2;
u8 taskId;
@@ -2218,6 +603,7 @@ static void ScriptCmd_monbg(void)
else
battlerId = gBattleAnimAttacker;
+ // Move designated battler to background
if (IsBattlerSpriteVisible(battlerId))
{
u8 position = GetBattlerPosition(battlerId);
@@ -2227,15 +613,16 @@ static void ScriptCmd_monbg(void)
toBG_2 = TRUE;
MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
- taskId = CreateTask(sub_80A40F4, 10);
+ taskId = CreateTask(Task_InitUpdateMonBg, 10);
gAnimVisualTaskCount++;
- gTasks[taskId].t1_BattlerSpriteId = battlerId;
- gTasks[taskId].t1_InBg2 = toBG_2;
- gTasks[taskId].data[t1_CREATE_ANOTHER_TASK] = TRUE;
- gTasks[taskId].data[t1_IS_SECONDMON_BG] = 0;
+ gTasks[taskId].tBattlerId = battlerId;
+ gTasks[taskId].tInBg2 = toBG_2;
+ gTasks[taskId].tActive = TRUE;
+ gTasks[taskId].tIsPartner = FALSE;
}
+ // Move battler's partner to background
battlerId ^= BIT_FLANK;
if (IsBattlerSpriteVisible(battlerId))
{
@@ -2246,12 +633,12 @@ static void ScriptCmd_monbg(void)
toBG_2 = TRUE;
MoveBattlerSpriteToBG(battlerId, toBG_2, FALSE);
- taskId = CreateTask(sub_80A40F4, 10);
+ taskId = CreateTask(Task_InitUpdateMonBg, 10);
gAnimVisualTaskCount++;
- gTasks[taskId].data[0] = battlerId;
- gTasks[taskId].data[1] = toBG_2;
- gTasks[taskId].data[t1_CREATE_ANOTHER_TASK] = TRUE;
- gTasks[taskId].data[t1_IS_SECONDMON_BG] = 1;
+ gTasks[taskId].tBattlerId = battlerId;
+ gTasks[taskId].tInBg2 = toBG_2;
+ gTasks[taskId].tActive = TRUE;
+ gTasks[taskId].tIsPartner = TRUE;
}
sBattleAnimScriptPtr++;
@@ -2423,43 +810,58 @@ void ResetBattleAnimBg(bool8 toBG2)
}
}
-static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
+static void Task_UpdateMonBg(u8 taskId)
{
- u8 spriteId, palIndex;
+ u8 spriteId, battlerId;
s16 x, y;
struct BattleAnimBgData animBg;
- spriteId = gTasks[taskId].data[0];
- palIndex = gTasks[taskId].data[6];
+ spriteId = gTasks[taskId].t2_SpriteId;
+ battlerId = gTasks[taskId].t2_BattlerId;
GetBattleAnimBg1Data(&animBg);
- x = gTasks[taskId].data[1] - (gSprites[spriteId].x + gSprites[spriteId].x2);
- y = gTasks[taskId].data[2] - (gSprites[spriteId].y + gSprites[spriteId].y2);
+ x = gTasks[taskId].t2_SpriteX - (gSprites[spriteId].x + gSprites[spriteId].x2);
+ y = gTasks[taskId].t2_SpriteY - (gSprites[spriteId].y + gSprites[spriteId].y2);
- if (gTasks[taskId].data[5] == 0)
+ if (!gTasks[taskId].t2_InBg2)
{
u16 *src;
u16 *dst;
- gBattle_BG1_X = x + gTasks[taskId].data[3];
- gBattle_BG1_Y = y + gTasks[taskId].data[4];
- src = &gPlttBufferFaded[0x100 + palIndex * 16];
+ gBattle_BG1_X = x + gTasks[taskId].t2_BgX;
+ gBattle_BG1_Y = y + gTasks[taskId].t2_BgY;
+
+ src = &gPlttBufferFaded[0x100 + battlerId * 16];
dst = &gPlttBufferFaded[0x100 + animBg.paletteId * 16 - 256];
- CpuCopy32(src, dst, 0x20);
+ CpuCopy32(src, dst, 32);
}
else
{
u16 *src;
u16 *dst;
- gBattle_BG2_X = x + gTasks[taskId].data[3];
- gBattle_BG2_Y = y + gTasks[taskId].data[4];
- src = &gPlttBufferFaded[0x100 + palIndex * 16];
+ gBattle_BG2_X = x + gTasks[taskId].t2_BgX;
+ gBattle_BG2_Y = y + gTasks[taskId].t2_BgY;
+
+ src = &gPlttBufferFaded[0x100 + battlerId * 16];
dst = &gPlttBufferFaded[0x100 - 112];
- CpuCopy32(src, dst, 0x20);
+ CpuCopy32(src, dst, 32);
}
}
-static void ScriptCmd_clearmonbg(void)
+#undef tBattlerId
+#undef tInBg2
+#undef tActive
+#undef tIsPartner
+
+#undef t2_SpriteId
+#undef t2_SpriteX
+#undef t2_SpriteY
+#undef t2_BgX
+#undef t2_BgY
+#undef t2_InBg2
+#undef t2_BattlerId
+
+static void Cmd_clearmonbg(void)
{
u8 animBattlerId;
u8 battlerId;
@@ -2520,7 +922,8 @@ static void Task_ClearMonBg(u8 taskId)
}
}
-static void ScriptCmd_monbg_22(void)
+// Equivalent to Cmd_monbg but never creates Task_InitUpdateMonBg / Task_UpdateMonBg
+static void Cmd_monbg_static(void)
{
bool8 toBG_2;
u8 battlerId;
@@ -2566,7 +969,7 @@ static void ScriptCmd_monbg_22(void)
sBattleAnimScriptPtr++;
}
-static void ScriptCmd_clearmonbg_23(void)
+static void Cmd_clearmonbg_static(void)
{
u8 animBattlerId;
u8 battlerId;
@@ -2592,14 +995,14 @@ static void ScriptCmd_clearmonbg_23(void)
else
animBattlerId = 0;
- taskId = CreateTask(sub_80A4BB0, 5);
+ taskId = CreateTask(Task_ClearMonBgStatic, 5);
gTasks[taskId].data[0] = animBattlerId;
gTasks[taskId].data[2] = battlerId;
sBattleAnimScriptPtr++;
}
-static void sub_80A4BB0(u8 taskId)
+static void Task_ClearMonBgStatic(u8 taskId)
{
gTasks[taskId].data[1]++;
if (gTasks[taskId].data[1] != 1)
@@ -2621,16 +1024,7 @@ static void sub_80A4BB0(u8 taskId)
}
}
-#undef t1_BattlerSpriteId
-#undef t1_InBg2
-#undef t1_CREATE_ANOTHER_TASK
-#undef t1_IS_SECONDMON_BG
-
-#undef t2_BATTLER_SPRITE_ID
-#undef t2_MON_IN_BG2
-#undef t2_MONBG_BATTLER
-
-static void ScriptCmd_setalpha(void)
+static void Cmd_setalpha(void)
{
u16 half1, half2;
@@ -2641,7 +1035,7 @@ static void ScriptCmd_setalpha(void)
SetGpuReg(REG_OFFSET_BLDALPHA, half1 | half2);
}
-static void ScriptCmd_setbldcnt(void)
+static void Cmd_setbldcnt(void)
{
u16 half1, half2;
@@ -2651,26 +1045,26 @@ static void ScriptCmd_setbldcnt(void)
SetGpuReg(REG_OFFSET_BLDCNT, half1 | half2);
}
-static void ScriptCmd_blendoff(void)
+static void Cmd_blendoff(void)
{
sBattleAnimScriptPtr++;
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
}
-static void ScriptCmd_call(void)
+static void Cmd_call(void)
{
sBattleAnimScriptPtr++;
sBattleAnimScriptRetAddr = sBattleAnimScriptPtr + 4;
sBattleAnimScriptPtr = T2_READ_PTR(sBattleAnimScriptPtr);
}
-static void ScriptCmd_return(void)
+static void Cmd_return(void)
{
sBattleAnimScriptPtr = sBattleAnimScriptRetAddr;
}
-static void ScriptCmd_setarg(void)
+static void Cmd_setarg(void)
{
// Save original address to return to
// after the T1_READ_16, + 4.
@@ -2688,7 +1082,7 @@ static void ScriptCmd_setarg(void)
gBattleAnimArgs[argId] = value;
}
-static void ScriptCmd_choosetwoturnanim(void)
+static void Cmd_choosetwoturnanim(void)
{
sBattleAnimScriptPtr++;
if (gAnimMoveTurn & 1)
@@ -2696,7 +1090,7 @@ static void ScriptCmd_choosetwoturnanim(void)
sBattleAnimScriptPtr = T2_READ_PTR(sBattleAnimScriptPtr);
}
-static void ScriptCmd_jumpifmoveturn(void)
+static void Cmd_jumpifmoveturn(void)
{
u8 toCheck;
sBattleAnimScriptPtr++;
@@ -2709,7 +1103,7 @@ static void ScriptCmd_jumpifmoveturn(void)
sBattleAnimScriptPtr += 4;
}
-static void ScriptCmd_goto(void)
+static void Cmd_goto(void)
{
sBattleAnimScriptPtr++;
sBattleAnimScriptPtr = T2_READ_PTR(sBattleAnimScriptPtr);
@@ -2728,7 +1122,7 @@ bool8 IsContest(void)
#define tBackgroundId data[0]
#define tState data[10]
-static void ScriptCmd_fadetobg(void)
+static void Cmd_fadetobg(void)
{
u8 backgroundId;
u8 taskId;
@@ -2741,7 +1135,7 @@ static void ScriptCmd_fadetobg(void)
sAnimBackgroundFadeState = 1;
}
-static void ScriptCmd_fadetobgfromset(void)
+static void Cmd_fadetobgfromset(void)
{
u8 bg1, bg2, bg3;
u8 taskId;
@@ -2832,7 +1226,7 @@ static void LoadDefaultBg(void)
DrawMainBattleBackground();
}
-static void ScriptCmd_restorebg(void)
+static void Cmd_restorebg(void)
{
u8 taskId;
@@ -2845,7 +1239,7 @@ static void ScriptCmd_restorebg(void)
#undef tBackgroundId
#undef tState
-static void ScriptCmd_waitbgfadeout(void)
+static void Cmd_waitbgfadeout(void)
{
if (sAnimBackgroundFadeState == 2)
{
@@ -2858,7 +1252,7 @@ static void ScriptCmd_waitbgfadeout(void)
}
}
-static void ScriptCmd_waitbgfadein(void)
+static void Cmd_waitbgfadein(void)
{
if (sAnimBackgroundFadeState == 0)
{
@@ -2871,7 +1265,7 @@ static void ScriptCmd_waitbgfadein(void)
}
}
-static void ScriptCmd_changebg(void)
+static void Cmd_changebg(void)
{
sBattleAnimScriptPtr++;
LoadMoveBg(sBattleAnimScriptPtr[0]);
@@ -2963,7 +1357,7 @@ s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan)
return ret;
}
-static void ScriptCmd_playsewithpan(void)
+static void Cmd_playsewithpan(void)
{
u16 songId;
s8 pan;
@@ -2975,7 +1369,7 @@ static void ScriptCmd_playsewithpan(void)
sBattleAnimScriptPtr += 3;
}
-static void ScriptCmd_setpan(void)
+static void Cmd_setpan(void)
{
s8 pan;
@@ -2992,7 +1386,7 @@ static void ScriptCmd_setpan(void)
#define tCurrentPan data[4]
#define tFrameCounter data[8]
-static void ScriptCmd_panse(void)
+static void Cmd_panse(void)
{
u16 songNum;
s8 currentPanArg, incrementPan, incrementPanArg, currentPan, targetPan;
@@ -3065,7 +1459,7 @@ void Task_PanFromInitialToTarget(u8 taskId)
}
}
-static void ScriptCmd_panse_adjustnone(void)
+static void Cmd_panse_adjustnone(void)
{
u16 songId;
s8 currentPan, targetPan, incrementPan;
@@ -3092,7 +1486,7 @@ static void ScriptCmd_panse_adjustnone(void)
sBattleAnimScriptPtr += 6;
}
-static void ScriptCmd_panse_adjustall(void)
+static void Cmd_panse_adjustall(void)
{
u16 songId;
s8 targetPanArg, incrementPanArg, currentPanArg, currentPan, targetPan, incrementPan;
@@ -3136,7 +1530,7 @@ static void ScriptCmd_panse_adjustall(void)
#define tNumberOfPlays data[3]
#define tFrameCounter data[8]
-static void ScriptCmd_loopsewithpan(void)
+static void Cmd_loopsewithpan(void)
{
u16 songId;
s8 panningArg, panning;
@@ -3193,7 +1587,7 @@ static void Task_LoopAndPlaySE(u8 taskId)
#define tPanning data[1]
#define tFramesToWait data[2]
-static void ScriptCmd_waitplaysewithpan(void)
+static void Cmd_waitplaysewithpan(void)
{
u16 songId;
s8 panningArg, panning;
@@ -3229,7 +1623,7 @@ static void Task_WaitAndPlaySE(u8 taskId)
#undef tPanning
#undef tFramesToWait
-static void ScriptCmd_createsoundtask(void)
+static void Cmd_createsoundtask(void)
{
TaskFunc func;
u8 numArgs, taskId;
@@ -3250,7 +1644,7 @@ static void ScriptCmd_createsoundtask(void)
gAnimSoundTaskCount++;
}
-static void ScriptCmd_waitsound(void)
+static void Cmd_waitsound(void)
{
if (gAnimSoundTaskCount != 0)
{
@@ -3278,7 +1672,7 @@ static void ScriptCmd_waitsound(void)
}
}
-static void ScriptCmd_jumpargeq(void)
+static void Cmd_jumpargeq(void)
{
u8 argId;
s16 valueToCheck;
@@ -3293,7 +1687,7 @@ static void ScriptCmd_jumpargeq(void)
sBattleAnimScriptPtr += 7;
}
-static void ScriptCmd_jumpifcontest(void)
+static void Cmd_jumpifcontest(void)
{
sBattleAnimScriptPtr++;
if (IsContest())
@@ -3302,7 +1696,7 @@ static void ScriptCmd_jumpifcontest(void)
sBattleAnimScriptPtr += 4;
}
-static void ScriptCmd_monbgprio_28(void)
+static void Cmd_splitbgprio(void)
{
u8 wantedBattler;
u8 battlerId;
@@ -3316,6 +1710,7 @@ static void ScriptCmd_monbgprio_28(void)
else
battlerId = gBattleAnimAttacker;
+ // Apply only if the given battler is the lead (on left from team's perspective)
battlerPosition = GetBattlerPosition(battlerId);
if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT))
{
@@ -3324,7 +1719,7 @@ static void ScriptCmd_monbgprio_28(void)
}
}
-static void ScriptCmd_monbgprio_29(void)
+static void Cmd_splitbgprio_all(void)
{
sBattleAnimScriptPtr++;
if (!IsContest())
@@ -3334,7 +1729,7 @@ static void ScriptCmd_monbgprio_29(void)
}
}
-static void ScriptCmd_monbgprio_2A(void)
+static void Cmd_splitbgprio_foes(void)
{
u8 wantedBattler;
u8 battlerPosition;
@@ -3342,6 +1737,8 @@ static void ScriptCmd_monbgprio_2A(void)
wantedBattler = sBattleAnimScriptPtr[1];
sBattleAnimScriptPtr += 2;
+
+ // Apply only if the attacking the opposing side
if (GetBattlerSide(gBattleAnimAttacker) != GetBattlerSide(gBattleAnimTarget))
{
if (wantedBattler != ANIM_ATTACKER)
@@ -3349,6 +1746,7 @@ static void ScriptCmd_monbgprio_2A(void)
else
battlerId = gBattleAnimAttacker;
+ // Apply only if the given battler is the lead (on left from team's perspective)
battlerPosition = GetBattlerPosition(battlerId);
if (!IsContest() && (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_OPPONENT_RIGHT))
{
@@ -3358,7 +1756,7 @@ static void ScriptCmd_monbgprio_2A(void)
}
}
-static void ScriptCmd_invisible(void)
+static void Cmd_invisible(void)
{
u8 spriteId;
@@ -3369,7 +1767,7 @@ static void ScriptCmd_invisible(void)
sBattleAnimScriptPtr += 2;
}
-static void ScriptCmd_visible(void)
+static void Cmd_visible(void)
{
u8 spriteId;
@@ -3380,34 +1778,37 @@ static void ScriptCmd_visible(void)
sBattleAnimScriptPtr += 2;
}
-static void ScriptCmd_doublebattle_2D(void)
+// Below two commands are never used
+static void Cmd_teamattack_moveback(void)
{
u8 wantedBattler;
- u8 r4;
+ u8 priorityRank;
u8 spriteId;
wantedBattler = sBattleAnimScriptPtr[1];
sBattleAnimScriptPtr += 2;
+
+ // Apply to double battles when attacking own side
if (!IsContest() && IsDoubleBattle()
&& GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
{
if (wantedBattler == ANIM_ATTACKER)
{
- r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
+ priorityRank = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
}
else
{
- r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
+ priorityRank = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
}
if (spriteId != SPRITE_NONE)
{
gSprites[spriteId].invisible = FALSE;
- if (r4 == 2)
+ if (priorityRank == 2)
gSprites[spriteId].oam.priority = 3;
- if (r4 == 1)
+ if (priorityRank == 1)
ResetBattleAnimBg(FALSE);
else
ResetBattleAnimBg(TRUE);
@@ -3415,34 +1816,36 @@ static void ScriptCmd_doublebattle_2D(void)
}
}
-static void ScriptCmd_doublebattle_2E(void)
+static void Cmd_teamattack_movefwd(void)
{
u8 wantedBattler;
- u8 r4;
+ u8 priorityRank;
u8 spriteId;
wantedBattler = sBattleAnimScriptPtr[1];
sBattleAnimScriptPtr += 2;
+
+ // Apply to double battles when attacking own side
if (!IsContest() && IsDoubleBattle()
&& GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
{
if (wantedBattler == ANIM_ATTACKER)
{
- r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
+ priorityRank = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
}
else
{
- r4 = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
+ priorityRank = GetBattlerSpriteBGPriorityRank(gBattleAnimTarget);
spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
}
- if (spriteId != SPRITE_NONE && r4 == 2)
+ if (spriteId != SPRITE_NONE && priorityRank == 2)
gSprites[spriteId].oam.priority = 2;
}
}
-static void ScriptCmd_stopsound(void)
+static void Cmd_stopsound(void)
{
m4aMPlayStop(&gMPlayInfo_SE1);
m4aMPlayStop(&gMPlayInfo_SE2);
diff --git a/src/data/battle_anim.h b/src/data/battle_anim.h
new file mode 100644
index 000000000..5b24981d5
--- /dev/null
+++ b/src/data/battle_anim.h
@@ -0,0 +1,1625 @@
+const struct OamData gOamData_AffineOff_ObjNormal_8x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+
+const struct OamData gOamData_AffineOff_ObjNormal_16x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_32x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_64x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_16x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_32x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_32x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_64x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_8x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_8x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_16x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjNormal_32x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_8x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_16x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_32x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_64x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_16x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_32x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_32x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_64x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_8x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_8x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_16x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjNormal_32x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_8x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_16x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_32x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_64x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_16x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_32x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_32x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_64x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_8x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_8x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_16x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjNormal_32x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_NORMAL,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_8x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_16x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_32x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_64x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_16x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_32x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_32x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_64x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_8x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_8x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_16x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineOff_ObjBlend_32x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_OFF,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_8x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_16x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_32x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_64x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_16x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_32x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_32x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_64x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_8x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_8x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_16x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineNormal_ObjBlend_32x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_NORMAL,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_8x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x8),
+ .x = 0,
+ .size = SPRITE_SIZE(8x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_16x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x16),
+ .x = 0,
+ .size = SPRITE_SIZE(16x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_32x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x32),
+ .x = 0,
+ .size = SPRITE_SIZE(32x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_64x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x64),
+ .x = 0,
+ .size = SPRITE_SIZE(64x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_16x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x8),
+ .x = 0,
+ .size = SPRITE_SIZE(16x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_32x8 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x8),
+ .x = 0,
+ .size = SPRITE_SIZE(32x8),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_32x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x16),
+ .x = 0,
+ .size = SPRITE_SIZE(32x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_64x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(64x32),
+ .x = 0,
+ .size = SPRITE_SIZE(64x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_8x16 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x16),
+ .x = 0,
+ .size = SPRITE_SIZE(8x16),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_8x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(8x32),
+ .x = 0,
+ .size = SPRITE_SIZE(8x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_16x32 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(16x32),
+ .x = 0,
+ .size = SPRITE_SIZE(16x32),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct OamData gOamData_AffineDouble_ObjBlend_32x64 =
+{
+ .y = 0,
+ .affineMode = ST_OAM_AFFINE_DOUBLE,
+ .objMode = ST_OAM_OBJ_BLEND,
+ .bpp = ST_OAM_4BPP,
+ .shape = SPRITE_SHAPE(32x64),
+ .x = 0,
+ .size = SPRITE_SIZE(32x64),
+ .tileNum = 0,
+ .priority = 2,
+ .paletteNum = 0,
+};
+
+const struct CompressedSpriteSheet gBattleAnimPicTable[] =
+{
+ {gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE},
+ {gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK},
+ {gBattleAnimSpriteGfx_Pencil, 0x0200, ANIM_TAG_PENCIL},
+ {gBattleAnimSpriteGfx_AirWave, 0x0100, ANIM_TAG_AIR_WAVE},
+ {gBattleAnimSpriteGfx_Orb, 0x0200, ANIM_TAG_ORB},
+ {gBattleAnimSpriteGfx_Sword, 0x0400, ANIM_TAG_SWORD},
+ {gBattleAnimSpriteGfx_Seed, 0x0180, ANIM_TAG_SEED},
+ {gBattleAnimSpriteGfx_Explosion6, 0x0800, ANIM_TAG_EXPLOSION_6},
+ {gBattleAnimSpriteGfx_PinkOrb, 0x0020, ANIM_TAG_PINK_ORB},
+ {gBattleAnimSpriteGfx_Gust, 0x0400, ANIM_TAG_GUST},
+ {gBattleAnimSpriteGfx_IceCube, 0x1200, ANIM_TAG_ICE_CUBE},
+ {gBattleAnimSpriteGfx_Spark2, 0x0180, ANIM_TAG_SPARK_2},
+ {gBattleAnimSpriteGfx_Orange, 0x0080, ANIM_TAG_ORANGE},
+ {gBattleAnimSpriteGfx_YellowBall, 0x0080, ANIM_TAG_YELLOW_BALL},
+ {gBattleAnimSpriteGfx_LockOn, 0x0280, ANIM_TAG_LOCK_ON},
+ {gBattleAnimSpriteGfx_TiedBag, 0x0080, ANIM_TAG_TIED_BAG},
+ {gBattleAnimSpriteGfx_BlackSmoke, 0x0100, ANIM_TAG_BLACK_SMOKE},
+ {gBattleAnimSpriteGfx_BlackBall, 0x0020, ANIM_TAG_BLACK_BALL},
+ {gBattleAnimSpriteGfx_Conversion, 0x0080, ANIM_TAG_CONVERSION},
+ {gBattleAnimSpriteGfx_Glass, 0x0400, ANIM_TAG_GLASS},
+ {gBattleAnimSpriteGfx_HornHit, 0x0200, ANIM_TAG_HORN_HIT},
+ {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT},
+ {gBattleAnimSpriteGfx_Hit, 0x0A00, ANIM_TAG_HIT_2},
+ {gBattleAnimSpriteGfx_BlueShards, 0x0380, ANIM_TAG_BLUE_SHARDS},
+ {gBattleAnimSpriteGfx_ClosingEye, 0x0300, ANIM_TAG_CLOSING_EYE},
+ {gBattleAnimSpriteGfx_WavingHand, 0x0A00, ANIM_TAG_WAVING_HAND},
+ {gBattleAnimSpriteGfx_HitDuplicate, 0x0A00, ANIM_TAG_HIT_DUPLICATE},
+ {gBattleAnimSpriteGfx_Leer, 0x0A00, ANIM_TAG_LEER},
+ {gBattleAnimSpriteGfx_BlueBurst, 0x0A00, ANIM_TAG_BLUE_BURST},
+ {gBattleAnimSpriteGfx_SmallEmber, 0x0A00, ANIM_TAG_SMALL_EMBER},
+ {gBattleAnimSpriteGfx_GraySmoke, 0x0A00, ANIM_TAG_GRAY_SMOKE},
+ {gBattleAnimSpriteGfx_BlueStar, 0x0E00, ANIM_TAG_BLUE_STAR},
+ {gBattleAnimSpriteGfx_BubbleBurst, 0x0380, ANIM_TAG_BUBBLE_BURST},
+ {gBattleAnimSpriteGfx_Fire, 0x1000, ANIM_TAG_FIRE},
+ {gBattleAnimSpriteGfx_SpinningFire, 0x0800, ANIM_TAG_SPINNING_FIRE},
+ {gBattleAnimSpriteGfx_FirePlume, 0x0A00, ANIM_TAG_FIRE_PLUME},
+ {gBattleAnimSpriteGfx_Lightning2, 0x0800, ANIM_TAG_LIGHTNING_2},
+ {gBattleAnimSpriteGfx_Lightning, 0x0A00, ANIM_TAG_LIGHTNING},
+ {gBattleAnimSpriteGfx_ClawSlash2, 0x0A00, ANIM_TAG_CLAW_SLASH_2},
+ {gBattleAnimSpriteGfx_ClawSlash, 0x0A00, ANIM_TAG_CLAW_SLASH},
+ {gBattleAnimSpriteGfx_Scratch3, 0x0A00, ANIM_TAG_SCRATCH_3},
+ {gBattleAnimSpriteGfx_Scratch2, 0x0A00, ANIM_TAG_SCRATCH_2},
+ {gBattleAnimSpriteGfx_BubbleBurst2, 0x0A00, ANIM_TAG_BUBBLE_BURST_2},
+ {gBattleAnimSpriteGfx_IceChunk, 0x0A00, ANIM_TAG_ICE_CHUNK},
+ {gBattleAnimSpriteGfx_Glass2, 0x0A00, ANIM_TAG_GLASS_2},
+ {gBattleAnimSpriteGfx_PinkHeart2, 0x0A00, ANIM_TAG_PINK_HEART_2},
+ {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP},
+ {gBattleAnimSpriteGfx_SapDrip, 0x1000, ANIM_TAG_SAP_DRIP_2},
+ {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_1},
+ {gBattleAnimSpriteGfx_Sparkle1, 0x1000, ANIM_TAG_SPARKLE_2},
+ {gBattleAnimSpriteGfx_HumanoidFoot, 0x0200, ANIM_TAG_HUMANOID_FOOT},
+ {gBattleAnimSpriteGfx_MonsterFoot, 0x0200, ANIM_TAG_MONSTER_FOOT},
+ {gBattleAnimSpriteGfx_HumanoidHand, 0x0200, ANIM_TAG_HUMANOID_HAND},
+ {gBattleAnimSpriteGfx_NoiseLine, 0x0800, ANIM_TAG_NOISE_LINE},
+ {gBattleAnimSpriteGfx_YellowUnk, 0x0080, ANIM_TAG_YELLOW_UNK},
+ {gBattleAnimSpriteGfx_RedFist, 0x0200, ANIM_TAG_RED_FIST},
+ {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_SLAM_HIT},
+ {gBattleAnimSpriteGfx_Ring, 0x0180, ANIM_TAG_RING},
+ {gBattleAnimSpriteGfx_Rocks, 0x0C00, ANIM_TAG_ROCKS},
+ {gBattleAnimSpriteGfx_Z, 0x0100, ANIM_TAG_Z},
+ {gBattleAnimSpriteGfx_YellowUnk2, 0x0040, ANIM_TAG_YELLOW_UNK_2},
+ {gBattleAnimSpriteGfx_AirSlash, 0x0180, ANIM_TAG_AIR_SLASH},
+ {gBattleAnimSpriteGfx_SpinningGreenOrbs, 0x0800, ANIM_TAG_SPINNING_GREEN_ORBS},
+ {gBattleAnimSpriteGfx_Leaf, 0x0480, ANIM_TAG_LEAF},
+ {gBattleAnimSpriteGfx_Finger, 0x0200, ANIM_TAG_FINGER},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POISON_POWDER},
+ {gBattleAnimSpriteGfx_BrownTriangle, 0x0100, ANIM_TAG_BROWN_TRIANGLE},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_SLEEP_POWDER},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_STUN_SPORE},
+ {gBattleAnimSpriteGfx_PoisonPowder, 0x0200, ANIM_TAG_POWDER},
+ {gBattleAnimSpriteGfx_Sparkle3, 0x0200, ANIM_TAG_SPARKLE_3},
+ {gBattleAnimSpriteGfx_Sparkle4, 0x0A00, ANIM_TAG_SPARKLE_4},
+ {gBattleAnimSpriteGfx_MusicNotes, 0x0300, ANIM_TAG_MUSIC_NOTES},
+ {gBattleAnimSpriteGfx_Duck, 0x0180, ANIM_TAG_DUCK},
+ {gBattleAnimSpriteGfx_MudSand, 0x00A0, ANIM_TAG_MUD_SAND},
+ {gBattleAnimSpriteGfx_Alert, 0x0700, ANIM_TAG_ALERT},
+ {gBattleAnimSpriteGfx_BlueFlames, 0x0400, ANIM_TAG_BLUE_FLAMES},
+ {gBattleAnimSpriteGfx_BlueFlames2, 0x0200, ANIM_TAG_BLUE_FLAMES_2},
+ {gBattleAnimSpriteGfx_Shock4, 0x0300, ANIM_TAG_SHOCK_4},
+ {gBattleAnimSpriteGfx_Shock, 0x0C00, ANIM_TAG_SHOCK},
+ {gBattleAnimSpriteGfx_Bell2, 0x0A00, ANIM_TAG_BELL_2},
+ {gBattleAnimSpriteGfx_PinkGlove, 0x0080, ANIM_TAG_PINK_GLOVE},
+ {gBattleAnimSpriteGfx_BlueLines, 0x0040, ANIM_TAG_BLUE_LINES},
+ {gBattleAnimSpriteGfx_Impact3, 0x0E00, ANIM_TAG_IMPACT_3},
+ {gBattleAnimSpriteGfx_Impact2, 0x0E00, ANIM_TAG_IMPACT_2},
+ {gBattleAnimSpriteGfx_Reticle, 0x0280, ANIM_TAG_RETICLE},
+ {gBattleAnimSpriteGfx_Breath, 0x0200, ANIM_TAG_BREATH},
+ {gBattleAnimSpriteGfx_Anger, 0x0080, ANIM_TAG_ANGER},
+ {gBattleAnimSpriteGfx_Snowball, 0x00C0, ANIM_TAG_SNOWBALL},
+ {gBattleAnimSpriteGfx_Vine, 0x0A00, ANIM_TAG_VINE},
+ {gBattleAnimSpriteGfx_Sword2, 0x0200, ANIM_TAG_SWORD_2},
+ {gBattleAnimSpriteGfx_Clapping, 0x0180, ANIM_TAG_CLAPPING},
+ {gBattleAnimSpriteGfx_RedTube, 0x0080, ANIM_TAG_RED_TUBE},
+ {gBattleAnimSpriteGfx_Amnesia, 0x1000, ANIM_TAG_AMNESIA},
+ {gBattleAnimSpriteGfx_String2, 0x0A00, ANIM_TAG_STRING_2},
+ {gBattleAnimSpriteGfx_Pencil2, 0x0180, ANIM_TAG_PENCIL_2},
+ {gBattleAnimSpriteGfx_Petal, 0x0380, ANIM_TAG_PETAL},
+ {gBattleAnimSpriteGfx_BentSpoon, 0x0C00, ANIM_TAG_BENT_SPOON},
+ {gBattleAnimSpriteGfx_Web, 0x0200, ANIM_TAG_WEB},
+ {gBattleAnimSpriteGfx_MilkBottle, 0x0200, ANIM_TAG_MILK_BOTTLE},
+ {gBattleAnimSpriteGfx_Coin, 0x0200, ANIM_TAG_COIN},
+ {gBattleAnimSpriteGfx_CrackedEgg, 0x0200, ANIM_TAG_CRACKED_EGG},
+ {gBattleAnimSpriteGfx_HatchedEgg, 0x0400, ANIM_TAG_HATCHED_EGG},
+ {gBattleAnimSpriteGfx_FreshEgg, 0x0080, ANIM_TAG_FRESH_EGG},
+ {gBattleAnimSpriteGfx_Fangs, 0x0400, ANIM_TAG_FANGS},
+ {gBattleAnimSpriteGfx_Explosion2, 0x0c00, ANIM_TAG_EXPLOSION_2},
+ {gBattleAnimSpriteGfx_Explosion3, 0x0200, ANIM_TAG_EXPLOSION_3},
+ {gBattleAnimSpriteGfx_WaterDroplet, 0x1000, ANIM_TAG_WATER_DROPLET},
+ {gBattleAnimSpriteGfx_WaterDroplet2, 0x0a00, ANIM_TAG_WATER_DROPLET_2},
+ {gBattleAnimSpriteGfx_Seed2, 0x0020, ANIM_TAG_SEED_2},
+ {gBattleAnimSpriteGfx_Sprout, 0x0e00, ANIM_TAG_SPROUT},
+ {gBattleAnimSpriteGfx_RedWand, 0x0080, ANIM_TAG_RED_WAND},
+ {gBattleAnimSpriteGfx_PurpleGreenUnk, 0x0a00, ANIM_TAG_PURPLE_GREEN_UNK},
+ {gBattleAnimSpriteGfx_WaterColumn, 0x0400, ANIM_TAG_WATER_COLUMN},
+ {gBattleAnimSpriteGfx_MudUnk, 0x0200, ANIM_TAG_MUD_UNK},
+ {gBattleAnimSpriteGfx_RainDrops, 0x0700, ANIM_TAG_RAIN_DROPS},
+ {gBattleAnimSpriteGfx_FurySwipes, 0x0800, ANIM_TAG_FURY_SWIPES},
+ {gBattleAnimSpriteGfx_Vine2, 0x0a00, ANIM_TAG_VINE_2},
+ {gBattleAnimSpriteGfx_Teeth, 0x0600, ANIM_TAG_TEETH},
+ {gBattleAnimSpriteGfx_Bone2, 0x0800, ANIM_TAG_BONE_2},
+ {gBattleAnimSpriteGfx_WhiteBag, 0x0200, ANIM_TAG_WHITE_BAG},
+ {gBattleAnimSpriteGfx_Unknown, 0x0040, ANIM_TAG_UNKNOWN},
+ {gBattleAnimSpriteGfx_PurpleCoral, 0x0180, ANIM_TAG_PURPLE_CORAL},
+ {gBattleAnimSpriteGfx_PurpleDroplet, 0x0600, ANIM_TAG_PURPLE_DROPLET},
+ {gBattleAnimSpriteGfx_Shock2, 0x0600, ANIM_TAG_SHOCK_2},
+ {gBattleAnimSpriteGfx_ClosingEye2, 0x0200, ANIM_TAG_CLOSING_EYE_2},
+ {gBattleAnimSpriteGfx_MetalBall, 0x0080, ANIM_TAG_METAL_BALL},
+ {gBattleAnimSpriteGfx_MonsterDoll, 0x0200, ANIM_TAG_MONSTER_DOLL},
+ {gBattleAnimSpriteGfx_Whirlwind, 0x0800, ANIM_TAG_WHIRLWIND},
+ {gBattleAnimSpriteGfx_Whirlwind2, 0x0080, ANIM_TAG_WHIRLWIND_2},
+ {gBattleAnimSpriteGfx_Explosion4, 0x0a00, ANIM_TAG_EXPLOSION_4},
+ {gBattleAnimSpriteGfx_Explosion5, 0x0280, ANIM_TAG_EXPLOSION_5},
+ {gBattleAnimSpriteGfx_Tongue, 0x0280, ANIM_TAG_TONGUE},
+ {gBattleAnimSpriteGfx_Smoke, 0x0100, ANIM_TAG_SMOKE},
+ {gBattleAnimSpriteGfx_Smoke2, 0x0200, ANIM_TAG_SMOKE_2},
+ {gBattleAnimSpriteGfx_Impact, 0x0200, ANIM_TAG_IMPACT},
+ {gBattleAnimSpriteGfx_CircleImpact, 0x0020, ANIM_TAG_CIRCLE_IMPACT},
+ {gBattleAnimSpriteGfx_Scratch, 0x0a00, ANIM_TAG_SCRATCH},
+ {gBattleAnimSpriteGfx_Cut, 0x0800, ANIM_TAG_CUT},
+ {gBattleAnimSpriteGfx_SharpTeeth, 0x0800, ANIM_TAG_SHARP_TEETH},
+ {gBattleAnimSpriteGfx_RainbowRings, 0x00c0, ANIM_TAG_RAINBOW_RINGS},
+ {gBattleAnimSpriteGfx_IceCrystals, 0x01c0, ANIM_TAG_ICE_CRYSTALS},
+ {gBattleAnimSpriteGfx_IceSpikes, 0x0100, ANIM_TAG_ICE_SPIKES},
+ {gBattleAnimSpriteGfx_HandsAndFeet, 0x0800, ANIM_TAG_HANDS_AND_FEET},
+ {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_MIST_CLOUD},
+ {gBattleAnimSpriteGfx_Clamp, 0x0800, ANIM_TAG_CLAMP},
+ {gBattleAnimSpriteGfx_Bubble, 0x0180, ANIM_TAG_BUBBLE},
+ {gBattleAnimSpriteGfx_Orbs, 0x0180, ANIM_TAG_ORBS},
+ {gBattleAnimSpriteGfx_WaterImpact, 0x0200, ANIM_TAG_WATER_IMPACT},
+ {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_WATER_ORB},
+ {gBattleAnimSpriteGfx_PoisonBubble, 0x0180, ANIM_TAG_POISON_BUBBLE},
+ {gBattleAnimSpriteGfx_ToxicBubble, 0x0400, ANIM_TAG_TOXIC_BUBBLE},
+ {gBattleAnimSpriteGfx_Spikes, 0x0080, ANIM_TAG_SPIKES},
+ {gBattleAnimSpriteGfx_HornHit2, 0x0100, ANIM_TAG_HORN_HIT_2},
+ {gBattleAnimSpriteGfx_AirWave2, 0x0100, ANIM_TAG_AIR_WAVE_2},
+ {gBattleAnimSpriteGfx_SmallBubbles, 0x0140, ANIM_TAG_SMALL_BUBBLES},
+ {gBattleAnimSpriteGfx_RoundShadow, 0x0800, ANIM_TAG_ROUND_SHADOW},
+ {gBattleAnimSpriteGfx_Sunlight, 0x0200, ANIM_TAG_SUNLIGHT},
+ {gBattleAnimSpriteGfx_Spore, 0x0100, ANIM_TAG_SPORE},
+ {gBattleAnimSpriteGfx_Flower, 0x00a0, ANIM_TAG_FLOWER},
+ {gBattleAnimSpriteGfx_RazorLeaf, 0x0100, ANIM_TAG_RAZOR_LEAF},
+ {gBattleAnimSpriteGfx_Needle, 0x0080, ANIM_TAG_NEEDLE},
+ {gBattleAnimSpriteGfx_WhirlwindLines, 0x0300, ANIM_TAG_WHIRLWIND_LINES},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_GOLD_RING},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_PURPLE_RING},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GREEN_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_BLUE_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_RED_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_GRAY_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_GreenLightWall, 0x0800, ANIM_TAG_ORANGE_LIGHT_WALL},
+ {gBattleAnimSpriteGfx_BlackBall2, 0x0080, ANIM_TAG_BLACK_BALL_2},
+ {gBattleAnimSpriteGfx_MistCloud, 0x0200, ANIM_TAG_PURPLE_GAS_CLOUD},
+ {gBattleAnimSpriteGfx_SparkH, 0x0200, ANIM_TAG_SPARK_H},
+ {gBattleAnimSpriteGfx_YellowStar, 0x0200, ANIM_TAG_YELLOW_STAR},
+ {gBattleAnimSpriteGfx_LargeFreshEgg, 0x0080, ANIM_TAG_LARGE_FRESH_EGG},
+ {gBattleAnimSpriteGfx_ShadowBall, 0x0200, ANIM_TAG_SHADOW_BALL},
+ {gBattleAnimSpriteGfx_Lick, 0x0500, ANIM_TAG_LICK},
+ {gBattleAnimSpriteGfx_VoidLines, 0x0800, ANIM_TAG_VOID_LINES},
+ {gBattleAnimSpriteGfx_String, 0x0400, ANIM_TAG_STRING},
+ {gBattleAnimSpriteGfx_WebThread, 0x0020, ANIM_TAG_WEB_THREAD},
+ {gBattleAnimSpriteGfx_SpiderWeb, 0x0800, ANIM_TAG_SPIDER_WEB},
+ {gBattleAnimSpriteGfx_Lightbulb, 0x0100, ANIM_TAG_LIGHTBULB},
+ {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH},
+ {gBattleAnimSpriteGfx_FocusEnergy, 0x0400, ANIM_TAG_FOCUS_ENERGY},
+ {gBattleAnimSpriteGfx_SphereToCube, 0x0a00, ANIM_TAG_SPHERE_TO_CUBE},
+ {gBattleAnimSpriteGfx_Tendrils, 0x1000, ANIM_TAG_TENDRILS},
+ {gBattleAnimSpriteGfx_Eye, 0x0800, ANIM_TAG_EYE},
+ {gBattleAnimSpriteGfx_WhiteShadow, 0x0400, ANIM_TAG_WHITE_SHADOW},
+ {gBattleAnimSpriteGfx_TealAlert, 0x0200, ANIM_TAG_TEAL_ALERT},
+ {gBattleAnimSpriteGfx_OpeningEye, 0x0800, ANIM_TAG_OPENING_EYE},
+ {gBattleAnimSpriteGfx_RoundWhiteHalo, 0x0800, ANIM_TAG_ROUND_WHITE_HALO},
+ {gBattleAnimSpriteGfx_FangAttack, 0x0800, ANIM_TAG_FANG_ATTACK},
+ {gBattleAnimSpriteGfx_PurpleHandOutline, 0x0200, ANIM_TAG_PURPLE_HAND_OUTLINE},
+ {gBattleAnimSpriteGfx_Moon, 0x0800, ANIM_TAG_MOON},
+ {gBattleAnimSpriteGfx_GreenSparkle, 0x0200, ANIM_TAG_GREEN_SPARKLE},
+ {gBattleAnimSpriteGfx_Spiral, 0x0800, ANIM_TAG_SPIRAL},
+ {gBattleAnimSpriteGfx_SnoreZ, 0x0200, ANIM_TAG_SNORE_Z},
+ {gBattleAnimSpriteGfx_Explosion, 0x0800, ANIM_TAG_EXPLOSION},
+ {gBattleAnimSpriteGfx_Nail, 0x0400, ANIM_TAG_NAIL},
+ {gBattleAnimSpriteGfx_GhostlySpirit, 0x0200, ANIM_TAG_GHOSTLY_SPIRIT},
+ {gBattleAnimSpriteGfx_WarmRock, 0x0a80, ANIM_TAG_WARM_ROCK},
+ {gBattleAnimSpriteGfx_BreakingEgg, 0x0600, ANIM_TAG_BREAKING_EGG},
+ {gBattleAnimSpriteGfx_ThinRing, 0x0800, ANIM_TAG_THIN_RING},
+ {gBattleAnimSpriteGfx_PunchImpact, 0x0200, ANIM_TAG_PUNCH_IMPACT},
+ {gBattleAnimSpriteGfx_Bell, 0x0600, ANIM_TAG_BELL},
+ {gBattleAnimSpriteGfx_MusicNotes2, 0x0800, ANIM_TAG_MUSIC_NOTES_2},
+ {gBattleAnimSpriteGfx_SpeedDust, 0x0180, ANIM_TAG_SPEED_DUST},
+ {gBattleAnimSpriteGfx_TornMetal, 0x0800, ANIM_TAG_TORN_METAL},
+ {gBattleAnimSpriteGfx_ThoughtBubble, 0x0800, ANIM_TAG_THOUGHT_BUBBLE},
+ {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_MAGENTA_HEART},
+ {gBattleAnimSpriteGfx_ElectricOrbs, 0x0080, ANIM_TAG_ELECTRIC_ORBS},
+ {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpriteGfx_Electricity, 0x0800, ANIM_TAG_ELECTRICITY},
+ {gBattleAnimSpriteGfx_Finger2, 0x0600, ANIM_TAG_FINGER_2},
+ {gBattleAnimSpriteGfx_MovementWaves, 0x0600, ANIM_TAG_MOVEMENT_WAVES},
+ {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_RED_HEART},
+ {gBattleAnimSpriteGfx_RedOrb, 0x0080, ANIM_TAG_RED_ORB},
+ {gBattleAnimSpriteGfx_EyeSparkle, 0x0180, ANIM_TAG_EYE_SPARKLE},
+ {gBattleAnimSpriteGfx_MagentaHeart, 0x0080, ANIM_TAG_PINK_HEART},
+ {gBattleAnimSpriteGfx_Angel, 0x0200, ANIM_TAG_ANGEL},
+ {gBattleAnimSpriteGfx_Devil, 0x0400, ANIM_TAG_DEVIL},
+ {gBattleAnimSpriteGfx_Swipe, 0x0a00, ANIM_TAG_SWIPE},
+ {gBattleAnimSpriteGfx_Roots, 0x0800, ANIM_TAG_ROOTS},
+ {gBattleAnimSpriteGfx_ItemBag, 0x0200, ANIM_TAG_ITEM_BAG},
+ {gBattleAnimSpriteGfx_JaggedMusicNote, 0x0400, ANIM_TAG_JAGGED_MUSIC_NOTE},
+ {gBattleAnimSpriteGfx_Pokeball, 0x0080, ANIM_TAG_POKEBALL},
+ {gBattleAnimSpriteGfx_Spotlight, 0x0800, ANIM_TAG_SPOTLIGHT},
+ {gBattleAnimSpriteGfx_LetterZ, 0x0200, ANIM_TAG_LETTER_Z},
+ {gBattleAnimSpriteGfx_RapidSpin, 0x0300, ANIM_TAG_RAPID_SPIN},
+ {gBattleAnimSpriteGfx_TriAttackTriangle, 0x0800, ANIM_TAG_TRI_ATTACK_TRIANGLE},
+ {gBattleAnimSpriteGfx_WispOrb, 0x0380, ANIM_TAG_WISP_ORB},
+ {gBattleAnimSpriteGfx_WispFire, 0x0800, ANIM_TAG_WISP_FIRE},
+ {gBattleAnimSpriteGfx_GoldStars, 0x00c0, ANIM_TAG_GOLD_STARS},
+ {gBattleAnimSpriteGfx_EclipsingOrb, 0x0800, ANIM_TAG_ECLIPSING_ORB},
+ {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_GRAY_ORB},
+ {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_BLUE_ORB},
+ {gBattleAnimSpriteGfx_GrayOrb, 0x0060, ANIM_TAG_RED_ORB_2},
+ {gBattleAnimSpriteGfx_PinkPetal, 0x0080, ANIM_TAG_PINK_PETAL},
+ {gBattleAnimSpriteGfx_PainSplit, 0x0180, ANIM_TAG_PAIN_SPLIT},
+ {gBattleAnimSpriteGfx_Confetti, 0x0180, ANIM_TAG_CONFETTI},
+ {gBattleAnimSpriteGfx_GreenStar, 0x0200, ANIM_TAG_GREEN_STAR},
+ {gBattleAnimSpriteGfx_PinkCloud, 0x0200, ANIM_TAG_PINK_CLOUD},
+ {gBattleAnimSpriteGfx_SweatDrop, 0x0020, ANIM_TAG_SWEAT_DROP},
+ {gBattleAnimSpriteGfx_GuardRing, 0x0400, ANIM_TAG_GUARD_RING},
+ {gBattleAnimSpriteGfx_PurpleScratch, 0x0600, ANIM_TAG_PURPLE_SCRATCH},
+ {gBattleAnimSpriteGfx_PurpleSwipe, 0x1000, ANIM_TAG_PURPLE_SWIPE},
+ {gBattleAnimSpriteGfx_TagHand, 0x0400, ANIM_TAG_TAG_HAND},
+ {gBattleAnimSpriteGfx_SmallRedEye, 0x0020, ANIM_TAG_SMALL_RED_EYE},
+ {gBattleAnimSpriteGfx_HollowOrb, 0x0080, ANIM_TAG_HOLLOW_ORB},
+ {gBattleAnimSpriteGfx_XSign, 0x0800, ANIM_TAG_X_SIGN},
+ {gBattleAnimSpriteGfx_BluegreenOrb, 0x0080, ANIM_TAG_BLUEGREEN_ORB},
+ {gBattleAnimSpriteGfx_PawPrint, 0x0200, ANIM_TAG_PAW_PRINT},
+ {gBattleAnimSpriteGfx_PurpleFlame, 0x0400, ANIM_TAG_PURPLE_FLAME},
+ {gBattleAnimSpriteGfx_RedBall, 0x0200, ANIM_TAG_RED_BALL},
+ {gBattleAnimSpriteGfx_SmellingsaltEffect, 0x0200, ANIM_TAG_SMELLINGSALT_EFFECT},
+ {gBattleAnimSpriteGfx_Meteor, 0x0800, ANIM_TAG_METEOR},
+ {gBattleAnimSpriteGfx_FlatRock, 0x0280, ANIM_TAG_FLAT_ROCK},
+ {gBattleAnimSpriteGfx_MagnifyingGlass, 0x0200, ANIM_TAG_MAGNIFYING_GLASS},
+ {gBattleAnimSpriteGfx_WaterOrb, 0x0200, ANIM_TAG_BROWN_ORB},
+ {gBattleAnimSpriteGfx_MetalSoundWaves, 0x0400, ANIM_TAG_METAL_SOUND_WAVES},
+ {gBattleAnimSpriteGfx_FlyingDirt, 0x0200, ANIM_TAG_FLYING_DIRT},
+ {gBattleAnimSpriteGfx_IcicleSpear, 0x0200, ANIM_TAG_ICICLE_SPEAR},
+ {gBattleAnimSpriteGfx_Hail, 0x0080, ANIM_TAG_HAIL},
+ {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_RED_ORB},
+ {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_GREEN_ORB},
+ {gBattleAnimSpriteGfx_GreenSpike, 0x0080, ANIM_TAG_GREEN_SPIKE},
+ {gBattleAnimSpriteGfx_CircleOfLight, 0x0800, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpriteGfx_GlowyRedOrb, 0x0020, ANIM_TAG_GLOWY_BLUE_ORB},
+ {gBattleAnimSpriteGfx_Pokeblock, 0x0080, ANIM_TAG_POKEBLOCK},
+ {gBattleAnimSpriteGfx_WhiteFeather, 0x0400, ANIM_TAG_WHITE_FEATHER},
+ {gBattleAnimSpriteGfx_Sparkle6, 0x0080, ANIM_TAG_SPARKLE_6},
+ {gBattleAnimSpriteGfx_Splash, 0x0800, ANIM_TAG_SPLASH},
+ {gBattleAnimSpriteGfx_SweatBead, 0x0020, ANIM_TAG_SWEAT_BEAD},
+ {gBattleAnimSpriteGfx_Gem1, 0x0800, ANIM_TAG_GEM_1},
+ {gBattleAnimSpriteGfx_Gem2, 0x0800, ANIM_TAG_GEM_2},
+ {gBattleAnimSpriteGfx_Gem3, 0x0800, ANIM_TAG_GEM_3},
+ {gBattleAnimSpriteGfx_SlamHit2, 0x1000, ANIM_TAG_SLAM_HIT_2},
+ {gBattleAnimSpriteGfx_Recycle, 0x0800, ANIM_TAG_RECYCLE},
+ {gBattleAnimSpriteGfx_RedParticles, 0x00a0, ANIM_TAG_RED_PARTICLES},
+ {gBattleAnimSpriteGfx_Protect, 0x0800, ANIM_TAG_PROTECT},
+ {gBattleAnimSpriteGfx_DirtMound, 0x0200, ANIM_TAG_DIRT_MOUND},
+ {gBattleAnimSpriteGfx_Shock3, 0x0600, ANIM_TAG_SHOCK_3},
+ {gBattleAnimSpriteGfx_WeatherBall, 0x0200, ANIM_TAG_WEATHER_BALL},
+ {gBattleAnimSpriteGfx_Bird, 0x0800, ANIM_TAG_BIRD},
+ {gBattleAnimSpriteGfx_CrossImpact, 0x0200, ANIM_TAG_CROSS_IMPACT},
+ {gBattleAnimSpriteGfx_Slash, 0x0800, ANIM_TAG_SLASH_2},
+ {gBattleAnimSpriteGfx_SlamHit, 0x1000, ANIM_TAG_WHIP_HIT},
+ {gBattleAnimSpriteGfx_GoldRing, 0x0100, ANIM_TAG_BLUE_RING_2},
+};
+
+const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
+{
+ {gBattleAnimSpritePal_Bone, ANIM_TAG_BONE},
+ {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK},
+ {gBattleAnimSpritePal_Pencil, ANIM_TAG_PENCIL},
+ {gBattleAnimSpritePal_AirWave, ANIM_TAG_AIR_WAVE},
+ {gBattleAnimSpritePal_Orb, ANIM_TAG_ORB},
+ {gBattleAnimSpritePal_Sword, ANIM_TAG_SWORD},
+ {gBattleAnimSpritePal_Seed, ANIM_TAG_SEED},
+ {gBattleAnimSpritePal_Explosion6, ANIM_TAG_EXPLOSION_6},
+ {gBattleAnimSpritePal_PinkOrb, ANIM_TAG_PINK_ORB},
+ {gBattleAnimSpritePal_Gust, ANIM_TAG_GUST},
+ {gBattleAnimSpritePal_IceCube, ANIM_TAG_ICE_CUBE},
+ {gBattleAnimSpritePal_Spark2, ANIM_TAG_SPARK_2},
+ {gBattleAnimSpritePal_Orange, ANIM_TAG_ORANGE},
+ {gBattleAnimSpritePal_YellowBall, ANIM_TAG_YELLOW_BALL},
+ {gBattleAnimSpritePal_LockOn, ANIM_TAG_LOCK_ON},
+ {gBattleAnimSpritePal_TiedBag, ANIM_TAG_TIED_BAG},
+ {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_SMOKE},
+ {gBattleAnimSpritePal_BlackSmoke, ANIM_TAG_BLACK_BALL},
+ {gBattleAnimSpritePal_Conversion, ANIM_TAG_CONVERSION},
+ {gBattleAnimSpritePal_Glass, ANIM_TAG_GLASS},
+ {gBattleAnimSpritePal_HornHit, ANIM_TAG_HORN_HIT},
+ {gBattleAnimSpritePal_Hit, ANIM_TAG_HIT},
+ {gBattleAnimSpritePal_Hit2, ANIM_TAG_HIT_2},
+ {gBattleAnimSpritePal_BlueShards, ANIM_TAG_BLUE_SHARDS},
+ {gBattleAnimSpritePal_ClosingEye, ANIM_TAG_CLOSING_EYE},
+ {gBattleAnimSpritePal_WavingHand, ANIM_TAG_WAVING_HAND},
+ {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_HIT_DUPLICATE},
+ {gBattleAnimSpritePal_Leer, ANIM_TAG_LEER},
+ {gBattleAnimSpritePal_BlueBurst, ANIM_TAG_BLUE_BURST},
+ {gBattleAnimSpritePal_SmallEmber, ANIM_TAG_SMALL_EMBER},
+ {gBattleAnimSpritePal_GraySmoke, ANIM_TAG_GRAY_SMOKE},
+ {gBattleAnimSpritePal_BlueStar, ANIM_TAG_BLUE_STAR},
+ {gBattleAnimSpritePal_BubbleBurst, ANIM_TAG_BUBBLE_BURST},
+ {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE},
+ {gBattleAnimSpritePal_Fire, ANIM_TAG_SPINNING_FIRE},
+ {gBattleAnimSpritePal_Fire, ANIM_TAG_FIRE_PLUME},
+ {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING_2},
+ {gBattleAnimSpritePal_Lightning2, ANIM_TAG_LIGHTNING},
+ {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_CLAW_SLASH_2},
+ {gBattleAnimSpritePal_ClawSlash, ANIM_TAG_CLAW_SLASH},
+ {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_3},
+ {gBattleAnimSpritePal_ClawSlash2, ANIM_TAG_SCRATCH_2},
+ {gBattleAnimSpritePal_BubbleBurst2, ANIM_TAG_BUBBLE_BURST_2},
+ {gBattleAnimSpritePal_IceChunk, ANIM_TAG_ICE_CHUNK},
+ {gBattleAnimSpritePal_Glass2, ANIM_TAG_GLASS_2},
+ {gBattleAnimSpritePal_PinkHeart2, ANIM_TAG_PINK_HEART_2},
+ {gBattleAnimSpritePal_SapDrip, ANIM_TAG_SAP_DRIP},
+ {gBattleAnimSpritePal_SapDrip2, ANIM_TAG_SAP_DRIP},
+ {gBattleAnimSpritePal_Sparkle1, ANIM_TAG_SPARKLE_1},
+ {gBattleAnimSpritePal_Sparkle2, ANIM_TAG_SPARKLE_2},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_FOOT},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_MONSTER_FOOT},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_HUMANOID_HAND},
+ {gBattleAnimSpritePal_HitDuplicate, ANIM_TAG_NOISE_LINE},
+ {gBattleAnimSpritePal_YellowUnk, ANIM_TAG_YELLOW_UNK},
+ {gBattleAnimSpritePal_HumanoidFoot, ANIM_TAG_RED_FIST},
+ {gBattleAnimSpritePal_SlamHit, ANIM_TAG_SLAM_HIT},
+ {gBattleAnimSpritePal_Ring, ANIM_TAG_RING},
+ {gBattleAnimSpritePal_Rocks, ANIM_TAG_ROCKS},
+ {gBattleAnimSpritePal_Z, ANIM_TAG_Z},
+ {gBattleAnimSpritePal_YellowUnk2, ANIM_TAG_YELLOW_UNK_2},
+ {gBattleAnimSpritePal_AirSlash, ANIM_TAG_AIR_SLASH},
+ {gBattleAnimSpritePal_SpinningGreenOrbs, ANIM_TAG_SPINNING_GREEN_ORBS},
+ {gBattleAnimSpritePal_Leaf, ANIM_TAG_LEAF},
+ {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER},
+ {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POISON_POWDER},
+ {gBattleAnimSpritePal_BrownTriangle, ANIM_TAG_BROWN_TRIANGLE},
+ {gBattleAnimSpritePal_SleepPowder, ANIM_TAG_SLEEP_POWDER},
+ {gBattleAnimSpritePal_StunSpore, ANIM_TAG_STUN_SPORE},
+ {gBattleAnimSpritePal_PoisonPowder, ANIM_TAG_POWDER},
+ {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_3},
+ {gBattleAnimSpritePal_Sparkle3, ANIM_TAG_SPARKLE_4},
+ {gBattleAnimSpritePal_MusicNotes, ANIM_TAG_MUSIC_NOTES},
+ {gBattleAnimSpritePal_Duck, ANIM_TAG_DUCK},
+ {gBattleAnimSpritePal_MudSand, ANIM_TAG_MUD_SAND},
+ {gBattleAnimSpritePal_Alert, ANIM_TAG_ALERT},
+ {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES},
+ {gBattleAnimSpritePal_BlueFlames, ANIM_TAG_BLUE_FLAMES_2},
+ {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK_4},
+ {gBattleAnimSpritePal_Shock4, ANIM_TAG_SHOCK},
+ {gBattleAnimSpritePal_Bell2, ANIM_TAG_BELL_2},
+ {gBattleAnimSpritePal_PinkGlove, ANIM_TAG_PINK_GLOVE},
+ {gBattleAnimSpritePal_BlueLines, ANIM_TAG_BLUE_LINES},
+ {gBattleAnimSpritePal_Impact3, ANIM_TAG_IMPACT_3},
+ {gBattleAnimSpritePal_Impact2, ANIM_TAG_IMPACT_2},
+ {gBattleAnimSpritePal_Reticle, ANIM_TAG_RETICLE},
+ {gBattleAnimSpritePal_Breath, ANIM_TAG_BREATH},
+ {gBattleAnimSpritePal_Anger, ANIM_TAG_ANGER},
+ {gBattleAnimSpritePal_Snowball, ANIM_TAG_SNOWBALL},
+ {gBattleAnimSpritePal_Vine, ANIM_TAG_VINE},
+ {gBattleAnimSpritePal_Sword2, ANIM_TAG_SWORD_2},
+ {gBattleAnimSpritePal_Clapping, ANIM_TAG_CLAPPING},
+ {gBattleAnimSpritePal_RedTube, ANIM_TAG_RED_TUBE},
+ {gBattleAnimSpritePal_Amnesia, ANIM_TAG_AMNESIA},
+ {gBattleAnimSpritePal_String2, ANIM_TAG_STRING_2},
+ {gBattleAnimSpritePal_Pencil2, ANIM_TAG_PENCIL_2},
+ {gBattleAnimSpritePal_Petal, ANIM_TAG_PETAL},
+ {gBattleAnimSpritePal_BentSpoon, ANIM_TAG_BENT_SPOON},
+ {gBattleAnimSpritePal_String2, ANIM_TAG_WEB},
+ {gBattleAnimSpritePal_MilkBottle, ANIM_TAG_MILK_BOTTLE},
+ {gBattleAnimSpritePal_Coin, ANIM_TAG_COIN},
+ {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_CRACKED_EGG},
+ {gBattleAnimSpritePal_CrackedEgg, ANIM_TAG_HATCHED_EGG},
+ {gBattleAnimSpritePal_FreshEgg, ANIM_TAG_FRESH_EGG},
+ {gBattleAnimSpritePal_Fangs, ANIM_TAG_FANGS},
+ {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_2},
+ {gBattleAnimSpritePal_Explosion2, ANIM_TAG_EXPLOSION_3},
+ {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET},
+ {gBattleAnimSpritePal_WaterDroplet, ANIM_TAG_WATER_DROPLET_2},
+ {gBattleAnimSpritePal_Seed2, ANIM_TAG_SEED_2},
+ {gBattleAnimSpritePal_Seed2, ANIM_TAG_SPROUT},
+ {gBattleAnimSpritePal_RedWand, ANIM_TAG_RED_WAND},
+ {gBattleAnimSpritePal_PurpleGreenUnk, ANIM_TAG_PURPLE_GREEN_UNK},
+ {gBattleAnimSpritePal_WaterColumn, ANIM_TAG_WATER_COLUMN},
+ {gBattleAnimSpritePal_MudUnk, ANIM_TAG_MUD_UNK},
+ {gBattleAnimSpritePal_RainDrops, ANIM_TAG_RAIN_DROPS},
+ {gBattleAnimSpritePal_FurySwipes, ANIM_TAG_FURY_SWIPES},
+ {gBattleAnimSpritePal_Vine2, ANIM_TAG_VINE_2},
+ {gBattleAnimSpritePal_Teeth, ANIM_TAG_TEETH},
+ {gBattleAnimSpritePal_Bone2, ANIM_TAG_BONE_2},
+ {gBattleAnimSpritePal_WhiteBag, ANIM_TAG_WHITE_BAG},
+ {gBattleAnimSpritePal_Unknown, ANIM_TAG_UNKNOWN},
+ {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_CORAL},
+ {gBattleAnimSpritePal_PurpleCoral, ANIM_TAG_PURPLE_DROPLET},
+ {gBattleAnimSpritePal_Shock2, ANIM_TAG_SHOCK_2},
+ {gBattleAnimSpritePal_ClosingEye2, ANIM_TAG_CLOSING_EYE_2},
+ {gBattleAnimSpritePal_MetalBall, ANIM_TAG_METAL_BALL},
+ {gBattleAnimSpritePal_MonsterDoll, ANIM_TAG_MONSTER_DOLL},
+ {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND},
+ {gBattleAnimSpritePal_Whirlwind, ANIM_TAG_WHIRLWIND_2},
+ {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_4},
+ {gBattleAnimSpritePal_Explosion4, ANIM_TAG_EXPLOSION_5},
+ {gBattleAnimSpritePal_Tongue, ANIM_TAG_TONGUE},
+ {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE},
+ {gBattleAnimSpritePal_Smoke, ANIM_TAG_SMOKE_2},
+ {gBattleAnimSpritePal_Impact, ANIM_TAG_IMPACT},
+ {gBattleAnimSpritePal_CircleImpact, ANIM_TAG_CIRCLE_IMPACT},
+ {gBattleAnimSpritePal_Impact, ANIM_TAG_SCRATCH},
+ {gBattleAnimSpritePal_Impact, ANIM_TAG_CUT},
+ {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_SHARP_TEETH},
+ {gBattleAnimSpritePal_RainbowRings, ANIM_TAG_RAINBOW_RINGS},
+ {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_CRYSTALS},
+ {gBattleAnimSpritePal_IceCrystals, ANIM_TAG_ICE_SPIKES},
+ {gBattleAnimSpritePal_HandsAndFeet, ANIM_TAG_HANDS_AND_FEET},
+ {gBattleAnimSpritePal_MistCloud, ANIM_TAG_MIST_CLOUD},
+ {gBattleAnimSpritePal_SharpTeeth, ANIM_TAG_CLAMP},
+ {gBattleAnimSpritePal_RainDrops, ANIM_TAG_BUBBLE},
+ {gBattleAnimSpritePal_Orbs, ANIM_TAG_ORBS},
+ {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_IMPACT},
+ {gBattleAnimSpritePal_WaterImpact, ANIM_TAG_WATER_ORB},
+ {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_POISON_BUBBLE},
+ {gBattleAnimSpritePal_PoisonBubble, ANIM_TAG_TOXIC_BUBBLE},
+ {gBattleAnimSpritePal_Spikes, ANIM_TAG_SPIKES},
+ {gBattleAnimSpritePal_HornHit2, ANIM_TAG_HORN_HIT_2},
+ {gBattleAnimSpritePal_AirWave2, ANIM_TAG_AIR_WAVE_2},
+ {gBattleAnimSpritePal_SmallBubbles, ANIM_TAG_SMALL_BUBBLES},
+ {gBattleAnimSpritePal_RoundShadow, ANIM_TAG_ROUND_SHADOW},
+ {gBattleAnimSpritePal_Sunlight, ANIM_TAG_SUNLIGHT},
+ {gBattleAnimSpritePal_Spore, ANIM_TAG_SPORE},
+ {gBattleAnimSpritePal_Flower, ANIM_TAG_FLOWER},
+ {gBattleAnimSpritePal_RazorLeaf, ANIM_TAG_RAZOR_LEAF},
+ {gBattleAnimSpritePal_Needle, ANIM_TAG_NEEDLE},
+ {gBattleAnimSpritePal_WhirlwindLines, ANIM_TAG_WHIRLWIND_LINES},
+ {gBattleAnimSpritePal_GoldRing, ANIM_TAG_GOLD_RING},
+ {gBattleAnimSpritePal_PurpleRing, ANIM_TAG_PURPLE_RING},
+ {gBattleAnimSpritePal_BlueRing, ANIM_TAG_BLUE_RING},
+ {gBattleAnimSpritePal_GreenLightWall, ANIM_TAG_GREEN_LIGHT_WALL},
+ {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_BLUE_LIGHT_WALL},
+ {gBattleAnimSpritePal_RedLightWall, ANIM_TAG_RED_LIGHT_WALL},
+ {gBattleAnimSpritePal_GrayLightWall, ANIM_TAG_GRAY_LIGHT_WALL},
+ {gBattleAnimSpritePal_OrangeLightWall, ANIM_TAG_ORANGE_LIGHT_WALL},
+ {gBattleAnimSpritePal_BlackBall2, ANIM_TAG_BLACK_BALL_2},
+ {gBattleAnimSpritePal_PurpleGasCloud, ANIM_TAG_PURPLE_GAS_CLOUD},
+ {gBattleAnimSpritePal_Spark, ANIM_TAG_SPARK_H},
+ {gBattleAnimSpritePal_YellowStar, ANIM_TAG_YELLOW_STAR},
+ {gBattleAnimSpritePal_LargeFreshEgg, ANIM_TAG_LARGE_FRESH_EGG},
+ {gBattleAnimSpritePal_ShadowBall, ANIM_TAG_SHADOW_BALL},
+ {gBattleAnimSpritePal_Lick, ANIM_TAG_LICK},
+ {gBattleAnimSpritePal_VoidLines, ANIM_TAG_VOID_LINES},
+ {gBattleAnimSpritePal_String, ANIM_TAG_STRING},
+ {gBattleAnimSpritePal_String, ANIM_TAG_WEB_THREAD},
+ {gBattleAnimSpritePal_String, ANIM_TAG_SPIDER_WEB},
+ {gBattleAnimSpritePal_Lightbulb, ANIM_TAG_LIGHTBULB},
+ {gBattleAnimSpritePal_Slash, ANIM_TAG_SLASH},
+ {gBattleAnimSpritePal_FocusEnergy, ANIM_TAG_FOCUS_ENERGY},
+ {gBattleAnimSpritePal_SphereToCube, ANIM_TAG_SPHERE_TO_CUBE},
+ {gBattleAnimSpritePal_Tendrils, ANIM_TAG_TENDRILS},
+ {gBattleAnimSpritePal_Eye, ANIM_TAG_EYE},
+ {gBattleAnimSpritePal_WhiteShadow, ANIM_TAG_WHITE_SHADOW},
+ {gBattleAnimSpritePal_TealAlert, ANIM_TAG_TEAL_ALERT},
+ {gBattleAnimSpritePal_OpeningEye, ANIM_TAG_OPENING_EYE},
+ {gBattleAnimSpritePal_RoundWhiteHalo, ANIM_TAG_ROUND_WHITE_HALO},
+ {gBattleAnimSpritePal_FangAttack, ANIM_TAG_FANG_ATTACK},
+ {gBattleAnimSpritePal_PurpleHandOutline, ANIM_TAG_PURPLE_HAND_OUTLINE},
+ {gBattleAnimSpritePal_Moon, ANIM_TAG_MOON},
+ {gBattleAnimSpritePal_GreenSparkle, ANIM_TAG_GREEN_SPARKLE},
+ {gBattleAnimSpritePal_Spiral, ANIM_TAG_SPIRAL},
+ {gBattleAnimSpritePal_SnoreZ, ANIM_TAG_SNORE_Z},
+ {gBattleAnimSpritePal_Explosion, ANIM_TAG_EXPLOSION},
+ {gBattleAnimSpritePal_Nail, ANIM_TAG_NAIL},
+ {gBattleAnimSpritePal_GhostlySpirit, ANIM_TAG_GHOSTLY_SPIRIT},
+ {gBattleAnimSpritePal_WarmRock, ANIM_TAG_WARM_ROCK},
+ {gBattleAnimSpritePal_BreakingEgg, ANIM_TAG_BREAKING_EGG},
+ {gBattleAnimSpritePal_ThinRing, ANIM_TAG_THIN_RING},
+ {gBattleAnimSpritePal_PunchImpact, ANIM_TAG_PUNCH_IMPACT},
+ {gBattleAnimSpritePal_Bell, ANIM_TAG_BELL},
+ {gBattleAnimSpritePal_MusicNotes2, ANIM_TAG_MUSIC_NOTES_2},
+ {gBattleAnimSpritePal_SpeedDust, ANIM_TAG_SPEED_DUST},
+ {gBattleAnimSpritePal_BlueLightWall, ANIM_TAG_TORN_METAL},
+ {gBattleAnimSpritePal_ThoughtBubble, ANIM_TAG_THOUGHT_BUBBLE},
+ {gBattleAnimSpritePal_MagentaHeart, ANIM_TAG_MAGENTA_HEART},
+ {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRIC_ORBS},
+ {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpritePal_ElectricOrbs, ANIM_TAG_ELECTRICITY},
+ {gBattleAnimSpritePal_Finger, ANIM_TAG_FINGER_2},
+ {gBattleAnimSpritePal_MovementWaves, ANIM_TAG_MOVEMENT_WAVES},
+ {gBattleAnimSpritePal_RedHeart, ANIM_TAG_RED_HEART},
+ {gBattleAnimSpritePal_RedOrb, ANIM_TAG_RED_ORB},
+ {gBattleAnimSpritePal_EyeSparkle, ANIM_TAG_EYE_SPARKLE},
+ {gBattleAnimSpritePal_PinkHeart, ANIM_TAG_PINK_HEART},
+ {gBattleAnimSpritePal_Angel, ANIM_TAG_ANGEL},
+ {gBattleAnimSpritePal_Devil, ANIM_TAG_DEVIL},
+ {gBattleAnimSpritePal_Swipe, ANIM_TAG_SWIPE},
+ {gBattleAnimSpritePal_Roots, ANIM_TAG_ROOTS},
+ {gBattleAnimSpritePal_ItemBag, ANIM_TAG_ITEM_BAG},
+ {gBattleAnimSpritePal_JaggedMusicNote, ANIM_TAG_JAGGED_MUSIC_NOTE},
+ {gBattleAnimSpritePal_Pokeball, ANIM_TAG_POKEBALL},
+ {gBattleAnimSpritePal_Pokeball, ANIM_TAG_SPOTLIGHT},
+ {gBattleAnimSpritePal_LetterZ, ANIM_TAG_LETTER_Z},
+ {gBattleAnimSpritePal_RapidSpin, ANIM_TAG_RAPID_SPIN},
+ {gBattleAnimSpritePal_TriAttackTriangle, ANIM_TAG_TRI_ATTACK_TRIANGLE},
+ {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_ORB},
+ {gBattleAnimSpritePal_WispOrb, ANIM_TAG_WISP_FIRE},
+ {gBattleAnimSpritePal_GoldStars, ANIM_TAG_GOLD_STARS},
+ {gBattleAnimSpritePal_EclipsingOrb, ANIM_TAG_ECLIPSING_ORB},
+ {gBattleAnimSpritePal_GrayOrb, ANIM_TAG_GRAY_ORB},
+ {gBattleAnimSpritePal_BlueOrb, ANIM_TAG_BLUE_ORB},
+ {gBattleAnimSpritePal_RedOrb2, ANIM_TAG_RED_ORB_2},
+ {gBattleAnimSpritePal_PinkPetal, ANIM_TAG_PINK_PETAL},
+ {gBattleAnimSpritePal_PainSplit, ANIM_TAG_PAIN_SPLIT},
+ {gBattleAnimSpritePal_Confetti, ANIM_TAG_CONFETTI},
+ {gBattleAnimSpritePal_GreenStar, ANIM_TAG_GREEN_STAR},
+ {gBattleAnimSpritePal_PinkCloud, ANIM_TAG_PINK_CLOUD},
+ {gBattleAnimSpritePal_SweatDrop, ANIM_TAG_SWEAT_DROP},
+ {gBattleAnimSpritePal_GuardRing, ANIM_TAG_GUARD_RING},
+ {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SCRATCH},
+ {gBattleAnimSpritePal_PurpleScratch, ANIM_TAG_PURPLE_SWIPE},
+ {gBattleAnimSpritePal_Finger, ANIM_TAG_TAG_HAND},
+ {gBattleAnimSpritePal_SmallRedEye, ANIM_TAG_SMALL_RED_EYE},
+ {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_HOLLOW_ORB},
+ {gBattleAnimSpritePal_HollowOrb, ANIM_TAG_X_SIGN},
+ {gBattleAnimSpritePal_BluegreenOrb, ANIM_TAG_BLUEGREEN_ORB},
+ {gBattleAnimSpritePal_PawPrint, ANIM_TAG_PAW_PRINT},
+ {gBattleAnimSpritePal_PurpleFlame, ANIM_TAG_PURPLE_FLAME},
+ {gBattleAnimSpritePal_RedBall, ANIM_TAG_RED_BALL},
+ {gBattleAnimSpritePal_SmellingsaltEffect, ANIM_TAG_SMELLINGSALT_EFFECT},
+ {gBattleAnimSpritePal_Meteor, ANIM_TAG_METEOR},
+ {gBattleAnimSpritePal_FlatRock, ANIM_TAG_FLAT_ROCK},
+ {gBattleAnimSpritePal_MagnifyingGlass, ANIM_TAG_MAGNIFYING_GLASS},
+ {gBattleAnimSpritePal_BrownOrb, ANIM_TAG_BROWN_ORB},
+ {gBattleAnimSpritePal_MetalSoundWaves, ANIM_TAG_METAL_SOUND_WAVES},
+ {gBattleAnimSpritePal_FlyingDirt, ANIM_TAG_FLYING_DIRT},
+ {gBattleAnimSpritePal_IcicleSpear, ANIM_TAG_ICICLE_SPEAR},
+ {gBattleAnimSpritePal_Hail, ANIM_TAG_HAIL},
+ {gBattleAnimSpritePal_GlowyRedOrb, ANIM_TAG_GLOWY_RED_ORB},
+ {gBattleAnimSpritePal_GlowyGreenOrb, ANIM_TAG_GLOWY_GREEN_ORB},
+ {gBattleAnimSpritePal_GreenSpike, ANIM_TAG_GREEN_SPIKE},
+ {gBattleAnimSpritePal_WhiteCircleOfLight, ANIM_TAG_WHITE_CIRCLE_OF_LIGHT},
+ {gBattleAnimSpritePal_GlowyBlueOrb, ANIM_TAG_GLOWY_BLUE_ORB},
+ {gBattleAnimSpritePal_Pokeblock, ANIM_TAG_POKEBLOCK},
+ {gBattleAnimSpritePal_WhiteFeather, ANIM_TAG_WHITE_FEATHER},
+ {gBattleAnimSpritePal_Sparkle6, ANIM_TAG_SPARKLE_6},
+ {gBattleAnimSpritePal_Splash, ANIM_TAG_SPLASH},
+ {gBattleAnimSpritePal_Splash, ANIM_TAG_SWEAT_BEAD},
+ {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_1},
+ {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_2},
+ {gBattleAnimSpritePal_Gem1, ANIM_TAG_GEM_3},
+ {gBattleAnimSpritePal_SlamHit2, ANIM_TAG_SLAM_HIT_2},
+ {gBattleAnimSpritePal_Recycle, ANIM_TAG_RECYCLE},
+ {gBattleAnimSpritePal_RedParticles, ANIM_TAG_RED_PARTICLES},
+ {gBattleAnimSpritePal_Protect, ANIM_TAG_PROTECT},
+ {gBattleAnimSpritePal_DirtMound, ANIM_TAG_DIRT_MOUND},
+ {gBattleAnimSpritePal_Shock3, ANIM_TAG_SHOCK_3},
+ {gBattleAnimSpritePal_WeatherBall, ANIM_TAG_WEATHER_BALL},
+ {gBattleAnimSpritePal_Bird, ANIM_TAG_BIRD},
+ {gBattleAnimSpritePal_CrossImpact, ANIM_TAG_CROSS_IMPACT},
+ {gBattleAnimSpritePal_Slash2, ANIM_TAG_SLASH_2},
+ {gBattleAnimSpritePal_WhipHit, ANIM_TAG_WHIP_HIT},
+ {gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2},
+};
+
+const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
+{
+ [BG_NONE] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
+ [BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
+ [BG_GHOST] = {gBattleAnimBgImage_Ghost, gBattleAnimBgPalette_Ghost, gBattleAnimBgTilemap_Ghost},
+ [BG_PSYCHIC] = {gBattleAnimBgImage_Psychic, gBattleAnimBgPalette_Psychic, gBattleAnimBgTilemap_Psychic},
+ [BG_IMPACT_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactOpponent},
+ [BG_IMPACT_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactPlayer},
+ [BG_IMPACT_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Impact, gBattleAnimBgTilemap_ImpactContests},
+ [BG_DRILL] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_Drill},
+ [BG_DRILL_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Drill, gBattleAnimBgTilemap_DrillContests},
+ [BG_HIGHSPEED_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedOpponent},
+ [BG_HIGHSPEED_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Highspeed, gBattleAnimBgTilemap_HighspeedPlayer},
+ [BG_THUNDER] = {gBattleAnimBgImage_Thunder, gBattleAnimBgPalette_Thunder, gBattleAnimBgTilemap_Thunder},
+ [BG_GUILLOTINE_OPPONENT] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineOpponent},
+ [BG_GUILLOTINE_PLAYER] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotinePlayer},
+ [BG_GUILLOTINE_CONTESTS] = {gBattleAnimBgImage_Guillotine, gBattleAnimBgPalette_Guillotine, gBattleAnimBgTilemap_GuillotineContests},
+ [BG_ICE] = {gBattleAnimBgImage_Ice, gBattleAnimBgPalette_Ice, gBattleAnimBgTilemap_Ice},
+ [BG_COSMIC] = {gBattleAnimBgImage_Cosmic, gBattleAnimBgPalette_Cosmic, gBattleAnimBgTilemap_Cosmic},
+ [BG_IN_AIR] = {gBattleAnimBgImage_InAir, gBattleAnimBgPalette_InAir, gBattleAnimBgTilemap_InAir},
+ [BG_SKY] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_Drill},
+ [BG_SKY_CONTESTS] = {gBattleAnimBgImage_Drill, gBattleAnimBgPalette_Sky, gBattleAnimBgTilemap_DrillContests},
+ [BG_AURORA] = {gBattleAnimBgImage_Aurora, gBattleAnimBgPalette_Aurora, gBattleAnimBgTilemap_Aurora},
+ [BG_FISSURE] = {gBattleAnimBgImage_Fissure, gBattleAnimBgPalette_Fissure, gBattleAnimBgTilemap_Fissure},
+ [BG_BUG_OPPONENT] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedOpponent},
+ [BG_BUG_PLAYER] = {gBattleAnimBgImage_Highspeed, gBattleAnimBgPalette_Bug, gBattleAnimBgTilemap_HighspeedPlayer},
+ [BG_SOLARBEAM_OPPONENT] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactOpponent},
+ [BG_SOLARBEAM_PLAYER] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactPlayer},
+ [BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests},
+};