summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle_anim.c324
-rw-r--r--src/battle_anim_effects_1.c491
-rw-r--r--src/battle_anim_effects_2.c243
-rw-r--r--src/battle_anim_effects_3.c1999
-rw-r--r--src/battle_anim_special.c182
-rw-r--r--src/battle_anim_status_effects.c8
6 files changed, 1567 insertions, 1680 deletions
diff --git a/src/battle_anim.c b/src/battle_anim.c
index 6f4c8a91e..fd219bc11 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -18,14 +18,8 @@
#include "task.h"
#include "constants/battle_anim.h"
-// Defines
#define ANIM_SPRITE_INDEX_COUNT 8
-extern const u16 gMovesWithQuietBGM[];
-extern const u8 *const gBattleAnims_Moves[];
-//extern const struct CompressedSpriteSheet gUnknown_8399388[];
-//extern const struct CompressedSpritePalette gUnknown_8399C90[];
-
// RAM
EWRAM_DATA static const u8 *sBattleAnimScriptPtr = NULL;
EWRAM_DATA static const u8 *sBattleAnimScriptRetAddr = NULL;
@@ -117,7 +111,10 @@ static void ScriptCmd_doublebattle_2E(void);
static void ScriptCmd_stopsound(void);
// Data
-const struct OamData gOamData_AffineOff_ObjNormal_8x8 = //gOamData_83AC9C8
+extern const u16 gMovesWithQuietBGM[];
+extern const u8 *const gBattleAnims_Moves[];
+
+const struct OamData gOamData_AffineOff_ObjNormal_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -132,7 +129,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_8x8 = //gOamData_83AC9C8
};
-const struct OamData gOamData_AffineOff_ObjNormal_16x16 = //gOamData_83AC9D0
+const struct OamData gOamData_AffineOff_ObjNormal_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -146,7 +143,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_16x16 = //gOamData_83AC9D0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_32x32 = //gOamData_83AC9D8
+const struct OamData gOamData_AffineOff_ObjNormal_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -160,7 +157,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_32x32 = //gOamData_83AC9D8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_64x64 = //gOamData_83AC9E0
+const struct OamData gOamData_AffineOff_ObjNormal_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -174,7 +171,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_64x64 = //gOamData_83AC9E0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_16x8 = //gOamData_83AC9E8
+const struct OamData gOamData_AffineOff_ObjNormal_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -188,7 +185,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_16x8 = //gOamData_83AC9E8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_32x8 = //gOamData_83AC9F0
+const struct OamData gOamData_AffineOff_ObjNormal_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -202,7 +199,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_32x8 = //gOamData_83AC9F0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_32x16 = //gOamData_83AC9F8
+const struct OamData gOamData_AffineOff_ObjNormal_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -216,7 +213,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_32x16 = //gOamData_83AC9F8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_64x32 = //gOamData_83ACA00
+const struct OamData gOamData_AffineOff_ObjNormal_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -230,7 +227,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_64x32 = //gOamData_83ACA00
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_8x16 = //gOamData_83ACA08
+const struct OamData gOamData_AffineOff_ObjNormal_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -244,7 +241,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_8x16 = //gOamData_83ACA08
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_8x32 = //gOamData_83ACA10
+const struct OamData gOamData_AffineOff_ObjNormal_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -258,7 +255,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_8x32 = //gOamData_83ACA10
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_16x32 = //gOamData_83ACA18
+const struct OamData gOamData_AffineOff_ObjNormal_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -272,7 +269,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_16x32 = //gOamData_83ACA18
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjNormal_32x64 = //gOamData_83ACA20
+const struct OamData gOamData_AffineOff_ObjNormal_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -286,7 +283,7 @@ const struct OamData gOamData_AffineOff_ObjNormal_32x64 = //gOamData_83ACA20
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_8x8 = //gOamData_83ACA28
+const struct OamData gOamData_AffineNormal_ObjNormal_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -300,7 +297,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_8x8 = //gOamData_83ACA28
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_16x16 = //gOamData_83ACA30
+const struct OamData gOamData_AffineNormal_ObjNormal_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -314,7 +311,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_16x16 = //gOamData_83ACA30
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_32x32 = //gOamData_83ACA38
+const struct OamData gOamData_AffineNormal_ObjNormal_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -328,7 +325,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_32x32 = //gOamData_83ACA38
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_64x64 = //gOamData_83ACA40
+const struct OamData gOamData_AffineNormal_ObjNormal_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -342,7 +339,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_64x64 = //gOamData_83ACA40
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_16x8 = //gOamData_83ACA48
+const struct OamData gOamData_AffineNormal_ObjNormal_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -356,7 +353,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_16x8 = //gOamData_83ACA48
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_32x8 = //gOamData_83ACA50
+const struct OamData gOamData_AffineNormal_ObjNormal_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -370,7 +367,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_32x8 = //gOamData_83ACA50
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_32x16 = //gOamData_83ACA58
+const struct OamData gOamData_AffineNormal_ObjNormal_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -384,7 +381,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_32x16 = //gOamData_83ACA58
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_64x32 = //gOamData_83ACA60
+const struct OamData gOamData_AffineNormal_ObjNormal_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -398,7 +395,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_64x32 = //gOamData_83ACA60
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_8x16 = //gOamData_83ACA68
+const struct OamData gOamData_AffineNormal_ObjNormal_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -412,7 +409,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_8x16 = //gOamData_83ACA68
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_8x32 = //gOamData_83ACA70
+const struct OamData gOamData_AffineNormal_ObjNormal_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -426,7 +423,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_8x32 = //gOamData_83ACA70
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_16x32 = //gOamData_83ACA78
+const struct OamData gOamData_AffineNormal_ObjNormal_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -440,7 +437,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_16x32 = //gOamData_83ACA78
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjNormal_32x64 = //gOamData_83ACA80
+const struct OamData gOamData_AffineNormal_ObjNormal_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -454,7 +451,7 @@ const struct OamData gOamData_AffineNormal_ObjNormal_32x64 = //gOamData_83ACA80
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_8x8 = //gOamData_83ACA88
+const struct OamData gOamData_AffineDouble_ObjNormal_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -468,7 +465,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_8x8 = //gOamData_83ACA88
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_16x16 = //gOamData_83ACA90
+const struct OamData gOamData_AffineDouble_ObjNormal_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -482,7 +479,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_16x16 = //gOamData_83ACA90
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_32x32 = //gOamData_83ACA98
+const struct OamData gOamData_AffineDouble_ObjNormal_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -496,7 +493,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_32x32 = //gOamData_83ACA98
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_64x64 = //gOamData_83ACAA0
+const struct OamData gOamData_AffineDouble_ObjNormal_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -510,7 +507,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_64x64 = //gOamData_83ACAA0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_16x8 = //gOamData_83ACAA8
+const struct OamData gOamData_AffineDouble_ObjNormal_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -524,7 +521,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_16x8 = //gOamData_83ACAA8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_32x8 = //gOamData_83ACAB0
+const struct OamData gOamData_AffineDouble_ObjNormal_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -538,7 +535,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_32x8 = //gOamData_83ACAB0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_32x16 = //gOamData_83ACAB8
+const struct OamData gOamData_AffineDouble_ObjNormal_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -552,7 +549,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_32x16 = //gOamData_83ACAB8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_64x32 = //gOamData_83ACAC0
+const struct OamData gOamData_AffineDouble_ObjNormal_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -566,7 +563,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_64x32 = //gOamData_83ACAC0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_8x16 = //gOamData_83ACAC8
+const struct OamData gOamData_AffineDouble_ObjNormal_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -580,7 +577,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_8x16 = //gOamData_83ACAC8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_8x32 = //gOamData_83ACAD0
+const struct OamData gOamData_AffineDouble_ObjNormal_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -594,7 +591,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_8x32 = //gOamData_83ACAD0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_16x32 = //gOamData_83ACAD8
+const struct OamData gOamData_AffineDouble_ObjNormal_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -608,7 +605,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_16x32 = //gOamData_83ACAD8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjNormal_32x64 = //gOamData_83ACAE0
+const struct OamData gOamData_AffineDouble_ObjNormal_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -622,7 +619,7 @@ const struct OamData gOamData_AffineDouble_ObjNormal_32x64 = //gOamData_83ACAE0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_8x8 = //gOamData_83ACAE8
+const struct OamData gOamData_AffineOff_ObjBlend_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -636,7 +633,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_8x8 = //gOamData_83ACAE8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_16x16 = //gOamData_83ACAF0
+const struct OamData gOamData_AffineOff_ObjBlend_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -650,7 +647,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_16x16 = //gOamData_83ACAF0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_32x32 = //gOamData_83ACAF8
+const struct OamData gOamData_AffineOff_ObjBlend_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -664,7 +661,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_32x32 = //gOamData_83ACAF8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_64x64 = //gOamData_83ACB00
+const struct OamData gOamData_AffineOff_ObjBlend_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -678,7 +675,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_64x64 = //gOamData_83ACB00
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_16x8 = //gOamData_83ACB08
+const struct OamData gOamData_AffineOff_ObjBlend_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -692,7 +689,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_16x8 = //gOamData_83ACB08
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_32x8 = //gOamData_83ACB10
+const struct OamData gOamData_AffineOff_ObjBlend_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -706,7 +703,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_32x8 = //gOamData_83ACB10
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_32x16 = //gOamData_83ACB18
+const struct OamData gOamData_AffineOff_ObjBlend_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -720,7 +717,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_32x16 = //gOamData_83ACB18
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_64x32 = //gOamData_83ACB20
+const struct OamData gOamData_AffineOff_ObjBlend_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -734,7 +731,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_64x32 = //gOamData_83ACB20
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_8x16 = //gOamData_83ACB28
+const struct OamData gOamData_AffineOff_ObjBlend_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -748,7 +745,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_8x16 = //gOamData_83ACB28
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_8x32 = //gOamData_83ACB30
+const struct OamData gOamData_AffineOff_ObjBlend_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -762,7 +759,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_8x32 = //gOamData_83ACB30
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_16x32 = //gOamData_83ACB38
+const struct OamData gOamData_AffineOff_ObjBlend_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -776,7 +773,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_16x32 = //gOamData_83ACB38
.paletteNum = 0,
};
-const struct OamData gOamData_AffineOff_ObjBlend_32x64 = //gOamData_83ACB40
+const struct OamData gOamData_AffineOff_ObjBlend_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_OFF,
@@ -790,7 +787,7 @@ const struct OamData gOamData_AffineOff_ObjBlend_32x64 = //gOamData_83ACB40
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_8x8 = //gOamData_83ACB48
+const struct OamData gOamData_AffineNormal_ObjBlend_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -804,7 +801,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_8x8 = //gOamData_83ACB48
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_16x16 = //gOamData_83ACB50
+const struct OamData gOamData_AffineNormal_ObjBlend_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -818,7 +815,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_16x16 = //gOamData_83ACB50
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_32x32 = //gOamData_83ACB58
+const struct OamData gOamData_AffineNormal_ObjBlend_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -832,7 +829,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_32x32 = //gOamData_83ACB58
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_64x64 = //gOamData_83ACB60
+const struct OamData gOamData_AffineNormal_ObjBlend_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -846,7 +843,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_64x64 = //gOamData_83ACB60
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_16x8 = //gOamData_83ACB68
+const struct OamData gOamData_AffineNormal_ObjBlend_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -860,7 +857,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_16x8 = //gOamData_83ACB68
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_32x8 = //gOamData_83ACB70
+const struct OamData gOamData_AffineNormal_ObjBlend_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -874,7 +871,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_32x8 = //gOamData_83ACB70
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_32x16 = //gOamData_83ACB78
+const struct OamData gOamData_AffineNormal_ObjBlend_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -888,7 +885,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_32x16 = //gOamData_83ACB78
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_64x32 = //gOamData_83ACB80
+const struct OamData gOamData_AffineNormal_ObjBlend_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -902,7 +899,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_64x32 = //gOamData_83ACB80
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_8x16 = //gOamData_83ACB88
+const struct OamData gOamData_AffineNormal_ObjBlend_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -916,7 +913,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_8x16 = //gOamData_83ACB88
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_8x32 = //gOamData_83ACB90
+const struct OamData gOamData_AffineNormal_ObjBlend_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -930,7 +927,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_8x32 = //gOamData_83ACB90
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_16x32 = //gOamData_83ACB98
+const struct OamData gOamData_AffineNormal_ObjBlend_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -944,7 +941,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_16x32 = //gOamData_83ACB98
.paletteNum = 0,
};
-const struct OamData gOamData_AffineNormal_ObjBlend_32x64 = //gOamData_83ACBA0
+const struct OamData gOamData_AffineNormal_ObjBlend_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_NORMAL,
@@ -958,7 +955,7 @@ const struct OamData gOamData_AffineNormal_ObjBlend_32x64 = //gOamData_83ACBA0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_8x8 = //gOamData_83ACBA8
+const struct OamData gOamData_AffineDouble_ObjBlend_8x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -972,7 +969,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_8x8 = //gOamData_83ACBA8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_16x16 = //gOamData_83ACBB0
+const struct OamData gOamData_AffineDouble_ObjBlend_16x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -986,7 +983,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_16x16 = //gOamData_83ACBB0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_32x32 = //gOamData_83ACBB8
+const struct OamData gOamData_AffineDouble_ObjBlend_32x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1000,7 +997,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_32x32 = //gOamData_83ACBB8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_64x64 = //gOamData_83ACBC0
+const struct OamData gOamData_AffineDouble_ObjBlend_64x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1014,7 +1011,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_64x64 = //gOamData_83ACBC0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_16x8 = //gOamData_83ACBC8
+const struct OamData gOamData_AffineDouble_ObjBlend_16x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1028,7 +1025,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_16x8 = //gOamData_83ACBC8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_32x8 = //gOamData_83ACBD0
+const struct OamData gOamData_AffineDouble_ObjBlend_32x8 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1042,7 +1039,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_32x8 = //gOamData_83ACBD0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_32x16 = //gOamData_83ACBD8
+const struct OamData gOamData_AffineDouble_ObjBlend_32x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1056,7 +1053,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_32x16 = //gOamData_83ACBD8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_64x32 = //gOamData_83ACBE0
+const struct OamData gOamData_AffineDouble_ObjBlend_64x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1070,7 +1067,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_64x32 = //gOamData_83ACBE0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_8x16 = //gOamData_83ACBE8
+const struct OamData gOamData_AffineDouble_ObjBlend_8x16 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1084,7 +1081,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_8x16 = //gOamData_83ACBE8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_8x32 = //gOamData_83ACBF0
+const struct OamData gOamData_AffineDouble_ObjBlend_8x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1098,7 +1095,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_8x32 = //gOamData_83ACBF0
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_16x32 = //gOamData_83ACBF8
+const struct OamData gOamData_AffineDouble_ObjBlend_16x32 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1112,7 +1109,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_16x32 = //gOamData_83ACBF8
.paletteNum = 0,
};
-const struct OamData gOamData_AffineDouble_ObjBlend_32x64 = //gOamData_83ACC00
+const struct OamData gOamData_AffineDouble_ObjBlend_32x64 =
{
.y = 0,
.affineMode = ST_OAM_AFFINE_DOUBLE,
@@ -1126,7 +1123,7 @@ const struct OamData gOamData_AffineDouble_ObjBlend_32x64 = //gOamData_83ACC00
.paletteNum = 0,
};
-const struct CompressedSpriteSheet gBattleAnimPicTable[] = // 83ACC08
+const struct CompressedSpriteSheet gBattleAnimPicTable[] =
{
{gBattleAnimSpriteGfx_Bone, 0x0200, ANIM_TAG_BONE},
{gBattleAnimSpriteGfx_Spark, 0x0300, ANIM_TAG_SPARK},
@@ -1712,7 +1709,7 @@ const struct CompressedSpritePalette gBattleAnimPaletteTable[] =
{gBattleAnimSpritePal_BlueRing2, ANIM_TAG_BLUE_RING_2},
};
-const struct BattleAnimBackground gBattleAnimBackgroundTable[] = // 83ADE18
+const struct BattleAnimBackground gBattleAnimBackgroundTable[] =
{
[BG_DARK_] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
[BG_DARK] = {gBattleAnimBgImage_Dark, gBattleAnimBgPalette_Dark, gBattleAnimBgTilemap_Dark},
@@ -1743,7 +1740,7 @@ const struct BattleAnimBackground gBattleAnimBackgroundTable[] = // 83ADE18
[BG_SOLARBEAM_CONTESTS] = {gBattleAnimBgImage_Impact, gBattleAnimBgPalette_Solarbeam, gBattleAnimBgTilemap_ImpactContests},
};
-static void (* const sScriptCmdTable[])(void) = // 83ADF5C
+static void (* const sScriptCmdTable[])(void) =
{
ScriptCmd_loadspritegfx,
ScriptCmd_unloadspritegfx,
@@ -1808,7 +1805,7 @@ void ClearBattleAnimationVars(void)
gAnimMoveDmg = 0;
gAnimMovePower = 0;
gAnimFriendship = 0;
-
+
// Clear index array.
for (i = 0; i < ANIM_SPRITE_INDEX_COUNT; i++)
sAnimSpriteIndexArray[i] |= 0xFFFF;
@@ -1838,15 +1835,15 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
{
s32 i;
- sub_80767F0();
- UpdateOamPriorityInAllHealthboxes(0);
- for (i = 0; i < MAX_BATTLERS_COUNT; i++)
- {
- if (GetBattlerSide(i) != B_SIDE_PLAYER)
- gAnimBattlerSpecies[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
- else
- gAnimBattlerSpecies[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
- }
+ sub_80767F0();
+ UpdateOamPriorityInAllHealthboxes(0);
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
+ {
+ if (GetBattlerSide(i) != B_SIDE_PLAYER)
+ gAnimBattlerSpecies[i] = GetMonData(&gEnemyParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
+ else
+ gAnimBattlerSpecies[i] = GetMonData(&gPlayerParty[gBattlerPartyIndexes[i]], MON_DATA_SPECIES);
+ }
if (!isMoveAnim)
sAnimMoveIndex = 0;
@@ -1958,14 +1955,9 @@ static void ScriptCmd_loadspritegfx(void)
sBattleAnimScriptPtr++;
index = T1_READ_16(sBattleAnimScriptPtr);
-
- LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[index]);
- LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[index]);
-
- //LoadCompressedSpriteSheetUsingHeap(&gUnknown_8399388[GET_TRUE_SPRITE_INDEX(index)]);
- //LoadCompressedSpritePaletteUsingHeap(&gUnknown_8399C90[GET_TRUE_SPRITE_INDEX(index)]);
-
- sBattleAnimScriptPtr += 2;
+ LoadCompressedSpriteSheetUsingHeap(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]);
+ LoadCompressedSpritePaletteUsingHeap(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]);
+ sBattleAnimScriptPtr += 2;
AddSpriteIndex(GET_TRUE_SPRITE_INDEX(index));
gAnimFramesToWait = 1;
gAnimScriptCallback = WaitAnimFrameCount;
@@ -2077,7 +2069,6 @@ static void ScriptCmd_delay(void)
gAnimScriptCallback = WaitAnimFrameCount;
}
-// Wait for visual tasks to finish.
static void ScriptCmd_waitforvisualfinish(void)
{
if (gAnimVisualTaskCount == 0)
@@ -2140,11 +2131,11 @@ static void ScriptCmd_end(void)
}
}
- if (!continuousAnim) // May have been used for debug?
+ if (!continuousAnim)
{
m4aMPlayVolumeControl(&gMPlayInfo_BGM, 0xFFFF, 256);
- sub_80767F0();
- UpdateOamPriorityInAllHealthboxes(1);
+ sub_80767F0();
+ UpdateOamPriorityInAllHealthboxes(1);
gAnimScriptActive = FALSE;
}
}
@@ -2176,20 +2167,20 @@ static void ScriptCmd_monbg(void)
sBattleAnimScriptPtr++;
animBattler = sBattleAnimScriptPtr[0];
- if (animBattler == 0)
- animBattler = 2;
- else if (animBattler == 1)
- animBattler = 3;
+ if (animBattler == ANIM_ATTACKER)
+ animBattler = ANIM_ATK_PARTNER;
+ else if (animBattler == ANIM_TARGET)
+ animBattler = ANIM_DEF_PARTNER;
- if (animBattler == 0 || animBattler == 2)
+ if (animBattler == ANIM_ATTACKER || animBattler == ANIM_ATK_PARTNER)
battlerId = gBattleAnimAttacker;
else
battlerId = gBattleAnimTarget;
-
+
if (IsBattlerSpriteVisible(battlerId))
{
- position = ((GetBattlerPosition(battlerId) << 0x18) + 0xFF000000) >> 0x18; //make human code
- if (position <= B_POSITION_OPPONENT_LEFT)
+ position = GetBattlerPosition(battlerId);
+ if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT)
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@@ -2217,10 +2208,10 @@ static void ScriptCmd_monbg(void)
}
battlerId ^= BIT_FLANK;
- if (animBattler > 1 && IsBattlerSpriteVisible(battlerId))
+ if (animBattler > ANIM_TARGET && IsBattlerSpriteVisible(battlerId))
{
- position = ((GetBattlerPosition(battlerId) << 0x18) + 0xFF000000) >> 0x18; //make human code
- if (position <= B_POSITION_OPPONENT_LEFT)
+ position = GetBattlerPosition(battlerId);
+ if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT)
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@@ -2253,8 +2244,8 @@ static void ScriptCmd_monbg(void)
bool8 IsBattlerSpriteVisible(u8 battlerId)
{
u8 battler = battlerId;
-
- if (!IsBattlerSpritePresent(battler))
+
+ if (!IsBattlerSpritePresent(battler))
return FALSE;
if (!gBattleSpritesDataPtr->battlerData[battler].invisible || !gSprites[gBattlerSpriteIds[battler]].invisible)
@@ -2263,7 +2254,6 @@ bool8 IsBattlerSpriteVisible(u8 battlerId)
return FALSE;
}
-// re-check needed?
void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
{
struct BattleAnimBgData animBg;
@@ -2273,8 +2263,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
if (!toBG_2)
{
- RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, 1);
- RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, 1);
+ RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, 1);
+ RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, 1);
sub_80752A0(&animBg);
CpuFill16(toBG_2, animBg.bgTiles, 0x1000);
CpuFill16(toBG_2, animBg.bgTilemap, 0x800);
@@ -2331,14 +2321,14 @@ void sub_80730C0(u16 a, u16 *b, s32 c, u8 d)
var = 32;
else
var = 64;
-
+
a <<= 12;
for (i = 0; i < var; i++)
{
for (j = 0; j < 32; j++)
- {
+ {
b[32 * i + j] = ((b[32 * i + j] & 0xFFF) | a) + c;
- }
+ }
}
}
@@ -2405,22 +2395,22 @@ static void ScriptCmd_clearmonbg(void)
sBattleAnimScriptPtr++;
animBattlerId = sBattleAnimScriptPtr[0];
- if (animBattlerId == 0)
- animBattlerId = 2;
- else if (animBattlerId == 1)
- animBattlerId = 3;
+ if (animBattlerId == ANIM_ATTACKER)
+ animBattlerId = ANIM_ATK_PARTNER;
+ else if (animBattlerId == ANIM_TARGET)
+ animBattlerId = ANIM_DEF_PARTNER;
- if (animBattlerId == 0 || animBattlerId == 2)
+ if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER)
battlerId = gBattleAnimAttacker;
else
battlerId = gBattleAnimTarget;
if (sMonAnimTaskIdArray[0] != 0xFF)
gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
- if (animBattlerId > 1 && sMonAnimTaskIdArray[1] != 0xFF)
+ if (animBattlerId > ANIM_TARGET && sMonAnimTaskIdArray[1] != 0xFF)
gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = FALSE;
else
- animBattlerId = 0;
+ animBattlerId = ANIM_ATTACKER;
taskId = CreateTask(sub_807331C, 5);
gTasks[taskId].data[0] = animBattlerId;
@@ -2431,14 +2421,14 @@ static void ScriptCmd_clearmonbg(void)
static void sub_807331C(u8 taskId)
{
- u8 toBG_2;
- u8 position;
-
- gTasks[taskId].data[1]++;
+ u8 toBG_2;
+ u8 position;
+
+ gTasks[taskId].data[1]++;
if (gTasks[taskId].data[1] != 1)
{
- position = ((GetBattlerPosition((u8)gTasks[taskId].data[2]) << 0x18) + 0xFF000000) >> 0x18; //make human code
- if (position <= B_POSITION_OPPONENT_LEFT)
+ position = GetBattlerPosition((u8)gTasks[taskId].data[2]);
+ if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT)
toBG_2 = FALSE;
else
toBG_2 = TRUE;
@@ -2464,43 +2454,43 @@ static void ScriptCmd_monbg_22(void)
bool8 toBG_2;
u8 battlerId;
u8 animBattlerId;
- u8 position;
+ u8 position;
sBattleAnimScriptPtr++;
animBattlerId = sBattleAnimScriptPtr[0];
- if (animBattlerId == 0)
- animBattlerId = 2;
- else if (animBattlerId == 1)
- animBattlerId = 3;
+ if (animBattlerId == ANIM_ATTACKER)
+ animBattlerId = ANIM_ATK_PARTNER;
+ else if (animBattlerId == ANIM_TARGET)
+ animBattlerId = ANIM_DEF_PARTNER;
- if (animBattlerId == 0 || animBattlerId == 2)
+ if (animBattlerId == ANIM_ATTACKER || animBattlerId == ANIM_ATK_PARTNER)
battlerId = gBattleAnimAttacker;
else
battlerId = gBattleAnimTarget;
if (IsBattlerSpriteVisible(battlerId))
{
- position = ((GetBattlerPosition(battlerId) << 0x18) + 0xFF000000) >> 0x18; //make human code
- if (position <= B_POSITION_OPPONENT_LEFT)
+ position = GetBattlerPosition(battlerId);
+ if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT)
toBG_2 = FALSE;
else
toBG_2 = TRUE;
-
+
MoveBattlerSpriteToBG(battlerId, toBG_2);
- gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
+ gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
}
battlerId ^= BIT_FLANK;
- if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId))
+ if (animBattlerId > ANIM_TARGET && IsBattlerSpriteVisible(battlerId))
{
- position = ((GetBattlerPosition(battlerId) << 0x18) + 0xFF000000) >> 0x18; //make human code
- if (position <= B_POSITION_OPPONENT_LEFT)
+ position = GetBattlerPosition(battlerId);
+ if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT)
toBG_2 = FALSE;
else
toBG_2 = TRUE;
MoveBattlerSpriteToBG(battlerId, toBG_2);
- gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
+ gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
}
sBattleAnimScriptPtr++;
@@ -2527,10 +2517,10 @@ static void ScriptCmd_clearmonbg_23(void)
if (IsBattlerSpriteVisible(battlerId))
gSprites[gBattlerSpriteIds[battlerId]].invisible = FALSE;
- if (animBattlerId > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK))
+ if (animBattlerId > ANIM_TARGET && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK))
gSprites[gBattlerSpriteIds[battlerId ^ BIT_FLANK]].invisible = FALSE;
else
- animBattlerId = 0;
+ animBattlerId = ANIM_ATTACKER;
taskId = CreateTask(sub_8073558, 5);
gTasks[taskId].data[0] = animBattlerId;
@@ -2544,21 +2534,21 @@ static void sub_8073558(u8 taskId)
bool8 to_BG2;
u8 position;
u8 battlerId;
-
- gTasks[taskId].data[1]++;
+
+ gTasks[taskId].data[1]++;
if (gTasks[taskId].data[1] != 1)
{
bool8 toBG_2;
battlerId = gTasks[taskId].data[2];
- position = ((GetBattlerPosition(battlerId) << 0x18) + 0xFF000000) >> 0x18; //make human code
- if (position <= B_POSITION_OPPONENT_LEFT)
+ position = GetBattlerPosition(battlerId);
+ if (position == B_POSITION_OPPONENT_LEFT || position == B_POSITION_PLAYER_RIGHT)
toBG_2 = FALSE;
else
toBG_2 = TRUE;
if (IsBattlerSpriteVisible(battlerId))
sub_8073128(toBG_2);
-
+
if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK))
sub_8073128(toBG_2 ^ 1);
@@ -2640,7 +2630,7 @@ static void ScriptCmd_choosetwoturnanim(void)
static void ScriptCmd_jumpifmoveturn(void)
{
u8 toCheck;
-
+
sBattleAnimScriptPtr++;
toCheck = sBattleAnimScriptPtr[0];
sBattleAnimScriptPtr++;
@@ -2659,7 +2649,7 @@ static void ScriptCmd_goto(void)
bool8 IsContest(void)
{
- return FALSE;
+ return FALSE;
}
// Unused
@@ -2746,14 +2736,14 @@ static void Task_FadeToBg(u8 taskId)
static void LoadMoveBg(u16 bgId)
{
- LZDecompressVram(gBattleAnimBackgroundTable[bgId].tilemap, (void *)(BG_SCREEN_ADDR(26)));
- LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_CHAR_ADDR(2)));
- LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, 32, 32);
+ LZDecompressVram(gBattleAnimBackgroundTable[bgId].tilemap, (void *)(BG_SCREEN_ADDR(26)));
+ LZDecompressVram(gBattleAnimBackgroundTable[bgId].image, (void *)(BG_CHAR_ADDR(2)));
+ LoadCompressedPalette(gBattleAnimBackgroundTable[bgId].palette, 32, 32);
}
static void LoadDefaultBg(void)
{
- DrawMainBattleBackground();
+ DrawMainBattleBackground();
}
static void ScriptCmd_restorebg(void)
@@ -2957,18 +2947,18 @@ static void Task_PanFromInitialToTarget(u8 taskId)
pan = currentPan + incrementPan;
gTasks[taskId].tCurrentPan = pan;
- if (incrementPan == 0) // If we're not incrementing, just cancel the task immediately.
+ if (incrementPan == 0)
{
destroyTask = TRUE;
}
- else if (initialPanning < targetPanning) // Panning increasing.
+ else if (initialPanning < targetPanning)
{
- if (pan >= targetPanning) // Target reached.
+ if (pan >= targetPanning)
destroyTask = TRUE;
}
else // Panning decreasing.
{
- if (pan <= targetPanning) // Target reached.
+ if (pan <= targetPanning)
destroyTask = TRUE;
}
@@ -3213,7 +3203,7 @@ static void ScriptCmd_jumpargeq(void)
static void ScriptCmd_jumpifcontest(void)
{
- sBattleAnimScriptPtr += 5;
+ sBattleAnimScriptPtr += 5;
}
static void ScriptCmd_monbgprio_28(void)
diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c
index 2f92515c1..b1209bb81 100644
--- a/src/battle_anim_effects_1.c
+++ b/src/battle_anim_effects_1.c
@@ -153,7 +153,7 @@ static void AnimTauntFingerStep2(struct Sprite *);
static const u8 gUnknown_83E2964[] = {0x02, 0x04, 0x01, 0x03};
-const union AnimCmd gPowderParticlesAnimCmds[] = //gUnknown_83E2968
+const union AnimCmd gPowderParticlesAnimCmds[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(2, 5),
@@ -166,12 +166,12 @@ const union AnimCmd gPowderParticlesAnimCmds[] = //gUnknown_83E2968
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gPowderParticlesAnimTable[] = //gUnknown_83E298C
+const union AnimCmd *const gPowderParticlesAnimTable[] =
{
gPowderParticlesAnimCmds,
};
-const struct SpriteTemplate gSleepPowderParticleSpriteTemplate = //gUnknown_83E2990
+const struct SpriteTemplate gSleepPowderParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_SLEEP_POWDER,
.paletteTag = ANIM_TAG_SLEEP_POWDER,
@@ -182,7 +182,7 @@ const struct SpriteTemplate gSleepPowderParticleSpriteTemplate = //gUnknown_83E2
.callback = AnimMovePowderParticle,
};
-const struct SpriteTemplate gStunSporeParticleSpriteTemplate = //gUnknown_83E29A8
+const struct SpriteTemplate gStunSporeParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_STUN_SPORE,
.paletteTag = ANIM_TAG_STUN_SPORE,
@@ -193,7 +193,7 @@ const struct SpriteTemplate gStunSporeParticleSpriteTemplate = //gUnknown_83E29A
.callback = AnimMovePowderParticle,
};
-const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate = //gUnknown_83E29C0
+const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_POISON_POWDER,
.paletteTag = ANIM_TAG_POISON_POWDER,
@@ -204,7 +204,7 @@ const struct SpriteTemplate gPoisonPowderParticleSpriteTemplate = //gUnknown_83E
.callback = AnimMovePowderParticle,
};
-const union AnimCmd gSolarbeamBigOrbAnimCmds1[] = //gUnknown_83E29D8
+const union AnimCmd gSolarbeamBigOrbAnimCmds1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
@@ -258,7 +258,7 @@ const union AnimCmd gPowerAbsorptionOrbAnimCmds[] =
ANIMCMD_END,
};
-const union AnimCmd *const gSolarbeamBigOrbAnimTable[] = //gUnknown_83E2A20
+const union AnimCmd *const gSolarbeamBigOrbAnimTable[] =
{
gSolarbeamBigOrbAnimCmds1,
gSolarbeamBigOrbAnimCmds2,
@@ -269,28 +269,28 @@ const union AnimCmd *const gSolarbeamBigOrbAnimTable[] = //gUnknown_83E2A20
gSolarbeamBigOrbAnimCmds7,
};
-const union AnimCmd *const gSolarbeamSmallOrbAnimTable[] = //gUnknown_83E2A3C
+const union AnimCmd *const gSolarbeamSmallOrbAnimTable[] =
{
gSolarbeamSmallOrbAnimCms,
};
-const union AnimCmd *const gPowerAbsorptionOrbAnimTable[] = //gUnknown_83E2A40
+const union AnimCmd *const gPowerAbsorptionOrbAnimTable[] =
{
gPowerAbsorptionOrbAnimCmds,
};
-const union AffineAnimCmd gPowerAbsorptionOrbAffineAnimCmds[] = //gUnknown_83E2A44
+const union AffineAnimCmd gPowerAbsorptionOrbAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[] = //gUnknown_83E2A54
+const union AffineAnimCmd *const gPowerAbsorptionOrbAffineAnimTable[] =
{
gPowerAbsorptionOrbAffineAnimCmds,
};
-const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate = //gUnknown_83E2A58
+const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -301,7 +301,7 @@ const struct SpriteTemplate gPowerAbsorptionOrbSpriteTemplate = //gUnknown_83E2A
.callback = AnimPowerAbsorptionOrb,
};
-const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate = //gUnknown_83E2A70
+const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -312,7 +312,7 @@ const struct SpriteTemplate gSolarbeamBigOrbSpriteTemplate = //gUnknown_83E2A70
.callback = AnimSolarbeamBigOrb,
};
-const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate = //gUnknown_83E2A88
+const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -323,19 +323,19 @@ const struct SpriteTemplate gSolarbeamSmallOrbSpriteTemplate = //gUnknown_83E2A8
.callback = AnimSolarbeamSmallOrb,
};
-const union AffineAnimCmd gStockpileAbsorptionOrbAffineCmds[] = //gUnknown_83E2AA0
+const union AffineAnimCmd gStockpileAbsorptionOrbAffineCmds[] =
{
AFFINEANIMCMD_FRAME(320, 320, 0, 0),
AFFINEANIMCMD_FRAME(-14, -14, 0, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gStockpileAbsorptionOrbAffineAnimTable[] = //gUnknown_83E2AB8
+const union AffineAnimCmd *const gStockpileAbsorptionOrbAffineAnimTable[] =
{
gStockpileAbsorptionOrbAffineCmds,
};
-const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate = //gUnknown_83E2ABC
+const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_GRAY_ORB,
.paletteTag = ANIM_TAG_GRAY_ORB,
@@ -346,18 +346,18 @@ const struct SpriteTemplate gStockpileAbsorptionOrbSpriteTemplate = //gUnknown_8
.callback = AnimPowerAbsorptionOrb,
};
-const union AffineAnimCmd gAbsorptionOrbAffineAnimCmds[] = //gUnknown_83E2AD4
+const union AffineAnimCmd gAbsorptionOrbAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-5, -5, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gAbsorptionOrbAffineAnimTable[] = //gUnknown_83E2AE4
+const union AffineAnimCmd *const gAbsorptionOrbAffineAnimTable[] =
{
gAbsorptionOrbAffineAnimCmds,
};
-const struct SpriteTemplate gAbsorptionOrbSpriteTemplate = //gUnknown_83E2AE8
+const struct SpriteTemplate gAbsorptionOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -368,7 +368,7 @@ const struct SpriteTemplate gAbsorptionOrbSpriteTemplate = //gUnknown_83E2AE8
.callback = AnimAbsorptionOrb,
};
-const struct SpriteTemplate gHyperBeamOrbSpriteTemplate = //gUnknown_83E2B00
+const struct SpriteTemplate gHyperBeamOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -379,26 +379,26 @@ const struct SpriteTemplate gHyperBeamOrbSpriteTemplate = //gUnknown_83E2B00
.callback = AnimHyperBeamOrb,
};
-const union AnimCmd gLeechSeedAnimCmds1[] = //gUnknown_83E2B18
+const union AnimCmd gLeechSeedAnimCmds1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gLeechSeedAnimCmds2[] = //gUnknown_83E2B20
+const union AnimCmd gLeechSeedAnimCmds2[] =
{
ANIMCMD_FRAME(4, 7),
ANIMCMD_FRAME(8, 7),
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gLeechSeedAnimTable[] = //gUnknown_83E2B2C
+const union AnimCmd *const gLeechSeedAnimTable[] =
{
gLeechSeedAnimCmds1,
gLeechSeedAnimCmds2,
};
-const struct SpriteTemplate gLeechSeedSpriteTemplate = //gUnknown_83E2B34
+const struct SpriteTemplate gLeechSeedSpriteTemplate =
{
.tileTag = ANIM_TAG_SEED,
.paletteTag = ANIM_TAG_SEED,
@@ -409,25 +409,25 @@ const struct SpriteTemplate gLeechSeedSpriteTemplate = //gUnknown_83E2B34
.callback = AnimLeechSeed,
};
-const union AnimCmd gSporeParticleAnimCmds1[] = //gUnknown_83E2B4C
+const union AnimCmd gSporeParticleAnimCmds1[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gSporeParticleAnimCmds2[] = //gUnknown_83E2B54
+const union AnimCmd gSporeParticleAnimCmds2[] =
{
ANIMCMD_FRAME(4, 7),
ANIMCMD_END,
};
-const union AnimCmd *const gSporeParticleAnimTable[] = //gUnknown_83E2B5C
+const union AnimCmd *const gSporeParticleAnimTable[] =
{
gSporeParticleAnimCmds1,
gSporeParticleAnimCmds2,
};
-const struct SpriteTemplate gSporeParticleSpriteTemplate = //gUnknown_83E2B64
+const struct SpriteTemplate gSporeParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_SPORE,
.paletteTag = ANIM_TAG_SPORE,
@@ -438,29 +438,29 @@ const struct SpriteTemplate gSporeParticleSpriteTemplate = //gUnknown_83E2B64
.callback = AnimSporeParticle,
};
-const union AnimCmd gPetalDanceBigFlowerAnimCmds[] = //gUnknown_83E2B7C
+const union AnimCmd gPetalDanceBigFlowerAnimCmds[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_END,
};
-const union AnimCmd gPetalDanceSmallFlowerAnimCmds[] = //gUnknown_83E2B84
+const union AnimCmd gPetalDanceSmallFlowerAnimCmds[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
-const union AnimCmd *const gPetalDanceBigFlowerAnimTable[] = //gUnknown_83E2B8C
+const union AnimCmd *const gPetalDanceBigFlowerAnimTable[] =
{
gPetalDanceBigFlowerAnimCmds,
};
-const union AnimCmd *const gPetalDanceSmallFlowerAnimTable[] = //gUnknown_83E2B90
+const union AnimCmd *const gPetalDanceSmallFlowerAnimTable[] =
{
gPetalDanceSmallFlowerAnimCmds,
};
-const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate = //gUnknown_83E2B94
+const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
@@ -471,7 +471,7 @@ const struct SpriteTemplate gPetalDanceBigFlowerSpriteTemplate = //gUnknown_83E2
.callback = AnimPetalDanceBigFlower,
};
-const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate = //gUnknown_83E2BAC
+const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
@@ -482,7 +482,7 @@ const struct SpriteTemplate gPetalDanceSmallFlowerSpriteTemplate = //gUnknown_83
.callback = AnimPetalDanceSmallFlower,
};
-const union AnimCmd gRazorLeafParticleAnimCmds1[] = //gUnknown_83E2BC4
+const union AnimCmd gRazorLeafParticleAnimCmds1[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 5),
@@ -497,7 +497,7 @@ const union AnimCmd gRazorLeafParticleAnimCmds1[] = //gUnknown_83E2BC4
ANIMCMD_JUMP(0),
};
-const union AnimCmd gRazorLeafParticleAnimCmds2[] = //gUnknown_83E2BF0
+const union AnimCmd gRazorLeafParticleAnimCmds2[] =
{
ANIMCMD_FRAME(24, 5),
ANIMCMD_FRAME(28, 5),
@@ -505,13 +505,13 @@ const union AnimCmd gRazorLeafParticleAnimCmds2[] = //gUnknown_83E2BF0
ANIMCMD_END,
};
-const union AnimCmd *const gRazorLeafParticleAnimTable[] = //gUnknown_83E2C00
+const union AnimCmd *const gRazorLeafParticleAnimTable[] =
{
gRazorLeafParticleAnimCmds1,
gRazorLeafParticleAnimCmds2,
};
-const struct SpriteTemplate gRazorLeafParticleSpriteTemplate = //gUnknown_83E2C08
+const struct SpriteTemplate gRazorLeafParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
@@ -522,7 +522,7 @@ const struct SpriteTemplate gRazorLeafParticleSpriteTemplate = //gUnknown_83E2C0
.callback = AnimRazorLeafParticle,
};
-const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate = //gUnknown_83E2C20
+const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
@@ -533,7 +533,7 @@ const struct SpriteTemplate gTwisterLeafParticleSpriteTemplate = //gUnknown_83E2
.callback = AnimMoveTwisterParticle,
};
-const union AnimCmd gRazorLeafCutterAnimCmds[] = //gUnknown_83E2C38
+const union AnimCmd gRazorLeafCutterAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(0, 3, .hFlip = TRUE),
@@ -542,12 +542,12 @@ const union AnimCmd gRazorLeafCutterAnimCmds[] = //gUnknown_83E2C38
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gRazorLeafCutterAnimTable[] = //gUnknown_83E2C4C
+const union AnimCmd *const gRazorLeafCutterAnimTable[] =
{
gRazorLeafCutterAnimCmds,
};
-const struct SpriteTemplate gRazorLeafCutterSpriteTemplate = //gUnknown_83E2C50
+const struct SpriteTemplate gRazorLeafCutterSpriteTemplate =
{
.tileTag = ANIM_TAG_RAZOR_LEAF,
.paletteTag = ANIM_TAG_RAZOR_LEAF,
@@ -558,18 +558,18 @@ const struct SpriteTemplate gRazorLeafCutterSpriteTemplate = //gUnknown_83E2C50
.callback = AnimTranslateLinearSingleSineWave,
};
-const union AffineAnimCmd gSwiftStarAffineAnimCmds[] = //gUnknown_83E2C68
+const union AffineAnimCmd gSwiftStarAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 0, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gSwiftStarAffineAnimTable[] = //gUnknown_83E2C78
+const union AffineAnimCmd *const gSwiftStarAffineAnimTable[] =
{
gSwiftStarAffineAnimCmds,
};
-const struct SpriteTemplate gSwiftStarSpriteTemplate = //gUnknown_83E2C7C
+const struct SpriteTemplate gSwiftStarSpriteTemplate =
{
.tileTag = ANIM_TAG_YELLOW_STAR,
.paletteTag = ANIM_TAG_YELLOW_STAR,
@@ -580,7 +580,7 @@ const struct SpriteTemplate gSwiftStarSpriteTemplate = //gUnknown_83E2C7C
.callback = AnimTranslateLinearSingleSineWave,
};
-const union AnimCmd gConstrictBindingAnimCmds1[] = //gUnknown_83E2C94
+const union AnimCmd gConstrictBindingAnimCmds1[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(32, 4),
@@ -589,7 +589,7 @@ const union AnimCmd gConstrictBindingAnimCmds1[] = //gUnknown_83E2C94
ANIMCMD_END,
};
-const union AnimCmd gConstrictBindingAnimCmds2[] = //gUnknown_83E2CA8
+const union AnimCmd gConstrictBindingAnimCmds2[] =
{
ANIMCMD_FRAME(0, 4, .hFlip = TRUE),
ANIMCMD_FRAME(32, 4, .hFlip = TRUE),
@@ -598,13 +598,13 @@ const union AnimCmd gConstrictBindingAnimCmds2[] = //gUnknown_83E2CA8
ANIMCMD_END,
};
-const union AnimCmd *const gConstrictBindingAnimTable[] = //gUnknown_83E2CBC
+const union AnimCmd *const gConstrictBindingAnimTable[] =
{
gConstrictBindingAnimCmds1,
gConstrictBindingAnimCmds2,
};
-const union AffineAnimCmd gConstrictBindingAffineAnimCmds1[] = //gUnknown_83E2CC4
+const union AffineAnimCmd gConstrictBindingAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(-11, 0, 0, 6),
@@ -612,7 +612,7 @@ const union AffineAnimCmd gConstrictBindingAffineAnimCmds1[] = //gUnknown_83E2C
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gConstrictBindingAffineAnimCmds2[] = //gUnknown_83E2CE4
+const union AffineAnimCmd gConstrictBindingAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(11, 0, 0, 6),
@@ -620,13 +620,13 @@ const union AffineAnimCmd gConstrictBindingAffineAnimCmds2[] = //gUnknown_83E2C
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gConstrictBindingAffineAnimTable[] = //gUnknown_83E2D04
+const union AffineAnimCmd *const gConstrictBindingAffineAnimTable[] =
{
gConstrictBindingAffineAnimCmds1,
gConstrictBindingAffineAnimCmds2,
};
-const struct SpriteTemplate gConstrictBindingSpriteTemplate = //gUnknown_83E2D0C
+const struct SpriteTemplate gConstrictBindingSpriteTemplate =
{
.tileTag = ANIM_TAG_TENDRILS,
.paletteTag = ANIM_TAG_TENDRILS,
@@ -637,26 +637,26 @@ const struct SpriteTemplate gConstrictBindingSpriteTemplate = //gUnknown_83E2D0C
.callback = AnimConstrictBinding,
};
-const union AffineAnimCmd gMimicOrbAffineAnimCmds1[] = //gUnknown_83E2D24
+const union AffineAnimCmd gMimicOrbAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0, 0, 0, 0),
AFFINEANIMCMD_FRAME(48, 48, 0, 14),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gMimicOrbAffineAnimCmds2[] = //gUnknown_83E2D3C
+const union AffineAnimCmd gMimicOrbAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(-16, -16, 0, 1),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gMimicOrbAffineAnimTable[] = //gUnknown_83E2D4C
+const union AffineAnimCmd *const gMimicOrbAffineAnimTable[] =
{
gMimicOrbAffineAnimCmds1,
gMimicOrbAffineAnimCmds2,
};
-const struct SpriteTemplate gMimicOrbSpriteTemplate = //gUnknown_83E2D54
+const struct SpriteTemplate gMimicOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -667,7 +667,7 @@ const struct SpriteTemplate gMimicOrbSpriteTemplate = //gUnknown_83E2D54
.callback = AnimMimicOrb,
};
-const union AnimCmd gIngrainRootAnimCmds1[] = //gUnknown_83E2D6C
+const union AnimCmd gIngrainRootAnimCmds1[] =
{
ANIMCMD_FRAME(0, 7),
ANIMCMD_FRAME(16, 7),
@@ -676,7 +676,7 @@ const union AnimCmd gIngrainRootAnimCmds1[] = //gUnknown_83E2D6C
ANIMCMD_END,
};
-const union AnimCmd gIngrainRootAnimCmds2[] = //gUnknown_83E2D80
+const union AnimCmd gIngrainRootAnimCmds2[] =
{
ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
@@ -685,7 +685,7 @@ const union AnimCmd gIngrainRootAnimCmds2[] = //gUnknown_83E2D80
ANIMCMD_END,
};
-const union AnimCmd gIngrainRootAnimCmds3[] = //gUnknown_83E2D94
+const union AnimCmd gIngrainRootAnimCmds3[] =
{
ANIMCMD_FRAME(0, 7),
ANIMCMD_FRAME(16, 7),
@@ -693,7 +693,7 @@ const union AnimCmd gIngrainRootAnimCmds3[] = //gUnknown_83E2D94
ANIMCMD_END,
};
-const union AnimCmd gIngrainRootAnimCmds4[] = //gUnknown_83E2DA4
+const union AnimCmd gIngrainRootAnimCmds4[] =
{
ANIMCMD_FRAME(0, 7, .hFlip = TRUE),
ANIMCMD_FRAME(16, 7, .hFlip = TRUE),
@@ -701,7 +701,7 @@ const union AnimCmd gIngrainRootAnimCmds4[] = //gUnknown_83E2DA4
ANIMCMD_END,
};
-const union AnimCmd *const gIngrainRootAnimTable[] = //gUnknown_83E2DB4
+const union AnimCmd *const gIngrainRootAnimTable[] =
{
gIngrainRootAnimCmds1,
gIngrainRootAnimCmds2,
@@ -709,7 +709,7 @@ const union AnimCmd *const gIngrainRootAnimTable[] = //gUnknown_83E2DB4
gIngrainRootAnimCmds4,
};
-const struct SpriteTemplate gIngrainRootSpriteTemplate = //gUnknown_83E2DC4
+const struct SpriteTemplate gIngrainRootSpriteTemplate =
{
.tileTag = ANIM_TAG_ROOTS,
.paletteTag = ANIM_TAG_ROOTS,
@@ -720,7 +720,7 @@ const struct SpriteTemplate gIngrainRootSpriteTemplate = //gUnknown_83E2DC4
.callback = AnimIngrainRoot,
};
-const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate = //gUnknown_83E2DDC
+const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate =
{
.tileTag = ANIM_TAG_ROOTS,
.paletteTag = ANIM_TAG_ROOTS,
@@ -731,19 +731,19 @@ const struct SpriteTemplate gFrenzyPlantRootSpriteTemplate = //gUnknown_83E2DDC
.callback = AnimFrenzyPlantRoot,
};
-const union AnimCmd gIngrainOrbAnimCmds[] = //gUnknown_83E2DF4
+const union AnimCmd gIngrainOrbAnimCmds[] =
{
ANIMCMD_FRAME(3, 3),
ANIMCMD_FRAME(0, 5),
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gIngrainOrbAnimTable[] = //gUnknown_83E2E00
+const union AnimCmd *const gIngrainOrbAnimTable[] =
{
gIngrainOrbAnimCmds,
};
-const struct SpriteTemplate gIngrainOrbSpriteTemplate = //gUnknown_83E2E04
+const struct SpriteTemplate gIngrainOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ORBS,
.paletteTag = ANIM_TAG_ORBS,
@@ -754,18 +754,18 @@ const struct SpriteTemplate gIngrainOrbSpriteTemplate = //gUnknown_83E2E04
.callback = AnimIngrainOrb,
};
-const union AnimCmd gFallingBagAnimCmds[] = //gUnknown_83E2E1C
+const union AnimCmd gFallingBagAnimCmds[] =
{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END,
};
-const union AnimCmd *const gFallingBagAnimTable[] = //gUnknown_83E2E24
+const union AnimCmd *const gFallingBagAnimTable[] =
{
gFallingBagAnimCmds,
};
-const union AffineAnimCmd gFallingBagAffineAnimCmds1[] = //gUnknown_83E2E28
+const union AffineAnimCmd gFallingBagAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0, 0, -4, 10),
AFFINEANIMCMD_FRAME(0, 0, 4, 20),
@@ -773,7 +773,7 @@ const union AffineAnimCmd gFallingBagAffineAnimCmds1[] = //gUnknown_83E2E28
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gFallingBagAffineAnimCmds2[] = //gUnknown_83E2E48
+const union AffineAnimCmd gFallingBagAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0, 0, -1, 2),
AFFINEANIMCMD_FRAME(0, 0, 1, 4),
@@ -784,13 +784,13 @@ const union AffineAnimCmd gFallingBagAffineAnimCmds2[] = //gUnknown_83E2E48
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gFallingBagAffineAnimTable[] = //gUnknown_83E2E80
+const union AffineAnimCmd *const gFallingBagAffineAnimTable[] =
{
gFallingBagAffineAnimCmds1,
gFallingBagAffineAnimCmds2,
};
-const struct SpriteTemplate gPresentSpriteTemplate = //gUnknown_83E2E88
+const struct SpriteTemplate gPresentSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -801,7 +801,7 @@ const struct SpriteTemplate gPresentSpriteTemplate = //gUnknown_83E2E88
.callback = AnimPresent,
};
-const struct SpriteTemplate gKnockOffItemSpriteTemplate = //gUnknown_83E2EA0
+const struct SpriteTemplate gKnockOffItemSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -812,7 +812,7 @@ const struct SpriteTemplate gKnockOffItemSpriteTemplate = //gUnknown_83E2EA0
.callback = AnimKnockOffItem,
};
-const union AnimCmd gPresentHealParticleAnimCmds[] = //gUnknown_83E2EB8
+const union AnimCmd gPresentHealParticleAnimCmds[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(4, 4),
@@ -821,12 +821,12 @@ const union AnimCmd gPresentHealParticleAnimCmds[] = //gUnknown_83E2EB8
ANIMCMD_END,
};
-const union AnimCmd *const gPresentHealParticleAnimTable[] = //gUnknown_83E2ECC
+const union AnimCmd *const gPresentHealParticleAnimTable[] =
{
gPresentHealParticleAnimCmds,
};
-const struct SpriteTemplate gPresentHealParticleSpriteTemplate = //gUnknown_83E2ED0
+const struct SpriteTemplate gPresentHealParticleSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_SPARKLE,
.paletteTag = ANIM_TAG_GREEN_SPARKLE,
@@ -837,7 +837,7 @@ const struct SpriteTemplate gPresentHealParticleSpriteTemplate = //gUnknown_83E2
.callback = AnimPresentHealParticle,
};
-const struct SpriteTemplate gItemStealSpriteTemplate = //gUnknown_83E2EE8
+const struct SpriteTemplate gItemStealSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -848,13 +848,13 @@ const struct SpriteTemplate gItemStealSpriteTemplate = //gUnknown_83E2EE8
.callback = AnimItemSteal,
};
-const union AffineAnimCmd gTrickBagAffineAnimCmds1[] = //gUnknown_83E2F00
+const union AffineAnimCmd gTrickBagAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0, 0, 0, 3),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gTrickBagAffineAnimCmds2[] = //gUnknown_83E2F10
+const union AffineAnimCmd gTrickBagAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0, -10, 0, 3),
AFFINEANIMCMD_FRAME(0, -6, 0, 3),
@@ -866,7 +866,7 @@ const union AffineAnimCmd gTrickBagAffineAnimCmds2[] = //gUnknown_83E2F10
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gTrickBagAffineAnimTable[] = //gUnknown_83E2F50
+const union AffineAnimCmd *const gTrickBagAffineAnimTable[] =
{
gTrickBagAffineAnimCmds1,
gTrickBagAffineAnimCmds2,
@@ -874,7 +874,7 @@ const union AffineAnimCmd *const gTrickBagAffineAnimTable[] = //gUnknown_83E2F5
gFallingBagAffineAnimCmds2,
};
-const struct SpriteTemplate gTrickBagSpriteTemplate = //gUnknown_83E2F60
+const struct SpriteTemplate gTrickBagSpriteTemplate =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -885,7 +885,7 @@ const struct SpriteTemplate gTrickBagSpriteTemplate = //gUnknown_83E2F60
.callback = AnimTrickBag,
};
-const s8 gTrickBagCoordinates[][3] = //gUnknown_83E2F78
+const s8 gTrickBagCoordinates[][3] =
{
{5, 24, 1},
{0, 4, 0},
@@ -900,49 +900,49 @@ const s8 gTrickBagCoordinates[][3] = //gUnknown_83E2F78
{0, 0, 127},
};
-const union AnimCmd gLeafBladeAnimCmds1[] = //gUnknown_83E2F9C
+const union AnimCmd gLeafBladeAnimCmds1[] =
{
ANIMCMD_FRAME(28, 1),
ANIMCMD_END,
};
-const union AnimCmd gLeafBladeAnimCmds2[] = //gUnknown_83E2FA4
+const union AnimCmd gLeafBladeAnimCmds2[] =
{
ANIMCMD_FRAME(32, 1),
ANIMCMD_END,
};
-const union AnimCmd gLeafBladeAnimCmds3[] = //gUnknown_83E2FAC
+const union AnimCmd gLeafBladeAnimCmds3[] =
{
ANIMCMD_FRAME(20, 1),
ANIMCMD_END,
};
-const union AnimCmd gLeafBladeAnimCmds4[] = //gUnknown_83E2FB4
+const union AnimCmd gLeafBladeAnimCmds4[] =
{
ANIMCMD_FRAME(28, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-const union AnimCmd gLeafBladeAnimCmds5[] = //gUnknown_83E2FBC
+const union AnimCmd gLeafBladeAnimCmds5[] =
{
ANIMCMD_FRAME(16, 1),
ANIMCMD_END,
};
-const union AnimCmd gLeafBladeAnimCmds6[] = //gUnknown_83E2FC4
+const union AnimCmd gLeafBladeAnimCmds6[] =
{
ANIMCMD_FRAME(16, 1, .hFlip = TRUE),
ANIMCMD_END,
};
-const union AnimCmd gLeafBladeAnimCmds7[] = //gUnknown_83E2FCC
+const union AnimCmd gLeafBladeAnimCmds7[] =
{
ANIMCMD_FRAME(28, 1),
ANIMCMD_END,
};
-const union AnimCmd *const gLeafBladeAnimTable[] = //gUnknown_83E2FD4
+const union AnimCmd *const gLeafBladeAnimTable[] =
{
gLeafBladeAnimCmds1,
gLeafBladeAnimCmds2,
@@ -953,7 +953,7 @@ const union AnimCmd *const gLeafBladeAnimTable[] = //gUnknown_83E2FD4
gLeafBladeAnimCmds7,
};
-const struct SpriteTemplate gLeafBladeSpriteTemplate = //gUnknown_83E2FF0
+const struct SpriteTemplate gLeafBladeSpriteTemplate =
{
.tileTag = ANIM_TAG_LEAF,
.paletteTag = ANIM_TAG_LEAF,
@@ -964,19 +964,19 @@ const struct SpriteTemplate gLeafBladeSpriteTemplate = //gUnknown_83E2FF0
.callback = SpriteCallbackDummy,
};
-const union AffineAnimCmd gAromatherapyBigFlowerAffineAnimCmds[] = //gUnknown_83E3008
+const union AffineAnimCmd gAromatherapyBigFlowerAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, 4, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gAromatherapyBigFlowerAffineAnimTable[] = //gUnknown_83E3020
+const union AffineAnimCmd *const gAromatherapyBigFlowerAffineAnimTable[] =
{
gAromatherapyBigFlowerAffineAnimCmds,
};
-const struct SpriteTemplate gAromatherapySmallFlowerSpriteTemplate = //gUnknown_83E3024
+const struct SpriteTemplate gAromatherapySmallFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
@@ -987,7 +987,7 @@ const struct SpriteTemplate gAromatherapySmallFlowerSpriteTemplate = //gUnknown_
.callback = AnimFlyingParticle,
};
-const struct SpriteTemplate gAromatherapyBigFlowerSpriteTemplate = //gUnknown_83E303C
+const struct SpriteTemplate gAromatherapyBigFlowerSpriteTemplate =
{
.tileTag = ANIM_TAG_FLOWER,
.paletteTag = ANIM_TAG_FLOWER,
@@ -998,43 +998,43 @@ const struct SpriteTemplate gAromatherapyBigFlowerSpriteTemplate = //gUnknown_83
.callback = AnimFlyingParticle,
};
-const union AffineAnimCmd gSilverWindBigSparkAffineAnimCmds[] = //gUnknown_83E3054
+const union AffineAnimCmd gSilverWindBigSparkAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, -10, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd gSilverWindMediumSparkAffineAnimCmds[] = //gUnknown_83E306C
+const union AffineAnimCmd gSilverWindMediumSparkAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(192, 192, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, -12, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd gSilverWindSmallSparkAffineAnimCmds[] = //gUnknown_83E3084
+const union AffineAnimCmd gSilverWindSmallSparkAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(143, 143, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, -15, 1),
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd *const gSilverWindBigSparkAffineAnimTable[] = //gUnknown_83E309C
+const union AffineAnimCmd *const gSilverWindBigSparkAffineAnimTable[] =
{
gSilverWindBigSparkAffineAnimCmds,
};
-const union AffineAnimCmd *const gSilverWindMediumSparkAffineAnimTable[] = //gUnknown_83E30A0
+const union AffineAnimCmd *const gSilverWindMediumSparkAffineAnimTable[] =
{
gSilverWindMediumSparkAffineAnimCmds,
};
-const union AffineAnimCmd *const gSilverWindSmallSparkAffineAnimTable[] = //gUnknown_83E30A4
+const union AffineAnimCmd *const gSilverWindSmallSparkAffineAnimTable[] =
{
gSilverWindSmallSparkAffineAnimCmds,
};
-const struct SpriteTemplate gSilverWindBigSparkSpriteTemplate = //gUnknown_83E30A8
+const struct SpriteTemplate gSilverWindBigSparkSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_6,
.paletteTag = ANIM_TAG_SPARKLE_6,
@@ -1045,7 +1045,7 @@ const struct SpriteTemplate gSilverWindBigSparkSpriteTemplate = //gUnknown_83E30
.callback = AnimFlyingParticle,
};
-const struct SpriteTemplate gSilverWindMediumSparkSpriteTemplate = //gUnknown_83E30C0
+const struct SpriteTemplate gSilverWindMediumSparkSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_6,
.paletteTag = ANIM_TAG_SPARKLE_6,
@@ -1056,7 +1056,7 @@ const struct SpriteTemplate gSilverWindMediumSparkSpriteTemplate = //gUnknown_83
.callback = AnimFlyingParticle,
};
-const struct SpriteTemplate gSilverWindSmallSparkSpriteTemplate = //gUnknown_83E30D8
+const struct SpriteTemplate gSilverWindSmallSparkSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_6,
.paletteTag = ANIM_TAG_SPARKLE_6,
@@ -1067,7 +1067,7 @@ const struct SpriteTemplate gSilverWindSmallSparkSpriteTemplate = //gUnknown_83E
.callback = AnimFlyingParticle,
};
-const u16 gMagicalLeafBlendColors[] = //gUnknown_83E30F0
+const u16 gMagicalLeafBlendColors[] =
{
RGB(31, 0, 0),
RGB(31, 19, 0),
@@ -1078,7 +1078,7 @@ const u16 gMagicalLeafBlendColors[] = //gUnknown_83E30F0
RGB(22, 21, 31),
};
-const struct SpriteTemplate gNeedleArmSpikeSpriteTemplate = //gUnknown_83E3100
+const struct SpriteTemplate gNeedleArmSpikeSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_SPIKE,
.paletteTag = ANIM_TAG_GREEN_SPIKE,
@@ -1089,7 +1089,7 @@ const struct SpriteTemplate gNeedleArmSpikeSpriteTemplate = //gUnknown_83E3100
.callback = AnimNeedleArmSpike,
};
-const union AnimCmd gWhipAnimCmds1[] = //gUnknown_83E3118
+const union AnimCmd gWhipAnimCmds1[] =
{
ANIMCMD_FRAME(64, 3),
ANIMCMD_FRAME(80, 3),
@@ -1098,7 +1098,7 @@ const union AnimCmd gWhipAnimCmds1[] = //gUnknown_83E3118
ANIMCMD_END,
};
-const union AnimCmd gWhipAnimCmds2[] = //gUnknown_83E312C
+const union AnimCmd gWhipAnimCmds2[] =
{
ANIMCMD_FRAME(64, 3, .hFlip = TRUE),
ANIMCMD_FRAME(80, 3, .hFlip = TRUE),
@@ -1107,13 +1107,13 @@ const union AnimCmd gWhipAnimCmds2[] = //gUnknown_83E312C
ANIMCMD_END,
};
-const union AnimCmd *const gWhipAnimTable[] = //gUnknown_83E3140
+const union AnimCmd *const gWhipAnimTable[] =
{
gWhipAnimCmds1,
gWhipAnimCmds2,
};
-const struct SpriteTemplate gSlamHitSpriteTemplate = //gUnknown_83E3148
+const struct SpriteTemplate gSlamHitSpriteTemplate =
{
.tileTag = ANIM_TAG_SLAM_HIT,
.paletteTag = ANIM_TAG_SLAM_HIT,
@@ -1124,7 +1124,7 @@ const struct SpriteTemplate gSlamHitSpriteTemplate = //gUnknown_83E3148
.callback = AnimWhipHit,
};
-const struct SpriteTemplate gVineWhipSpriteTemplate = //gUnknown_83E3160
+const struct SpriteTemplate gVineWhipSpriteTemplate =
{
.tileTag = ANIM_TAG_WHIP_HIT,
.paletteTag = ANIM_TAG_WHIP_HIT,
@@ -1150,7 +1150,8 @@ const union AnimCmd *const gUnknown_83E3190[] =
gUnknown_83E3178,
};
-const struct SpriteTemplate gUnknown_83E3194 = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3194 =
{
.tileTag = ANIM_TAG_HIT,
.paletteTag = ANIM_TAG_HIT,
@@ -1161,7 +1162,8 @@ const struct SpriteTemplate gUnknown_83E3194 = // Unused
.callback = sub_80A43F8,
};
-const struct SpriteTemplate gUnknown_83E31AC = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E31AC =
{
.tileTag = ANIM_TAG_HIT_2,
.paletteTag = ANIM_TAG_HIT_2,
@@ -1232,7 +1234,8 @@ const union AffineAnimCmd *const gUnknown_83E3244[] =
gUnknown_83E3234,
};
-const struct SpriteTemplate gUnknown_83E3264 = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3264 =
{
.tileTag = ANIM_TAG_HANDS_AND_FEET,
.paletteTag = ANIM_TAG_HANDS_AND_FEET,
@@ -1243,7 +1246,7 @@ const struct SpriteTemplate gUnknown_83E3264 = // Unused
.callback = sub_80A4494,
};
-const union AnimCmd gCuttingSliceAnimCmds[] = //gUnknown_83E327C
+const union AnimCmd gCuttingSliceAnimCmds[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(16, 5),
@@ -1252,12 +1255,12 @@ const union AnimCmd gCuttingSliceAnimCmds[] = //gUnknown_83E327C
ANIMCMD_END,
};
-const union AnimCmd *const gCuttingSliceAnimTable[] = //gUnknown_83E3290
+const union AnimCmd *const gCuttingSliceAnimTable[] =
{
gCuttingSliceAnimCmds,
};
-const struct SpriteTemplate gCuttingSliceSpriteTemplate = //gUnknown_83E3294
+const struct SpriteTemplate gCuttingSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
@@ -1268,7 +1271,7 @@ const struct SpriteTemplate gCuttingSliceSpriteTemplate = //gUnknown_83E3294
.callback = AnimCuttingSlice,
};
-const struct SpriteTemplate gAirCutterSliceSpriteTemplate = //gUnknown_83E32AC
+const struct SpriteTemplate gAirCutterSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
@@ -1353,7 +1356,8 @@ const union AnimCmd *const gUnknown_83E3314[] =
gUnknown_83E330C,
};
-const struct SpriteTemplate gUnknown_83E333C = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E333C =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
@@ -1364,7 +1368,7 @@ const struct SpriteTemplate gUnknown_83E333C = // Unused
.callback = sub_80A481C,
};
-const struct SpriteTemplate gProtectWallSpriteTemplate = //gUnknown_83E3354
+const struct SpriteTemplate gProtectWallSpriteTemplate =
{
.tileTag = ANIM_TAG_PROTECT,
.paletteTag = ANIM_TAG_PROTECT,
@@ -1375,13 +1379,13 @@ const struct SpriteTemplate gProtectWallSpriteTemplate = //gUnknown_83E3354
.callback = AnimProtect,
};
-const union AffineAnimCmd gMilkBottleAffineAnimCmds1[] = //gUnknown_83E336C
+const union AffineAnimCmd gMilkBottleAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gMilkBottleAffineAnimCmds2[] =//gUnknown_83E337C
+const union AffineAnimCmd gMilkBottleAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x0, 2, 12),
AFFINEANIMCMD_FRAME(0x0, 0x0, 0, 6),
@@ -1391,13 +1395,13 @@ const union AffineAnimCmd gMilkBottleAffineAnimCmds2[] =//gUnknown_83E337C
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gMilkBottleAffineAnimTable[] =//gUnknown_83E33AC
+const union AffineAnimCmd *const gMilkBottleAffineAnimTable[] =
{
gMilkBottleAffineAnimCmds1,
gMilkBottleAffineAnimCmds2,
};
-const struct SpriteTemplate gMilkBottleSpriteTemplate =//gUnknown_83E33B4
+const struct SpriteTemplate gMilkBottleSpriteTemplate =
{
.tileTag = ANIM_TAG_MILK_BOTTLE,
.paletteTag = ANIM_TAG_MILK_BOTTLE,
@@ -1408,7 +1412,7 @@ const struct SpriteTemplate gMilkBottleSpriteTemplate =//gUnknown_83E33B4
.callback = AnimMilkBottle,
};
-const union AnimCmd gGrantingStarsAnimCmds[] =//gUnknown_83E33CC
+const union AnimCmd gGrantingStarsAnimCmds[] =
{
ANIMCMD_FRAME(0, 7),
ANIMCMD_FRAME(16, 7),
@@ -1421,12 +1425,12 @@ const union AnimCmd gGrantingStarsAnimCmds[] =//gUnknown_83E33CC
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gGrantingStarsAnimTable[] =//gUnknown_83E33F0
+const union AnimCmd *const gGrantingStarsAnimTable[] =
{
gGrantingStarsAnimCmds,
};
-const struct SpriteTemplate gGrantingStarsSpriteTemplate = //gUnknown_83E33F4
+const struct SpriteTemplate gGrantingStarsSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_2,
.paletteTag = ANIM_TAG_SPARKLE_2,
@@ -1437,7 +1441,7 @@ const struct SpriteTemplate gGrantingStarsSpriteTemplate = //gUnknown_83E33F4
.callback = AnimGrantingStars,
};
-const struct SpriteTemplate gSparklingStarsSpriteTemplate = //gUnknown_83E340C
+const struct SpriteTemplate gSparklingStarsSpriteTemplate =
{
.tileTag = ANIM_TAG_SPARKLE_2,
.paletteTag = ANIM_TAG_SPARKLE_2,
@@ -1480,7 +1484,8 @@ const union AnimCmd *const gUnknown_83E346C[] =
gUnknown_83E3448,
};
-const struct SpriteTemplate gUnknown_83E3474 = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3474 =
{
.tileTag = ANIM_TAG_BUBBLE_BURST,
.paletteTag = ANIM_TAG_BUBBLE_BURST,
@@ -1491,13 +1496,13 @@ const struct SpriteTemplate gUnknown_83E3474 = // Unused
.callback = sub_80A4E40,
};
-const union AnimCmd gSleepLetterZAnimCmds[] =//gUnknown_83E348C
+const union AnimCmd gSleepLetterZAnimCmds[] =
{
ANIMCMD_FRAME(0, 40),
ANIMCMD_END,
};
-const union AnimCmd *const gSleepLetterZAnimTable[] =//gUnknown_83E3494
+const union AnimCmd *const gSleepLetterZAnimTable[] =
{
gSleepLetterZAnimCmds,
};
@@ -1530,13 +1535,13 @@ const union AffineAnimCmd gSleepLetterZAffineAnimCmds2_2[] =
AFFINEANIMCMD_LOOP(10),
};
-const union AffineAnimCmd *const gSleepLetterZAffineAnimTable[] =//gUnknown_83E34F8
+const union AffineAnimCmd *const gSleepLetterZAffineAnimTable[] =
{
gSleepLetterZAffineAnimCmds1,
gSleepLetterZAffineAnimCmds2,
};
-const struct SpriteTemplate gSleepLetterZSpriteTemplate = //gUnknown_83E3500
+const struct SpriteTemplate gSleepLetterZSpriteTemplate =
{
.tileTag = ANIM_TAG_LETTER_Z,
.paletteTag = ANIM_TAG_LETTER_Z,
@@ -1547,7 +1552,7 @@ const struct SpriteTemplate gSleepLetterZSpriteTemplate = //gUnknown_83E3500
.callback = AnimSleepLetterZ,
};
-const struct SpriteTemplate gLockOnTargetSpriteTemplate = //gUnknown_83E3518
+const struct SpriteTemplate gLockOnTargetSpriteTemplate =
{
.tileTag = ANIM_TAG_LOCK_ON,
.paletteTag = ANIM_TAG_LOCK_ON,
@@ -1558,7 +1563,7 @@ const struct SpriteTemplate gLockOnTargetSpriteTemplate = //gUnknown_83E3518
.callback = AnimLockOnTarget,
};
-const struct SpriteTemplate gLockOnMoveTargetSpriteTemplate = //gUnknown_83E3530
+const struct SpriteTemplate gLockOnMoveTargetSpriteTemplate =
{
.tileTag = ANIM_TAG_LOCK_ON,
.paletteTag = ANIM_TAG_LOCK_ON,
@@ -1577,7 +1582,7 @@ const s8 gInclineMonCoordTable[][2] =
{ 32, -32},
};
-const struct SpriteTemplate gBowMonSpriteTemplate = //gUnknown_83E3550
+const struct SpriteTemplate gBowMonSpriteTemplate =
{
.tileTag = 0,
.paletteTag = 0,
@@ -1588,7 +1593,8 @@ const struct SpriteTemplate gBowMonSpriteTemplate = //gUnknown_83E3550
.callback = AnimBowMon,
};
-const struct SpriteTemplate gUnknown_83E3568 = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3568 =
{
.tileTag = 0,
.paletteTag = 0,
@@ -1599,7 +1605,7 @@ const struct SpriteTemplate gUnknown_83E3568 = // Unused
.callback = sub_80A5590,
};
-const union AnimCmd gSlashSliceAnimCmds1[] = //gUnknown_83E3580
+const union AnimCmd gSlashSliceAnimCmds1[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -1620,7 +1626,7 @@ const union AnimCmd *const gSlashSliceAnimTable[] =
gSlashSliceAnimCmds2,
};
-const struct SpriteTemplate gSlashSliceSpriteTemplate = //gUnknown_83E35A4
+const struct SpriteTemplate gSlashSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_SLASH,
.paletteTag = ANIM_TAG_SLASH,
@@ -1631,7 +1637,7 @@ const struct SpriteTemplate gSlashSliceSpriteTemplate = //gUnknown_83E35A4
.callback = AnimSlashSlice,
};
-const struct SpriteTemplate gFalseSwipeSliceSpriteTemplate = //gUnknown_83E35BC
+const struct SpriteTemplate gFalseSwipeSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_SLASH_2,
.paletteTag = ANIM_TAG_SLASH_2,
@@ -1642,7 +1648,7 @@ const struct SpriteTemplate gFalseSwipeSliceSpriteTemplate = //gUnknown_83E35BC
.callback = AnimFalseSwipeSlice,
};
-const struct SpriteTemplate gFalseSwipePositionedSliceSpriteTemplate = //gUnknown_83E35D4
+const struct SpriteTemplate gFalseSwipePositionedSliceSpriteTemplate =
{
.tileTag = ANIM_TAG_SLASH_2,
.paletteTag = ANIM_TAG_SLASH_2,
@@ -1667,7 +1673,7 @@ const union AnimCmd *const gEndureEnergyAnimTable[] =
gEndureEnergyAnimCmds,
};
-const struct SpriteTemplate gEndureEnergySpriteTemplate = //gUnknown_83E3604
+const struct SpriteTemplate gEndureEnergySpriteTemplate =
{
.tileTag = ANIM_TAG_FOCUS_ENERGY,
.paletteTag = ANIM_TAG_FOCUS_ENERGY,
@@ -1702,7 +1708,7 @@ const union AnimCmd *const gSharpenSphereAnimTable[] =
gSharpenSphereAnimCmds,
};
-const struct SpriteTemplate gSharpenSphereSpriteTemplate = //gUnknown_83E365C
+const struct SpriteTemplate gSharpenSphereSpriteTemplate =
{
.tileTag = ANIM_TAG_SPHERE_TO_CUBE,
.paletteTag = ANIM_TAG_SPHERE_TO_CUBE,
@@ -1713,7 +1719,7 @@ const struct SpriteTemplate gSharpenSphereSpriteTemplate = //gUnknown_83E365C
.callback = AnimSharpenSphere,
};
-const struct SpriteTemplate gOctazookaBallSpriteTemplate = //gUnknown_83E3674
+const struct SpriteTemplate gOctazookaBallSpriteTemplate =
{
.tileTag = ANIM_TAG_BLACK_BALL,
.paletteTag = ANIM_TAG_BLACK_BALL,
@@ -1739,7 +1745,7 @@ const union AnimCmd *const gOctazookaAnimTable[] =
gOctazookaAnimCmds,
};
-const struct SpriteTemplate gOctazookaSmokeSpriteTemplate = //gUnknown_83E36A8
+const struct SpriteTemplate gOctazookaSmokeSpriteTemplate =
{
.tileTag = ANIM_TAG_GRAY_SMOKE,
.paletteTag = ANIM_TAG_GRAY_SMOKE,
@@ -1775,7 +1781,7 @@ const union AffineAnimCmd *const gConversionAffineAnimTable[] =
gConversionAffineAnimCmds,
};
-const struct SpriteTemplate gConversionSpriteTemplate = //gUnknown_83E36EC
+const struct SpriteTemplate gConversionSpriteTemplate =
{
.tileTag = ANIM_TAG_CONVERSION,
.paletteTag = ANIM_TAG_CONVERSION,
@@ -1800,7 +1806,7 @@ const union AnimCmd *const gConversion2AnimTable[] =
gConversion2AnimCmds,
};
-const struct SpriteTemplate gConversion2SpriteTemplate = //gUnknown_83E371C
+const struct SpriteTemplate gConversion2SpriteTemplate =
{
.tileTag = ANIM_TAG_CONVERSION,
.paletteTag = ANIM_TAG_CONVERSION,
@@ -1811,7 +1817,7 @@ const struct SpriteTemplate gConversion2SpriteTemplate = //gUnknown_83E371C
.callback = AnimConversion2,
};
-const struct SpriteTemplate gMoonSpriteTemplate = //gUnknown_83E3734
+const struct SpriteTemplate gMoonSpriteTemplate =
{
.tileTag = ANIM_TAG_MOON,
.paletteTag = ANIM_TAG_MOON,
@@ -1836,7 +1842,7 @@ const union AnimCmd *const gMoonlightSparkleAnimTable[] =
gMoonlightSparkleAnimCmds,
};
-const struct SpriteTemplate gMoonlightSparkleSpriteTemplate = //gUnknown_83E3764
+const struct SpriteTemplate gMoonlightSparkleSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_SPARKLE,
.paletteTag = ANIM_TAG_GREEN_SPARKLE,
@@ -1865,7 +1871,7 @@ const union AnimCmd *const gHealingBlueStarAnimTable[] =
gHealingBlueStarAnimCmds,
};
-const struct SpriteTemplate gHealingBlueStarSpriteTemplate = //gUnknown_83E37A4
+const struct SpriteTemplate gHealingBlueStarSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_STAR,
.paletteTag = ANIM_TAG_BLUE_STAR,
@@ -1876,7 +1882,7 @@ const struct SpriteTemplate gHealingBlueStarSpriteTemplate = //gUnknown_83E37A4
.callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gHornHitSpriteTemplate = //gUnknown_83E37BC
+const struct SpriteTemplate gHornHitSpriteTemplate =
{
.tileTag = ANIM_TAG_HORN_HIT,
.paletteTag = ANIM_TAG_HORN_HIT,
@@ -1901,7 +1907,7 @@ const union AnimCmd *const gSuperFangAnimTable[] =
gSuperFangAnimCmds,
};
-const struct SpriteTemplate gSuperFangSpriteTemplate = //gUnknown_83E37EC
+const struct SpriteTemplate gSuperFangSpriteTemplate =
{
.tileTag = ANIM_TAG_FANG_ATTACK,
.paletteTag = ANIM_TAG_FANG_ATTACK,
@@ -1960,7 +1966,7 @@ const union AnimCmd gWavyMusicNotesAnimCmds8[] =
ANIMCMD_END,
};
-const union AnimCmd *const gMusicNotesAnimTable[] = //gUnknown_83E3844
+const union AnimCmd *const gMusicNotesAnimTable[] =
{
gWavyMusicNotesAnimCmds1,
gWavyMusicNotesAnimCmds2,
@@ -1972,19 +1978,19 @@ const union AnimCmd *const gMusicNotesAnimTable[] = //gUnknown_83E3844
gWavyMusicNotesAnimCmds8,
};
-const union AffineAnimCmd gWavyMusicNotesAffineAnimCmds[] = //gUnknown_83E3864
+const union AffineAnimCmd gWavyMusicNotesAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0xC, 0xC, 0, 16),
AFFINEANIMCMD_FRAME(0xFFF4, 0xFFF4, 0, 16),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gMusicNotesAffineAnimTable[] = //gUnknown_83E387C
+const union AffineAnimCmd *const gMusicNotesAffineAnimTable[] =
{
gWavyMusicNotesAffineAnimCmds,
};
-const struct SpriteTemplate gWavyMusicNotesSpriteTemplate = //gUnknown_83E3880
+const struct SpriteTemplate gWavyMusicNotesSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
@@ -1995,7 +2001,7 @@ const struct SpriteTemplate gWavyMusicNotesSpriteTemplate = //gUnknown_83E3880
.callback = AnimWavyMusicNotes,
};
-const u16 gParticlesColorBlendTable[][6] = //gUnknown_83E3898
+const u16 gParticlesColorBlendTable[][6] =
{
{ANIM_TAG_MUSIC_NOTES, RGB(31, 31, 31), RGB(31, 26, 28), RGB(31, 22, 26), RGB(31, 17, 24), RGB(31, 13, 22)},
{ANIM_TAG_BENT_SPOON, RGB(31, 31, 31), RGB(25, 31, 26), RGB(20, 31, 21), RGB(15, 31, 16), RGB(10, 31, 12)},
@@ -2003,7 +2009,7 @@ const u16 gParticlesColorBlendTable[][6] = //gUnknown_83E3898
{ANIM_TAG_LARGE_FRESH_EGG, RGB(31, 31, 31), RGB(26, 28, 31), RGB(21, 26, 31), RGB(16, 24, 31), RGB(12, 22, 31)},
};
-const struct SpriteTemplate gFastFlyingMusicNotesSpriteTemplate = //gUnknown_83E38C8
+const struct SpriteTemplate gFastFlyingMusicNotesSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
@@ -2014,7 +2020,7 @@ const struct SpriteTemplate gFastFlyingMusicNotesSpriteTemplate = //gUnknown_83E
.callback = AnimFlyingMusicNotes,
};
-const struct SpriteTemplate gBellyDrumHandSpriteTemplate = // gUnknown_83E38E0
+const struct SpriteTemplate gBellyDrumHandSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
.paletteTag = ANIM_TAG_PURPLE_HAND_OUTLINE,
@@ -2037,7 +2043,7 @@ const union AffineAnimCmd *const gSlowFlyingMusicNotesAffineAnimTable[] =
gSlowFlyingMusicNotesAffineAnimCmds,
};
-const struct SpriteTemplate gSlowFlyingMusicNotesSpriteTemplate = //gUnknown_83E3914
+const struct SpriteTemplate gSlowFlyingMusicNotesSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
@@ -2092,7 +2098,7 @@ const union AnimCmd *const gMetronomeThroughtBubbleAnimTable[] =
gMetronomeThroughtBubbleAnimCmds4,
};
-const struct SpriteTemplate gThoughtBubbleSpriteTemplate = //gUnknown_83E398C
+const struct SpriteTemplate gThoughtBubbleSpriteTemplate =
{
.tileTag = ANIM_TAG_THOUGHT_BUBBLE,
.paletteTag = ANIM_TAG_THOUGHT_BUBBLE,
@@ -2138,7 +2144,7 @@ const union AffineAnimCmd *const gMetronomeFingerAffineAnimTable[] =
gMetronomeFingerAffineAnimCmds2,
};
-const struct SpriteTemplate gMetronomeFingerSpriteTemplate = //gUnknown_83E3A34
+const struct SpriteTemplate gMetronomeFingerSpriteTemplate =
{
.tileTag = ANIM_TAG_FINGER,
.paletteTag = ANIM_TAG_FINGER,
@@ -2149,7 +2155,7 @@ const struct SpriteTemplate gMetronomeFingerSpriteTemplate = //gUnknown_83E3A34
.callback = AnimMetronomeFinger,
};
-const struct SpriteTemplate gFollowMeFingerSpriteTemplate = //gUnknown_83E3A4C
+const struct SpriteTemplate gFollowMeFingerSpriteTemplate =
{
.tileTag = ANIM_TAG_FINGER,
.paletteTag = ANIM_TAG_FINGER,
@@ -2204,7 +2210,7 @@ const union AnimCmd *const gTauntFingerAnimTable[] =
gTauntFingerAnimCmds4,
};
-const struct SpriteTemplate gTauntFingerSpriteTemplate = //gUnknown_83E3AC4
+const struct SpriteTemplate gTauntFingerSpriteTemplate =
{
.tileTag = ANIM_TAG_FINGER_2,
.paletteTag = ANIM_TAG_FINGER_2,
@@ -2575,7 +2581,7 @@ void AnimPetalDanceSmallFlower(struct Sprite* sprite)
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
InitAnimLinearTranslation(sprite);
sprite->data[5] = 0x40;
sprite->callback = AnimPetalDanceSmallFlowerStep;
@@ -2735,7 +2741,7 @@ static void AnimTranslateLinearSingleSineWaveStep(struct Sprite* sprite)
// arg 4: speedup frame (particles move faster at the end of the animation)
void AnimMoveTwisterParticle(struct Sprite* sprite)
{
- if (!IsContest() && IsDoubleBattle() == TRUE)
+ if (!IsContest() && IsDoubleBattle() == TRUE)
SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->pos1.x, &sprite->pos1.y);
sprite->pos1.y += 32;
@@ -2806,6 +2812,7 @@ static void AnimConstrictBindingStep1(struct Sprite* sprite)
static void AnimConstrictBindingStep2(struct Sprite* sprite)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
+
if (!sprite->data[2])
sprite->data[0] += 11;
else
@@ -2830,6 +2837,7 @@ static void AnimConstrictBindingStep2(struct Sprite* sprite)
void sub_80A2F0C(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
+
if (gSprites[spriteId].invisible)
{
DestroyAnimVisualTask(taskId);
@@ -2847,6 +2855,7 @@ void sub_80A2F0C(u8 taskId)
static void AnimTask_DuplicateAndShrinkToPosStep1(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
+
gTasks[taskId].data[10] += gTasks[taskId].data[0];
gSprites[spriteId].pos2.x = gTasks[taskId].data[10] >> 8;
if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER)
@@ -2871,7 +2880,7 @@ static void AnimTask_DuplicateAndShrinkToPosStep2(u8 taskId)
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
ResetSpriteRotScale(spriteId);
gSprites[spriteId].pos2.y = gSprites[spriteId].pos2.x = 0;
- gTasks[taskId].data[0]++;
+ gTasks[taskId].data[0]++;
return;
}
}
@@ -2948,7 +2957,6 @@ void AnimIngrainRoot(struct Sprite* sprite)
// arg 3: sprite subpriority offset
// arg 4: sprite anum num
// arg 5: duration
-//sub_80A31EC
void AnimFrenzyPlantRoot(struct Sprite *sprite)
{
s16 attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
@@ -2991,8 +2999,8 @@ void AnimIngrainOrb(struct Sprite* sprite)
{
if (!sprite->data[0])
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
sprite->data[1] = gBattleAnimArgs[2];
sprite->data[2] = gBattleAnimArgs[3];
sprite->data[3] = gBattleAnimArgs[4];
@@ -3078,6 +3086,7 @@ void AnimPresent(struct Sprite* sprite)
{
s16 targetX;
s16 targetY;
+
InitSpritePosToAnimAttacker(sprite, FALSE);
targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
@@ -3103,6 +3112,7 @@ void AnimPresent(struct Sprite* sprite)
static void sub_80A3590(struct Sprite* sprite)
{
int zero;
+
sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
zero = 0;
if (sprite->data[0] > 0x7F)
@@ -3123,6 +3133,7 @@ static void sub_80A3590(struct Sprite* sprite)
void AnimKnockOffItem(struct Sprite* sprite)
{
s16 targetY = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
+
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{
sprite->data[6] = 0;
@@ -3169,6 +3180,7 @@ void AnimItemSteal(struct Sprite* sprite)
{
s16 attackerX;
s16 attackerY;
+
InitSpritePosToAnimTarget(sprite, FALSE);
attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
attackerY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
@@ -3194,6 +3206,7 @@ void AnimItemSteal(struct Sprite* sprite)
static void AnimItemStealStep3(struct Sprite* sprite)
{
int zero;
+
sprite->data[0] += ((sprite->data[3] * 128) / sprite->data[4]);
zero = 0;
if (sprite->data[0] > 127)
@@ -3329,8 +3342,8 @@ void AnimTask_LeafBlade(u8 taskId)
struct Task *task = &gTasks[taskId];
task->data[4] = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 1;
- task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
task->data[10] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_WIDTH);
task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT);
task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1;
@@ -3355,6 +3368,7 @@ static void AnimTask_LeafBladeStep(u8 taskId)
struct Task* task = &gTasks[taskId];
struct Sprite* sprite = &gSprites[task->data[2]];
int a = task->data[0];
+
switch (a)
{
case 4:
@@ -3538,6 +3552,7 @@ static void AnimTask_LeafBladeStep(u8 taskId)
static s16 LeafBladeGetPosFactor(struct Sprite* sprite)
{
s16 var = 8;
+
if (sprite->data[4] < sprite->pos1.y)
var = -var;
@@ -3589,6 +3604,7 @@ static void AnimTask_LeafBladeStep2_Callback(struct Sprite* sprite)
void AnimFlyingParticle(struct Sprite* sprite)
{
u8 battler;
+
if (!gBattleAnimArgs[6])
battler = gBattleAnimAttacker;
else
@@ -3621,11 +3637,11 @@ void AnimFlyingParticle(struct Sprite* sprite)
sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
break;
case 2:
- sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[0];
sprite->oam.priority = GetBattlerSpriteBGPriority(battler);
break;
case 3:
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[0];
GetAnimBattlerSpriteId(ANIM_TARGET);
sprite->oam.priority = GetBattlerSpriteBGPriority(battler) + 1;
break;
@@ -3637,6 +3653,7 @@ void AnimFlyingParticle(struct Sprite* sprite)
static void AnimFlyingParticleStep(struct Sprite* sprite)
{
int a = sprite->data[7];
+
sprite->data[7]++;
sprite->pos2.y = (sprite->data[1] * gSineTable[sprite->data[0]]) >> 8;
sprite->pos2.x = sprite->data[2] * a;
@@ -3658,6 +3675,7 @@ static void AnimFlyingParticleStep(struct Sprite* sprite)
void sub_80A41C4(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
switch (task->data[0])
{
case 0:
@@ -3701,13 +3719,13 @@ void AnimNeedleArmSpike(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- a = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- b = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ a = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ b = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
sprite->data[0] = gBattleAnimArgs[4];
@@ -3810,8 +3828,8 @@ void sub_80A4494(struct Sprite* sprite)
// arg 2: slice direction; 0 = right-to-left, 1 = left-to-right
void AnimCuttingSlice(struct Sprite* sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
sprite->pos1.y += 8;
@@ -3838,15 +3856,16 @@ void AnimAirCutterSlice(struct Sprite* sprite)
{
u8 a;
u8 b;
+
switch (gBattleAnimArgs[3])
{
case 1:
- a = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 0);
- b = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 1);
+ a = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), BATTLER_COORD_X);
+ b = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), BATTLER_COORD_Y);
break;
case 2:
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimTarget)))
{
a = (GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimTarget), 0) + a) / 2;
@@ -3855,8 +3874,8 @@ void AnimAirCutterSlice(struct Sprite* sprite)
break;
case 0:
default:
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
break;
}
@@ -3976,8 +3995,8 @@ void AnimProtect(struct Sprite* sprite)
if (IsContest())
gBattleAnimArgs[1] += 8;
- sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
- sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord2(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER || IsContest())
sprite->oam.priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker) + 1;
else
@@ -3995,6 +4014,7 @@ static void AnimProtectStep(struct Sprite *sprite)
{
int a;
int i;
+
sprite->data[5] += 96;
sprite->pos2.x = -(sprite->data[5] >> 8);
if (++sprite->data[1] > 1)
@@ -4036,8 +4056,8 @@ static void AnimProtectStep(struct Sprite *sprite)
void AnimMilkBottle(struct Sprite* sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 0xFFE8;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + 0xFFE8;
sprite->data[0] = 0;
sprite->data[1] = 0;
sprite->data[2] = 0;
@@ -4161,6 +4181,7 @@ void AnimGrantingStars(struct Sprite* sprite)
void AnimSparkingStars(struct Sprite* sprite)
{
u8 battler;
+
if (!gBattleAnimArgs[2])
battler = gBattleAnimAttacker;
else
@@ -4176,13 +4197,13 @@ void AnimSparkingStars(struct Sprite* sprite)
{
if (!gBattleAnimArgs[6])
{
- sprite->pos1.x = GetBattlerSpriteCoord(battler, 0);
- sprite->pos1.y = GetBattlerSpriteCoord(battler, 1) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y) + gBattleAnimArgs[1];
}
else
{
- sprite->pos1.x = GetBattlerSpriteCoord(battler, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
}
SetAnimSpriteInitialXOffset(sprite, gBattleAnimArgs[0]);
@@ -4310,6 +4331,7 @@ static void AnimLockOnTargetStep3(struct Sprite* sprite)
{
s16 a;
s16 b;
+
if (sprite->oam.affineParam == 0)
{
sprite->data[0] = 3;
@@ -4345,8 +4367,8 @@ static void AnimLockOnTargetStep3(struct Sprite* sprite)
sprite->pos2.y = 0;
sprite->pos2.x = 0;
sprite->data[0] = 6;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + a;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + b;
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + a;
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + b;
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, AnimLockOnTargetStep5);
}
@@ -4621,6 +4643,7 @@ void AnimTask_SkullBashPosition(u8 taskId)
static void AnimTask_SkullBashPositionSet(u8 taskId)
{
struct Task *task = &gTasks[taskId];
+
switch (task->data[2])
{
case 0:
@@ -4712,6 +4735,7 @@ static void AnimTask_SkullBashPositionSet(u8 taskId)
static void AnimTask_SkullBashPositionReset(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (task->data[3])
{
task->data[4] -= task->data[5];
@@ -4730,13 +4754,13 @@ void AnimSlashSlice(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
}
else
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
}
sprite->data[0] = 0;
@@ -4747,16 +4771,16 @@ void AnimSlashSlice(struct Sprite* sprite)
void AnimFalseSwipeSlice(struct Sprite* sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0;
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 0xFFD0;
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
StoreSpriteCallbackInData6(sprite, AnimFalseSwipeSliceStep1);
sprite->callback = RunStoredCallbackWhenAnimEnds;
}
void AnimFalseSwipePositionedSlice(struct Sprite* sprite)
{
- sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 0xFFD0 + gBattleAnimArgs[0];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->pos1.x = sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 0xFFD0 + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
StartSpriteAnim(sprite, 1);
sprite->data[0] = 0;
sprite->data[1] = 0;
@@ -4797,13 +4821,13 @@ void AnimEndureEnergy(struct Sprite* sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[2];
}
else
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + gBattleAnimArgs[2];
}
sprite->data[0] = 0;
@@ -4826,8 +4850,8 @@ static void AnimEndureEnergyStep(struct Sprite* sprite)
void AnimSharpenSphere(struct Sprite* sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - 12;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) - 12;
sprite->data[0] = 0;
sprite->data[1] = 2;
sprite->data[2] = 0;
@@ -4865,8 +4889,8 @@ void AnimConversion(struct Sprite* sprite)
{
if (sprite->data[0] == 0)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1];
if (IsContest())
sprite->pos1.y += 10;
@@ -4919,8 +4943,8 @@ static void AnimConversion2Step(struct Sprite* sprite)
{
sprite->animPaused = 0;
sprite->data[0] = 30;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -4941,6 +4965,7 @@ void AnimTask_Conversion2AlphaBlend(u8 taskId)
void sub_80A5E34(u8 taskId)
{
u8 i;
+
for (i = 0; i < gBattlersCount; i++)
{
if (gBattleAnimArgs[0] == 1 && GetBattlerSide(i) == B_SIDE_PLAYER)
@@ -4956,6 +4981,7 @@ void sub_80A5E34(u8 taskId)
void sub_80A5EA8(u8 taskId)
{
u8 i;
+
for (i = 0; i < gBattlersCount; i++)
SetHealthboxSpriteVisible(gHealthboxSpriteIds[i]);
@@ -4989,7 +5015,7 @@ static void AnimMoonStep(struct Sprite* sprite)
void AnimMoonlightSparkle(struct Sprite* sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
sprite->pos1.y = gBattleAnimArgs[1];
sprite->data[0] = 0;
sprite->data[1] = 0;
@@ -5048,6 +5074,7 @@ void AnimTask_FadeScreenBlue(u8 taskId)
void AnimTask_FadeScreenBlueStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
switch (task->data[0])
{
case 0:
@@ -5133,8 +5160,8 @@ void AnimHornHit(struct Sprite* sprite)
sprite->data[0] = 0;
sprite->data[1] = gBattleAnimArgs[2];
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[0];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[1];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
sprite->data[6] = sprite->pos1.x;
sprite->data[7] = sprite->pos1.y;
if (IsContest())
@@ -5193,6 +5220,7 @@ void AnimTask_DoubleTeam(u8 taskId)
u16 r3;
u16 r4;
struct Task* task = &gTasks[taskId];
+
task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[1] = AllocSpritePalette(ANIM_TAG_BENT_SPOON);
r3 = (task->data[1] * 16) + 0x100;
@@ -5224,6 +5252,7 @@ void AnimTask_DoubleTeam(u8 taskId)
static void AnimTask_DoubleTeamStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (!task->data[3])
{
if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
@@ -5295,6 +5324,7 @@ void AnimTask_MusicNotesRainbowBlend(u8 taskId)
void AnimTask_MusicNotesClearRainbowBlend(u8 taskId)
{
u16 i;
+
for (i = 1; i < ARRAY_COUNT(gParticlesColorBlendTable); i++)
FreeSpritePaletteByTag(gParticlesColorBlendTable[i][0]);
@@ -5306,6 +5336,7 @@ void AnimWavyMusicNotes(struct Sprite* sprite)
u8 index;
u8 a;
u8 b;
+
SetSpriteCoordsToAnimAttackerCoords(sprite);
StartSpriteAnim(sprite, gBattleAnimArgs[0]);
if ((index = IndexOfSpritePaletteTag(gParticlesColorBlendTable[gBattleAnimArgs[1]][0])) != 0xFF)
@@ -5321,8 +5352,8 @@ void AnimWavyMusicNotes(struct Sprite* sprite)
}
else
{
- a = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- b = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ a = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ b = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
sprite->data[4] = sprite->pos1.x << 4;
@@ -5335,6 +5366,7 @@ static void AnimWavyMusicNotesGetNextPos(s16 a, s16 b, s16* c, s16* d, s8 e)
{
int f;
int g;
+
if (a < 0)
e = -e;
@@ -5385,8 +5417,8 @@ void AnimFlyingMusicNotes(struct Sprite* sprite)
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
gBattleAnimArgs[1] *= -1;
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
StartSpriteAnim(sprite, gBattleAnimArgs[0]);
sprite->data[2] = 0;
sprite->data[3] = 0;
@@ -5419,6 +5451,7 @@ static void AnimFlyingMusicNotesStep(struct Sprite* sprite)
void AnimBellyDrumHand(struct Sprite* sprite)
{
s16 a;
+
if (gBattleAnimArgs[0] == 1)
{
sprite->oam.matrixNum = ST_OAM_HFLIP;
@@ -5429,8 +5462,8 @@ void AnimBellyDrumHand(struct Sprite* sprite)
a = -16;
}
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + a;
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + 8;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + a;
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + 8;
sprite->data[0] = 8;
sprite->callback = WaitAnimForDuration;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
@@ -5440,6 +5473,7 @@ void AnimSlowFlyingMusicNotes(struct Sprite* sprite)
{
s16 xDiff;
u8 index;
+
SetSpriteCoordsToAnimAttackerCoords(sprite);
sprite->pos1.y += 8;
StartSpriteAnim(sprite, gBattleAnimArgs[1]);
@@ -5463,6 +5497,7 @@ static void AnimSlowFlyingMusicNotesStep(struct Sprite* sprite)
if (AnimTranslateLinear(sprite) == 0)
{
s16 xDiff;
+
xDiff = Sin(sprite->data[5], 8);
if (sprite->pos2.x < 0)
xDiff = -xDiff;
@@ -5484,13 +5519,14 @@ void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite)
else
sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8;
- sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4;
}
void AnimThoughtBubble(struct Sprite* sprite)
{
u8 a;
u8 battler;
+
if (gBattleAnimArgs[0] == 0)
battler = gBattleAnimAttacker;
else
@@ -5518,6 +5554,7 @@ static void AnimThoughtBubbleStep(struct Sprite* sprite)
void AnimMetronomeFinger(struct Sprite* sprite)
{
u8 battler;
+
if (gBattleAnimArgs[0] == 0)
battler = gBattleAnimAttacker;
else
@@ -5542,12 +5579,13 @@ static void AnimMetronomeFingerStep(struct Sprite* sprite)
void AnimFollowMeFinger(struct Sprite* sprite)
{
u8 battler;
+
if (gBattleAnimArgs[0] == 0)
battler = gBattleAnimAttacker;
else
battler = gBattleAnimTarget;
- sprite->pos1.x = GetBattlerSpriteCoord(battler, 0);
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP);
if (sprite->pos1.y <= 9)
sprite->pos1.y = 10;
@@ -5600,6 +5638,7 @@ static void AnimFollowMeFingerStep2(struct Sprite* sprite)
void AnimTauntFinger(struct Sprite* sprite)
{
u8 battler;
+
if (gBattleAnimArgs[0] == 0)
battler = gBattleAnimAttacker;
else
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 1fe43b78c..b58a88799 100644
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -105,7 +105,10 @@ static void AnimPerishSongMusicNote_Step1(struct Sprite *);
static void AnimPerishSongMusicNote_Step2(struct Sprite *);
// Data
-const struct SpriteTemplate gUnknown_83E3ADC = // Unused
+extern const union AffineAnimCmd *const gUnknown_83E7910[];
+extern const union AnimCmd *const gMusicNotesAnimTable[];
+// Unused
+const struct SpriteTemplate gUnknown_83E3ADC =
{
.tileTag = ANIM_TAG_FINGER,
.paletteTag = ANIM_TAG_FINGER,
@@ -127,7 +130,8 @@ const union AnimCmd *const gUnknown_83E3AFC[] =
gUnknown_83E3AF4,
};
-const struct SpriteTemplate gUnknown_83E3B00 = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3B00 =
{
.tileTag = ANIM_TAG_MUSIC_NOTES,
.paletteTag = ANIM_TAG_MUSIC_NOTES,
@@ -138,7 +142,8 @@ const struct SpriteTemplate gUnknown_83E3B00 = // Unused
.callback = sub_80A6E98,
};
-const struct SpriteTemplate gUnknown_83E3B18 = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3B18 =
{
.tileTag = 0,
.paletteTag = 0,
@@ -149,8 +154,8 @@ const struct SpriteTemplate gUnknown_83E3B18 = // Unused
.callback = sub_80A6F8C,
};
-extern const union AffineAnimCmd *const gUnknown_83E7910[];
-const struct SpriteTemplate gUnknown_83E3B30 = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3B30 =
{
.tileTag = ANIM_TAG_CLAMP,
.paletteTag = ANIM_TAG_CLAMP,
@@ -187,7 +192,8 @@ const union AffineAnimCmd *const gUnknown_83E3B78[] =
gUnknown_83E3B60,
};
-const struct SpriteTemplate gUnknown_83E3B7C = // Unused
+// Unused
+const struct SpriteTemplate gUnknown_83E3B7C =
{
.tileTag = ANIM_TAG_EXPLOSION_6,
.paletteTag = ANIM_TAG_EXPLOSION_6,
@@ -216,7 +222,7 @@ const union AnimCmd *const gKinesisZapEnergyAnimTable[] =
gKinesisZapEnergyAnimCmds,
};
-const struct SpriteTemplate gKinesisZapEnergySpriteTemplate = //gUnknown_83E3BBC
+const struct SpriteTemplate gKinesisZapEnergySpriteTemplate =
{
.tileTag = ANIM_TAG_ALERT,
.paletteTag = ANIM_TAG_ALERT,
@@ -240,7 +246,7 @@ const union AffineAnimCmd *const gSwordsDanceBladeAffineAnimTable[] =
gSwordsDanceBladeAffineAnimCmds,
};
-const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate = //gUnknown_83E3BF8
+const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate =
{
.tileTag = ANIM_TAG_SWORD,
.paletteTag = ANIM_TAG_SWORD,
@@ -251,7 +257,7 @@ const struct SpriteTemplate gSwordsDanceBladeSpriteTemplate = //gUnknown_83E3BF8
.callback = Anim_SwordsDanceBlade,
};
-const struct SpriteTemplate gSonicBoomSpriteTemplate = //gUnknown_83E3C10
+const struct SpriteTemplate gSonicBoomSpriteTemplate =
{
.tileTag = ANIM_TAG_AIR_WAVE,
.paletteTag = ANIM_TAG_AIR_WAVE,
@@ -262,7 +268,7 @@ const struct SpriteTemplate gSonicBoomSpriteTemplate = //gUnknown_83E3C10
.callback = AnimSonicBoomProjectile,
};
-const struct SpriteTemplate gAirWaveProjectileSpriteTemplate = //gUnknown_83E3C28
+const struct SpriteTemplate gAirWaveProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_AIR_WAVE,
.paletteTag = ANIM_TAG_AIR_WAVE,
@@ -292,17 +298,17 @@ const union AffineAnimCmd gWaterPulseRingAffineAnimCmds[] =
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gGrowingRingAffineAnimTable[] = //gUnknown_83E3C98
+const union AffineAnimCmd *const gGrowingRingAffineAnimTable[] =
{
gGrowingRingAffineAnimCmds,
};
-const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[] = //83E3C9C
+const union AffineAnimCmd *const gWaterPulseRingAffineAnimTable[] =
{
gWaterPulseRingAffineAnimCmds,
};
-const struct SpriteTemplate gSupersonicWaveSpriteTemplate = //gUnknown_83E3CA0
+const struct SpriteTemplate gSupersonicWaveSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_RING,
.paletteTag = ANIM_TAG_GOLD_RING,
@@ -313,7 +319,7 @@ const struct SpriteTemplate gSupersonicWaveSpriteTemplate = //gUnknown_83E3CA0
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-const struct SpriteTemplate gScreechWaveSpriteTemplate = //gUnknown_83E3CB8
+const struct SpriteTemplate gScreechWaveSpriteTemplate =
{
.tileTag = ANIM_TAG_PURPLE_RING,
.paletteTag = ANIM_TAG_PURPLE_RING,
@@ -324,7 +330,7 @@ const struct SpriteTemplate gScreechWaveSpriteTemplate = //gUnknown_83E3CB8
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-const struct SpriteTemplate gMetalSoundSpriteTemplate = //gUnknown_83E3CD0
+const struct SpriteTemplate gMetalSoundSpriteTemplate =
{
.tileTag = ANIM_TAG_METAL_SOUND_WAVES,
.paletteTag = ANIM_TAG_METAL_SOUND_WAVES,
@@ -335,7 +341,7 @@ const struct SpriteTemplate gMetalSoundSpriteTemplate = //gUnknown_83E3CD0
.callback = TranslateAnimSpriteToTargetMonLocation,
};
-const struct SpriteTemplate gWaterPulseRingSpriteTemplate = //gUnknown_83E3CE8
+const struct SpriteTemplate gWaterPulseRingSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_RING_2,
.paletteTag = ANIM_TAG_BLUE_RING_2,
@@ -343,10 +349,10 @@ const struct SpriteTemplate gWaterPulseRingSpriteTemplate = //gUnknown_83E3CE8
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gWaterPulseRingAffineAnimTable,
- .callback = AnimWaterPulseRing, //water.c
+ .callback = AnimWaterPulseRing,
};
-const struct SpriteTemplate gEggThrowSpriteTemplate = //gUnknown_83E3D00
+const struct SpriteTemplate gEggThrowSpriteTemplate =
{
.tileTag = ANIM_TAG_LARGE_FRESH_EGG,
.paletteTag = ANIM_TAG_LARGE_FRESH_EGG,
@@ -390,7 +396,7 @@ const union AffineAnimCmd *const gFallingCoinAffineAnimTable[] =
gFallingCoinAffineAnimCmds,
};
-const struct SpriteTemplate gCoinThrowSpriteTemplate = //gUnknown_83E3D50
+const struct SpriteTemplate gCoinThrowSpriteTemplate =
{
.tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN,
@@ -401,7 +407,7 @@ const struct SpriteTemplate gCoinThrowSpriteTemplate = //gUnknown_83E3D50
.callback = AnimCoinThrow,
};
-const struct SpriteTemplate gFallingCoinSpriteTemplate = //gUnknown_83E3D68
+const struct SpriteTemplate gFallingCoinSpriteTemplate =
{
.tileTag = ANIM_TAG_COIN,
.paletteTag = ANIM_TAG_COIN,
@@ -423,7 +429,7 @@ const union AffineAnimCmd *const gBulletSeedAffineAnimTable[] =
gBulletSeedAffineAnimCmds,
};
-const struct SpriteTemplate gBulletSeedSpriteTemplate = //gUnknown_83E3D94
+const struct SpriteTemplate gBulletSeedSpriteTemplate =
{
.tileTag = ANIM_TAG_SEED,
.paletteTag = ANIM_TAG_SEED,
@@ -446,7 +452,7 @@ const union AffineAnimCmd *const gRazorWindTornadoAffineAnimTable[] =
gRazorWindTornadoAffineAnimCmds,
};
-const struct SpriteTemplate gRazorWindTornadoSpriteTemplate = //gUnknown_83E3DC8
+const struct SpriteTemplate gRazorWindTornadoSpriteTemplate =
{
.tileTag = ANIM_TAG_GUST,
.paletteTag = ANIM_TAG_GUST,
@@ -479,7 +485,7 @@ const union AnimCmd *const gViceGripAnimTable[] =
gViceGripAnimCmds2,
};
-const struct SpriteTemplate gViceGripSpriteTemplate = //gUnknown_83E3E08
+const struct SpriteTemplate gViceGripSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
@@ -512,7 +518,7 @@ const union AnimCmd *const gGuillotineAnimTable[] =
gGuillotineAnimCmds2,
};
-const struct SpriteTemplate gGuillotineSpriteTemplate = //gUnknown_83E3E48
+const struct SpriteTemplate gGuillotineSpriteTemplate =
{
.tileTag = ANIM_TAG_CUT,
.paletteTag = ANIM_TAG_CUT,
@@ -563,7 +569,7 @@ const union AnimCmd *const gBreathPuffAnimTable[] =
gBreathPuffAnimCmds2,
};
-const struct SpriteTemplate gBreathPuffSpriteTemplate = //gUnknown_83E3ED0
+const struct SpriteTemplate gBreathPuffSpriteTemplate =
{
.tileTag = ANIM_TAG_BREATH,
.paletteTag = ANIM_TAG_BREATH,
@@ -586,7 +592,7 @@ const union AffineAnimCmd *const gAngerMarkAffineAnimTable[] =
gAngerMarkAffineAnimCmds,
};
-const struct SpriteTemplate gAngerMarkSpriteTemplate = //gUnknown_83E3F04
+const struct SpriteTemplate gAngerMarkSpriteTemplate =
{
.tileTag = ANIM_TAG_ANGER,
.paletteTag = ANIM_TAG_ANGER,
@@ -607,7 +613,7 @@ const union AffineAnimCmd gThrashMoveMonAffineAnimCmds[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gPencilSpriteTemplate = //gUnknown_83E3F4C
+const struct SpriteTemplate gPencilSpriteTemplate =
{
.tileTag = ANIM_TAG_PENCIL,
.paletteTag = ANIM_TAG_PENCIL,
@@ -618,7 +624,7 @@ const struct SpriteTemplate gPencilSpriteTemplate = //gUnknown_83E3F4C
.callback = AnimPencil,
};
-const struct SpriteTemplate gSnoreZSpriteTemplate = //gUnknown_83E3F64
+const struct SpriteTemplate gSnoreZSpriteTemplate =
{
.tileTag = ANIM_TAG_SNORE_Z,
.paletteTag = ANIM_TAG_SNORE_Z,
@@ -643,7 +649,7 @@ const union AnimCmd *const gExplosionAnimTable[] =
gExplosionAnimCmds,
};
-const struct SpriteTemplate gExplosionSpriteTemplate = //gUnknown_83E3F94
+const struct SpriteTemplate gExplosionSpriteTemplate =
{
.tileTag = ANIM_TAG_EXPLOSION,
.paletteTag = ANIM_TAG_EXPLOSION,
@@ -687,7 +693,7 @@ const union AffineAnimCmd *const gSoftBoiledEggAffineAnimTable[] =
gSoftBoiledEggAffineAnimCmds3,
};
-const struct SpriteTemplate gSoftBoiledEggSpriteTemplate = //gUnknown_83E4028
+const struct SpriteTemplate gSoftBoiledEggSpriteTemplate =
{
.tileTag = ANIM_TAG_BREAKING_EGG,
.paletteTag = ANIM_TAG_BREAKING_EGG,
@@ -730,7 +736,7 @@ const union AffineAnimCmd *const gHyperVoiceRingAffineAnimTable[] =
gHyperVoiceRingAffineAnimCmds,
};
-const struct SpriteTemplate gThinRingExpandingSpriteTemplate = //gUnknown_83E4094
+const struct SpriteTemplate gThinRingExpandingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
@@ -753,7 +759,7 @@ const union AffineAnimCmd *const gThinRingShrinkingAffineAnimTable[] =
gThinRingShrinkingAffineAnimCmds,
};
-const struct SpriteTemplate gThinRingShrinkingSpriteTemplate = //gUnknown_83E40C8
+const struct SpriteTemplate gThinRingShrinkingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
@@ -764,7 +770,7 @@ const struct SpriteTemplate gThinRingShrinkingSpriteTemplate = //gUnknown_83E40C
.callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gBlendThinRingExpandingSpriteTemplate = //gUnknown_83E40E0
+const struct SpriteTemplate gBlendThinRingExpandingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
@@ -775,7 +781,7 @@ const struct SpriteTemplate gBlendThinRingExpandingSpriteTemplate = //gUnknown_8
.callback = AnimBlendThinRing,
};
-const struct SpriteTemplate gHyperVoiceRingSpriteTemplate = //gUnknown_83E40F8
+const struct SpriteTemplate gHyperVoiceRingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
@@ -786,7 +792,7 @@ const struct SpriteTemplate gHyperVoiceRingSpriteTemplate = //gUnknown_83E40F8
.callback = AnimHyperVoiceRing,
};
-const struct SpriteTemplate gUproarRingSpriteTemplate = //gUnknown_83E4110
+const struct SpriteTemplate gUproarRingSpriteTemplate =
{
.tileTag = ANIM_TAG_THIN_RING,
.paletteTag = ANIM_TAG_THIN_RING,
@@ -818,7 +824,7 @@ const union AnimCmd *const gSpeedDustAnimTable[] =
gSpeedDustAnimCmds,
};
-const struct SpriteTemplate gSpeedDustSpriteTemplate = //gUnknown_83E4154
+const struct SpriteTemplate gSpeedDustSpriteTemplate =
{
.tileTag = ANIM_TAG_SPEED_DUST,
.paletteTag = ANIM_TAG_SPEED_DUST,
@@ -860,7 +866,7 @@ const union AnimCmd *const gBellAnimTable[] =
gBellAnimCmds,
};
-const struct SpriteTemplate gBellSpriteTemplate = //gUnknown_83E41B0
+const struct SpriteTemplate gBellSpriteTemplate =
{
.tileTag = ANIM_TAG_BELL,
.paletteTag = ANIM_TAG_BELL,
@@ -878,7 +884,7 @@ const u16 gMusicNotePaletteTagsTable[] =
ANIM_SPRITES_START - 2,
};
-const struct SpriteTemplate gHealBellMusicNoteSpriteTemplate = //gUnknown_83E41D0
+const struct SpriteTemplate gHealBellMusicNoteSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES_2,
.paletteTag = ANIM_TAG_MUSIC_NOTES_2,
@@ -889,7 +895,7 @@ const struct SpriteTemplate gHealBellMusicNoteSpriteTemplate = //gUnknown_83E41D
.callback = AnimHealBellMusicNote,
};
-const struct SpriteTemplate gMagentaHeartSpriteTemplate = //gUnknown_83E41E8
+const struct SpriteTemplate gMagentaHeartSpriteTemplate =
{
.tileTag = ANIM_TAG_MAGENTA_HEART,
.paletteTag = ANIM_TAG_MAGENTA_HEART,
@@ -907,7 +913,7 @@ const union AffineAnimCmd gUnknown_83E4200[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gRedHeartProjectileSpriteTemplate = //gUnknown_83E4218
+const struct SpriteTemplate gRedHeartProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_HEART,
.paletteTag = ANIM_TAG_RED_HEART,
@@ -918,7 +924,7 @@ const struct SpriteTemplate gRedHeartProjectileSpriteTemplate = //gUnknown_83E42
.callback = AnimRedHeartProjectile,
};
-const struct SpriteTemplate gRedHeartBurstSpriteTemplate = //gUnknown_83E4230
+const struct SpriteTemplate gRedHeartBurstSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_HEART,
.paletteTag = ANIM_TAG_RED_HEART,
@@ -929,7 +935,7 @@ const struct SpriteTemplate gRedHeartBurstSpriteTemplate = //gUnknown_83E4230
.callback = AnimParticuleBurst,
};
-const struct SpriteTemplate gRedHeartRisingSpriteTemplate = //gUnknown_83E4248
+const struct SpriteTemplate gRedHeartRisingSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_HEART,
.paletteTag = ANIM_TAG_RED_HEART,
@@ -952,7 +958,7 @@ const union AffineAnimCmd *const gHiddenPowerOrbAffineAnimTable[] =
gHiddenPowerOrbAffineAnimCmds,
};
-const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate = //gUnknown_83E427C
+const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_ORB,
.paletteTag = ANIM_TAG_RED_ORB,
@@ -963,7 +969,7 @@ const struct SpriteTemplate gHiddenPowerOrbSpriteTemplate = //gUnknown_83E427C
.callback = AnimOrbitFast,
};
-const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate = //gUnknown_83E4294
+const struct SpriteTemplate gHiddenPowerOrbScatterSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_ORB,
.paletteTag = ANIM_TAG_RED_ORB,
@@ -986,7 +992,7 @@ const union AffineAnimCmd *const gSpitUpOrbAffineAnimTable[] =
gSpitUpOrbAffineAnimCmds,
};
-const struct SpriteTemplate gSpitUpOrbSpriteTemplate = //gUnknown_83E42C8
+const struct SpriteTemplate gSpitUpOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_ORB_2,
.paletteTag = ANIM_TAG_RED_ORB_2,
@@ -1012,7 +1018,7 @@ const union AnimCmd *const gEyeSparkleAnimTable[] =
gEyeSparkleAnimCmds,
};
-const struct SpriteTemplate gEyeSparkleSpriteTemplate = //gUnknown_83E42FC
+const struct SpriteTemplate gEyeSparkleSpriteTemplate =
{
.tileTag = ANIM_TAG_EYE_SPARKLE,
.paletteTag = ANIM_TAG_EYE_SPARKLE,
@@ -1034,7 +1040,7 @@ const union AnimCmd *const gAngelSpriteAnimTable[] =
gAngelSpriteAnimCmds,
};
-const struct SpriteTemplate gAngelSpriteTemplate = //gUnknown_83E4320
+const struct SpriteTemplate gAngelSpriteTemplate =
{
.tileTag = ANIM_TAG_ANGEL,
.paletteTag = ANIM_TAG_ANGEL,
@@ -1045,7 +1051,7 @@ const struct SpriteTemplate gAngelSpriteTemplate = //gUnknown_83E4320
.callback = AnimAngel,
};
-const struct SpriteTemplate gPinkHeartSpriteTemplate = //gUnknown_83E4338
+const struct SpriteTemplate gPinkHeartSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_HEART,
.paletteTag = ANIM_TAG_PINK_HEART,
@@ -1074,7 +1080,7 @@ const union AnimCmd *const gDevilAnimTable[] =
gDevilAnimCmds2,
};
-const struct SpriteTemplate gDevilSpriteTemplate = //gUnknown_83E4368
+const struct SpriteTemplate gDevilSpriteTemplate =
{
.tileTag = ANIM_TAG_DEVIL,
.paletteTag = ANIM_TAG_DEVIL,
@@ -1109,7 +1115,7 @@ const union AnimCmd *const gFurySwipesAnimTable[] =
gUnknown_08593B1C,
};
-const struct SpriteTemplate gFurySwipesSpriteTemplate = //gUnknown_83E43B0
+const struct SpriteTemplate gFurySwipesSpriteTemplate =
{
.tileTag = ANIM_TAG_SWIPE,
.paletteTag = ANIM_TAG_SWIPE,
@@ -1144,7 +1150,7 @@ const union AnimCmd *const gMovementWavesAnimTable[] =
gMovementWavesAnimCmds2,
};
-const struct SpriteTemplate gMovementWavesSpriteTemplate = //gUnknown_83E43F8
+const struct SpriteTemplate gMovementWavesSpriteTemplate =
{
.tileTag = ANIM_TAG_MOVEMENT_WAVES,
.paletteTag = ANIM_TAG_MOVEMENT_WAVES,
@@ -1163,7 +1169,7 @@ const union AffineAnimCmd gUnknown_08593B98[] =
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gJaggedMusicNoteSpriteTemplate = //gUnknown_83E4430
+const struct SpriteTemplate gJaggedMusicNoteSpriteTemplate =
{
.tileTag = ANIM_TAG_JAGGED_MUSIC_NOTE,
.paletteTag = ANIM_TAG_JAGGED_MUSIC_NOTE,
@@ -1199,8 +1205,7 @@ const union AffineAnimCmd *const gPerishSongMusicNoteAffineAnimTable[] =
gPerishSongMusicNoteAffineAnimCmds3,
};
-extern const union AnimCmd *const gMusicNotesAnimTable[];
-const struct SpriteTemplate gPerishSongMusicNoteSpriteTemplate = //gUnknown_83E4484
+const struct SpriteTemplate gPerishSongMusicNoteSpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES_2,
.paletteTag = ANIM_TAG_MUSIC_NOTES_2,
@@ -1211,7 +1216,7 @@ const struct SpriteTemplate gPerishSongMusicNoteSpriteTemplate = //gUnknown_83E4
.callback = AnimPerishSongMusicNote,
};
-const struct SpriteTemplate gPerishSongMusicNote2SpriteTemplate = //gUnknown_83E449C
+const struct SpriteTemplate gPerishSongMusicNote2SpriteTemplate =
{
.tileTag = ANIM_TAG_MUSIC_NOTES_2,
.paletteTag = ANIM_TAG_MUSIC_NOTES_2,
@@ -1240,7 +1245,7 @@ const union AffineAnimCmd *const gGuardRingAffineAnimTable[] =
gGuardRingAffineAnimCmds2,
};
-const struct SpriteTemplate gGuardRingSpriteTemplate = //gUnknown_83E44DC
+const struct SpriteTemplate gGuardRingSpriteTemplate =
{
.tileTag = ANIM_TAG_GUARD_RING,
.paletteTag = ANIM_TAG_GUARD_RING,
@@ -1269,6 +1274,7 @@ void sub_80A6E48(struct Sprite *sprite)
void sub_80A6E98(struct Sprite *sprite)
{
u8 battler;
+
if (gBattleAnimArgs[0] == 0)
battler = gBattleAnimAttacker;
else
@@ -1304,6 +1310,7 @@ static void sub_80A6ED8(struct Sprite *sprite)
static void sub_80A6F3C(struct Sprite *sprite)
{
s16 temp;
+
gSprites[sprite->data[2]].pos2.x += sprite->data[1];
temp = sprite->data[1];
sprite->data[1] = -temp;
@@ -1319,8 +1326,9 @@ static void sub_80A6F3C(struct Sprite *sprite)
void sub_80A6F8C(struct Sprite *sprite)
{
u8 spriteId;
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0];
@@ -1374,6 +1382,7 @@ static void AnimTask_WithdrawStep(u8 taskId)
{
u8 spriteId = gBattlerSpriteIds[gBattleAnimAttacker];
s16 rotation;
+
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
rotation = -gTasks[taskId].data[0];
else
@@ -1488,8 +1497,8 @@ void AnimSonicBoomProjectile(struct Sprite *sprite)
}
InitSpritePosToAnimAttacker(sprite, TRUE);
- targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
- targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ targetXPos = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
+ targetYPos = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
rotation = ArcTan2Neg(targetXPos - sprite->pos1.x, targetYPos - sprite->pos1.y);
rotation += 0xF000;
if (IsContest())
@@ -1515,6 +1524,7 @@ static void AnimAirWaveProjectile_Step2(struct Sprite *sprite)
static void AnimAirWaveProjectile_Step1(struct Sprite *sprite)
{
struct Task* task = &gTasks[sprite->data[7]];
+
if (sprite->data[0] > task->data[5])
{
sprite->data[5] += sprite->data[3];
@@ -1550,8 +1560,9 @@ void AnimAirWaveProjectile(struct Sprite *sprite)
s16 a;
s16 b;
s16 c;
-
+
struct Task* task = &gTasks[sprite->data[7]];
+
sprite->data[1] += (-2 & task->data[7]);
sprite->data[2] += (-2 & task->data[8]);
if (1 & task->data[7])
@@ -1762,8 +1773,8 @@ void AnimCoinThrow(struct Sprite *sprite)
u16 var;
InitSpritePosToAnimAttacker(sprite, TRUE);
- r6 = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- r7 = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
+ r6 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ r7 = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -1819,6 +1830,7 @@ static void AnimBulletSeed_Step1(struct Sprite *sprite)
int i;
u16 rand;
s16* ptr;
+
PlaySE12WithPanning(SE_W030, BattleAnimAdjustPanning(63));
sprite->pos1.x += sprite->pos2.x;
sprite->pos1.y += sprite->pos2.y;
@@ -1886,6 +1898,7 @@ void AnimViceGripPincer(struct Sprite *sprite)
s16 startYOffset = -32;
s16 endXOffset = 16;
s16 endYOffset = -16;
+
if (gBattleAnimArgs[0])
{
startXOffset = -32;
@@ -1918,6 +1931,7 @@ void AnimGuillotinePincer(struct Sprite *sprite)
s16 startYOffset = -32;
s16 endXOffset = 16;
s16 endYOffset = -16;
+
if (gBattleAnimArgs[0])
{
startXOffset = -32;
@@ -1992,6 +2006,7 @@ static void AnimGuillotinePincerStep3(struct Sprite *sprite)
void AnimTask_GrowAndGreyscale(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
+
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND);
SetSpriteRotScale(spriteId, 0xD0, 0xD0, 0);
SetGreyscaleOrOriginalPalette(gSprites[spriteId].oam.paletteNum + 16, FALSE);
@@ -2017,6 +2032,7 @@ void AnimTask_Minimize(u8 taskId)
{
struct Task* task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+
task->data[0] = spriteId;
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
task->data[1] = 0;
@@ -2032,6 +2048,7 @@ void AnimTask_Minimize(u8 taskId)
static void AnimTask_MinimizeStep1(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
switch (task->data[1])
{
case 0:
@@ -2099,6 +2116,7 @@ static void CreateMinimizeSprite(struct Task* task, u8 taskId)
{
u16 matrixNum;
s16 spriteId = CloneBattlerSpriteWithBlend(ANIM_ATTACKER);
+
if (spriteId >= 0)
{
if ((matrixNum = AllocOamMatrix()) == 0xFF)
@@ -2141,6 +2159,7 @@ static void ClonedMinizeSprite_Step(struct Sprite *sprite)
void AnimTask_Splash(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (gBattleAnimArgs[1] == 0)
{
DestroyAnimVisualTask(taskId);
@@ -2161,6 +2180,7 @@ void AnimTask_Splash(u8 taskId)
static void AnimTask_SplashStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
switch (task->data[1])
{
case 0:
@@ -2216,6 +2236,7 @@ void AnimTask_GrowAndShrink(u8 taskId)
{
struct Task* task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+
PrepareAffineAnimInTaskData(task, spriteId, gGrowAndShrinkAffineAnimCmds);
task->func = AnimTask_GrowAndShrinkStep;
}
@@ -2223,6 +2244,7 @@ void AnimTask_GrowAndShrink(u8 taskId)
static void AnimTask_GrowAndShrinkStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (!RunAffineAnimFromTaskData(task))
DestroyAnimVisualTask(taskId);
}
@@ -2261,6 +2283,7 @@ void AnimBreathPuff(struct Sprite *sprite)
void AnimAngerMark(struct Sprite *sprite)
{
u8 battler;
+
if (!gBattleAnimArgs[0])
battler = gBattleAnimAttacker;
else
@@ -2283,6 +2306,7 @@ void AnimTask_ThrashMoveMonHorizontal(u8 taskId)
{
struct Task* task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+
task->data[0] = spriteId;
task->data[1] = 0;
PrepareAffineAnimInTaskData(task, spriteId, gThrashMoveMonAffineAnimCmds);
@@ -2292,6 +2316,7 @@ void AnimTask_ThrashMoveMonHorizontal(u8 taskId)
static void ThrashMoveMonStep(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (!RunAffineAnimFromTaskData(task))
DestroyAnimVisualTask(taskId);
}
@@ -2300,6 +2325,7 @@ static void ThrashMoveMonStep(u8 taskId)
void AnimTask_ThrashMoveMonVertical(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
task->data[0] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[1] = 0;
task->data[2] = 4;
@@ -2319,6 +2345,7 @@ void AnimTask_ThrashMoveMonVertical(u8 taskId)
static void ThrashMoveMon(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (++task->data[7] > 2)
{
task->data[7] = 0;
@@ -2371,8 +2398,8 @@ void sub_80A8874(u8 taskId)
{
struct Task* task = &gTasks[taskId];
struct ScanlineEffectParams params;
-
s16 i;
+
task->data[0] = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 32;
task->data[1] = 4;
task->data[2] = 0;
@@ -2457,7 +2484,7 @@ static void AnimTask_SketchDrawMon(u8 taskId)
void AnimPencil(struct Sprite *sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) - 16;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) - 16;
sprite->pos1.y = GetBattlerYCoordWithElevation(gBattleAnimTarget) + 16;
sprite->data[0] = 0;
sprite->data[1] = 0;
@@ -2545,12 +2572,12 @@ void AnimBlendThinRing(struct Sprite *sprite)
{
SetAverageBattlerPositions(battler, r4, &sp0, &sp1);
if (r4 == 0)
- r4 = GetBattlerSpriteCoord(battler, 0);
+ r4 = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
else
- r4 = GetBattlerSpriteCoord(battler, 2);
+ r4 = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2);
if (GetBattlerSide(battler) != B_SIDE_PLAYER)
- gBattleAnimArgs[0] -= (sp0 - r4) - gBattleAnimArgs[0]; // This is weird.
+ gBattleAnimArgs[0] -= (sp0 - r4) - gBattleAnimArgs[0];
else
gBattleAnimArgs[0] = sp0 - r4;
}
@@ -2656,6 +2683,7 @@ void AnimHyperVoiceRing(struct Sprite *sprite)
void AnimUproarRing(struct Sprite *sprite)
{
u8 index = IndexOfSpritePaletteTag(ANIM_TAG_THIN_RING);
+
if (index != 0xFF)
{
BlendPalette(((index << 20) + 0x1010000) >> 16, 15, gBattleAnimArgs[5], gBattleAnimArgs[4]);
@@ -2669,6 +2697,7 @@ void AnimUproarRing(struct Sprite *sprite)
void AnimSoftBoiledEgg(struct Sprite *sprite)
{
s16 r1;
+
InitSpritePosToAnimAttacker(sprite, FALSE);
r1 = GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER ? -160 : 160;
sprite->data[0] = 0x380;
@@ -2680,6 +2709,7 @@ void AnimSoftBoiledEgg(struct Sprite *sprite)
static void AnimSoftBoiledEgg_Step1(struct Sprite *sprite)
{
s16 add;
+
sprite->pos2.y -= (sprite->data[0] >> 8);
sprite->pos2.x = sprite->data[1] >> 8;
sprite->data[0] -= 32;
@@ -2772,6 +2802,7 @@ void AnimTask_StretchAttacker(u8 taskId)
{
struct Task* task = &gTasks[taskId];
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+
task->data[0] = spriteId;
PrepareAffineAnimInTaskData(task, spriteId, gStretchAttackerAffineAnimCmds);
task->func = StretchAttacker_Step;
@@ -2780,6 +2811,7 @@ void AnimTask_StretchAttacker(u8 taskId)
static void StretchAttacker_Step(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (!RunAffineAnimFromTaskData(task))
{
gSprites[task->data[0]].pos2.y = 0;
@@ -2791,6 +2823,7 @@ static void StretchAttacker_Step(u8 taskId)
void AnimTask_ExtremeSpeedImpact(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
task->data[0] = 0;
task->data[1] = 0;
task->data[2] = 0;
@@ -2860,6 +2893,7 @@ static void ExtremeSpeedImpact_Step(u8 taskId)
void AnimTask_ExtremeSpeedMonReappear(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
task->data[0] = 0;
task->data[1] = 0;
task->data[2] = 0;
@@ -2874,6 +2908,7 @@ void AnimTask_ExtremeSpeedMonReappear(u8 taskId)
static void ExtremeSpeedMonReappear_Step(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
if (task->data[0] == 0 && ++task->data[1] > task->data[4])
{
task->data[1] = 0;
@@ -2902,6 +2937,7 @@ static void ExtremeSpeedMonReappear_Step(u8 taskId)
void AnimTask_SpeedDust(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
task->data[0] = 0;
task->data[1] = 4;
task->data[2] = 0;
@@ -2912,14 +2948,15 @@ void AnimTask_SpeedDust(u8 taskId)
task->data[7] = 0;
task->data[8] = 0;
task->data[13] = 0;
- task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_ATTACKER);
- task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, ANIM_TARGET);
+ task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ task->data[15] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
task->func = SpeedDust_Step1;
}
static void SpeedDust_Step1(u8 taskId)
{
struct Task* task = &gTasks[taskId];
+
switch (task->data[8])
{
case 0:
@@ -3014,6 +3051,7 @@ void sub_80A96B4(u8 taskId)
void sub_80A9760(u8 taskId)
{
int i;
+
for (i = 0; i < 3; i++)
FreeSpritePaletteByTag(gMusicNotePaletteTagsTable[i]);
@@ -3023,6 +3061,7 @@ void sub_80A9760(u8 taskId)
static void SetMusicNotePalette(struct Sprite *sprite, u8 a, u8 b)
{
u8 tile;
+
tile = (b & 1);
tile = ((-tile | tile) >> 31) & 32;
sprite->oam.tileNum += tile + (a << 2);
@@ -3036,8 +3075,8 @@ void AnimHealBellMusicNote(struct Sprite *sprite)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4];
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[3];
sprite->callback = StartAnimLinearTranslation;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
SetMusicNotePalette(sprite, gBattleAnimArgs[5], gBattleAnimArgs[6]);
@@ -3112,9 +3151,10 @@ static void FakeOutStep2(u8 taskId)
void sub_80A9A20(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_TARGET);
+
if (++gTasks[taskId].data[0] == 1)
{
- PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(1), gUnknown_83E4200);
+ PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_TARGET), gUnknown_83E4200);
gSprites[spriteId].pos2.x = 4;
}
else
@@ -3132,9 +3172,10 @@ void sub_80A9A20(u8 taskId)
void sub_80A9AB0(u8 taskId)
{
u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
+
if (++gTasks[taskId].data[0] == 1)
{
- PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(0), gUnknown_83E4200);
+ PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gUnknown_83E4200);
gSprites[spriteId].pos2.x = 4;
}
else
@@ -3154,9 +3195,9 @@ void AnimRedHeartProjectile(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, TRUE);
sprite->data[0] = 95;
sprite->data[1] = sprite->pos1.x;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitAnimLinearTranslation(sprite);
sprite->callback = AnimRedHeartProjectile_Step;
}
@@ -3209,6 +3250,7 @@ void AnimRedHeartRising(struct Sprite *sprite)
static void AnimRedHeartRising_Step(struct Sprite *sprite)
{
s16 y;
+
sprite->data[2] += sprite->data[1];
sprite->pos2.y = -((u16)sprite->data[2] >> 8);
sprite->pos2.x = Sin(sprite->data[3], 4);
@@ -3238,12 +3280,12 @@ void AnimTask_HeartsBackground(u8 taskId)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80752A0(&animBg);
- AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBg_AttractTilemap);
- AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBg_AttractGfx, animBg.tilesOffset);
+ AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBg_AttractTilemap);
+ AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBg_AttractGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimBg_AttractPal, animBg.paletteId * 16, 32);
- if (IsContest())
- sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
-
+ if (IsContest())
+ sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
+
gTasks[taskId].func = HeartsBackground_Step;
}
@@ -3319,9 +3361,9 @@ void AnimTask_ScaryFace(u8 taskId)
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80752A0(&animBg);
-
+
if (IsContest())
- LZDecompressVram(gBattleAnimBgTilemap_ScaryFaceContest, animBg.bgTilemap);
+ LZDecompressVram(gBattleAnimBgTilemap_ScaryFaceContest, animBg.bgTilemap);
else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT)
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBgTilemap_ScaryFacePlayer);
else
@@ -3329,9 +3371,9 @@ void AnimTask_ScaryFace(u8 taskId)
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_ScaryFaceGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnim_ScaryFacePal, animBg.paletteId * 16, 32);
- if (IsContest())
- sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
-
+ if (IsContest())
+ sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
+
gTasks[taskId].func = ScaryFace_Step;
}
@@ -3398,8 +3440,8 @@ static void ScaryFace_Step(u8 taskId)
// arg 1: initial wave offset
void AnimOrbitFast(struct Sprite *sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->affineAnimPaused = 1;
sprite->data[0] = gBattleAnimArgs[0];
sprite->data[1] = gBattleAnimArgs[1];
@@ -3449,8 +3491,8 @@ static void AnimOrbitFastStep(struct Sprite *sprite)
// arg 0: initial wave offset
void AnimOrbitScatter(struct Sprite *sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
sprite->callback = AnimOrbitScatterStep;
@@ -3474,8 +3516,8 @@ static void AnimSpitUpOrb_Step(struct Sprite *sprite)
void AnimSpitUpOrb(struct Sprite *sprite)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0] = Sin(gBattleAnimArgs[0], 10);
sprite->data[1] = Cos(gBattleAnimArgs[0], 7);
sprite->data[2] = gBattleAnimArgs[1];
@@ -3497,6 +3539,7 @@ void AnimEyeSparkle(struct Sprite *sprite)
void AnimAngel(struct Sprite *sprite)
{
s16 var0;
+
if (!sprite->data[0])
{
sprite->pos1.x += gBattleAnimArgs[0];
@@ -3612,13 +3655,13 @@ void AnimMovementWaves(struct Sprite *sprite)
{
if (!gBattleAnimArgs[0])
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
}
else
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
}
if (!gBattleAnimArgs[1])
@@ -3666,8 +3709,8 @@ void AnimJaggedMusicNote(struct Sprite *sprite)
if (GetBattlerSide(battler) == B_SIDE_OPPONENT)
gBattleAnimArgs[1] *= -1;
- sprite->pos1.x = GetBattlerSpriteCoord(battler, 2) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) + gBattleAnimArgs[2];
+ sprite->pos1.x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X_2) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2];
sprite->data[0] = 0;
sprite->data[1] = (u16)sprite->pos1.x << 3;
sprite->data[2] = (u16)sprite->pos1.y << 3;
@@ -3799,8 +3842,8 @@ void AnimGuardRing(struct Sprite *sprite)
}
else
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 40;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 40;
}
sprite->data[0] = 13;
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index cabe18fb6..4bb839a02 100644
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -22,8 +22,7 @@
#include "constants/species.h"
#include "constants/weather.h"
-extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate;
-
+// Function Declarations
void AnimBlackSmoke(struct Sprite *);
void AnimWhiteHalo(struct Sprite *);
void AnimTealAlert(struct Sprite *);
@@ -120,7 +119,9 @@ static void AnimRecycleStep(struct Sprite *);
static void AnimTask_SlackOffSquishStep(u8);
// Data
-const union AnimCmd gScratchAnimCmds[] = //83FEDE4
+extern const struct SpriteTemplate gThoughtBubbleSpriteTemplate;
+
+const union AnimCmd gScratchAnimCmds[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
@@ -130,12 +131,12 @@ const union AnimCmd gScratchAnimCmds[] = //83FEDE4
ANIMCMD_END,
};
-const union AnimCmd *const gScratchAnimTable[] = //83FEDFC
+const union AnimCmd *const gScratchAnimTable[] =
{
gScratchAnimCmds,
};
-const struct SpriteTemplate gScratchSpriteTemplate = //83FEE00
+const struct SpriteTemplate gScratchSpriteTemplate =
{
.tileTag = ANIM_TAG_SCRATCH,
.paletteTag = ANIM_TAG_SCRATCH,
@@ -146,7 +147,7 @@ const struct SpriteTemplate gScratchSpriteTemplate = //83FEE00
.callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gBlackSmokeSpriteTemplate = //83FEE18
+const struct SpriteTemplate gBlackSmokeSpriteTemplate =
{
.tileTag = ANIM_TAG_BLACK_SMOKE,
.paletteTag = ANIM_TAG_BLACK_SMOKE,
@@ -157,7 +158,7 @@ const struct SpriteTemplate gBlackSmokeSpriteTemplate = //83FEE18
.callback = AnimBlackSmoke,
};
-const struct SpriteTemplate gBlackBallSpriteTemplate = //83FEE30
+const struct SpriteTemplate gBlackBallSpriteTemplate =
{
.tileTag = ANIM_TAG_BLACK_BALL,
.paletteTag = ANIM_TAG_BLACK_BALL,
@@ -168,7 +169,7 @@ const struct SpriteTemplate gBlackBallSpriteTemplate = //83FEE30
.callback = AnimThrowProjectile,
};
-const union AnimCmd gOpeningEyeAnimCmds[] = //83FEE48
+const union AnimCmd gOpeningEyeAnimCmds[] =
{
ANIMCMD_FRAME(0, 40),
ANIMCMD_FRAME(16, 8),
@@ -176,12 +177,12 @@ const union AnimCmd gOpeningEyeAnimCmds[] = //83FEE48
ANIMCMD_END,
};
-const union AnimCmd *const gOpeningEyeAnimTable[] = //83FEE58
+const union AnimCmd *const gOpeningEyeAnimTable[] =
{
gOpeningEyeAnimCmds,
};
-const struct SpriteTemplate gOpeningEyeSpriteTemplate = //83FEE5C
+const struct SpriteTemplate gOpeningEyeSpriteTemplate =
{
.tileTag = ANIM_TAG_OPENING_EYE,
.paletteTag = ANIM_TAG_OPENING_EYE,
@@ -192,7 +193,7 @@ const struct SpriteTemplate gOpeningEyeSpriteTemplate = //83FEE5C
.callback = AnimSpriteOnMonPos,
};
-const struct SpriteTemplate gWhiteHaloSpriteTemplate = //83FEE74
+const struct SpriteTemplate gWhiteHaloSpriteTemplate =
{
.tileTag = ANIM_TAG_ROUND_WHITE_HALO,
.paletteTag = ANIM_TAG_ROUND_WHITE_HALO,
@@ -203,7 +204,7 @@ const struct SpriteTemplate gWhiteHaloSpriteTemplate = //83FEE74
.callback = AnimWhiteHalo,
};
-const struct SpriteTemplate gTealAlertSpriteTemplate = //83FEE8C
+const struct SpriteTemplate gTealAlertSpriteTemplate =
{
.tileTag = ANIM_TAG_TEAL_ALERT,
.paletteTag = ANIM_TAG_TEAL_ALERT,
@@ -214,7 +215,7 @@ const struct SpriteTemplate gTealAlertSpriteTemplate = //83FEE8C
.callback = AnimTealAlert,
};
-const union AffineAnimCmd gMeanLookEyeAffineAnimCmds1[] = //83FEEA4
+const union AffineAnimCmd gMeanLookEyeAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x180, 0x180, 0, 0),
AFFINEANIMCMD_FRAME(-0x20, 0x18, 0, 5),
@@ -222,20 +223,20 @@ const union AffineAnimCmd gMeanLookEyeAffineAnimCmds1[] = //83FEEA4
AFFINEANIMCMD_JUMP(1),
};
-const union AffineAnimCmd gMeanLookEyeAffineAnimCmds2[] = //83FEEC4
+const union AffineAnimCmd gMeanLookEyeAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x30, 0x30, 0, 0),
AFFINEANIMCMD_FRAME(0x20, 0x20, 0, 6),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gMeanLookEyeAffineAnimTable[] = //83FEEDC
+const union AffineAnimCmd *const gMeanLookEyeAffineAnimTable[] =
{
gMeanLookEyeAffineAnimCmds1,
gMeanLookEyeAffineAnimCmds2,
};
-const struct SpriteTemplate gMeanLookEyeSpriteTemplate = //83FEEE4
+const struct SpriteTemplate gMeanLookEyeSpriteTemplate =
{
.tileTag = ANIM_TAG_EYE,
.paletteTag = ANIM_TAG_EYE,
@@ -246,7 +247,7 @@ const struct SpriteTemplate gMeanLookEyeSpriteTemplate = //83FEEE4
.callback = AnimMeanLookEye,
};
-const struct SpriteTemplate gSpikesSpriteTemplate = //83FEEFC
+const struct SpriteTemplate gSpikesSpriteTemplate =
{
.tileTag = ANIM_TAG_SPIKES,
.paletteTag = ANIM_TAG_SPIKES,
@@ -257,7 +258,7 @@ const struct SpriteTemplate gSpikesSpriteTemplate = //83FEEFC
.callback = AnimSpikes,
};
-const union AnimCmd gLeerAnimCmds[] = //83FEF14
+const union AnimCmd gLeerAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -267,12 +268,12 @@ const union AnimCmd gLeerAnimCmds[] = //83FEF14
ANIMCMD_END,
};
-const union AnimCmd *const gLeerAnimTable[] = //83FEF2C
+const union AnimCmd *const gLeerAnimTable[] =
{
gLeerAnimCmds,
};
-const struct SpriteTemplate gLeerSpriteTemplate = //83FEF30
+const struct SpriteTemplate gLeerSpriteTemplate =
{
.tileTag = ANIM_TAG_LEER,
.paletteTag = ANIM_TAG_LEER,
@@ -283,30 +284,30 @@ const struct SpriteTemplate gLeerSpriteTemplate = //83FEF30
.callback = AnimLeer,
};
-const union AnimCmd gLetterZAnimCmds[] = //83FEF48
+const union AnimCmd gLetterZAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_END,
};
-const union AnimCmd *const gLetterZAnimTable[] = //83FEF50
+const union AnimCmd *const gLetterZAnimTable[] =
{
gLetterZAnimCmds,
};
-const union AffineAnimCmd gLetterZAffineAnimCmds[] = //83FEF54
+const union AffineAnimCmd gLetterZAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-7, -7, -3, 16),
AFFINEANIMCMD_FRAME(7, 7, 3, 16),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gLetterZAffineAnimTable[] = //83FEF6C
+const union AffineAnimCmd *const gLetterZAffineAnimTable[] =
{
gLetterZAffineAnimCmds,
};
-const struct SpriteTemplate gLetterZSpriteTemplate = //83FEF70
+const struct SpriteTemplate gLetterZSpriteTemplate =
{
.tileTag = ANIM_TAG_LETTER_Z,
.paletteTag = ANIM_TAG_LETTER_Z,
@@ -317,7 +318,7 @@ const struct SpriteTemplate gLetterZSpriteTemplate = //83FEF70
.callback = AnimLetterZ,
};
-const union AnimCmd gFangAnimCmds[] = //83FEF88
+const union AnimCmd gFangAnimCmds[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(16, 16),
@@ -326,24 +327,24 @@ const union AnimCmd gFangAnimCmds[] = //83FEF88
ANIMCMD_END,
};
-const union AnimCmd *const gFangAnimTable[] = //83FEF9C
+const union AnimCmd *const gFangAnimTable[] =
{
gFangAnimCmds,
};
-const union AffineAnimCmd gFangAffineAnimCmds[] = //83FEFA0
+const union AffineAnimCmd gFangAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0x200, 0x200, 0, 0),
AFFINEANIMCMD_FRAME(-0x20, -0x20, 0, 8),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gFangAffineAnimTable[] = //83FEFB8
+const union AffineAnimCmd *const gFangAffineAnimTable[] =
{
gFangAffineAnimCmds,
};
-const struct SpriteTemplate gFangSpriteTemplate = //83FEFBC
+const struct SpriteTemplate gFangSpriteTemplate =
{
.tileTag = ANIM_TAG_FANG_ATTACK,
.paletteTag = ANIM_TAG_FANG_ATTACK,
@@ -354,27 +355,27 @@ const struct SpriteTemplate gFangSpriteTemplate = //83FEFBC
.callback = AnimFang,
};
-const union AffineAnimCmd gSpotlightAffineAnimCmds1[] = //83FEFD4
+const union AffineAnimCmd gSpotlightAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x0, 0x180, 0, 0),
AFFINEANIMCMD_FRAME(0x10, 0x0, 0, 20),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gSpotlightAffineAnimCmds2[] = //83FEFEC
+const union AffineAnimCmd gSpotlightAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x140, 0x180, 0, 0),
AFFINEANIMCMD_FRAME(-0x10, 0x0, 0, 19),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gSpotlightAffineAnimTable[] = //83FF004
+const union AffineAnimCmd *const gSpotlightAffineAnimTable[] =
{
gSpotlightAffineAnimCmds1,
gSpotlightAffineAnimCmds2,
};
-const struct SpriteTemplate gSpotlightSpriteTemplate = //83FF00C
+const struct SpriteTemplate gSpotlightSpriteTemplate =
{
.tileTag = ANIM_TAG_SPOTLIGHT,
.paletteTag = ANIM_TAG_SPOTLIGHT,
@@ -385,7 +386,7 @@ const struct SpriteTemplate gSpotlightSpriteTemplate = //83FF00C
.callback = AnimSpotlight,
};
-const struct SpriteTemplate gClappingHandSpriteTemplate = //83FF024
+const struct SpriteTemplate gClappingHandSpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
@@ -396,7 +397,7 @@ const struct SpriteTemplate gClappingHandSpriteTemplate = //83FF024
.callback = AnimClappingHand,
};
-const struct SpriteTemplate gClappingHand2SpriteTemplate = //83FF03C
+const struct SpriteTemplate gClappingHand2SpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
@@ -407,7 +408,7 @@ const struct SpriteTemplate gClappingHand2SpriteTemplate = //83FF03C
.callback = AnimClappingHand2,
};
-const union AnimCmd gRapidSpinAnimCmds[] = //83FF054
+const union AnimCmd gRapidSpinAnimCmds[] =
{
ANIMCMD_FRAME(0, 2),
ANIMCMD_FRAME(8, 2),
@@ -415,12 +416,12 @@ const union AnimCmd gRapidSpinAnimCmds[] = //83FF054
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gRapidSpinAnimTable[] = //83FF064
+const union AnimCmd *const gRapidSpinAnimTable[] =
{
gRapidSpinAnimCmds,
};
-const struct SpriteTemplate gRapidSpinSpriteTemplate = //83FF068
+const struct SpriteTemplate gRapidSpinSpriteTemplate =
{
.tileTag = ANIM_TAG_RAPID_SPIN,
.paletteTag = ANIM_TAG_RAPID_SPIN,
@@ -431,7 +432,7 @@ const struct SpriteTemplate gRapidSpinSpriteTemplate = //83FF068
.callback = AnimRapidSpin,
};
-const union AffineAnimCmd gUnknown_83FF080[] = //83FF080
+const union AffineAnimCmd gUnknown_83FF080[] =
{
AFFINEANIMCMD_FRAME(-12, 8, 0, 4),
AFFINEANIMCMD_FRAME(20, -20, 0, 4),
@@ -439,18 +440,18 @@ const union AffineAnimCmd gUnknown_83FF080[] = //83FF080
AFFINEANIMCMD_END,
};
-const union AnimCmd gTriAttackTriangleAnimCmds[] = //83FF0A0
+const union AnimCmd gTriAttackTriangleAnimCmds[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_END,
};
-const union AnimCmd *const gTriAttackTriangleAnimTable[] = //83FF0A8
+const union AnimCmd *const gTriAttackTriangleAnimTable[] =
{
gTriAttackTriangleAnimCmds,
};
-const union AffineAnimCmd gTriAttackTriangleAffineAnimCmds[] = //83FF0AC
+const union AffineAnimCmd gTriAttackTriangleAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 0, 5, 40),
AFFINEANIMCMD_FRAME(0, 0, 10, 10),
@@ -459,12 +460,12 @@ const union AffineAnimCmd gTriAttackTriangleAffineAnimCmds[] = //83FF0AC
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gTriAttackTriangleAffineAnimTable[] = //83FF0D4
+const union AffineAnimCmd *const gTriAttackTriangleAffineAnimTable[] =
{
gTriAttackTriangleAffineAnimCmds,
};
-const struct SpriteTemplate gTriAttackTriangleSpriteTemplate = //83FF0D8
+const struct SpriteTemplate gTriAttackTriangleSpriteTemplate =
{
.tileTag = ANIM_TAG_TRI_FORCE_TRIANGLE,
.paletteTag = ANIM_TAG_TRI_FORCE_TRIANGLE,
@@ -475,7 +476,7 @@ const struct SpriteTemplate gTriAttackTriangleSpriteTemplate = //83FF0D8
.callback = AnimTriAttackTriangle,
};
-const union AnimCmd gEclipsingOrbAnimCmds[] = //83FF0F0
+const union AnimCmd gEclipsingOrbAnimCmds[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
@@ -488,12 +489,12 @@ const union AnimCmd gEclipsingOrbAnimCmds[] = //83FF0F0
ANIMCMD_END,
};
-const union AnimCmd *const gEclipsingOrbAnimTable[] = //83FF114
+const union AnimCmd *const gEclipsingOrbAnimTable[] =
{
gEclipsingOrbAnimCmds,
};
-const struct SpriteTemplate gEclipsingOrbSpriteTemplate = //83FF118
+const struct SpriteTemplate gEclipsingOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_ECLIPSING_ORB,
.paletteTag = ANIM_TAG_ECLIPSING_ORB,
@@ -504,7 +505,7 @@ const struct SpriteTemplate gEclipsingOrbSpriteTemplate = //83FF118
.callback = AnimSpriteOnMonPos,
};
-const union AffineAnimCmd DefenseCurlDeformMonAffineAnimCmds[] = //83FF130
+const union AffineAnimCmd DefenseCurlDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-12, 20, 0, 8),
AFFINEANIMCMD_FRAME(12, -20, 0, 8),
@@ -512,7 +513,7 @@ const union AffineAnimCmd DefenseCurlDeformMonAffineAnimCmds[] = //83FF130
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gBatonPassPokeballSpriteTemplate = //83FF150
+const struct SpriteTemplate gBatonPassPokeballSpriteTemplate =
{
.tileTag = ANIM_TAG_POKEBALL,
.paletteTag = ANIM_TAG_POKEBALL,
@@ -523,7 +524,7 @@ const struct SpriteTemplate gBatonPassPokeballSpriteTemplate = //83FF150
.callback = AnimBatonPassPokeball,
};
-const struct SpriteTemplate gWishStarSpriteTemplate = //83FF168
+const struct SpriteTemplate gWishStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
@@ -534,7 +535,7 @@ const struct SpriteTemplate gWishStarSpriteTemplate = //83FF168
.callback = AnimWishStar,
};
-const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate = //83FF180
+const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
@@ -545,7 +546,7 @@ const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate = //83FF180
.callback = AnimMiniTwinklingStar,
};
-const union AffineAnimCmd gStockpileDeformMonAffineAnimCmds[] = //83FF198
+const union AffineAnimCmd gStockpileDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(8, -8, 0, 12),
AFFINEANIMCMD_FRAME(-16, 16, 0, 12),
@@ -554,7 +555,7 @@ const union AffineAnimCmd gStockpileDeformMonAffineAnimCmds[] = //83FF198
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gSpitUpDeformMonAffineAnimCmds[] = //83FF1C0
+const union AffineAnimCmd gSpitUpDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 6, 0, 20),
AFFINEANIMCMD_FRAME(0, 0, 0, 20),
@@ -565,7 +566,7 @@ const union AffineAnimCmd gSpitUpDeformMonAffineAnimCmds[] = //83FF1C0
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gSwallowBlueOrbSpriteTemplate = //83FF1F8
+const struct SpriteTemplate gSwallowBlueOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_ORB,
.paletteTag = ANIM_TAG_BLUE_ORB,
@@ -576,7 +577,7 @@ const struct SpriteTemplate gSwallowBlueOrbSpriteTemplate = //83FF1F8
.callback = AnimSwallowBlueOrb,
};
-const union AffineAnimCmd gSwallowDeformMonAffineAnimCmds[] = //83FF210
+const union AffineAnimCmd gSwallowDeformMonAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 6, 0, 20),
AFFINEANIMCMD_FRAME(0, 0, 0, 20),
@@ -586,7 +587,7 @@ const union AffineAnimCmd gSwallowDeformMonAffineAnimCmds[] = //83FF210
AFFINEANIMCMD_END,
};
-const s8 gMorningSunLightBeamCoordsTable[] = //83FF240
+const s8 gMorningSunLightBeamCoordsTable[] =
{
0xE8,
0x18,
@@ -594,33 +595,33 @@ const s8 gMorningSunLightBeamCoordsTable[] = //83FF240
0x00,
};
-const union AnimCmd gGreenStarAnimCmds1[] = //83FF244
+const union AnimCmd gGreenStarAnimCmds1[] =
{
ANIMCMD_FRAME(0, 6),
ANIMCMD_FRAME(4, 6),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gGreenStarAnimCmds2[] = //83FF250
+const union AnimCmd gGreenStarAnimCmds2[] =
{
ANIMCMD_FRAME(8, 6),
ANIMCMD_END,
};
-const union AnimCmd gGreenStarAnimCmds3[] = //83FF258
+const union AnimCmd gGreenStarAnimCmds3[] =
{
ANIMCMD_FRAME(12, 6),
ANIMCMD_END,
};
-const union AnimCmd *const gGreenStarAnimTable[] = //83FF260
+const union AnimCmd *const gGreenStarAnimTable[] =
{
gGreenStarAnimCmds1,
gGreenStarAnimCmds2,
gGreenStarAnimCmds3,
};
-const struct SpriteTemplate gGreenStarSpriteTemplate = //83FF26C
+const struct SpriteTemplate gGreenStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GREEN_STAR,
.paletteTag = ANIM_TAG_GREEN_STAR,
@@ -631,7 +632,7 @@ const struct SpriteTemplate gGreenStarSpriteTemplate = //83FF26C
.callback = AnimGreenStar,
};
-const s8 gDoomDesireLightBeamCoordTable[] = //83FF284
+const s8 gDoomDesireLightBeamCoordTable[] =
{
0x78,
0x50,
@@ -639,7 +640,7 @@ const s8 gDoomDesireLightBeamCoordTable[] = //83FF284
0x00,
};
-const u8 gDoomDesireLightBeamDelayTable[] = //83FF288
+const u8 gDoomDesireLightBeamDelayTable[] =
{
0,
0,
@@ -648,7 +649,7 @@ const u8 gDoomDesireLightBeamDelayTable[] = //83FF288
50,
};
-const union AffineAnimCmd gStrongFrustrationAffineAnimCmds[] = //83FF290
+const union AffineAnimCmd gStrongFrustrationAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, -15, 0, 7),
AFFINEANIMCMD_FRAME(0, 15, 0, 7),
@@ -656,7 +657,7 @@ const union AffineAnimCmd gStrongFrustrationAffineAnimCmds[] = //83FF290
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate = //83FF2B0
+const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate =
{
.tileTag = ANIM_TAG_ANGER,
.paletteTag = ANIM_TAG_ANGER,
@@ -667,7 +668,7 @@ const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate = //83FF2B0
.callback = AnimWeakFrustrationAngerMark,
};
-const union AnimCmd gSweetScentPetalAnimCmds1[] = //83FF2C8
+const union AnimCmd gSweetScentPetalAnimCmds1[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(1, 8),
@@ -680,7 +681,7 @@ const union AnimCmd gSweetScentPetalAnimCmds1[] = //83FF2C8
ANIMCMD_JUMP(0),
};
-const union AnimCmd gSweetScentPetalAnimCmds2[] = //83FF2EC
+const union AnimCmd gSweetScentPetalAnimCmds2[] =
{
ANIMCMD_FRAME(0, 8, .hFlip = TRUE),
ANIMCMD_FRAME(1, 8, .hFlip = TRUE),
@@ -693,20 +694,20 @@ const union AnimCmd gSweetScentPetalAnimCmds2[] = //83FF2EC
ANIMCMD_JUMP(0),
};
-const union AnimCmd gSweetScentPetalAnimCmds3[] = //83FF310
+const union AnimCmd gSweetScentPetalAnimCmds3[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_END,
};
-const union AnimCmd *const gSweetScentPetalAnimCmdTable[] = //83FF318
+const union AnimCmd *const gSweetScentPetalAnimCmdTable[] =
{
gSweetScentPetalAnimCmds1,
gSweetScentPetalAnimCmds2,
gSweetScentPetalAnimCmds3,
};
-const struct SpriteTemplate gSweetScentPetalSpriteTemplate = //83FF324
+const struct SpriteTemplate gSweetScentPetalSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_PETAL,
.paletteTag = ANIM_TAG_PINK_PETAL,
@@ -717,9 +718,9 @@ const struct SpriteTemplate gSweetScentPetalSpriteTemplate = //83FF324
.callback = AnimSweetScentPetal,
};
-const u16 gUnknown_83FF33C[] = INCBIN_U16("graphics/battle_anims/unk_83FF33C.gbapal"); //Unused
+const u16 gUnknown_83FF33C[] = INCBIN_U16("graphics/battle_anims/unk_83FF33C.gbapal"); //Unused
-const union AnimCmd gPainSplitAnimCmds[] = //83FF35C
+const union AnimCmd gPainSplitAnimCmds[] =
{
ANIMCMD_FRAME(0, 5),
ANIMCMD_FRAME(4, 9),
@@ -727,12 +728,12 @@ const union AnimCmd gPainSplitAnimCmds[] = //83FF35C
ANIMCMD_END,
};
-const union AnimCmd *const gPainSplitAnimCmdTable[] = //83FF36C
+const union AnimCmd *const gPainSplitAnimCmdTable[] =
{
gPainSplitAnimCmds,
};
-const struct SpriteTemplate gPainSplitProjectileSpriteTemplate = //83FF370
+const struct SpriteTemplate gPainSplitProjectileSpriteTemplate =
{
.tileTag = ANIM_TAG_PAIN_SPLIT,
.paletteTag = ANIM_TAG_PAIN_SPLIT,
@@ -743,7 +744,7 @@ const struct SpriteTemplate gPainSplitProjectileSpriteTemplate = //83FF370
.callback = AnimPainSplitProjectile,
};
-const struct SpriteTemplate gFlatterConfettiSpriteTemplate = //83FF388
+const struct SpriteTemplate gFlatterConfettiSpriteTemplate =
{
.tileTag = ANIM_TAG_CONFETTI,
.paletteTag = ANIM_TAG_CONFETTI,
@@ -754,7 +755,7 @@ const struct SpriteTemplate gFlatterConfettiSpriteTemplate = //83FF388
.callback = AnimFlatterConfetti,
};
-const struct SpriteTemplate gFlatterSpotlightSpriteTemplate = //83FF3A0
+const struct SpriteTemplate gFlatterSpotlightSpriteTemplate =
{
.tileTag = ANIM_TAG_SPOTLIGHT,
.paletteTag = ANIM_TAG_SPOTLIGHT,
@@ -765,7 +766,7 @@ const struct SpriteTemplate gFlatterSpotlightSpriteTemplate = //83FF3A0
.callback = AnimFlatterSpotlight,
};
-const struct SpriteTemplate gReversalOrbSpriteTemplate = //83FF3B8
+const struct SpriteTemplate gReversalOrbSpriteTemplate =
{
.tileTag = ANIM_TAG_BLUE_ORB,
.paletteTag = ANIM_TAG_BLUE_ORB,
@@ -776,7 +777,7 @@ const struct SpriteTemplate gReversalOrbSpriteTemplate = //83FF3B8
.callback = AnimReversalOrb,
};
-const union AffineAnimCmd gDeepInhaleAffineAnimCmds[] = //83FF3D0
+const union AffineAnimCmd gDeepInhaleAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(16, 0, 0, 4),
AFFINEANIMCMD_FRAME(0, -3, 0, 16),
@@ -786,7 +787,7 @@ const union AffineAnimCmd gDeepInhaleAffineAnimCmds[] = //83FF3D0
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gYawnCloudAffineAnimCmds1[] = //83FF400
+const union AffineAnimCmd gYawnCloudAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
AFFINEANIMCMD_FRAME(-8, -8, 0, 8),
@@ -794,7 +795,7 @@ const union AffineAnimCmd gYawnCloudAffineAnimCmds1[] = //83FF400
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd gYawnCloudAffineAnimCmds2[] = //83FF420
+const union AffineAnimCmd gYawnCloudAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
AFFINEANIMCMD_FRAME(8, 8, 0, 8),
@@ -802,7 +803,7 @@ const union AffineAnimCmd gYawnCloudAffineAnimCmds2[] = //83FF420
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd gYawnCloudAffineAnimCmds3[] = //83FF440
+const union AffineAnimCmd gYawnCloudAffineAnimCmds3[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(8, 8, 0, 8),
@@ -810,14 +811,14 @@ const union AffineAnimCmd gYawnCloudAffineAnimCmds3[] = //83FF440
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gYawnCloudAffineAnimTable[] = //83FF460
+const union AffineAnimCmd *const gYawnCloudAffineAnimTable[] =
{
gYawnCloudAffineAnimCmds1,
gYawnCloudAffineAnimCmds2,
gYawnCloudAffineAnimCmds3,
};
-const struct SpriteTemplate gYawnCloudSpriteTemplate = //83FF46C
+const struct SpriteTemplate gYawnCloudSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_CLOUD,
.paletteTag = ANIM_TAG_PINK_CLOUD,
@@ -828,7 +829,7 @@ const struct SpriteTemplate gYawnCloudSpriteTemplate = //83FF46C
.callback = AnimYawnCloud,
};
-const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds1[] = //83FF484
+const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0),
AFFINEANIMCMD_FRAME(-4, -6, 0, 16),
@@ -836,7 +837,7 @@ const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds1[] = //83FF484
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds2[] = //83FF4A4
+const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0),
AFFINEANIMCMD_FRAME(4, 6, 0, 16),
@@ -844,7 +845,7 @@ const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds2[] = //83FF4A4
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds3[] = //83FF4C4
+const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds3[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(4, 6, 0, 16),
@@ -852,7 +853,7 @@ const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds3[] = //83FF4C4
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds4[] = //83FF4E4
+const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds4[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(8, 10, 0, 30),
@@ -860,7 +861,7 @@ const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds4[] = //83FF4E4
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gSmokeBallEscapeCloudAffineAnimTable[] = //83FF504
+const union AffineAnimCmd *const gSmokeBallEscapeCloudAffineAnimTable[] =
{
gSmokeBallEscapeCloudAffineAnimCmds1,
gSmokeBallEscapeCloudAffineAnimCmds2,
@@ -868,7 +869,7 @@ const union AffineAnimCmd *const gSmokeBallEscapeCloudAffineAnimTable[] = //83FF
gSmokeBallEscapeCloudAffineAnimCmds4,
};
-const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate = //83FF514
+const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate =
{
.tileTag = ANIM_TAG_PINK_CLOUD,
.paletteTag = ANIM_TAG_PINK_CLOUD,
@@ -879,7 +880,7 @@ const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate = //83FF514
.callback = AnimSmokeBallEscapeCloud,
};
-const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] = //83FF52C
+const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(-16, 16, 0, 6),
AFFINEANIMCMD_FRAME(16, -16, 0, 12),
@@ -887,7 +888,7 @@ const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] = //83FF52C
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gFacadeSweatDropSpriteTemplate = //83FF54C
+const struct SpriteTemplate gFacadeSweatDropSpriteTemplate =
{
.tileTag = ANIM_TAG_SWEAT_DROP,
.paletteTag = ANIM_TAG_SWEAT_DROP,
@@ -898,7 +899,7 @@ const struct SpriteTemplate gFacadeSweatDropSpriteTemplate = //83FF54C
.callback = AnimFacadeSweatDrop,
};
-const u16 gFacadeBlendColors[] = //83FF564
+const u16 gFacadeBlendColors[] =
{
RGB(28, 25, 1),
RGB(28, 21, 5),
@@ -926,27 +927,27 @@ const u16 gFacadeBlendColors[] = //83FF564
RGB(29, 27, 0),
};
-const union AnimCmd gRoarNoiseLineAnimCmds1[] = //83FF594
+const union AnimCmd gRoarNoiseLineAnimCmds1[] =
{
ANIMCMD_FRAME(0, 3),
ANIMCMD_FRAME(16, 3),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gRoarNoiseLineAnimCmds2[] = //83FF5A0
+const union AnimCmd gRoarNoiseLineAnimCmds2[] =
{
ANIMCMD_FRAME(32, 3),
ANIMCMD_FRAME(48, 3),
ANIMCMD_JUMP(0),
};
-const union AnimCmd *const gRoarNoiseLineAnimTable[] = //83FF5AC
+const union AnimCmd *const gRoarNoiseLineAnimTable[] =
{
gRoarNoiseLineAnimCmds1,
gRoarNoiseLineAnimCmds2,
};
-const struct SpriteTemplate gRoarNoiseLineSpriteTemplate = //83FF5B4
+const struct SpriteTemplate gRoarNoiseLineSpriteTemplate =
{
.tileTag = ANIM_TAG_NOISE_LINE,
.paletteTag = ANIM_TAG_NOISE_LINE,
@@ -957,7 +958,7 @@ const struct SpriteTemplate gRoarNoiseLineSpriteTemplate = //83FF5B4
.callback = AnimRoarNoiseLine,
};
-const struct SpriteTemplate gGlareEyeDotSpriteTemplate = //83FF5CC
+const struct SpriteTemplate gGlareEyeDotSpriteTemplate =
{
.tileTag = ANIM_TAG_SMALL_RED_EYE,
.paletteTag = ANIM_TAG_SMALL_RED_EYE,
@@ -968,7 +969,7 @@ const struct SpriteTemplate gGlareEyeDotSpriteTemplate = //83FF5CC
.callback = AnimGlareEyeDot,
};
-const struct SpriteTemplate gAssistPawprintSpriteTemplate = //83FF5E4
+const struct SpriteTemplate gAssistPawprintSpriteTemplate =
{
.tileTag = ANIM_TAG_PAW_PRINT,
.paletteTag = ANIM_TAG_PAW_PRINT,
@@ -979,26 +980,26 @@ const struct SpriteTemplate gAssistPawprintSpriteTemplate = //83FF5E4
.callback = AnimAssistPawprint,
};
-const union AffineAnimCmd gBarrageBallAffineAnimCmds1[] = //83FF5FC
+const union AffineAnimCmd gBarrageBallAffineAnimCmds1[] =
{
AFFINEANIMCMD_FRAME(0, 0, -4, 24),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gBarrageBallAffineAnimCmds2[] = //83FF60C
+const union AffineAnimCmd gBarrageBallAffineAnimCmds2[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0),
AFFINEANIMCMD_FRAME(0, 0, 4, 24),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gBarrageBallAffineAnimTable[] = //83FF624
+const union AffineAnimCmd *const gBarrageBallAffineAnimTable[] =
{
gBarrageBallAffineAnimCmds1,
gBarrageBallAffineAnimCmds2,
};
-const struct SpriteTemplate gBarrageBallSpriteTemplate = //83FF62C
+const struct SpriteTemplate gBarrageBallSpriteTemplate =
{
.tileTag = ANIM_TAG_RED_BALL,
.paletteTag = ANIM_TAG_RED_BALL,
@@ -1009,7 +1010,7 @@ const struct SpriteTemplate gBarrageBallSpriteTemplate = //83FF62C
.callback = SpriteCallbackDummy,
};
-const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate = //83FF644
+const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
@@ -1020,14 +1021,14 @@ const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate = //83FF644
.callback = AnimSmellingSaltsHand,
};
-const union AffineAnimCmd gSmellingSaltsSquishAffineAnimCmds[] = //83FF65C
+const union AffineAnimCmd gSmellingSaltsSquishAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, -16, 0, 6),
AFFINEANIMCMD_FRAME(0, 16, 0, 6),
AFFINEANIMCMD_END,
};
-const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate = //83FF674
+const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate =
{
.tileTag = ANIM_TAG_SMELLINGSALT_EFFECT,
.paletteTag = ANIM_TAG_SMELLINGSALT_EFFECT,
@@ -1038,7 +1039,7 @@ const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate = //83FF674
.callback = AnimSmellingSaltExclamation,
};
-const struct SpriteTemplate gHelpingHandClapSpriteTemplate = //83FF68C
+const struct SpriteTemplate gHelpingHandClapSpriteTemplate =
{
.tileTag = ANIM_TAG_TAG_HAND,
.paletteTag = ANIM_TAG_TAG_HAND,
@@ -1049,7 +1050,7 @@ const struct SpriteTemplate gHelpingHandClapSpriteTemplate = //83FF68C
.callback = AnimHelpingHandClap,
};
-const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate = //83FF6A4
+const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate =
{
.tileTag = ANIM_TAG_MAGNIFYING_GLASS,
.paletteTag = ANIM_TAG_MAGNIFYING_GLASS,
@@ -1060,7 +1061,7 @@ const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate = //83FF6A4
.callback = AnimForesightMagnifyingGlass,
};
-const struct SpriteTemplate gMeteorMashStarSpriteTemplate = //83FF6BC
+const struct SpriteTemplate gMeteorMashStarSpriteTemplate =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
@@ -1071,7 +1072,7 @@ const struct SpriteTemplate gMeteorMashStarSpriteTemplate = //83FF6BC
.callback = AnimMeteorMashStar,
};
-const struct SpriteTemplate gUnknown_83FF6D4 = //83FF6D4
+const struct SpriteTemplate gUnknown_83FF6D4 =
{
.tileTag = ANIM_TAG_GOLD_STARS,
.paletteTag = ANIM_TAG_GOLD_STARS,
@@ -1082,7 +1083,7 @@ const struct SpriteTemplate gUnknown_83FF6D4 = //83FF6D4
.callback = AnimParticuleBurst,
};
-const struct SpriteTemplate gBlockXSpriteTemplate = //83FF6EC
+const struct SpriteTemplate gBlockXSpriteTemplate =
{
.tileTag = ANIM_TAG_X_SIGN,
.paletteTag = ANIM_TAG_X_SIGN,
@@ -1093,7 +1094,7 @@ const struct SpriteTemplate gBlockXSpriteTemplate = //83FF6EC
.callback = AnimBlockX,
};
-const struct SpriteTemplate gUnknown_83FF704 = //83FF704
+const struct SpriteTemplate gUnknown_83FF704 =
{
.tileTag = ANIM_TAG_ITEM_BAG,
.paletteTag = ANIM_TAG_ITEM_BAG,
@@ -1104,39 +1105,39 @@ const struct SpriteTemplate gUnknown_83FF704 = //83FF704
.callback = sub_80E3E84,
};
-const union AnimCmd gKnockOffStrikeAnimCmds[] = //83FF71C
+const union AnimCmd gKnockOffStrikeAnimCmds[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(64, 4),
ANIMCMD_END,
};
-const union AnimCmd *const gKnockOffStrikeAnimTable[] = //83FF728
+const union AnimCmd *const gKnockOffStrikeAnimTable[] =
{
gKnockOffStrikeAnimCmds,
};
-const union AffineAnimCmd gKnockOffStrikeAffineanimCmds1[] = //83FF72C
+const union AffineAnimCmd gKnockOffStrikeAffineanimCmds1[] =
{
AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, -4, 8),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd gKnockOffStrikeAffineanimCmds2[] = //83FF744
+const union AffineAnimCmd gKnockOffStrikeAffineanimCmds2[] =
{
AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0),
AFFINEANIMCMD_FRAME(0, 0, 4, 8),
AFFINEANIMCMD_END,
};
-const union AffineAnimCmd *const gKnockOffStrikeAffineAnimTable[] = //83FF75C
+const union AffineAnimCmd *const gKnockOffStrikeAffineAnimTable[] =
{
gKnockOffStrikeAffineanimCmds1,
gKnockOffStrikeAffineanimCmds2,
};
-const struct SpriteTemplate gKnockOffStrikeSpriteTemplate = //83FF764
+const struct SpriteTemplate gKnockOffStrikeSpriteTemplate =
{
.tileTag = ANIM_TAG_SLAM_HIT_2,
.paletteTag = ANIM_TAG_SLAM_HIT_2,
@@ -1147,18 +1148,18 @@ const struct SpriteTemplate gKnockOffStrikeSpriteTemplate = //83FF764
.callback = AnimKnockOffStrike,
};
-const union AffineAnimCmd gRecycleSpriteAffineAnimCmds[] = //83FF77C
+const union AffineAnimCmd gRecycleSpriteAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 0, -4, 64),
AFFINEANIMCMD_JUMP(0),
};
-const union AffineAnimCmd *const gRecycleSpriteAffineAnimTable[] = //83FF78C
+const union AffineAnimCmd *const gRecycleSpriteAffineAnimTable[] =
{
gRecycleSpriteAffineAnimCmds,
};
-const struct SpriteTemplate gRecycleSpriteTemplate = //83FF790
+const struct SpriteTemplate gRecycleSpriteTemplate =
{
.tileTag = ANIM_TAG_RECYCLE,
.paletteTag = ANIM_TAG_RECYCLE,
@@ -1169,7 +1170,7 @@ const struct SpriteTemplate gRecycleSpriteTemplate = //83FF790
.callback = AnimRecycle,
};
-const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] = //83FF7A8
+const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] =
{
AFFINEANIMCMD_FRAME(0, 16, 0, 4),
AFFINEANIMCMD_FRAME(-2, 0, 0, 8),
@@ -1180,12 +1181,10 @@ const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] = //83FF7A8
};
// Functions
-// 80DE2C0
void AnimBlackSmoke(struct Sprite *sprite)
{
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
-
if (!gBattleAnimArgs[3])
sprite->data[0] = gBattleAnimArgs[2];
else
@@ -1212,10 +1211,7 @@ static void AnimBlackSmokeStep(struct Sprite *sprite)
void AnimTask_SmokescreenImpact(u8 taskId)
{
- SmokescreenImpact( //sub_804A76C
- GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8,
- GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8,
- 0);
+ SmokescreenImpact(GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + 8, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + 8, 0);
DestroyAnimVisualTask(taskId);
}
@@ -1249,18 +1245,16 @@ static void AnimWhiteHalo_Step2(struct Sprite *sprite)
void AnimTealAlert(struct Sprite *sprite)
{
u16 rotation;
- u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- u8 y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ u8 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ u8 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
InitSpritePosToAnimTarget(sprite, TRUE);
-
rotation = ArcTan2Neg(sprite->pos1.x - x, sprite->pos1.y - y);
rotation += 0x6000;
if (IsContest())
rotation += 0x4000;
TrySetSpriteRotScale(sprite, FALSE, 0x100, 0x100, rotation);
-
sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = x;
sprite->data[4] = y;
@@ -1279,7 +1273,6 @@ void AnimMeanLookEye(struct Sprite *sprite)
static void AnimMeanLookEye_Step1(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
-
if (sprite->data[1])
sprite->data[0]--;
else
@@ -1353,7 +1346,6 @@ static void AnimMeanLookEye_Step3(struct Sprite *sprite)
static void AnimMeanLookEye_Step4(struct Sprite *sprite)
{
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[0], 16 - sprite->data[0]));
-
if (sprite->data[1]++ > 1)
{
sprite->data[0]--;
@@ -1435,7 +1427,6 @@ void AnimSpikes(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, TRUE);
SetAverageBattlerPositions(gBattleAnimTarget, FALSE, &x, &y);
-
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
@@ -1443,7 +1434,6 @@ void AnimSpikes(struct Sprite *sprite)
sprite->data[2] = x + gBattleAnimArgs[2];
sprite->data[4] = y + gBattleAnimArgs[3];
sprite->data[5] = -50;
-
InitAnimArcTranslation(sprite);
sprite->callback = AnimSpikes_Step1;
}
@@ -1480,6 +1470,7 @@ void AnimLeer(struct Sprite *sprite)
void AnimLetterZ(struct Sprite *sprite)
{
int var0;
+
if (sprite->data[0] == 0)
{
SetSpriteCoordsToAnimAttackerCoords(sprite);
@@ -1510,7 +1501,6 @@ void AnimLetterZ(struct Sprite *sprite)
sprite->data[4] += sprite->data[2];
sprite->pos2.x = sprite->data[3] / 2;
sprite->pos2.y = Sin(var0 & 0xFF, 5) + (sprite->data[4] / 2);
-
if ((u16)(sprite->pos1.x + sprite->pos2.x) > 240)
DestroyAnimSprite(sprite);
}
@@ -1549,9 +1539,7 @@ void AnimSpotlight(struct Sprite *sprite)
gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H);
SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V);
-
InitSpritePosToAnimTarget(sprite, FALSE);
-
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
sprite->invisible = 1;
sprite->callback = AnimSpotlight_Step1;
@@ -1610,14 +1598,13 @@ void AnimClappingHand(struct Sprite *sprite)
{
if (gBattleAnimArgs[3] == 0)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
}
sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1];
sprite->oam.tileNum += 16;
-
if (gBattleAnimArgs[2] == 0)
{
sprite->oam.matrixNum = ST_OAM_HFLIP;
@@ -1631,7 +1618,6 @@ void AnimClappingHand(struct Sprite *sprite)
}
sprite->data[0] = gBattleAnimArgs[4];
-
if (sprite->data[3] != 255)
sprite->data[3] = gBattleAnimArgs[2];
@@ -1712,17 +1698,16 @@ void AnimRapidSpin(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == 0)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
}
else
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 0) + gBattleAnimArgs[1];
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 1);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X) + gBattleAnimArgs[1];
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y);
}
sprite->pos2.y = gBattleAnimArgs[2];
-
sprite->data[0] = (sprite->pos2.y > gBattleAnimArgs[3]);
sprite->data[1] = 0;
sprite->data[2] = gBattleAnimArgs[4];
@@ -1736,7 +1721,6 @@ static void AnimRapidSpin_Step(struct Sprite *sprite)
sprite->data[1] = (sprite->data[1] + sprite->data[2]) & 0xFF;
sprite->pos2.x = gSineTable[sprite->data[1]] >> 4;
sprite->pos2.y += sprite->data[3];
-
if (sprite->data[0])
{
if (sprite->pos2.y < sprite->data[4])
@@ -1782,7 +1766,6 @@ void AnimTask_RapinSpinMonElevation(u8 taskId)
task->data[5] = gBattleAnimArgs[1];
task->data[6] = 0;
task->data[7] = 0;
-
if (toBG2 == 1)
{
var3 = gBattle_BG1_X;
@@ -1798,7 +1781,6 @@ void AnimTask_RapinSpinMonElevation(u8 taskId)
task->data[9] = var4;
task->data[10] = gBattleAnimArgs[2];
-
if (!gBattleAnimArgs[2])
{
task->data[11] = var4;
@@ -1811,7 +1793,6 @@ void AnimTask_RapinSpinMonElevation(u8 taskId)
}
task->data[15] = 0;
-
i = task->data[2];
while (i <= task->data[3])
{
@@ -1898,8 +1879,8 @@ void AnimTask_TormentAttacker(u8 taskId)
task->data[0] = 0;
task->data[1] = 0;
- task->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ task->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
task->data[4] = 32;
task->data[5] = -20;
task->data[6] = 0;
@@ -1990,7 +1971,6 @@ static void TormentAttacker_Step(u8 taskId)
gSprites[i].data[1] = 6;
StartSpriteAnim(&gSprites[i], 2);
gSprites[i].callback = TormentAttacker_Callback;
-
if (++j == 6)
break;
}
@@ -2040,8 +2020,8 @@ void AnimTriAttackTriangle(struct Sprite *sprite)
sprite->pos2.x = 0;
sprite->pos2.y = 0;
sprite->data[0] = 20;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
- sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->callback = StartAnimLinearTranslation;
}
}
@@ -2068,8 +2048,8 @@ void AnimBatonPassPokeball(struct Sprite *sprite)
switch (sprite->data[0])
{
case 0:
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_NORMAL);
sprite->data[1] = 256;
sprite->data[2] = 256;
@@ -2224,7 +2204,7 @@ void AnimSwallowBlueOrb(struct Sprite *sprite)
case 0:
InitSpritePosToAnimAttacker(sprite, FALSE);
sprite->data[1] = 0x900;
- sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
+ sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[0]++;
break;
case 1:
@@ -2250,7 +2230,6 @@ void AnimTask_SwallowDeformMon(u8 taskId)
}
}
-// case 2 quite different :/
void AnimTask_TransformMon(u8 taskId)
{
int i, j;
@@ -2357,25 +2336,25 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
- sub_80752A0(&animBg);
- AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
- AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
- LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
- if (IsContest())
- {
- sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
+ sub_80752A0(&animBg);
+ AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
+ AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
+ LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
+ if (IsContest())
+ {
+ sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
gBattle_BG1_X = -56;
gBattle_BG1_Y = 0;
- }
- else
- {
+ }
+ else
+ {
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattle_BG1_X = -135;
else
gBattle_BG1_X = -10;
gBattle_BG1_Y = 0;
- }
+ }
gTasks[taskId].data[10] = gBattle_BG1_X;
gTasks[taskId].data[11] = gBattle_BG1_Y;
@@ -2447,8 +2426,8 @@ void AnimGreenStar(struct Sprite *sprite)
if (xOffset > 31)
xOffset = 32 - xOffset;
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + xOffset;
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + 32;
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + xOffset;
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 32;
sprite->data[1] = gBattleAnimArgs[0];
sprite->data[2] = gBattleAnimArgs[1];
@@ -2476,6 +2455,7 @@ void AnimGreenStar(struct Sprite *sprite)
static void AnimGreenStar_Step1(struct Sprite *sprite)
{
s16 delta = sprite->data[3] + sprite->data[2];
+
sprite->pos2.y -= delta >> 8;
sprite->data[3] += sprite->data[2];
sprite->data[3] &= 0xFF;
@@ -2538,16 +2518,16 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
-
- sub_80752A0(&animBg);
- AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
- AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
- LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
-
+
+ sub_80752A0(&animBg);
+ AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
+ AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
+ LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
+
if (IsContest())
{
sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
- gBattle_BG1_X = -56;
+ gBattle_BG1_X = -56;
gBattle_BG1_Y = 0;
}
else
@@ -2887,7 +2867,6 @@ static void AnimTask_FlailMovementStep(u8 taskId)
SetSpriteRotScale(task->data[15], 0x100, 0x100, task->data[2]);
SetBattlerSpriteYOffsetFromRotation(task->data[15]);
gSprites[task->data[15]].pos2.x = -(((temp = task->data[2]) >= 0 ? task->data[2] : temp + 63) >> 6);
-
if (++task->data[1] > 8)
{
if (task->data[12])
@@ -3069,7 +3048,6 @@ void AnimFlatterSpotlight(struct Sprite *sprite)
gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WIN0H, gBattle_WIN0H);
SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V);
-
sprite->data[0] = gBattleAnimArgs[2];
InitSpritePosToAnimTarget(sprite, FALSE);
sprite->oam.objMode = ST_OAM_OBJ_WINDOW;
@@ -3166,59 +3144,56 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
s16 coord1, coord2;
GetAnimBattlerSpriteId(ANIM_ATTACKER);
+ if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
+ {
+ isBackPic = 0;
+ personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID);
+ if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE)
+ {
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
+ else
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
+ }
+ else
+ {
+ species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
+ }
- if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
- {
- isBackPic = 0;
- personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID);
- if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE)
- {
- if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
- else
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
- }
- else
- {
- species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
- }
-
- xOffset = 20;
- priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
- }
- else
- {
- isBackPic = 1;
- personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID);
- if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE)
- {
- if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
- else
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
- }
- else
- {
- species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
- }
-
- xOffset = -20;
- priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
- }
-
- coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
- spriteId = sub_80768D0(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1);
+ xOffset = 20;
+ priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
+ }
+ else
+ {
+ isBackPic = 1;
+ personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID);
+ if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE)
+ {
+ if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
+ else
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
+ }
+ else
+ {
+ species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
+ }
+
+ xOffset = -20;
+ priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
+ }
+ coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
+ spriteId = sub_80768D0(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1);
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
FillPalette(RGB_WHITE, (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32);
gSprites[spriteId].oam.priority = priority;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1]));
-
gTasks[taskId].data[0] = spriteId;
gTasks[taskId].func = AnimTask_RolePlaySilhouetteStep1;
}
@@ -3242,6 +3217,7 @@ static void AnimTask_RolePlaySilhouetteStep1(u8 taskId)
static void AnimTask_RolePlaySilhouetteStep2(u8 taskId)
{
u8 spriteId = gTasks[taskId].data[0];
+
gTasks[taskId].data[10] -= 16;
gTasks[taskId].data[11] += 128;
gSprites[spriteId].oam.affineMode |= ST_OAM_AFFINE_DOUBLE_MASK;
@@ -3437,6 +3413,7 @@ static void AnimTask_AcidArmorStep(u8 taskId)
void AnimTask_DeepInhale(u8 taskId)
{
struct Task *task = &gTasks[taskId];
+
task->data[0] = 0;
task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
PrepareAffineAnimInTaskData(&gTasks[taskId], task->data[15], gDeepInhaleAffineAnimCmds);
@@ -3446,8 +3423,8 @@ void AnimTask_DeepInhale(u8 taskId)
static void AnimTask_DeepInhaleStep(u8 taskId)
{
u16 var0;
-
struct Task *task = &gTasks[taskId];
+
var0 = task->data[0];
task->data[0]++;
var0 -= 20;
@@ -3827,17 +3804,7 @@ static void AnimTask_FacadeColorBlendStep(u8 taskId)
void sub_80E2084(u8 taskId)
{
- sub_80BBA20(taskId,
- 0,
- 0x1A0,
- gBattleAnimAttacker,
- gBattleAnimArgs[0],
- 10,
- 2,
- 30,
- gCureBubblesGfx,
- gCureBubblesTilemap,
- gCureBubblesPal);
+ sub_80BBA20(taskId, 0, 0x1A0, gBattleAnimAttacker, gBattleAnimArgs[0], 10, 2, 30, gCureBubblesGfx, gCureBubblesTilemap, gCureBubblesPal);
}
// Moves a noise line from the mon.
@@ -3893,9 +3860,9 @@ void AnimTask_GlareEyeDots(u8 taskId)
{
struct Task *task = &gTasks[taskId];
- task->data[5] = 12;
- task->data[6] = 3;
- task->data[7] = 0;
+ task->data[5] = 12;
+ task->data[6] = 3;
+ task->data[7] = 0;
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4;
@@ -4116,7 +4083,7 @@ void AnimSmellingSaltsHand(struct Sprite *sprite)
sprite->oam.tileNum += 16;
sprite->data[6] = gBattleAnimArgs[2];
sprite->data[7] = gBattleAnimArgs[1] == 0 ? -1 : 1;
- sprite->pos1.y = GetBattlerSpriteCoord(battler, 3);
+ sprite->pos1.y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y_PIC_OFFSET);
if (gBattleAnimArgs[1] == 0)
{
sprite->oam.matrixNum |= ST_OAM_HFLIP;
@@ -4231,12 +4198,12 @@ void AnimSmellingSaltExclamation(struct Sprite *sprite)
{
if (gBattleAnimArgs[0] == ANIM_ATTACKER)
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP);
}
else
{
- sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
+ sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP);
}
@@ -4373,22 +4340,22 @@ void AnimTask_HelpingHandAttackerMovement(u8 taskId)
struct Task *task = &gTasks[taskId];
task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- if (IsDoubleBattle() == TRUE)
- {
- int x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- int y = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimAttacker), 0);
- if (x > y)
- task->data[14] = 1;
- else
- task->data[14] = -1;
- }
- else
- {
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- task->data[14] = -1;
- else
- task->data[14] = 1;
- }
+ if (IsDoubleBattle() == TRUE)
+ {
+ int x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ int y = GetBattlerSpriteCoord(BATTLE_PARTNER(gBattleAnimAttacker), BATTLER_COORD_X);
+ if (x > y)
+ task->data[14] = 1;
+ else
+ task->data[14] = -1;
+ }
+ else
+ {
+ if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
+ task->data[14] = -1;
+ else
+ task->data[14] = 1;
+ }
task->func = AnimTask_HelpingHandAttackerMovementStep;
}
@@ -4510,24 +4477,24 @@ static void AnimForesightMagnifyingGlassStep(struct Sprite *sprite)
sprite->data[6] = 0;
case 0:
case 4:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_RIGHT) - 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_BOTTOM) - 4;
break;
case 1:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) + 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_RIGHT) - 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_TOP) + 4;
break;
case 2:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_LEFT) + 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_BOTTOM) - 4;
break;
case 3:
- x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4;
- y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) - 4;
+ x = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_LEFT) + 4;
+ y = GetBattlerSpriteCoordAttr(sprite->data[7], BATTLER_COORD_ATTR_TOP) - 4;
break;
case 5:
- x = GetBattlerSpriteCoord(sprite->data[7], 2);
- y = GetBattlerSpriteCoord(sprite->data[7], 3);
+ x = GetBattlerSpriteCoord(sprite->data[7], BATTLER_COORD_X_2);
+ y = GetBattlerSpriteCoord(sprite->data[7], BATTLER_COORD_Y_PIC_OFFSET);
break;
}
@@ -4625,8 +4592,8 @@ static void AnimMeteorMashStarStep(struct Sprite *sprite)
// arg 4: duration
void AnimMeteorMashStar(struct Sprite *sprite)
{
- s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); // unused local variable
- s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); // unused local variable
+ s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
+ s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{
@@ -4752,7 +4719,7 @@ void AnimBlockX(struct Sprite *sprite)
y = -96;
}
- sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
+ sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
sprite->pos2.y = y;
sprite->callback = AnimBlockXStep;
}
@@ -4880,6 +4847,7 @@ static void AnimTask_OdorSleuthMovementWaitFinish(u8 taskId)
static void MoveOdorSleuthClone(struct Sprite *sprite)
{
int zero = 0;
+
if (++sprite->data[1] > 1)
{
sprite->data[1] = 0;
@@ -4931,8 +4899,8 @@ void AnimTask_GetReturnPowerLevel(u8 taskId)
// Makes the mon run out of screen, run past the opposing mon, and return to its original position.
// No args.
-/*
-attempt..
+#ifdef NONMATCHING
+// `species` variable getting loaded into r6 instead of r5
void AnimTask_SnatchOpposingMonMove(u8 taskId)
{
u8 spriteId, spriteId2;
@@ -4940,11 +4908,9 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
u32 otId;
u16 species;
u8 subpriority;
- //bool8 isBackPic;
+ bool8 isBackPic;
s16 x;
- u16 tSpecies;
-
switch (gTasks[taskId].data[0])
{
case 0:
@@ -4964,174 +4930,32 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
}
break;
case 1:
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- {
- personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
-
- tSpecies = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
- if (tSpecies == SPECIES_NONE)
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
- else
- species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
-
- subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
- //isBackPic = FALSE;
- //x = 272;
- spriteId = sub_80768D0(species, FALSE, 0, 272, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
- }
- else
- {
- personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
-
- tSpecies = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
- if (tSpecies == SPECIES_NONE)
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
- else
- species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
-
- subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1;
- //isBackPic = TRUE;
- //x = -32;
- spriteId = sub_80768D0(species, TRUE, 0, -32, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
- }
-
- if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE)
- BlendPalette((gSprites[spriteId].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE);
-
- gTasks[taskId].data[15] = spriteId;
- gTasks[taskId].data[0]++;
- break;
- case 2:
- spriteId2 = gTasks[taskId].data[15];
- gTasks[taskId].data[1] += 0x800;
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- gSprites[spriteId2].pos2.x -= (gTasks[taskId].data[1] >> 8);
- else
- gSprites[spriteId2].pos2.x += (gTasks[taskId].data[1] >> 8);
-
- gTasks[taskId].data[1] &= 0xFF;
- x = gSprites[spriteId2].pos1.x + gSprites[spriteId2].pos2.x;
- if (gTasks[taskId].data[14] == 0)
{
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- {
- if (x < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X))
- {
- gTasks[taskId].data[14]++;
- gBattleAnimArgs[7] = 0xFFFF;
- }
- }
+ personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
+ if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
+ species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
else
- {
- if (x > GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X))
- {
- gTasks[taskId].data[14]++;
- gBattleAnimArgs[7] = 0xFFFF;
- }
- }
- }
-
- if ((u16)(x + 32) > 304)
- {
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[0]++;
- }
- break;
- case 3:
- spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- spriteId2 = gTasks[taskId].data[15];
- DestroySpriteAndFreeResources_(&gSprites[spriteId2]);
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- gSprites[spriteId].pos2.x = -gSprites[spriteId].pos1.x - 32;
- else
- gSprites[spriteId].pos2.x = 272 - gSprites[spriteId].pos1.x;
+ species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
- gTasks[taskId].data[0]++;
- break;
- case 4:
- spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- gTasks[taskId].data[1] += 0x800;
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- {
- gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8);
- if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x >= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X))
- gSprites[spriteId].pos2.x = 0;
+ subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
+ isBackPic = FALSE;
+ x = 272;
}
else
{
- gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8);
- if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x <= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X))
- gSprites[spriteId].pos2.x = 0;
- }
-
- gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1];
- if (gSprites[spriteId].pos2.x == 0)
- DestroyAnimVisualTask(taskId);
- break;
- }
-}
-*/
-
-#ifdef NONMATCHING
-// `species` variable getting loaded into r6 instead of r5
-//https://cexplore.karathan.at/z/0gMuxf
-void AnimTask_SnatchOpposingMonMove(u8 taskId)
-{
- u8 spriteId, spriteId2;
- u32 personality;
- u32 otId;
- u16 species;
- u8 subpriority;
- bool8 isBackPic;
- s16 x;
-
- switch (gTasks[taskId].data[0])
- {
- case 0:
- spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
- gTasks[taskId].data[1] += 0x800;
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8);
- else
- gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8);
+ personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
+ otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
+ if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
+ species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
+ else
+ species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
- gTasks[taskId].data[1] &= 0xFF;
- x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x;
- if ((u16)(x + 32) > 304)
- {
- gTasks[taskId].data[1] = 0;
- gTasks[taskId].data[0]++;
+ subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1;
+ isBackPic = TRUE;
+ x = -32;
}
- break;
- case 1:
- if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
- {
- personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
- if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
- species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
- else
- species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
-
- subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
- isBackPic = FALSE;
- x = 272;
- }
- else
- {
- personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
- otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
- if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
- species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
- else
- species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
-
- subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1;
- isBackPic = TRUE;
- x = -32;
- }
spriteId2 = sub_80768D0(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE)
@@ -5213,653 +5037,653 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
NAKED
void AnimTask_SnatchOpposingMonMove(u8 taskId)
{
- asm_unified("\tpush {r4-r7,lr}\n"
- "\tmov r7, r10\n"
- "\tmov r6, r9\n"
- "\tmov r5, r8\n"
- "\tpush {r5-r7}\n"
- "\tsub sp, 0x1C\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tmov r8, r0\n"
- "\tldr r1, _080E395C @ =gTasks\n"
- "\tlsls r0, 2\n"
- "\tadd r0, r8\n"
- "\tlsls r0, 3\n"
- "\tadds r0, r1\n"
- "\tmovs r1, 0x8\n"
- "\tldrsh r0, [r0, r1]\n"
- "\tcmp r0, 0x4\n"
- "\tbls _080E3952\n"
- "\tb _080E3E6C\n"
- "_080E3952:\n"
- "\tlsls r0, 2\n"
- "\tldr r1, _080E3960 @ =_080E3964\n"
- "\tadds r0, r1\n"
- "\tldr r0, [r0]\n"
- "\tmov pc, r0\n"
- "\t.align 2, 0\n"
- "_080E395C: .4byte gTasks\n"
- "_080E3960: .4byte _080E3964\n"
- "\t.align 2, 0\n"
- "_080E3964:\n"
- "\t.4byte _080E3978\n"
- "\t.4byte _080E3A2C\n"
- "\t.4byte _080E3BEC\n"
- "\t.4byte _080E3D0C\n"
- "\t.4byte _080E3D90\n"
- "_080E3978:\n"
- "\tmovs r0, 0\n"
- "\tbl GetAnimBattlerSpriteId\n"
- "\tlsls r0, 24\n"
- "\tlsrs r7, r0, 24\n"
- "\tldr r1, _080E39C4 @ =gTasks\n"
- "\tmov r2, r8\n"
- "\tlsls r4, r2, 2\n"
- "\tadds r0, r4, r2\n"
- "\tlsls r0, 3\n"
- "\tadds r6, r0, r1\n"
- "\tmovs r3, 0x80\n"
- "\tlsls r3, 4\n"
- "\tadds r0, r3, 0\n"
- "\tldrh r1, [r6, 0xA]\n"
- "\tadds r0, r1\n"
- "\tstrh r0, [r6, 0xA]\n"
- "\tldr r0, _080E39C8 @ =gBattleAnimAttacker\n"
- "\tldrb r0, [r0]\n"
- "\tbl GetBattlerSide\n"
- "\tlsls r0, 24\n"
- "\tmov r9, r4\n"
- "\tcmp r0, 0\n"
- "\tbne _080E39D0\n"
- "\tldr r2, _080E39CC @ =gSprites\n"
- "\tlsls r3, r7, 4\n"
- "\tadds r1, r3, r7\n"
- "\tlsls r1, 2\n"
- "\tadds r1, r2\n"
- "\tldrh r0, [r6, 0xA]\n"
- "\tlsls r0, 16\n"
- "\tasrs r0, 24\n"
- "\tldrh r4, [r1, 0x24]\n"
- "\tadds r0, r4\n"
- "\tstrh r0, [r1, 0x24]\n"
- "\tb _080E39EA\n"
- "\t.align 2, 0\n"
- "_080E39C4: .4byte gTasks\n"
- "_080E39C8: .4byte gBattleAnimAttacker\n"
- "_080E39CC: .4byte gSprites\n"
- "_080E39D0:\n"
- "\tldr r3, _080E3A24 @ =gSprites\n"
- "\tlsls r4, r7, 4\n"
- "\tadds r2, r4, r7\n"
- "\tlsls r2, 2\n"
- "\tadds r2, r3\n"
- "\tldrh r1, [r6, 0xA]\n"
- "\tlsls r1, 16\n"
- "\tasrs r1, 24\n"
- "\tldrh r0, [r2, 0x24]\n"
- "\tsubs r0, r1\n"
- "\tstrh r0, [r2, 0x24]\n"
- "\tadds r2, r3, 0\n"
- "\tadds r3, r4, 0\n"
- "_080E39EA:\n"
- "\tldr r1, _080E3A28 @ =gTasks\n"
- "\tmov r0, r9\n"
- "\tadd r0, r8\n"
- "\tlsls r0, 3\n"
- "\tadds r4, r0, r1\n"
- "\tldrb r0, [r4, 0xA]\n"
- "\tstrh r0, [r4, 0xA]\n"
- "\tadds r1, r3, r7\n"
- "\tlsls r1, 2\n"
- "\tadds r1, r2\n"
- "\tldrh r0, [r1, 0x24]\n"
- "\tldrh r1, [r1, 0x20]\n"
- "\tadds r0, r1\n"
- "\tlsls r0, 16\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 14\n"
- "\tadds r0, r1\n"
- "\tmovs r1, 0x98\n"
- "\tlsls r1, 17\n"
- "\tcmp r0, r1\n"
- "\tbhi _080E3A16\n"
- "\tb _080E3E6C\n"
- "_080E3A16:\n"
- "\tmovs r0, 0\n"
- "\tstrh r0, [r4, 0xA]\n"
- "\tldrh r0, [r4, 0x8]\n"
- "\tadds r0, 0x1\n"
- "\tstrh r0, [r4, 0x8]\n"
- "\tb _080E3E6C\n"
- "\t.align 2, 0\n"
- "_080E3A24: .4byte gSprites\n"
- "_080E3A28: .4byte gTasks\n"
- "_080E3A2C:\n"
- "\tldr r4, _080E3A90 @ =gBattleAnimAttacker\n"
- "\tldrb r0, [r4]\n"
- "\tbl GetBattlerSide\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3ACC\n"
- "\tldr r7, _080E3A94 @ =gBattlerPartyIndexes\n"
- "\tldrb r0, [r4]\n"
- "\tlsls r0, 1\n"
- "\tadds r0, r7\n"
- "\tldrh r0, [r0]\n"
- "\tmovs r6, 0x64\n"
- "\tmuls r0, r6\n"
- "\tldr r5, _080E3A98 @ =gPlayerParty\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0\n"
- "\tbl GetMonData\n"
- "\tmov r10, r0\n"
- "\tldrb r0, [r4]\n"
- "\tlsls r0, 1\n"
- "\tadds r0, r7\n"
- "\tldrh r0, [r0]\n"
- "\tmuls r0, r6\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0x1\n"
- "\tbl GetMonData\n"
- "\tmov r9, r0\n"
- "\tldr r0, _080E3A9C @ =gBattleSpritesDataPtr\n"
- "\tldr r0, [r0]\n"
- "\tldrb r2, [r4]\n"
- "\tldr r1, [r0]\n"
- "\tlsls r0, r2, 2\n"
- "\tadds r1, r0, r1\n"
- "\tldrh r0, [r1, 0x2]\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3AA0\n"
- "\tlsls r0, r2, 1\n"
- "\tadds r0, r7\n"
- "\tldrh r0, [r0]\n"
- "\tmuls r0, r6\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0xB\n"
- "\tbl GetMonData\n"
- "\tlsls r0, 16\n"
- "\tlsrs r5, r0, 16\n"
- "\tb _080E3AA2\n"
- "\t.align 2, 0\n"
- "_080E3A90: .4byte gBattleAnimAttacker\n"
- "_080E3A94: .4byte gBattlerPartyIndexes\n"
- "_080E3A98: .4byte gPlayerParty\n"
- "_080E3A9C: .4byte gBattleSpritesDataPtr\n"
- "_080E3AA0:\n"
- "\tldrh r5, [r1, 0x2]\n"
- "_080E3AA2:\n"
- "\tmovs r0, 0x1\n"
- "\tbl GetAnimBattlerSpriteId\n"
- "\tldr r2, _080E3AC8 @ =gSprites\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tlsls r1, r0, 4\n"
- "\tadds r1, r0\n"
- "\tlsls r1, 2\n"
- "\tadds r1, r2\n"
- "\tadds r1, 0x43\n"
- "\tldrb r0, [r1]\n"
- "\tadds r0, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tmovs r7, 0\n"
- "\tmovs r6, 0x88\n"
- "\tlsls r6, 1\n"
- "\tb _080E3B54\n"
- "\t.align 2, 0\n"
- "_080E3AC8: .4byte gSprites\n"
- "_080E3ACC:\n"
- "\tldr r7, _080E3B24 @ =gBattlerPartyIndexes\n"
- "\tldrb r0, [r4]\n"
- "\tlsls r0, 1\n"
- "\tadds r0, r7\n"
- "\tldrh r0, [r0]\n"
- "\tmovs r6, 0x64\n"
- "\tmuls r0, r6\n"
- "\tldr r5, _080E3B28 @ =gEnemyParty\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0\n"
- "\tbl GetMonData\n"
- "\tmov r10, r0\n"
- "\tldrb r0, [r4]\n"
- "\tlsls r0, 1\n"
- "\tadds r0, r7\n"
- "\tldrh r0, [r0]\n"
- "\tmuls r0, r6\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0x1\n"
- "\tbl GetMonData\n"
- "\tmov r9, r0\n"
- "\tldr r0, _080E3B2C @ =gBattleSpritesDataPtr\n"
- "\tldr r0, [r0]\n"
- "\tldrb r2, [r4]\n"
- "\tldr r1, [r0]\n"
- "\tlsls r0, r2, 2\n"
- "\tadds r1, r0, r1\n"
- "\tldrh r0, [r1, 0x2]\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3B30\n"
- "\tlsls r0, r2, 1\n"
- "\tadds r0, r7\n"
- "\tldrh r0, [r0]\n"
- "\tmuls r0, r6\n"
- "\tadds r0, r5\n"
- "\tmovs r1, 0xB\n"
- "\tbl GetMonData\n"
- "\tlsls r0, 16\n"
- "\tlsrs r5, r0, 16\n"
- "\tb _080E3B32\n"
- "\t.align 2, 0\n"
- "_080E3B24: .4byte gBattlerPartyIndexes\n"
- "_080E3B28: .4byte gEnemyParty\n"
- "_080E3B2C: .4byte gBattleSpritesDataPtr\n"
- "_080E3B30:\n"
- "\tldrh r5, [r1, 0x2]\n"
- "_080E3B32:\n"
- "\tmovs r0, 0x1\n"
- "\tbl GetAnimBattlerSpriteId\n"
- "\tldr r2, _080E3BD0 @ =gSprites\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tlsls r1, r0, 4\n"
- "\tadds r1, r0\n"
- "\tlsls r1, 2\n"
- "\tadds r1, r2\n"
- "\tadds r1, 0x43\n"
- "\tldrb r0, [r1]\n"
- "\tsubs r0, 0x1\n"
- "\tlsls r0, 24\n"
- "\tlsrs r4, r0, 24\n"
- "\tmovs r7, 0x1\n"
- "\tldr r6, _080E3BD4 @ =0x0000ffe0\n"
- "_080E3B54:\n"
- "\tldr r0, _080E3BD8 @ =gBattleAnimTarget\n"
- "\tldrb r0, [r0]\n"
- "\tmovs r1, 0x1\n"
- "\tbl GetBattlerSpriteCoord\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tlsls r3, r6, 16\n"
- "\tasrs r3, 16\n"
- "\tstr r0, [sp]\n"
- "\tstr r4, [sp, 0x4]\n"
- "\tmov r2, r10\n"
- "\tstr r2, [sp, 0x8]\n"
- "\tmov r4, r9\n"
- "\tstr r4, [sp, 0xC]\n"
- "\tldr r4, _080E3BDC @ =gBattleAnimAttacker\n"
- "\tldrb r0, [r4]\n"
- "\tstr r0, [sp, 0x10]\n"
- "\tmovs r0, 0\n"
- "\tstr r0, [sp, 0x14]\n"
- "\tadds r0, r5, 0\n"
- "\tadds r1, r7, 0\n"
- "\tmovs r2, 0\n"
- "\tbl sub_80768D0\n"
- "\tlsls r0, 24\n"
- "\tlsrs r5, r0, 24\n"
- "\tldr r0, _080E3BE0 @ =gBattleSpritesDataPtr\n"
- "\tldr r1, [r0]\n"
- "\tldrb r0, [r4]\n"
- "\tldr r1, [r1]\n"
- "\tlsls r0, 2\n"
- "\tadds r0, r1\n"
- "\tldrh r0, [r0, 0x2]\n"
- "\tcmp r0, 0\n"
- "\tbeq _080E3BBE\n"
- "\tldr r1, _080E3BD0 @ =gSprites\n"
- "\tlsls r0, r5, 4\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 2\n"
- "\tadds r0, r1\n"
- "\tldrb r0, [r0, 0x5]\n"
- "\tlsrs r0, 4\n"
- "\tlsls r0, 4\n"
- "\tmovs r2, 0x80\n"
- "\tlsls r2, 1\n"
- "\tadds r1, r2, 0\n"
- "\torrs r0, r1\n"
- "\tldr r3, _080E3BE4 @ =0x00007fff\n"
- "\tmovs r1, 0x10\n"
- "\tmovs r2, 0x6\n"
- "\tbl BlendPalette\n"
- "_080E3BBE:\n"
- "\tldr r0, _080E3BE8 @ =gTasks\n"
- "\tmov r3, r8\n"
- "\tlsls r1, r3, 2\n"
- "\tadd r1, r8\n"
- "\tlsls r1, 3\n"
- "\tadds r1, r0\n"
- "\tstrh r5, [r1, 0x26]\n"
- "\tb _080E3D82\n"
- "\t.align 2, 0\n"
- "_080E3BD0: .4byte gSprites\n"
- "_080E3BD4: .4byte 0x0000ffe0\n"
- "_080E3BD8: .4byte gBattleAnimTarget\n"
- "_080E3BDC: .4byte gBattleAnimAttacker\n"
- "_080E3BE0: .4byte gBattleSpritesDataPtr\n"
- "_080E3BE4: .4byte 0x00007fff\n"
- "_080E3BE8: .4byte gTasks\n"
- "_080E3BEC:\n"
- "\tldr r1, _080E3C38 @ =gTasks\n"
- "\tmov r0, r8\n"
- "\tlsls r4, r0, 2\n"
- "\tadds r0, r4, r0\n"
- "\tlsls r0, 3\n"
- "\tadds r6, r0, r1\n"
- "\tldrh r0, [r6, 0x26]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r5, r0, 24\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 4\n"
- "\tadds r0, r1, 0\n"
- "\tldrh r2, [r6, 0xA]\n"
- "\tadds r0, r2\n"
- "\tstrh r0, [r6, 0xA]\n"
- "\tldr r0, _080E3C3C @ =gBattleAnimAttacker\n"
- "\tldrb r0, [r0]\n"
- "\tbl GetBattlerSide\n"
- "\tlsls r0, 24\n"
- "\tmov r9, r4\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3C44\n"
- "\tldr r3, _080E3C40 @ =gSprites\n"
- "\tlsls r4, r5, 4\n"
- "\tadds r2, r4, r5\n"
- "\tlsls r2, 2\n"
- "\tadds r2, r3\n"
- "\tldrh r1, [r6, 0xA]\n"
- "\tlsls r1, 16\n"
- "\tasrs r1, 24\n"
- "\tldrh r0, [r2, 0x24]\n"
- "\tsubs r0, r1\n"
- "\tstrh r0, [r2, 0x24]\n"
- "\tadds r2, r3, 0\n"
- "\tadds r3, r4, 0\n"
- "\tb _080E3C5A\n"
- "\t.align 2, 0\n"
- "_080E3C38: .4byte gTasks\n"
- "_080E3C3C: .4byte gBattleAnimAttacker\n"
- "_080E3C40: .4byte gSprites\n"
- "_080E3C44:\n"
- "\tldr r2, _080E3CA8 @ =gSprites\n"
- "\tlsls r3, r5, 4\n"
- "\tadds r1, r3, r5\n"
- "\tlsls r1, 2\n"
- "\tadds r1, r2\n"
- "\tldrh r0, [r6, 0xA]\n"
- "\tlsls r0, 16\n"
- "\tasrs r0, 24\n"
- "\tldrh r4, [r1, 0x24]\n"
- "\tadds r0, r4\n"
- "\tstrh r0, [r1, 0x24]\n"
- "_080E3C5A:\n"
- "\tldr r1, _080E3CAC @ =gTasks\n"
- "\tmov r0, r9\n"
- "\tadd r0, r8\n"
- "\tlsls r0, 3\n"
- "\tadds r6, r0, r1\n"
- "\tldrb r0, [r6, 0xA]\n"
- "\tstrh r0, [r6, 0xA]\n"
- "\tadds r1, r3, r5\n"
- "\tlsls r1, 2\n"
- "\tadds r1, r2\n"
- "\tldrh r0, [r1, 0x24]\n"
- "\tldrh r1, [r1, 0x20]\n"
- "\tadds r0, r1\n"
- "\tlsls r0, 16\n"
- "\tlsrs r5, r0, 16\n"
- "\tmovs r1, 0x24\n"
- "\tldrsh r0, [r6, r1]\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3CDA\n"
- "\tldr r0, _080E3CB0 @ =gBattleAnimAttacker\n"
- "\tldrb r0, [r0]\n"
- "\tbl GetBattlerSide\n"
- "\tlsls r0, 24\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3CB8\n"
- "\tlsls r4, r5, 16\n"
- "\tasrs r4, 16\n"
- "\tldr r0, _080E3CB4 @ =gBattleAnimTarget\n"
- "\tldrb r0, [r0]\n"
- "\tmovs r1, 0\n"
- "\tbl GetBattlerSpriteCoord\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r4, r0\n"
- "\tbge _080E3CDA\n"
- "\tb _080E3CCE\n"
- "\t.align 2, 0\n"
- "_080E3CA8: .4byte gSprites\n"
- "_080E3CAC: .4byte gTasks\n"
- "_080E3CB0: .4byte gBattleAnimAttacker\n"
- "_080E3CB4: .4byte gBattleAnimTarget\n"
- "_080E3CB8:\n"
- "\tlsls r4, r5, 16\n"
- "\tasrs r4, 16\n"
- "\tldr r0, _080E3CFC @ =gBattleAnimTarget\n"
- "\tldrb r0, [r0]\n"
- "\tmovs r1, 0\n"
- "\tbl GetBattlerSpriteCoord\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tcmp r4, r0\n"
- "\tble _080E3CDA\n"
- "_080E3CCE:\n"
- "\tldrh r0, [r6, 0x24]\n"
- "\tadds r0, 0x1\n"
- "\tstrh r0, [r6, 0x24]\n"
- "\tldr r1, _080E3D00 @ =gBattleAnimArgs\n"
- "\tldr r0, _080E3D04 @ =0x0000ffff\n"
- "\tstrh r0, [r1, 0xE]\n"
- "_080E3CDA:\n"
- "\tlsls r0, r5, 16\n"
- "\tmovs r2, 0x80\n"
- "\tlsls r2, 14\n"
- "\tadds r0, r2\n"
- "\tmovs r1, 0x98\n"
- "\tlsls r1, 17\n"
- "\tcmp r0, r1\n"
- "\tbhi _080E3CEC\n"
- "\tb _080E3E6C\n"
- "_080E3CEC:\n"
- "\tldr r0, _080E3D08 @ =gTasks\n"
- "\tmov r1, r9\n"
- "\tadd r1, r8\n"
- "\tlsls r1, 3\n"
- "\tadds r1, r0\n"
- "\tmovs r0, 0\n"
- "\tstrh r0, [r1, 0xA]\n"
- "\tb _080E3D82\n"
- "\t.align 2, 0\n"
- "_080E3CFC: .4byte gBattleAnimTarget\n"
- "_080E3D00: .4byte gBattleAnimArgs\n"
- "_080E3D04: .4byte 0x0000ffff\n"
- "_080E3D08: .4byte gTasks\n"
- "_080E3D0C:\n"
- "\tmovs r0, 0\n"
- "\tbl GetAnimBattlerSpriteId\n"
- "\tlsls r0, 24\n"
- "\tlsrs r7, r0, 24\n"
- "\tldr r1, _080E3D58 @ =gTasks\n"
- "\tmov r3, r8\n"
- "\tlsls r4, r3, 2\n"
- "\tadds r0, r4, r3\n"
- "\tlsls r0, 3\n"
- "\tadds r0, r1\n"
- "\tldrh r0, [r0, 0x26]\n"
- "\tlsls r0, 24\n"
- "\tlsrs r5, r0, 24\n"
- "\tlsls r0, r5, 4\n"
- "\tadds r0, r5\n"
- "\tlsls r0, 2\n"
- "\tldr r5, _080E3D5C @ =gSprites\n"
- "\tadds r0, r5\n"
- "\tbl DestroySpriteAndFreeResources_\n"
- "\tldr r0, _080E3D60 @ =gBattleAnimAttacker\n"
- "\tldrb r0, [r0]\n"
- "\tbl GetBattlerSide\n"
- "\tlsls r0, 24\n"
- "\tmov r9, r4\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3D64\n"
- "\tlsls r1, r7, 4\n"
- "\tadds r1, r7\n"
- "\tlsls r1, 2\n"
- "\tadds r1, r5\n"
- "\tldrh r0, [r1, 0x20]\n"
- "\tnegs r0, r0\n"
- "\tsubs r0, 0x20\n"
- "\tstrh r0, [r1, 0x24]\n"
- "\tb _080E3D78\n"
- "\t.align 2, 0\n"
- "_080E3D58: .4byte gTasks\n"
- "_080E3D5C: .4byte gSprites\n"
- "_080E3D60: .4byte gBattleAnimAttacker\n"
- "_080E3D64:\n"
- "\tlsls r0, r7, 4\n"
- "\tadds r0, r7\n"
- "\tlsls r0, 2\n"
- "\tadds r0, r5\n"
- "\tldrh r2, [r0, 0x20]\n"
- "\tmovs r4, 0x88\n"
- "\tlsls r4, 1\n"
- "\tadds r1, r4, 0\n"
- "\tsubs r1, r2\n"
- "\tstrh r1, [r0, 0x24]\n"
- "_080E3D78:\n"
- "\tldr r0, _080E3D8C @ =gTasks\n"
- "\tmov r1, r9\n"
- "\tadd r1, r8\n"
- "\tlsls r1, 3\n"
- "\tadds r1, r0\n"
- "_080E3D82:\n"
- "\tldrh r0, [r1, 0x8]\n"
- "\tadds r0, 0x1\n"
- "\tstrh r0, [r1, 0x8]\n"
- "\tb _080E3E6C\n"
- "\t.align 2, 0\n"
- "_080E3D8C: .4byte gTasks\n"
- "_080E3D90:\n"
- "\tmovs r0, 0\n"
- "\tbl GetAnimBattlerSpriteId\n"
- "\tlsls r0, 24\n"
- "\tlsrs r7, r0, 24\n"
- "\tldr r1, _080E3E04 @ =gTasks\n"
- "\tmov r0, r8\n"
- "\tlsls r4, r0, 2\n"
- "\tadds r0, r4, r0\n"
- "\tlsls r0, 3\n"
- "\tadds r2, r0, r1\n"
- "\tmovs r1, 0x80\n"
- "\tlsls r1, 4\n"
- "\tadds r0, r1, 0\n"
- "\tldrh r3, [r2, 0xA]\n"
- "\tadds r0, r3\n"
- "\tstrh r0, [r2, 0xA]\n"
- "\tldr r0, _080E3E08 @ =gBattleAnimAttacker\n"
- "\tmov r10, r0\n"
- "\tldrb r0, [r0]\n"
- "\tstr r2, [sp, 0x18]\n"
- "\tbl GetBattlerSide\n"
- "\tlsls r0, 24\n"
- "\tmov r9, r4\n"
- "\tldr r2, [sp, 0x18]\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3E10\n"
- "\tldr r1, _080E3E0C @ =gSprites\n"
- "\tlsls r5, r7, 4\n"
- "\tadds r0, r5, r7\n"
- "\tlsls r0, 2\n"
- "\tadds r6, r0, r1\n"
- "\tldrh r0, [r2, 0xA]\n"
- "\tlsls r0, 16\n"
- "\tasrs r0, 24\n"
- "\tldrh r1, [r6, 0x24]\n"
- "\tadds r0, r1\n"
- "\tstrh r0, [r6, 0x24]\n"
- "\tmovs r2, 0x24\n"
- "\tldrsh r4, [r6, r2]\n"
- "\tmovs r3, 0x20\n"
- "\tldrsh r0, [r6, r3]\n"
- "\tadds r4, r0\n"
- "\tmov r1, r10\n"
- "\tldrb r0, [r1]\n"
- "\tmovs r1, 0\n"
- "\tbl GetBattlerSpriteCoord\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tadds r3, r5, 0\n"
- "\tcmp r4, r0\n"
- "\tblt _080E3E48\n"
- "\tmovs r2, 0\n"
- "\tstrh r2, [r6, 0x24]\n"
- "\tb _080E3E48\n"
- "\t.align 2, 0\n"
- "_080E3E04: .4byte gTasks\n"
- "_080E3E08: .4byte gBattleAnimAttacker\n"
- "_080E3E0C: .4byte gSprites\n"
- "_080E3E10:\n"
- "\tldr r1, _080E3E7C @ =gSprites\n"
- "\tlsls r5, r7, 4\n"
- "\tadds r0, r5, r7\n"
- "\tlsls r0, 2\n"
- "\tadds r6, r0, r1\n"
- "\tldrh r1, [r2, 0xA]\n"
- "\tlsls r1, 16\n"
- "\tasrs r1, 24\n"
- "\tldrh r0, [r6, 0x24]\n"
- "\tsubs r0, r1\n"
- "\tstrh r0, [r6, 0x24]\n"
- "\tmovs r3, 0x24\n"
- "\tldrsh r4, [r6, r3]\n"
- "\tmovs r1, 0x20\n"
- "\tldrsh r0, [r6, r1]\n"
- "\tadds r4, r0\n"
- "\tmov r2, r10\n"
- "\tldrb r0, [r2]\n"
- "\tmovs r1, 0\n"
- "\tbl GetBattlerSpriteCoord\n"
- "\tlsls r0, 24\n"
- "\tlsrs r0, 24\n"
- "\tadds r3, r5, 0\n"
- "\tcmp r4, r0\n"
- "\tbgt _080E3E48\n"
- "\tmovs r4, 0\n"
- "\tstrh r4, [r6, 0x24]\n"
- "_080E3E48:\n"
- "\tldr r1, _080E3E80 @ =gTasks\n"
- "\tmov r0, r9\n"
- "\tadd r0, r8\n"
- "\tlsls r0, 3\n"
- "\tadds r0, r1\n"
- "\tldrb r1, [r0, 0xA]\n"
- "\tstrh r1, [r0, 0xA]\n"
- "\tldr r1, _080E3E7C @ =gSprites\n"
- "\tadds r0, r3, r7\n"
- "\tlsls r0, 2\n"
- "\tadds r0, r1\n"
- "\tmovs r1, 0x24\n"
- "\tldrsh r0, [r0, r1]\n"
- "\tcmp r0, 0\n"
- "\tbne _080E3E6C\n"
- "\tmov r0, r8\n"
- "\tbl DestroyAnimVisualTask\n"
- "_080E3E6C:\n"
- "\tadd sp, 0x1C\n"
- "\tpop {r3-r5}\n"
- "\tmov r8, r3\n"
- "\tmov r9, r4\n"
- "\tmov r10, r5\n"
- "\tpop {r4-r7}\n"
- "\tpop {r0}\n"
- "\tbx r0\n"
- "\t.align 2, 0\n"
- "_080E3E7C: .4byte gSprites\n"
- "_080E3E80: .4byte gTasks\n");
+ asm_unified("\tpush {r4-r7,lr}\n"
+ "\tmov r7, r10\n"
+ "\tmov r6, r9\n"
+ "\tmov r5, r8\n"
+ "\tpush {r5-r7}\n"
+ "\tsub sp, 0x1C\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tmov r8, r0\n"
+ "\tldr r1, _080E395C @ =gTasks\n"
+ "\tlsls r0, 2\n"
+ "\tadd r0, r8\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tmovs r1, 0x8\n"
+ "\tldrsh r0, [r0, r1]\n"
+ "\tcmp r0, 0x4\n"
+ "\tbls _080E3952\n"
+ "\tb _080E3E6C\n"
+ "_080E3952:\n"
+ "\tlsls r0, 2\n"
+ "\tldr r1, _080E3960 @ =_080E3964\n"
+ "\tadds r0, r1\n"
+ "\tldr r0, [r0]\n"
+ "\tmov pc, r0\n"
+ "\t.align 2, 0\n"
+ "_080E395C: .4byte gTasks\n"
+ "_080E3960: .4byte _080E3964\n"
+ "\t.align 2, 0\n"
+ "_080E3964:\n"
+ "\t.4byte _080E3978\n"
+ "\t.4byte _080E3A2C\n"
+ "\t.4byte _080E3BEC\n"
+ "\t.4byte _080E3D0C\n"
+ "\t.4byte _080E3D90\n"
+ "_080E3978:\n"
+ "\tmovs r0, 0\n"
+ "\tbl GetAnimBattlerSpriteId\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r7, r0, 24\n"
+ "\tldr r1, _080E39C4 @ =gTasks\n"
+ "\tmov r2, r8\n"
+ "\tlsls r4, r2, 2\n"
+ "\tadds r0, r4, r2\n"
+ "\tlsls r0, 3\n"
+ "\tadds r6, r0, r1\n"
+ "\tmovs r3, 0x80\n"
+ "\tlsls r3, 4\n"
+ "\tadds r0, r3, 0\n"
+ "\tldrh r1, [r6, 0xA]\n"
+ "\tadds r0, r1\n"
+ "\tstrh r0, [r6, 0xA]\n"
+ "\tldr r0, _080E39C8 @ =gBattleAnimAttacker\n"
+ "\tldrb r0, [r0]\n"
+ "\tbl GetBattlerSide\n"
+ "\tlsls r0, 24\n"
+ "\tmov r9, r4\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E39D0\n"
+ "\tldr r2, _080E39CC @ =gSprites\n"
+ "\tlsls r3, r7, 4\n"
+ "\tadds r1, r3, r7\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r2\n"
+ "\tldrh r0, [r6, 0xA]\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r0, 24\n"
+ "\tldrh r4, [r1, 0x24]\n"
+ "\tadds r0, r4\n"
+ "\tstrh r0, [r1, 0x24]\n"
+ "\tb _080E39EA\n"
+ "\t.align 2, 0\n"
+ "_080E39C4: .4byte gTasks\n"
+ "_080E39C8: .4byte gBattleAnimAttacker\n"
+ "_080E39CC: .4byte gSprites\n"
+ "_080E39D0:\n"
+ "\tldr r3, _080E3A24 @ =gSprites\n"
+ "\tlsls r4, r7, 4\n"
+ "\tadds r2, r4, r7\n"
+ "\tlsls r2, 2\n"
+ "\tadds r2, r3\n"
+ "\tldrh r1, [r6, 0xA]\n"
+ "\tlsls r1, 16\n"
+ "\tasrs r1, 24\n"
+ "\tldrh r0, [r2, 0x24]\n"
+ "\tsubs r0, r1\n"
+ "\tstrh r0, [r2, 0x24]\n"
+ "\tadds r2, r3, 0\n"
+ "\tadds r3, r4, 0\n"
+ "_080E39EA:\n"
+ "\tldr r1, _080E3A28 @ =gTasks\n"
+ "\tmov r0, r9\n"
+ "\tadd r0, r8\n"
+ "\tlsls r0, 3\n"
+ "\tadds r4, r0, r1\n"
+ "\tldrb r0, [r4, 0xA]\n"
+ "\tstrh r0, [r4, 0xA]\n"
+ "\tadds r1, r3, r7\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r2\n"
+ "\tldrh r0, [r1, 0x24]\n"
+ "\tldrh r1, [r1, 0x20]\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 16\n"
+ "\tmovs r1, 0x80\n"
+ "\tlsls r1, 14\n"
+ "\tadds r0, r1\n"
+ "\tmovs r1, 0x98\n"
+ "\tlsls r1, 17\n"
+ "\tcmp r0, r1\n"
+ "\tbhi _080E3A16\n"
+ "\tb _080E3E6C\n"
+ "_080E3A16:\n"
+ "\tmovs r0, 0\n"
+ "\tstrh r0, [r4, 0xA]\n"
+ "\tldrh r0, [r4, 0x8]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r4, 0x8]\n"
+ "\tb _080E3E6C\n"
+ "\t.align 2, 0\n"
+ "_080E3A24: .4byte gSprites\n"
+ "_080E3A28: .4byte gTasks\n"
+ "_080E3A2C:\n"
+ "\tldr r4, _080E3A90 @ =gBattleAnimAttacker\n"
+ "\tldrb r0, [r4]\n"
+ "\tbl GetBattlerSide\n"
+ "\tlsls r0, 24\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3ACC\n"
+ "\tldr r7, _080E3A94 @ =gBattlerPartyIndexes\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r0, r7\n"
+ "\tldrh r0, [r0]\n"
+ "\tmovs r6, 0x64\n"
+ "\tmuls r0, r6\n"
+ "\tldr r5, _080E3A98 @ =gPlayerParty\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0\n"
+ "\tbl GetMonData\n"
+ "\tmov r10, r0\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r0, r7\n"
+ "\tldrh r0, [r0]\n"
+ "\tmuls r0, r6\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0x1\n"
+ "\tbl GetMonData\n"
+ "\tmov r9, r0\n"
+ "\tldr r0, _080E3A9C @ =gBattleSpritesDataPtr\n"
+ "\tldr r0, [r0]\n"
+ "\tldrb r2, [r4]\n"
+ "\tldr r1, [r0]\n"
+ "\tlsls r0, r2, 2\n"
+ "\tadds r1, r0, r1\n"
+ "\tldrh r0, [r1, 0x2]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3AA0\n"
+ "\tlsls r0, r2, 1\n"
+ "\tadds r0, r7\n"
+ "\tldrh r0, [r0]\n"
+ "\tmuls r0, r6\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0xB\n"
+ "\tbl GetMonData\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tb _080E3AA2\n"
+ "\t.align 2, 0\n"
+ "_080E3A90: .4byte gBattleAnimAttacker\n"
+ "_080E3A94: .4byte gBattlerPartyIndexes\n"
+ "_080E3A98: .4byte gPlayerParty\n"
+ "_080E3A9C: .4byte gBattleSpritesDataPtr\n"
+ "_080E3AA0:\n"
+ "\tldrh r5, [r1, 0x2]\n"
+ "_080E3AA2:\n"
+ "\tmovs r0, 0x1\n"
+ "\tbl GetAnimBattlerSpriteId\n"
+ "\tldr r2, _080E3AC8 @ =gSprites\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tlsls r1, r0, 4\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r2\n"
+ "\tadds r1, 0x43\n"
+ "\tldrb r0, [r1]\n"
+ "\tadds r0, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tmovs r7, 0\n"
+ "\tmovs r6, 0x88\n"
+ "\tlsls r6, 1\n"
+ "\tb _080E3B54\n"
+ "\t.align 2, 0\n"
+ "_080E3AC8: .4byte gSprites\n"
+ "_080E3ACC:\n"
+ "\tldr r7, _080E3B24 @ =gBattlerPartyIndexes\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r0, r7\n"
+ "\tldrh r0, [r0]\n"
+ "\tmovs r6, 0x64\n"
+ "\tmuls r0, r6\n"
+ "\tldr r5, _080E3B28 @ =gEnemyParty\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0\n"
+ "\tbl GetMonData\n"
+ "\tmov r10, r0\n"
+ "\tldrb r0, [r4]\n"
+ "\tlsls r0, 1\n"
+ "\tadds r0, r7\n"
+ "\tldrh r0, [r0]\n"
+ "\tmuls r0, r6\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0x1\n"
+ "\tbl GetMonData\n"
+ "\tmov r9, r0\n"
+ "\tldr r0, _080E3B2C @ =gBattleSpritesDataPtr\n"
+ "\tldr r0, [r0]\n"
+ "\tldrb r2, [r4]\n"
+ "\tldr r1, [r0]\n"
+ "\tlsls r0, r2, 2\n"
+ "\tadds r1, r0, r1\n"
+ "\tldrh r0, [r1, 0x2]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3B30\n"
+ "\tlsls r0, r2, 1\n"
+ "\tadds r0, r7\n"
+ "\tldrh r0, [r0]\n"
+ "\tmuls r0, r6\n"
+ "\tadds r0, r5\n"
+ "\tmovs r1, 0xB\n"
+ "\tbl GetMonData\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tb _080E3B32\n"
+ "\t.align 2, 0\n"
+ "_080E3B24: .4byte gBattlerPartyIndexes\n"
+ "_080E3B28: .4byte gEnemyParty\n"
+ "_080E3B2C: .4byte gBattleSpritesDataPtr\n"
+ "_080E3B30:\n"
+ "\tldrh r5, [r1, 0x2]\n"
+ "_080E3B32:\n"
+ "\tmovs r0, 0x1\n"
+ "\tbl GetAnimBattlerSpriteId\n"
+ "\tldr r2, _080E3BD0 @ =gSprites\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tlsls r1, r0, 4\n"
+ "\tadds r1, r0\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r2\n"
+ "\tadds r1, 0x43\n"
+ "\tldrb r0, [r1]\n"
+ "\tsubs r0, 0x1\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r4, r0, 24\n"
+ "\tmovs r7, 0x1\n"
+ "\tldr r6, _080E3BD4 @ =0x0000ffe0\n"
+ "_080E3B54:\n"
+ "\tldr r0, _080E3BD8 @ =gBattleAnimTarget\n"
+ "\tldrb r0, [r0]\n"
+ "\tmovs r1, 0x1\n"
+ "\tbl GetBattlerSpriteCoord\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tlsls r3, r6, 16\n"
+ "\tasrs r3, 16\n"
+ "\tstr r0, [sp]\n"
+ "\tstr r4, [sp, 0x4]\n"
+ "\tmov r2, r10\n"
+ "\tstr r2, [sp, 0x8]\n"
+ "\tmov r4, r9\n"
+ "\tstr r4, [sp, 0xC]\n"
+ "\tldr r4, _080E3BDC @ =gBattleAnimAttacker\n"
+ "\tldrb r0, [r4]\n"
+ "\tstr r0, [sp, 0x10]\n"
+ "\tmovs r0, 0\n"
+ "\tstr r0, [sp, 0x14]\n"
+ "\tadds r0, r5, 0\n"
+ "\tadds r1, r7, 0\n"
+ "\tmovs r2, 0\n"
+ "\tbl sub_80768D0\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r5, r0, 24\n"
+ "\tldr r0, _080E3BE0 @ =gBattleSpritesDataPtr\n"
+ "\tldr r1, [r0]\n"
+ "\tldrb r0, [r4]\n"
+ "\tldr r1, [r1]\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tldrh r0, [r0, 0x2]\n"
+ "\tcmp r0, 0\n"
+ "\tbeq _080E3BBE\n"
+ "\tldr r1, _080E3BD0 @ =gSprites\n"
+ "\tlsls r0, r5, 4\n"
+ "\tadds r0, r5\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tldrb r0, [r0, 0x5]\n"
+ "\tlsrs r0, 4\n"
+ "\tlsls r0, 4\n"
+ "\tmovs r2, 0x80\n"
+ "\tlsls r2, 1\n"
+ "\tadds r1, r2, 0\n"
+ "\torrs r0, r1\n"
+ "\tldr r3, _080E3BE4 @ =0x00007fff\n"
+ "\tmovs r1, 0x10\n"
+ "\tmovs r2, 0x6\n"
+ "\tbl BlendPalette\n"
+ "_080E3BBE:\n"
+ "\tldr r0, _080E3BE8 @ =gTasks\n"
+ "\tmov r3, r8\n"
+ "\tlsls r1, r3, 2\n"
+ "\tadd r1, r8\n"
+ "\tlsls r1, 3\n"
+ "\tadds r1, r0\n"
+ "\tstrh r5, [r1, 0x26]\n"
+ "\tb _080E3D82\n"
+ "\t.align 2, 0\n"
+ "_080E3BD0: .4byte gSprites\n"
+ "_080E3BD4: .4byte 0x0000ffe0\n"
+ "_080E3BD8: .4byte gBattleAnimTarget\n"
+ "_080E3BDC: .4byte gBattleAnimAttacker\n"
+ "_080E3BE0: .4byte gBattleSpritesDataPtr\n"
+ "_080E3BE4: .4byte 0x00007fff\n"
+ "_080E3BE8: .4byte gTasks\n"
+ "_080E3BEC:\n"
+ "\tldr r1, _080E3C38 @ =gTasks\n"
+ "\tmov r0, r8\n"
+ "\tlsls r4, r0, 2\n"
+ "\tadds r0, r4, r0\n"
+ "\tlsls r0, 3\n"
+ "\tadds r6, r0, r1\n"
+ "\tldrh r0, [r6, 0x26]\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r5, r0, 24\n"
+ "\tmovs r1, 0x80\n"
+ "\tlsls r1, 4\n"
+ "\tadds r0, r1, 0\n"
+ "\tldrh r2, [r6, 0xA]\n"
+ "\tadds r0, r2\n"
+ "\tstrh r0, [r6, 0xA]\n"
+ "\tldr r0, _080E3C3C @ =gBattleAnimAttacker\n"
+ "\tldrb r0, [r0]\n"
+ "\tbl GetBattlerSide\n"
+ "\tlsls r0, 24\n"
+ "\tmov r9, r4\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3C44\n"
+ "\tldr r3, _080E3C40 @ =gSprites\n"
+ "\tlsls r4, r5, 4\n"
+ "\tadds r2, r4, r5\n"
+ "\tlsls r2, 2\n"
+ "\tadds r2, r3\n"
+ "\tldrh r1, [r6, 0xA]\n"
+ "\tlsls r1, 16\n"
+ "\tasrs r1, 24\n"
+ "\tldrh r0, [r2, 0x24]\n"
+ "\tsubs r0, r1\n"
+ "\tstrh r0, [r2, 0x24]\n"
+ "\tadds r2, r3, 0\n"
+ "\tadds r3, r4, 0\n"
+ "\tb _080E3C5A\n"
+ "\t.align 2, 0\n"
+ "_080E3C38: .4byte gTasks\n"
+ "_080E3C3C: .4byte gBattleAnimAttacker\n"
+ "_080E3C40: .4byte gSprites\n"
+ "_080E3C44:\n"
+ "\tldr r2, _080E3CA8 @ =gSprites\n"
+ "\tlsls r3, r5, 4\n"
+ "\tadds r1, r3, r5\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r2\n"
+ "\tldrh r0, [r6, 0xA]\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r0, 24\n"
+ "\tldrh r4, [r1, 0x24]\n"
+ "\tadds r0, r4\n"
+ "\tstrh r0, [r1, 0x24]\n"
+ "_080E3C5A:\n"
+ "\tldr r1, _080E3CAC @ =gTasks\n"
+ "\tmov r0, r9\n"
+ "\tadd r0, r8\n"
+ "\tlsls r0, 3\n"
+ "\tadds r6, r0, r1\n"
+ "\tldrb r0, [r6, 0xA]\n"
+ "\tstrh r0, [r6, 0xA]\n"
+ "\tadds r1, r3, r5\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r2\n"
+ "\tldrh r0, [r1, 0x24]\n"
+ "\tldrh r1, [r1, 0x20]\n"
+ "\tadds r0, r1\n"
+ "\tlsls r0, 16\n"
+ "\tlsrs r5, r0, 16\n"
+ "\tmovs r1, 0x24\n"
+ "\tldrsh r0, [r6, r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3CDA\n"
+ "\tldr r0, _080E3CB0 @ =gBattleAnimAttacker\n"
+ "\tldrb r0, [r0]\n"
+ "\tbl GetBattlerSide\n"
+ "\tlsls r0, 24\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3CB8\n"
+ "\tlsls r4, r5, 16\n"
+ "\tasrs r4, 16\n"
+ "\tldr r0, _080E3CB4 @ =gBattleAnimTarget\n"
+ "\tldrb r0, [r0]\n"
+ "\tmovs r1, 0\n"
+ "\tbl GetBattlerSpriteCoord\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tcmp r4, r0\n"
+ "\tbge _080E3CDA\n"
+ "\tb _080E3CCE\n"
+ "\t.align 2, 0\n"
+ "_080E3CA8: .4byte gSprites\n"
+ "_080E3CAC: .4byte gTasks\n"
+ "_080E3CB0: .4byte gBattleAnimAttacker\n"
+ "_080E3CB4: .4byte gBattleAnimTarget\n"
+ "_080E3CB8:\n"
+ "\tlsls r4, r5, 16\n"
+ "\tasrs r4, 16\n"
+ "\tldr r0, _080E3CFC @ =gBattleAnimTarget\n"
+ "\tldrb r0, [r0]\n"
+ "\tmovs r1, 0\n"
+ "\tbl GetBattlerSpriteCoord\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tcmp r4, r0\n"
+ "\tble _080E3CDA\n"
+ "_080E3CCE:\n"
+ "\tldrh r0, [r6, 0x24]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r6, 0x24]\n"
+ "\tldr r1, _080E3D00 @ =gBattleAnimArgs\n"
+ "\tldr r0, _080E3D04 @ =0x0000ffff\n"
+ "\tstrh r0, [r1, 0xE]\n"
+ "_080E3CDA:\n"
+ "\tlsls r0, r5, 16\n"
+ "\tmovs r2, 0x80\n"
+ "\tlsls r2, 14\n"
+ "\tadds r0, r2\n"
+ "\tmovs r1, 0x98\n"
+ "\tlsls r1, 17\n"
+ "\tcmp r0, r1\n"
+ "\tbhi _080E3CEC\n"
+ "\tb _080E3E6C\n"
+ "_080E3CEC:\n"
+ "\tldr r0, _080E3D08 @ =gTasks\n"
+ "\tmov r1, r9\n"
+ "\tadd r1, r8\n"
+ "\tlsls r1, 3\n"
+ "\tadds r1, r0\n"
+ "\tmovs r0, 0\n"
+ "\tstrh r0, [r1, 0xA]\n"
+ "\tb _080E3D82\n"
+ "\t.align 2, 0\n"
+ "_080E3CFC: .4byte gBattleAnimTarget\n"
+ "_080E3D00: .4byte gBattleAnimArgs\n"
+ "_080E3D04: .4byte 0x0000ffff\n"
+ "_080E3D08: .4byte gTasks\n"
+ "_080E3D0C:\n"
+ "\tmovs r0, 0\n"
+ "\tbl GetAnimBattlerSpriteId\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r7, r0, 24\n"
+ "\tldr r1, _080E3D58 @ =gTasks\n"
+ "\tmov r3, r8\n"
+ "\tlsls r4, r3, 2\n"
+ "\tadds r0, r4, r3\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tldrh r0, [r0, 0x26]\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r5, r0, 24\n"
+ "\tlsls r0, r5, 4\n"
+ "\tadds r0, r5\n"
+ "\tlsls r0, 2\n"
+ "\tldr r5, _080E3D5C @ =gSprites\n"
+ "\tadds r0, r5\n"
+ "\tbl DestroySpriteAndFreeResources_\n"
+ "\tldr r0, _080E3D60 @ =gBattleAnimAttacker\n"
+ "\tldrb r0, [r0]\n"
+ "\tbl GetBattlerSide\n"
+ "\tlsls r0, 24\n"
+ "\tmov r9, r4\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3D64\n"
+ "\tlsls r1, r7, 4\n"
+ "\tadds r1, r7\n"
+ "\tlsls r1, 2\n"
+ "\tadds r1, r5\n"
+ "\tldrh r0, [r1, 0x20]\n"
+ "\tnegs r0, r0\n"
+ "\tsubs r0, 0x20\n"
+ "\tstrh r0, [r1, 0x24]\n"
+ "\tb _080E3D78\n"
+ "\t.align 2, 0\n"
+ "_080E3D58: .4byte gTasks\n"
+ "_080E3D5C: .4byte gSprites\n"
+ "_080E3D60: .4byte gBattleAnimAttacker\n"
+ "_080E3D64:\n"
+ "\tlsls r0, r7, 4\n"
+ "\tadds r0, r7\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r5\n"
+ "\tldrh r2, [r0, 0x20]\n"
+ "\tmovs r4, 0x88\n"
+ "\tlsls r4, 1\n"
+ "\tadds r1, r4, 0\n"
+ "\tsubs r1, r2\n"
+ "\tstrh r1, [r0, 0x24]\n"
+ "_080E3D78:\n"
+ "\tldr r0, _080E3D8C @ =gTasks\n"
+ "\tmov r1, r9\n"
+ "\tadd r1, r8\n"
+ "\tlsls r1, 3\n"
+ "\tadds r1, r0\n"
+ "_080E3D82:\n"
+ "\tldrh r0, [r1, 0x8]\n"
+ "\tadds r0, 0x1\n"
+ "\tstrh r0, [r1, 0x8]\n"
+ "\tb _080E3E6C\n"
+ "\t.align 2, 0\n"
+ "_080E3D8C: .4byte gTasks\n"
+ "_080E3D90:\n"
+ "\tmovs r0, 0\n"
+ "\tbl GetAnimBattlerSpriteId\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r7, r0, 24\n"
+ "\tldr r1, _080E3E04 @ =gTasks\n"
+ "\tmov r0, r8\n"
+ "\tlsls r4, r0, 2\n"
+ "\tadds r0, r4, r0\n"
+ "\tlsls r0, 3\n"
+ "\tadds r2, r0, r1\n"
+ "\tmovs r1, 0x80\n"
+ "\tlsls r1, 4\n"
+ "\tadds r0, r1, 0\n"
+ "\tldrh r3, [r2, 0xA]\n"
+ "\tadds r0, r3\n"
+ "\tstrh r0, [r2, 0xA]\n"
+ "\tldr r0, _080E3E08 @ =gBattleAnimAttacker\n"
+ "\tmov r10, r0\n"
+ "\tldrb r0, [r0]\n"
+ "\tstr r2, [sp, 0x18]\n"
+ "\tbl GetBattlerSide\n"
+ "\tlsls r0, 24\n"
+ "\tmov r9, r4\n"
+ "\tldr r2, [sp, 0x18]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3E10\n"
+ "\tldr r1, _080E3E0C @ =gSprites\n"
+ "\tlsls r5, r7, 4\n"
+ "\tadds r0, r5, r7\n"
+ "\tlsls r0, 2\n"
+ "\tadds r6, r0, r1\n"
+ "\tldrh r0, [r2, 0xA]\n"
+ "\tlsls r0, 16\n"
+ "\tasrs r0, 24\n"
+ "\tldrh r1, [r6, 0x24]\n"
+ "\tadds r0, r1\n"
+ "\tstrh r0, [r6, 0x24]\n"
+ "\tmovs r2, 0x24\n"
+ "\tldrsh r4, [r6, r2]\n"
+ "\tmovs r3, 0x20\n"
+ "\tldrsh r0, [r6, r3]\n"
+ "\tadds r4, r0\n"
+ "\tmov r1, r10\n"
+ "\tldrb r0, [r1]\n"
+ "\tmovs r1, 0\n"
+ "\tbl GetBattlerSpriteCoord\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tadds r3, r5, 0\n"
+ "\tcmp r4, r0\n"
+ "\tblt _080E3E48\n"
+ "\tmovs r2, 0\n"
+ "\tstrh r2, [r6, 0x24]\n"
+ "\tb _080E3E48\n"
+ "\t.align 2, 0\n"
+ "_080E3E04: .4byte gTasks\n"
+ "_080E3E08: .4byte gBattleAnimAttacker\n"
+ "_080E3E0C: .4byte gSprites\n"
+ "_080E3E10:\n"
+ "\tldr r1, _080E3E7C @ =gSprites\n"
+ "\tlsls r5, r7, 4\n"
+ "\tadds r0, r5, r7\n"
+ "\tlsls r0, 2\n"
+ "\tadds r6, r0, r1\n"
+ "\tldrh r1, [r2, 0xA]\n"
+ "\tlsls r1, 16\n"
+ "\tasrs r1, 24\n"
+ "\tldrh r0, [r6, 0x24]\n"
+ "\tsubs r0, r1\n"
+ "\tstrh r0, [r6, 0x24]\n"
+ "\tmovs r3, 0x24\n"
+ "\tldrsh r4, [r6, r3]\n"
+ "\tmovs r1, 0x20\n"
+ "\tldrsh r0, [r6, r1]\n"
+ "\tadds r4, r0\n"
+ "\tmov r2, r10\n"
+ "\tldrb r0, [r2]\n"
+ "\tmovs r1, 0\n"
+ "\tbl GetBattlerSpriteCoord\n"
+ "\tlsls r0, 24\n"
+ "\tlsrs r0, 24\n"
+ "\tadds r3, r5, 0\n"
+ "\tcmp r4, r0\n"
+ "\tbgt _080E3E48\n"
+ "\tmovs r4, 0\n"
+ "\tstrh r4, [r6, 0x24]\n"
+ "_080E3E48:\n"
+ "\tldr r1, _080E3E80 @ =gTasks\n"
+ "\tmov r0, r9\n"
+ "\tadd r0, r8\n"
+ "\tlsls r0, 3\n"
+ "\tadds r0, r1\n"
+ "\tldrb r1, [r0, 0xA]\n"
+ "\tstrh r1, [r0, 0xA]\n"
+ "\tldr r1, _080E3E7C @ =gSprites\n"
+ "\tadds r0, r3, r7\n"
+ "\tlsls r0, 2\n"
+ "\tadds r0, r1\n"
+ "\tmovs r1, 0x24\n"
+ "\tldrsh r0, [r0, r1]\n"
+ "\tcmp r0, 0\n"
+ "\tbne _080E3E6C\n"
+ "\tmov r0, r8\n"
+ "\tbl DestroyAnimVisualTask\n"
+ "_080E3E6C:\n"
+ "\tadd sp, 0x1C\n"
+ "\tpop {r3-r5}\n"
+ "\tmov r8, r3\n"
+ "\tmov r9, r4\n"
+ "\tmov r10, r5\n"
+ "\tpop {r4-r7}\n"
+ "\tpop {r0}\n"
+ "\tbx r0\n"
+ "\t.align 2, 0\n"
+ "_080E3E7C: .4byte gSprites\n"
+ "_080E3E80: .4byte gTasks\n");
}
#endif
@@ -5972,6 +5796,7 @@ void AnimTask_SnatchPartnerMove(u8 taskId)
void AnimTask_TeeterDanceMovement(u8 taskId)
{
struct Task *task = &gTasks[taskId];
+
task->data[3] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[4] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER ? 1 : -1;
task->data[6] = gSprites[task->data[3]].pos1.y;
@@ -5986,6 +5811,7 @@ void AnimTask_TeeterDanceMovement(u8 taskId)
static void AnimTask_TeeterDanceMovementStep(u8 taskId)
{
struct Task *task = &gTasks[taskId];
+
switch (task->data[0])
{
case 0:
@@ -6157,6 +5983,7 @@ void AnimTask_GetWeather(u8 taskId)
void AnimTask_SlackOffSquish(u8 taskId)
{
struct Task *task = &gTasks[taskId];
+
task->data[0] = 0;
task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]);
PrepareAffineAnimInTaskData(task, task->data[15], gSlackOffSquishAffineAnimCmds);
diff --git a/src/battle_anim_special.c b/src/battle_anim_special.c
index 7d512b950..46bcc2cbb 100644
--- a/src/battle_anim_special.c
+++ b/src/battle_anim_special.c
@@ -39,15 +39,11 @@
#define HIHALF(n) (((n) & 0xFFFF0000) >> 16)
#define LOHALF(n) ((n) & 0xFFFF)
-// IWRAM
+// RAM
EWRAM_DATA int gUnknown_3005424 = 0;
EWRAM_DATA u16 gUnknown_3005428 = 0;
EWRAM_DATA u16 gUnknown_300542C = 0;
-//extern u32 gUnknown_3005424;
-//extern u32 gUnknown_3005428;
-//extern u32 gUnknown_300542C;
-
// Function Declarations
static void sub_80EEDF4(u8);
static void sub_80EF1CC(u8);
@@ -74,7 +70,7 @@ static void sub_80F05B4(u8);
static void sub_80F0278(struct Sprite *);
static void sub_80F0378(struct Sprite *);
static void sub_80F04B4(struct Sprite *);
-static void sub_80F052C(struct Sprite *sprite);
+static void GhostBallDodge(struct Sprite *sprite);
static void sub_80F0574(struct Sprite *sprite);
static void PokeBallOpenParticleAnimation_Step1(struct Sprite *);
static void PokeBallOpenParticleAnimation_Step2(struct Sprite *);
@@ -111,7 +107,7 @@ struct BallCaptureSuccessStarData
s8 unk2;
};
-static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] = //gUnknown_840BF3C
+static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] =
{
{
.xOffset = 10,
@@ -130,7 +126,7 @@ static const struct BallCaptureSuccessStarData sBallCaptureSuccessStarData[] = /
},
};
-const struct CompressedSpriteSheet gBallParticleSpritesheets[] = //gUnknown_840BF48
+const struct CompressedSpriteSheet gBallParticleSpritesheets[] =
{
{gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_POKEBALL},
{gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_GREATBALL},
@@ -146,7 +142,7 @@ const struct CompressedSpriteSheet gBallParticleSpritesheets[] = //gUnknown_840B
{gBattleAnimSpriteGfx_Particles, 0x100, TAG_PARTICLES_PREMIERBALL},
};
-const struct CompressedSpritePalette gBallParticlePalettes[] = //gUnknown_840BFA8
+const struct CompressedSpritePalette gBallParticlePalettes[] =
{
{gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_POKEBALL},
{gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_GREATBALL},
@@ -162,7 +158,7 @@ const struct CompressedSpritePalette gBallParticlePalettes[] = //gUnknown_840BFA
{gBattleAnimSpritePal_CircleImpact, TAG_PARTICLES_PREMIERBALL},
};
-const union AnimCmd gAnim_RegularBall[] = //gAnimCmd_840C008
+const union AnimCmd gAnim_RegularBall[] =
{
ANIMCMD_FRAME(0, 1),
ANIMCMD_FRAME(1, 1),
@@ -173,38 +169,38 @@ const union AnimCmd gAnim_RegularBall[] = //gAnimCmd_840C008
ANIMCMD_JUMP(0),
};
-const union AnimCmd gAnim_MasterBall[] = //gAnimCmd_840C024
+const union AnimCmd gAnim_MasterBall[] =
{
ANIMCMD_FRAME(3, 1),
ANIMCMD_END,
};
-const union AnimCmd gAnim_NetDiveBall[] = //gAnimCmd_840C02C
+const union AnimCmd gAnim_NetDiveBall[] =
{
ANIMCMD_FRAME(4, 1),
ANIMCMD_END,
};
-const union AnimCmd gAnim_NestBall[] = //gAnimCmd_840C034
+const union AnimCmd gAnim_NestBall[] =
{
ANIMCMD_FRAME(5, 1),
ANIMCMD_END,
};
-const union AnimCmd gAnim_LuxuryPremierBall[] = //gAnimCmd_840C03C
+const union AnimCmd gAnim_LuxuryPremierBall[] =
{
ANIMCMD_FRAME(6, 4),
ANIMCMD_FRAME(7, 4),
ANIMCMD_JUMP(0),
};
-const union AnimCmd gAnim_UltraRepeatTimerBall[] = //gAnimCmd_840C048
+const union AnimCmd gAnim_UltraRepeatTimerBall[] =
{
ANIMCMD_FRAME(7, 4),
ANIMCMD_END,
};
-const union AnimCmd *const gAnims_BallParticles[] = //gSpriteAnimTable_840C050
+const union AnimCmd *const gAnims_BallParticles[] =
{
gAnim_RegularBall,
gAnim_MasterBall,
@@ -214,7 +210,7 @@ const union AnimCmd *const gAnims_BallParticles[] = //gSpriteAnimTable_840C050
gAnim_UltraRepeatTimerBall,
};
-const u8 gBallParticleAnimNums[] = //gUnknown_840C068
+const u8 gBallParticleAnimNums[] =
{
[BALL_POKE] = 0,
[BALL_GREAT] = 0,
@@ -230,7 +226,7 @@ const u8 gBallParticleAnimNums[] = //gUnknown_840C068
[BALL_PREMIER] = 4,
};
-const TaskFunc gBallParticleAnimationFuncs[] = //gUnknown_840C074
+const TaskFunc gBallParticleAnimationFuncs[] =
{
PokeBallOpenParticleAnimation,
GreatBallOpenParticleAnimation,
@@ -246,7 +242,7 @@ const TaskFunc gBallParticleAnimationFuncs[] = //gUnknown_840C074
PremierBallOpenParticleAnimation,
};
-const struct SpriteTemplate gBallParticlesSpriteTemplates[] = //gUnknown_840C0A4
+const struct SpriteTemplate gBallParticlesSpriteTemplates[] =
{
{
.tileTag = TAG_PARTICLES_POKEBALL,
@@ -358,7 +354,7 @@ const struct SpriteTemplate gBallParticlesSpriteTemplates[] = //gUnknown_840C0A4
},
};
-const u16 gBallOpenFadeColors[] = //gUnknown_840C1C4
+const u16 gBallOpenFadeColors[] =
{
[BALL_POKE] = RGB(31, 22, 30),
[BALL_GREAT] = RGB(16, 23, 30),
@@ -373,7 +369,7 @@ const u16 gBallOpenFadeColors[] = //gUnknown_840C1C4
[BALL_LUXURY] = RGB(31, 17, 10),
[BALL_PREMIER] = RGB(31, 9, 10),
- // Garbage data
+ // Unused
RGB(0, 0, 0),
RGB(1, 16, 0),
RGB(3, 0, 1),
@@ -384,7 +380,7 @@ const u16 gBallOpenFadeColors[] = //gUnknown_840C1C4
RGB(4, 0, 0),
};
-const struct SpriteTemplate gPokeblockSpriteTemplate = //gUnknown_840C1EC
+const struct SpriteTemplate gPokeblockSpriteTemplate =
{
.tileTag = ANIM_TAG_POKEBLOCK,
.paletteTag = ANIM_TAG_POKEBLOCK,
@@ -401,7 +397,8 @@ const union AnimCmd gUnknown_840C204[] =
ANIMCMD_END,
};
-const union AnimCmd *const gSpriteAnimTable_840C20C[] = {
+const union AnimCmd *const gSpriteAnimTable_840C20C[] =
+{
gUnknown_840C204,
};
@@ -439,7 +436,6 @@ void sub_80EEC0C(u8 taskId)
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 0);
SetAnimBgAttribute(1, BG_ANIM_AREA_OVERFLOW_MODE, 1);
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
-
healthBoxSpriteId = gHealthboxSpriteIds[battler];
spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
spriteId2 = gSprites[healthBoxSpriteId].data[5];
@@ -454,12 +450,10 @@ void sub_80EEC0C(u8 taskId)
gSprites[spriteId4].oam.objMode = ST_OAM_OBJ_WINDOW;
gSprites[spriteId3].callback = SpriteCallbackDummy;
gSprites[spriteId4].callback = SpriteCallbackDummy;
-
sub_80752A0(&unknownStruct);
AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_D2EC24_Tilemap);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_D2EC24_Gfx, unknownStruct.tilesOffset);
LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32);
-
gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32;
gTasks[taskId].data[1] = 640;
@@ -539,12 +533,10 @@ void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler)
spriteId2 = gSprites[healthBoxSpriteId].data[5];
*paletteId1 = AllocSpritePalette(0xD709);
*paletteId2 = AllocSpritePalette(0xD70A);
-
offset1 = (gSprites[healthBoxSpriteId].oam.paletteNum * 16) + 0x100;
offset2 = (gSprites[spriteId2].oam.paletteNum * 16) + 0x100;
LoadPalette(&gPlttBufferUnfaded[offset1], *paletteId1 * 16 + 0x100, 0x20);
LoadPalette(&gPlttBufferUnfaded[offset2], *paletteId2 * 16 + 0x100, 0x20);
-
gSprites[healthBoxSpriteId].oam.paletteNum = *paletteId1;
gSprites[spriteId1].oam.paletteNum = *paletteId1;
gSprites[spriteId2].oam.paletteNum = *paletteId2;
@@ -553,6 +545,7 @@ void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler)
void sub_80EF0B4(u8 taskId)
{
u8 paletteId1, paletteId2;
+
sub_80EEFC8(&paletteId1, &paletteId2, gBattleAnimAttacker);
DestroyAnimVisualTask(taskId);
}
@@ -566,7 +559,6 @@ void sub_80EF0E0(u8 battler)
healthBoxSpriteId = gHealthboxSpriteIds[battler];
spriteId1 = gSprites[healthBoxSpriteId].oam.affineParam;
spriteId2 = gSprites[healthBoxSpriteId].data[5];
-
FreeSpritePaletteByTag(0xD709);
FreeSpritePaletteByTag(0xD70A);
paletteId1 = IndexOfSpritePaletteTag(0xD6FF);
@@ -672,8 +664,8 @@ void sub_80EF344(u8 taskId)
switch (gTasks[taskId].data[0])
{
case 0:
- x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
- y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
+ x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
+ y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
priority = gSprites[spriteId].oam.priority;
subpriority = gSprites[spriteId].subpriority;
gTasks[taskId].data[10] = LaunchBallStarsTask(x, y + 32, priority, subpriority, ballId);
@@ -691,6 +683,7 @@ void sub_80EF344(u8 taskId)
void sub_80EF490(u8 taskId)
{
u8 ballId = ItemIdToBallId(gLastUsedItem);
+
LoadBallGfx(ballId);
DestroyAnimVisualTask(taskId);
}
@@ -698,6 +691,7 @@ void sub_80EF490(u8 taskId)
void sub_80EF4B8(u8 taskId)
{
u8 ballId = ItemIdToBallId(gLastUsedItem);
+
FreeBallGfx(ballId);
DestroyAnimVisualTask(taskId);
}
@@ -705,17 +699,17 @@ void sub_80EF4B8(u8 taskId)
void AnimTask_IsBallBlockedByTrainerOrDodged(u8 taskId)
{
switch (gBattleSpritesDataPtr->animationData->ballThrowCaseId)
- {
- case BALL_TRAINER_BLOCK:
- gBattleAnimArgs[ARG_RET_ID] = -1;
- break;
- case BALL_GHOST_DODGE:
- gBattleAnimArgs[ARG_RET_ID] = -2;
- break;
- default:
- gBattleAnimArgs[ARG_RET_ID] = 0;
- break;
- }
+ {
+ case BALL_TRAINER_BLOCK:
+ gBattleAnimArgs[ARG_RET_ID] = -1;
+ break;
+ case BALL_GHOST_DODGE:
+ gBattleAnimArgs[ARG_RET_ID] = -2;
+ break;
+ default:
+ gBattleAnimArgs[ARG_RET_ID] = 0;
+ break;
+ }
DestroyAnimVisualTask(taskId);
}
@@ -760,8 +754,8 @@ void sub_80EF5AC(u8 taskId)
ballId = ItemIdToBallId(gLastUsedItem);
spriteId = CreateSprite(&gBallSpriteTemplates[ballId], 32, 80, 29);
gSprites[spriteId].data[0] = 34;
- gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
+ gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) - 16;
gSprites[spriteId].callback = sub_80EF8C0;
gBattleSpritesDataPtr->animationData->field_9_x2 = gSprites[gBattlerSpriteIds[gBattleAnimTarget]].invisible;
gTasks[taskId].data[0] = spriteId;
@@ -771,6 +765,7 @@ void sub_80EF5AC(u8 taskId)
static void sub_80EF698(u8 taskId)
{
u8 spriteId = gTasks[taskId].data[0];
+
if ((u16)gSprites[spriteId].data[0] == 0xFFFF)
DestroyAnimVisualTask(taskId);
}
@@ -791,16 +786,16 @@ void sub_80EF6D4(u8 taskId)
{
x = 23;
y = 11;
- if (gSaveBlock2Ptr->playerGender == FEMALE)
- y = 13;
+ if (gSaveBlock2Ptr->playerGender == FEMALE)
+ y = 13;
}
ballId = ItemIdToBallId(gLastUsedItem);
subpriority = GetBattlerSpriteSubpriority(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1;
spriteId = CreateSprite(&gBallSpriteTemplates[ballId], x | 32, y | 80, subpriority);
gSprites[spriteId].data[0] = 34;
- gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
- gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
+ gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X);
+ gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) - 16;
gSprites[spriteId].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = sub_8012354;
gTasks[taskId].data[0] = spriteId;
@@ -831,6 +826,7 @@ static void sub_80EF8C0(struct Sprite *sprite)
{
u16 temp = sprite->data[1];
u16 temp2 = sprite->data[2];
+
sprite->data[1] = sprite->pos1.x;
sprite->data[2] = temp;
sprite->data[3] = sprite->pos1.y;
@@ -851,10 +847,10 @@ static void sub_80EF8F0(struct Sprite *sprite)
{
sprite->callback = sub_80F0478;
}
- else if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_GHOST_DODGE)
- {
- sprite->callback = sub_80F052C;
- }
+ else if (gBattleSpritesDataPtr->animationData->ballThrowCaseId == BALL_GHOST_DODGE)
+ {
+ sprite->callback = GhostBallDodge;
+ }
else
{
StartSpriteAnim(sprite, 1);
@@ -898,7 +894,6 @@ static void sub_80EFA0C(struct Sprite *sprite)
spriteId = gBattlerSpriteIds[gBattleAnimTarget];
taskId = sprite->data[5];
-
if (++gTasks[taskId].data[1] == 11)
PlaySE(SE_SUIKOMU);
@@ -960,7 +955,6 @@ static void sub_80EFB9C(struct Sprite *sprite)
int bounceCount;
lastBounce = 0;
-
switch (sprite->data[3] & 0xFF)
{
case 0:
@@ -1330,7 +1324,6 @@ static void sub_80F02B0(struct Sprite *sprite)
StartSpriteAnim(sprite, 1);
StartSpriteAffineAnim(sprite, 0);
sprite->callback = sub_80F0378;
-
ballId = ItemIdToBallId(gLastUsedItem);
switch (ballId)
{
@@ -1393,11 +1386,11 @@ static void sub_80F04B4(struct Sprite *sprite)
{
s16 var0 = sprite->data[0] + 0x800;
s16 var1 = sprite->data[1] + 0x680;
+
sprite->pos2.x -= var1 >> 8;
sprite->pos2.y += var0 >> 8;
sprite->data[0] = (sprite->data[0] + 0x800) & 0xFF;
sprite->data[1] = (sprite->data[1] + 0x680) & 0xFF;
-
if (sprite->pos1.y + sprite->pos2.y > 160
|| sprite->pos1.x + sprite->pos2.x < -8)
{
@@ -1408,35 +1401,34 @@ static void sub_80F04B4(struct Sprite *sprite)
}
}
-// GhostBallDodge
-static void sub_80F052C(struct Sprite *sprite)
+static void GhostBallDodge(struct Sprite *sprite)
{
- sprite->pos1.x += sprite->pos2.x;
- sprite->pos1.y += sprite->pos2.y;
+ sprite->pos1.x += sprite->pos2.x;
+ sprite->pos1.y += sprite->pos2.y;
sprite->pos2.x = sprite->pos2.y = 0;
- sprite->data[0] = 0x22;
- sprite->data[1] = sprite->pos1.x;
- sprite->data[2] = sprite->pos1.x - 8;
- sprite->data[3] = sprite->pos1.y;
- sprite->data[4] = 0x90;
- sprite->data[5] = 0x20;
- InitAnimArcTranslation(sprite);
- TranslateAnimVerticalArc(sprite);
- sprite->callback = sub_80F0574;
+ sprite->data[0] = 0x22;
+ sprite->data[1] = sprite->pos1.x;
+ sprite->data[2] = sprite->pos1.x - 8;
+ sprite->data[3] = sprite->pos1.y;
+ sprite->data[4] = 0x90;
+ sprite->data[5] = 0x20;
+ InitAnimArcTranslation(sprite);
+ TranslateAnimVerticalArc(sprite);
+ sprite->callback = sub_80F0574;
}
static void sub_80F0574(struct Sprite *sprite)
{
- if (!TranslateAnimVerticalArc(sprite))
- {
- if ((sprite->pos1.y + sprite->pos2.y) < 65)
- return;
- }
-
- sprite->data[0] = 0;
- sprite->callback = sub_80F018C;
- gDoingBattleAnim = FALSE;
- UpdateOamPriorityInAllHealthboxes(1);
+ if (!TranslateAnimVerticalArc(sprite))
+ {
+ if ((sprite->pos1.y + sprite->pos2.y) < 65)
+ return;
+ }
+
+ sprite->data[0] = 0;
+ sprite->callback = sub_80F018C;
+ gDoingBattleAnim = FALSE;
+ UpdateOamPriorityInAllHealthboxes(1);
}
static void sub_80F05B4(u8 ballId)
@@ -1462,7 +1454,6 @@ u8 LaunchBallStarsTask(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
gTasks[taskId].data[4] = subpriority;
gTasks[taskId].data[15] = ballId;
PlaySE(SE_BOWA2);
-
return taskId;
}
@@ -1875,10 +1866,10 @@ static void DestroyBallOpenAnimationParticle(struct Sprite *sprite)
if (gBattleSpritesDataPtr->animationData->field_A == 0)
{
for (j = 0; j < POKEBALL_COUNT; j++)
- {
- FreeSpriteTilesByTag(gBallParticleSpritesheets[j].tag);
- FreeSpritePaletteByTag(gBallParticlePalettes[j].tag);
- }
+ {
+ FreeSpriteTilesByTag(gBallParticleSpritesheets[j].tag);
+ FreeSpritePaletteByTag(gBallParticlePalettes[j].tag);
+ }
DestroySprite(sprite);
}
@@ -2126,8 +2117,8 @@ static void sub_80F181C(u8 taskId)
return;
battler = gTasks[taskId].data[0];
- x = GetBattlerSpriteCoord(battler, 0);
- y = GetBattlerSpriteCoord(battler, 1);
+ x = GetBattlerSpriteCoord(battler, BATTLER_COORD_X);
+ y = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y);
state = gTasks[taskId].data[11];
if (state == 0)
{
@@ -2244,8 +2235,8 @@ static void sub_80F1B3C(struct Sprite *sprite)
{
InitSpritePosToAnimAttacker(sprite, 0);
sprite->data[0] = 30;
- sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 0) + gBattleAnimArgs[2];
- sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3];
+ sprite->data[2] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_X) + gBattleAnimArgs[2];
+ sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), BATTLER_COORD_Y) + gBattleAnimArgs[3];
sprite->data[5] = -32;
InitAnimArcTranslation(sprite);
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = sub_8012354;
@@ -2260,7 +2251,7 @@ static void sub_80F1BCC(struct Sprite *sprite)
static void sub_80F1C04(struct Sprite *sprite)
{
- if (TranslateAnimHorizontalArc(sprite)) //TranslateAnimArc?
+ if (TranslateAnimHorizontalArc(sprite))
{
sprite->data[0] = 0;
sprite->invisible = 1;
@@ -2299,15 +2290,14 @@ void sub_80F1C8C(u8 taskId)
void sub_80F1CE4(u8 taskId)
{
- if (gBattleCommunication[MULTISTRING_CHOOSER] > 2)
- gBattleAnimArgs[7] = 0;
- else
- gBattleAnimArgs[7] = gBattleCommunication[MULTISTRING_CHOOSER];
-
- DestroyAnimVisualTask(taskId);
+ if (gBattleCommunication[MULTISTRING_CHOOSER] > 2)
+ gBattleAnimArgs[7] = 0;
+ else
+ gBattleAnimArgs[7] = gBattleCommunication[MULTISTRING_CHOOSER];
+
+ DestroyAnimVisualTask(taskId);
}
-// 080F1D14
void AnimTask_GetTrappedMoveAnimId(u8 taskId)
{
if (gBattleSpritesDataPtr->animationData->animArg == MOVE_FIRE_SPIN)
diff --git a/src/battle_anim_status_effects.c b/src/battle_anim_status_effects.c
index 4a45a3d8b..1e05e0e68 100644
--- a/src/battle_anim_status_effects.c
+++ b/src/battle_anim_status_effects.c
@@ -26,8 +26,6 @@ static void sub_8078380(struct Sprite *sprite);
extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
extern const u8 *const gBattleAnims_StatusConditions[];
-extern const struct OamData gOamData_AffineOff_ObjNormal_8x8;
-extern const struct OamData gOamData_AffineOff_ObjBlend_64x64;
static const union AnimCmd gUnknown_83BF3E0[] =
{
@@ -205,8 +203,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 =
.callback = sub_8076ED8,
};
-//const u8 gUnknown_83BF52C[] = _("TASK OVER\nタスクがオーバーしました"); //wont compile...?
-const u8 gUnknown_83BF52C[] = {0xCE, 0xBB, 0xCD, 0xC5, 0x00, 0xC9, 0xD0, 0xBF, 0xCC, 0xFE, 0x60, 0x5D, 0x58, 0x37, 0x55, 0xAE, 0x96, 0xAE, 0x0C, 0x1F, 0x0C, 0x10, 0xFF};
+const u8 gUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました");
static const struct Subsprite gSubsprites_83BF544[] =
{
@@ -284,7 +281,6 @@ static u8 sub_8078178(u8 battlerId, bool8 b)
return taskId;
}
-// Functions
static void sub_80782BC(u8 taskId)
{
if (gTasks[taskId].data[2] == 2)
@@ -361,11 +357,13 @@ void sub_80783FC(u8 taskId)
if (IsContest())
x -= 6;
+
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL);
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
spriteId = CreateSprite(&gUnknown_83BF55C, x, y, 4);
if (GetSpriteTileStartByTag(ANIM_TAG_ICE_CUBE) == 0xFFFF)
gSprites[spriteId].invisible = TRUE;
+
SetSubspriteTables(&gSprites[spriteId], gUnknown_83BF554);
gTasks[taskId].data[15] = spriteId;
gTasks[taskId].func = sub_80784D8;