format fixes

This commit is contained in:
Evan 2019-12-04 21:18:40 -07:00
parent bc36d1cb2a
commit c8b22e2680
7 changed files with 1569 additions and 1718 deletions

View File

@ -57,42 +57,6 @@ extern s32 gAnimMoveDmg;
extern u16 gAnimBattlerSpecies[MAX_BATTLERS_COUNT];
extern u8 gUnknown_2037F24;
/*
extern const struct OamData gOamData_83AC9C8;
extern const struct OamData gOamData_83AC9D0;
extern const struct OamData gOamData_83AC9D8;
extern const struct OamData gOamData_83AC9E0;
extern const struct OamData gOamData_83AC9F8;
extern const struct OamData gOamData_83ACA00;
extern const struct OamData gOamData_83ACA18;
extern const struct OamData gOamData_83ACA20;
extern const struct OamData gOamData_83ACA30;
extern const struct OamData gOamData_83ACA38;
extern const struct OamData gOamData_83ACA40;
extern const struct OamData gOamData_83ACA80;
extern const struct OamData gOamData_83ACA90;
extern const struct OamData gOamData_83ACA98;
extern const struct OamData gOamData_83ACAA0;
extern const struct OamData gOamData_83ACAB8;
extern const struct OamData gOamData_83ACAC8;
extern const struct OamData gOamData_83ACAE8;
extern const struct OamData gOamData_83ACAF0;
extern const struct OamData gOamData_83ACAF8;
extern const struct OamData gOamData_83ACB00;
extern const struct OamData gOamData_83ACB10;
extern const struct OamData gOamData_83ACB18;
extern const struct OamData gOamData_83ACB20;
extern const struct OamData gOamData_83ACB28;
extern const struct OamData gOamData_83ACB38;
extern const struct OamData gOamData_83ACB48;
extern const struct OamData gOamData_83ACB50;
extern const struct OamData gOamData_83ACB58;
extern const struct OamData gOamData_83ACB60;
extern const struct OamData gOamData_83ACB88;
extern const struct OamData gOamData_83ACBC0;
extern const struct OamData gOamData_83ACBE8;
*/
extern const struct OamData gOamData_AffineOff_ObjNormal_8x8;
extern const struct OamData gOamData_AffineOff_ObjNormal_16x16;
extern const struct OamData gOamData_AffineOff_ObjNormal_32x32;

View File

@ -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)

File diff suppressed because it is too large Load Diff

View File

@ -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;

File diff suppressed because it is too large Load Diff

View File

@ -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)

View File

@ -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;