Sync battle anim.c
This commit is contained in:
@@ -2783,7 +2783,7 @@ Move_AGILITY::
|
|||||||
monbg ANIM_ATK_PARTNER
|
monbg ANIM_ATK_PARTNER
|
||||||
setalpha 12, 8
|
setalpha 12, 8
|
||||||
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, 0, 24, 6, 4, 4
|
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, 0, 24, 6, 4, 4
|
||||||
createvisualtask AnimTask_CloneBattlerSpriteWithBlend, 2, 0, 4, 7, 10
|
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 10
|
||||||
playsewithpan SE_M_DOUBLE_TEAM, 192
|
playsewithpan SE_M_DOUBLE_TEAM, 192
|
||||||
delay 12
|
delay 12
|
||||||
playsewithpan SE_M_DOUBLE_TEAM, 192
|
playsewithpan SE_M_DOUBLE_TEAM, 192
|
||||||
@@ -2805,7 +2805,7 @@ Move_QUICK_ATTACK::
|
|||||||
monbg ANIM_ATK_PARTNER
|
monbg ANIM_ATK_PARTNER
|
||||||
setalpha 12, 8
|
setalpha 12, 8
|
||||||
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, 0, 24, 6, 1, 5
|
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, 0, 24, 6, 1, 5
|
||||||
createvisualtask AnimTask_CloneBattlerSpriteWithBlend, 2, 0, 4, 7, 3
|
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3
|
||||||
playsewithpan SE_M_JUMP_KICK, 192
|
playsewithpan SE_M_JUMP_KICK, 192
|
||||||
delay 4
|
delay 4
|
||||||
createvisualtask AnimTask_ShakeMon, 2, 1, 5, 0, 6, 1
|
createvisualtask AnimTask_ShakeMon, 2, 1, 5, 0, 6, 1
|
||||||
@@ -4438,7 +4438,7 @@ Move_AERIAL_ACE::
|
|||||||
monbg 1
|
monbg 1
|
||||||
setalpha 12, 8
|
setalpha 12, 8
|
||||||
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, 0, 24, 6, 1, 5
|
createvisualtask AnimTask_TranslateMonEllipticalRespectSide, 2, 0, 24, 6, 1, 5
|
||||||
createvisualtask AnimTask_CloneBattlerSpriteWithBlend, 2, 0, 4, 7, 3
|
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 7, 3
|
||||||
createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0
|
createsprite gCuttingSliceSpriteTemplate, ANIM_ATTACKER, 2, 40, -32, 0
|
||||||
playsewithpan SE_M_RAZOR_WIND2, 192
|
playsewithpan SE_M_RAZOR_WIND2, 192
|
||||||
delay 5
|
delay 5
|
||||||
@@ -7806,7 +7806,7 @@ CurseStats::
|
|||||||
|
|
||||||
CurseStats1::
|
CurseStats1::
|
||||||
playsewithpan SE_M_DRAGON_RAGE, 192
|
playsewithpan SE_M_DRAGON_RAGE, 192
|
||||||
createvisualtask AnimTask_SetUpCurseBackground, 5,
|
createvisualtask AnimTask_DrawFallingWhiteLinesOnAttacker, 5,
|
||||||
createvisualtask AnimTask_BlendColorCycle, 5, 2, 4, 2, 0, 10, 31
|
createvisualtask AnimTask_BlendColorCycle, 5, 2, 4, 2, 0, 10, 31
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -9167,13 +9167,13 @@ ReturnStrongest::
|
|||||||
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
delay 2
|
delay 2
|
||||||
createvisualtask AnimTask_CloneBattlerSpriteWithBlend, 2, 0, 4, 5, 1
|
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1
|
||||||
createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 0
|
createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 1, 0
|
||||||
createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_TAIL_WHIP, -64
|
createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_TAIL_WHIP, -64
|
||||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
|
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
|
||||||
createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_VITAL_THROW2, 63
|
createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_VITAL_THROW2, 63
|
||||||
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
||||||
createvisualtask AnimTask_CloneBattlerSpriteWithBlend, 2, 0, 4, 5, 1
|
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 2, 0
|
createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 4, 2, 0
|
||||||
createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_TAIL_WHIP, -64
|
createvisualtask SoundTask_PlaySE2WithPanning, 5, SE_M_TAIL_WHIP, -64
|
||||||
@@ -9181,7 +9181,7 @@ ReturnStrongest::
|
|||||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
|
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, -10, -8, 1, 2
|
||||||
createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_VITAL_THROW2, 63
|
createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_VITAL_THROW2, 63
|
||||||
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
||||||
createvisualtask AnimTask_CloneBattlerSpriteWithBlend, 2, 0, 4, 5, 1
|
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
call ReturnStrongestHit
|
call ReturnStrongestHit
|
||||||
call ReturnStrongestHit
|
call ReturnStrongestHit
|
||||||
@@ -9209,7 +9209,7 @@ ReturnStrongestHit::
|
|||||||
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
|
createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 2, 0, 0, 1, 2
|
||||||
createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_VITAL_THROW2, 63
|
createvisualtask SoundTask_PlaySE1WithPanning, 5, SE_M_VITAL_THROW2, 63
|
||||||
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
createvisualtask AnimTask_ShakeMon, 5, 1, 6, 0, 8, 1
|
||||||
createvisualtask AnimTask_CloneBattlerSpriteWithBlend, 2, 0, 4, 5, 1
|
createvisualtask AnimTask_TraceMonBlended, 2, 0, 4, 5, 1
|
||||||
waitforvisualfinish
|
waitforvisualfinish
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -276,7 +276,7 @@
|
|||||||
#define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266)
|
#define ANIM_TAG_GREEN_SPIKE (ANIM_SPRITES_START + 266)
|
||||||
#define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267)
|
#define ANIM_TAG_WHITE_CIRCLE_OF_LIGHT (ANIM_SPRITES_START + 267)
|
||||||
#define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268)
|
#define ANIM_TAG_GLOWY_BLUE_ORB (ANIM_SPRITES_START + 268)
|
||||||
#define ANIM_TAG_SAFARI_BAIT (ANIM_SPRITES_START + 269)
|
#define ANIM_TAG_SAFARI_BAIT (ANIM_SPRITES_START + 269)
|
||||||
#define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270)
|
#define ANIM_TAG_WHITE_FEATHER (ANIM_SPRITES_START + 270)
|
||||||
#define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271)
|
#define ANIM_TAG_SPARKLE_6 (ANIM_SPRITES_START + 271)
|
||||||
#define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272)
|
#define ANIM_TAG_SPLASH (ANIM_SPRITES_START + 272)
|
||||||
@@ -318,7 +318,7 @@
|
|||||||
#define SOUND_PAN_TARGET 63
|
#define SOUND_PAN_TARGET 63
|
||||||
|
|
||||||
// move background ids
|
// move background ids
|
||||||
#define BG_DARK_ 0 // the same as BG_DARK but is unused
|
#define BG_NONE 0 // the same as BG_DARK
|
||||||
#define BG_DARK 1
|
#define BG_DARK 1
|
||||||
#define BG_GHOST 2
|
#define BG_GHOST 2
|
||||||
#define BG_PSYCHIC 3
|
#define BG_PSYCHIC 3
|
||||||
|
|||||||
+2
-2
@@ -3912,7 +3912,7 @@ extern const u32 gBattleAnimSpriteGfx_Pokeball[];
|
|||||||
extern const u32 gBattleAnimSpriteGfx_Spotlight[];
|
extern const u32 gBattleAnimSpriteGfx_Spotlight[];
|
||||||
extern const u32 gBattleAnimSpriteGfx_LetterZ[];
|
extern const u32 gBattleAnimSpriteGfx_LetterZ[];
|
||||||
extern const u32 gBattleAnimSpriteGfx_RapidSpin[];
|
extern const u32 gBattleAnimSpriteGfx_RapidSpin[];
|
||||||
extern const u32 gBattleAnimSpriteGfx_TriForceTriangle[];
|
extern const u32 gBattleAnimSpriteGfx_TriAttackTriangle[];
|
||||||
extern const u32 gBattleAnimSpriteGfx_WispOrb[];
|
extern const u32 gBattleAnimSpriteGfx_WispOrb[];
|
||||||
extern const u32 gBattleAnimSpriteGfx_WispFire[];
|
extern const u32 gBattleAnimSpriteGfx_WispFire[];
|
||||||
extern const u32 gBattleAnimSpriteGfx_GoldStars[];
|
extern const u32 gBattleAnimSpriteGfx_GoldStars[];
|
||||||
@@ -4165,7 +4165,7 @@ extern const u32 gBattleAnimSpritePal_JaggedMusicNote[];
|
|||||||
extern const u32 gBattleAnimSpritePal_Pokeball[];
|
extern const u32 gBattleAnimSpritePal_Pokeball[];
|
||||||
extern const u32 gBattleAnimSpritePal_LetterZ[];
|
extern const u32 gBattleAnimSpritePal_LetterZ[];
|
||||||
extern const u32 gBattleAnimSpritePal_RapidSpin[];
|
extern const u32 gBattleAnimSpritePal_RapidSpin[];
|
||||||
extern const u32 gBattleAnimSpritePal_TriForceTriangle[];
|
extern const u32 gBattleAnimSpritePal_TriAttackTriangle[];
|
||||||
extern const u32 gBattleAnimSpritePal_WispOrb[];
|
extern const u32 gBattleAnimSpritePal_WispOrb[];
|
||||||
extern const u32 gBattleAnimSpritePal_GoldStars[];
|
extern const u32 gBattleAnimSpritePal_GoldStars[];
|
||||||
extern const u32 gBattleAnimSpritePal_EclipsingOrb[];
|
extern const u32 gBattleAnimSpritePal_EclipsingOrb[];
|
||||||
|
|||||||
+147
-1773
File diff suppressed because it is too large
Load Diff
@@ -18,22 +18,22 @@ struct AnimStatsChangeData
|
|||||||
|
|
||||||
static void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes);
|
static void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes);
|
||||||
static void AnimTask_BlendSpriteColor_Step2(u8 taskId);
|
static void AnimTask_BlendSpriteColor_Step2(u8 taskId);
|
||||||
static void Task_WaitHardwarePaletteFade(u8 taskId);
|
static void AnimTask_HardwarePaletteFade_Step(u8 taskId);
|
||||||
static void Task_DoCloneBattlerSpriteWithBlend(u8 taskId);
|
static void AnimTask_TraceMonBlended_Step(u8 taskId);
|
||||||
static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite);
|
static void AnimMonTrace(struct Sprite *sprite);
|
||||||
static void AnimTask_DrawFallingWhiteLinesOnAttacker_Step(u8 taskId);
|
static void AnimTask_DrawFallingWhiteLinesOnAttacker_Step(u8 taskId);
|
||||||
static void StatsChangeAnimation_Step1(u8 taskId);
|
static void StatsChangeAnimation_Step1(u8 taskId);
|
||||||
static void StatsChangeAnimation_Step2(u8 taskId);
|
static void StatsChangeAnimation_Step2(u8 taskId);
|
||||||
static void StatsChangeAnimation_Step3(u8 taskId);
|
static void StatsChangeAnimation_Step3(u8 taskId);
|
||||||
static void sub_80BB6CC(u8 taskId);
|
static void AnimTask_Flash_Step(u8 taskId);
|
||||||
static void sub_80BB790(u32 selectedPalettes, u16 color);
|
static void SetPalettesToColor(u32 selectedPalettes, u16 color);
|
||||||
static void sub_80BB8A4(u8 taskId);
|
static void AnimTask_UpdateSlidingBg(u8 taskId);
|
||||||
static void sub_80BBC2C(u8 taskId);
|
static void UpdateMonScrollingBgMask(u8 taskId);
|
||||||
static void sub_80BC19C(u8 taskId);
|
static void AnimTask_WaitAndRestoreVisibility(u8 taskId);
|
||||||
|
|
||||||
static EWRAM_DATA struct AnimStatsChangeData *sAnimStatsChangeData = NULL;
|
static EWRAM_DATA struct AnimStatsChangeData *sAnimStatsChangeData = NULL;
|
||||||
|
|
||||||
static const u16 sRgbWhite[] = { RGB(31, 31, 31) };
|
static const u16 sRgbWhite[] = { RGB_WHITE };
|
||||||
const u8 gBattleAnimRegOffsBgCnt[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
|
const u8 gBattleAnimRegOffsBgCnt[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
|
||||||
const u8 gBattleIntroRegOffsBgCnt[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
|
const u8 gBattleIntroRegOffsBgCnt[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
|
||||||
|
|
||||||
@@ -85,13 +85,13 @@ void AnimTask_BlendExcept(u8 taskId)
|
|||||||
case 2:
|
case 2:
|
||||||
selectedPalettes = 0;
|
selectedPalettes = 0;
|
||||||
// fall through
|
// fall through
|
||||||
case 0:
|
case ANIM_ATTACKER:
|
||||||
animBattlers[0] = gBattleAnimAttacker;
|
animBattlers[0] = gBattleAnimAttacker;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
selectedPalettes = 0;
|
selectedPalettes = 0;
|
||||||
// fall through
|
// fall through
|
||||||
case 1:
|
case ANIM_TARGET:
|
||||||
animBattlers[0] = gBattleAnimTarget;
|
animBattlers[0] = gBattleAnimTarget;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
@@ -217,16 +217,17 @@ void AnimTask_HardwarePaletteFade(u8 taskId)
|
|||||||
gBattleAnimArgs[2],
|
gBattleAnimArgs[2],
|
||||||
gBattleAnimArgs[3],
|
gBattleAnimArgs[3],
|
||||||
gBattleAnimArgs[4]);
|
gBattleAnimArgs[4]);
|
||||||
gTasks[taskId].func = Task_WaitHardwarePaletteFade;
|
gTasks[taskId].func = AnimTask_HardwarePaletteFade_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Task_WaitHardwarePaletteFade(u8 taskId)
|
static void AnimTask_HardwarePaletteFade_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
if (!gPaletteFade.active)
|
if (!gPaletteFade.active)
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimTask_CloneBattlerSpriteWithBlend(u8 taskId)
|
// Used to leave blended traces of a mon, usually to imply speed as in Agility or Aerial Ace
|
||||||
|
void AnimTask_TraceMonBlended(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
@@ -236,9 +237,9 @@ void AnimTask_CloneBattlerSpriteWithBlend(u8 taskId)
|
|||||||
task->data[3] = gBattleAnimArgs[2];
|
task->data[3] = gBattleAnimArgs[2];
|
||||||
task->data[4] = gBattleAnimArgs[3];
|
task->data[4] = gBattleAnimArgs[3];
|
||||||
task->data[5] = 0;
|
task->data[5] = 0;
|
||||||
task->func = Task_DoCloneBattlerSpriteWithBlend;
|
task->func = AnimTask_TraceMonBlended_Step;
|
||||||
}
|
}
|
||||||
static void Task_DoCloneBattlerSpriteWithBlend(u8 taskId)
|
static void AnimTask_TraceMonBlended_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
@@ -257,7 +258,7 @@ static void Task_DoCloneBattlerSpriteWithBlend(u8 taskId)
|
|||||||
gSprites[task->data[6]].data[0] = task->data[3];
|
gSprites[task->data[6]].data[0] = task->data[3];
|
||||||
gSprites[task->data[6]].data[1] = taskId;
|
gSprites[task->data[6]].data[1] = taskId;
|
||||||
gSprites[task->data[6]].data[2] = 5;
|
gSprites[task->data[6]].data[2] = 5;
|
||||||
gSprites[task->data[6]].callback = Task_FinishCloneBattlerSpriteWithBlend;
|
gSprites[task->data[6]].callback = AnimMonTrace;
|
||||||
++task->data[5];
|
++task->data[5];
|
||||||
}
|
}
|
||||||
--task->data[4];
|
--task->data[4];
|
||||||
@@ -270,7 +271,7 @@ static void Task_DoCloneBattlerSpriteWithBlend(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite)
|
static void AnimMonTrace(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[0])
|
if (sprite->data[0])
|
||||||
{
|
{
|
||||||
@@ -283,7 +284,8 @@ static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimTask_SetUpCurseBackground(u8 taskId)
|
// Only used by Curse for non-Ghost mons
|
||||||
|
void AnimTask_DrawFallingWhiteLinesOnAttacker(u8 taskId)
|
||||||
{
|
{
|
||||||
u16 species;
|
u16 species;
|
||||||
s32 newSpriteId;
|
s32 newSpriteId;
|
||||||
@@ -582,17 +584,17 @@ void AnimTask_Flash(u8 taskId)
|
|||||||
{
|
{
|
||||||
u32 selectedPalettes = GetBattleMonSpritePalettesMask(1, 1, 1, 1);
|
u32 selectedPalettes = GetBattleMonSpritePalettesMask(1, 1, 1, 1);
|
||||||
|
|
||||||
sub_80BB790(selectedPalettes, 0);
|
SetPalettesToColor(selectedPalettes, 0);
|
||||||
gTasks[taskId].data[14] = selectedPalettes >> 16;
|
gTasks[taskId].data[14] = selectedPalettes >> 16;
|
||||||
selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
|
selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
|
||||||
sub_80BB790(selectedPalettes, 0xFFFF);
|
SetPalettesToColor(selectedPalettes, 0xFFFF);
|
||||||
gTasks[taskId].data[15] = selectedPalettes;
|
gTasks[taskId].data[15] = selectedPalettes;
|
||||||
gTasks[taskId].data[0] = 0;
|
gTasks[taskId].data[0] = 0;
|
||||||
gTasks[taskId].data[1] = 0;
|
gTasks[taskId].data[1] = 0;
|
||||||
gTasks[taskId].func = sub_80BB6CC;
|
gTasks[taskId].func = AnimTask_Flash_Step;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80BB6CC(u8 taskId)
|
static void AnimTask_Flash_Step(u8 taskId)
|
||||||
{
|
{
|
||||||
u16 i;
|
u16 i;
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
@@ -637,7 +639,7 @@ static void sub_80BB6CC(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80BB790(u32 selectedPalettes, u16 color)
|
static void SetPalettesToColor(u32 selectedPalettes, u16 color)
|
||||||
{
|
{
|
||||||
u16 i, curOffset, paletteOffset;
|
u16 i, curOffset, paletteOffset;
|
||||||
|
|
||||||
@@ -665,7 +667,7 @@ void AnimTask_StartSlidingBg(u8 taskId)
|
|||||||
u8 newTaskId;
|
u8 newTaskId;
|
||||||
|
|
||||||
ToggleBg3Mode(0);
|
ToggleBg3Mode(0);
|
||||||
newTaskId = CreateTask(sub_80BB8A4, 5);
|
newTaskId = CreateTask(AnimTask_UpdateSlidingBg, 5);
|
||||||
if (gBattleAnimArgs[2] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (gBattleAnimArgs[2] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
{
|
{
|
||||||
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
gBattleAnimArgs[0] = -gBattleAnimArgs[0];
|
||||||
@@ -678,7 +680,7 @@ void AnimTask_StartSlidingBg(u8 taskId)
|
|||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80BB8A4(u8 taskId)
|
static void AnimTask_UpdateSlidingBg(u8 taskId)
|
||||||
{
|
{
|
||||||
gTasks[taskId].data[10] += gTasks[taskId].data[1];
|
gTasks[taskId].data[10] += gTasks[taskId].data[1];
|
||||||
gTasks[taskId].data[11] += gTasks[taskId].data[2];
|
gTasks[taskId].data[11] += gTasks[taskId].data[2];
|
||||||
@@ -713,6 +715,7 @@ void AnimTask_GetTargetIsAttackerPartner(u8 taskId)
|
|||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For hiding or subsequently revealing all other battlers
|
||||||
void AnimTask_SetAllNonAttackersInvisiblity(u8 taskId)
|
void AnimTask_SetAllNonAttackersInvisiblity(u8 taskId)
|
||||||
{
|
{
|
||||||
u16 battler;
|
u16 battler;
|
||||||
@@ -723,7 +726,7 @@ void AnimTask_SetAllNonAttackersInvisiblity(u8 taskId)
|
|||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette)
|
void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 scrollSpeed, u8 battler1, bool8 includePartner, u8 numFadeSteps, u8 fadeStepDelay, u8 duration, const u32 *gfx, const u32 *tilemap, const u32 *palette)
|
||||||
{
|
{
|
||||||
u16 species;
|
u16 species;
|
||||||
u8 spriteId, newSpriteId = 0;
|
u8 spriteId, newSpriteId = 0;
|
||||||
@@ -731,8 +734,8 @@ void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 ar
|
|||||||
struct BattleAnimBgData animBgData;
|
struct BattleAnimBgData animBgData;
|
||||||
u8 battler2 = BATTLE_PARTNER(battler1);
|
u8 battler2 = BATTLE_PARTNER(battler1);
|
||||||
|
|
||||||
if (IsContest() || (arg4 && !IsBattlerSpriteVisible(battler2)))
|
if (IsContest() || (includePartner && !IsBattlerSpriteVisible(battler2)))
|
||||||
arg4 = 0;
|
includePartner = FALSE;
|
||||||
gBattle_WIN0H = 0;
|
gBattle_WIN0H = 0;
|
||||||
gBattle_WIN0V = 0;
|
gBattle_WIN0V = 0;
|
||||||
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR
|
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR
|
||||||
@@ -754,7 +757,7 @@ void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 ar
|
|||||||
else
|
else
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
||||||
spriteId = CreateInvisibleSpriteCopy(battler1, gBattlerSpriteIds[battler1], species);
|
spriteId = CreateInvisibleSpriteCopy(battler1, gBattlerSpriteIds[battler1], species);
|
||||||
if (arg4)
|
if (includePartner)
|
||||||
newSpriteId = CreateInvisibleSpriteCopy(battler2, gBattlerSpriteIds[battler2], species);
|
newSpriteId = CreateInvisibleSpriteCopy(battler2, gBattlerSpriteIds[battler2], species);
|
||||||
GetBattleAnimBg1Data(&animBgData);
|
GetBattleAnimBg1Data(&animBgData);
|
||||||
AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap);
|
AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap);
|
||||||
@@ -764,17 +767,17 @@ void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 ar
|
|||||||
LoadCompressedPalette(palette, animBgData.paletteId * 16, 32);
|
LoadCompressedPalette(palette, animBgData.paletteId * 16, 32);
|
||||||
gBattle_BG1_X = 0;
|
gBattle_BG1_X = 0;
|
||||||
gBattle_BG1_Y = 0;
|
gBattle_BG1_Y = 0;
|
||||||
gTasks[taskId].data[1] = arg2;
|
gTasks[taskId].data[1] = scrollSpeed;
|
||||||
gTasks[taskId].data[4] = arg5;
|
gTasks[taskId].data[4] = numFadeSteps;
|
||||||
gTasks[taskId].data[5] = arg7;
|
gTasks[taskId].data[5] = duration;
|
||||||
gTasks[taskId].data[6] = arg6;
|
gTasks[taskId].data[6] = fadeStepDelay;
|
||||||
gTasks[taskId].data[0] = spriteId;
|
gTasks[taskId].data[0] = spriteId;
|
||||||
gTasks[taskId].data[2] = arg4;
|
gTasks[taskId].data[2] = includePartner;
|
||||||
gTasks[taskId].data[3] = newSpriteId;
|
gTasks[taskId].data[3] = newSpriteId;
|
||||||
gTasks[taskId].func = sub_80BBC2C;
|
gTasks[taskId].func = UpdateMonScrollingBgMask;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80BBC2C(u8 taskId)
|
static void UpdateMonScrollingBgMask(u8 taskId)
|
||||||
{
|
{
|
||||||
gTasks[taskId].data[13] += gTasks[taskId].data[1] < 0 ? -gTasks[taskId].data[1] : gTasks[taskId].data[1];
|
gTasks[taskId].data[13] += gTasks[taskId].data[1] < 0 ? -gTasks[taskId].data[1] : gTasks[taskId].data[1];
|
||||||
if (gTasks[taskId].data[1] < 0)
|
if (gTasks[taskId].data[1] < 0)
|
||||||
@@ -856,7 +859,7 @@ void AnimTask_CopyPalUnfadedToBackup(u8 taskId)
|
|||||||
s32 paletteIndex = 0;
|
s32 paletteIndex = 0;
|
||||||
|
|
||||||
if (gBattleAnimArgs[0] == 0)
|
if (gBattleAnimArgs[0] == 0)
|
||||||
for (selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
for (selectedPalettes = GetBattlePalettesMask(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
|
||||||
(selectedPalettes & 1) == 0;
|
(selectedPalettes & 1) == 0;
|
||||||
++paletteIndex)
|
++paletteIndex)
|
||||||
selectedPalettes >>= 1;
|
selectedPalettes >>= 1;
|
||||||
@@ -874,7 +877,7 @@ void AnimTask_CopyPalUnfadedFromBackup(u8 taskId)
|
|||||||
s32 paletteIndex = 0;
|
s32 paletteIndex = 0;
|
||||||
|
|
||||||
if (gBattleAnimArgs[0] == 0)
|
if (gBattleAnimArgs[0] == 0)
|
||||||
for (selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
for (selectedPalettes = GetBattlePalettesMask(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
|
||||||
(selectedPalettes & 1) == 0;
|
(selectedPalettes & 1) == 0;
|
||||||
++paletteIndex)
|
++paletteIndex)
|
||||||
selectedPalettes >>= 1;
|
selectedPalettes >>= 1;
|
||||||
@@ -892,7 +895,7 @@ void AnimTask_CopyPalFadedToUnfaded(u8 taskId)
|
|||||||
s32 paletteIndex = 0;
|
s32 paletteIndex = 0;
|
||||||
|
|
||||||
if (gBattleAnimArgs[0] == 0)
|
if (gBattleAnimArgs[0] == 0)
|
||||||
for (selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
for (selectedPalettes = GetBattlePalettesMask(TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE);
|
||||||
(selectedPalettes & 1) == 0;
|
(selectedPalettes & 1) == 0;
|
||||||
++paletteIndex)
|
++paletteIndex)
|
||||||
selectedPalettes >>= 1;
|
selectedPalettes >>= 1;
|
||||||
@@ -907,9 +910,9 @@ void AnimTask_CopyPalFadedToUnfaded(u8 taskId)
|
|||||||
void AnimTask_IsContest(u8 taskId)
|
void AnimTask_IsContest(u8 taskId)
|
||||||
{
|
{
|
||||||
if (IsContest())
|
if (IsContest())
|
||||||
gBattleAnimArgs[7] = 1;
|
gBattleAnimArgs[ARG_RET_ID] = TRUE;
|
||||||
else
|
else
|
||||||
gBattleAnimArgs[7] = 0;
|
gBattleAnimArgs[ARG_RET_ID] = FALSE;
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -923,9 +926,9 @@ void AnimTask_SetAnimAttackerAndTargetForEffectTgt(u8 taskId)
|
|||||||
void AnimTask_IsTargetSameSide(u8 taskId)
|
void AnimTask_IsTargetSameSide(u8 taskId)
|
||||||
{
|
{
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
|
if (GetBattlerSide(gBattleAnimAttacker) == GetBattlerSide(gBattleAnimTarget))
|
||||||
gBattleAnimArgs[7] = 1;
|
gBattleAnimArgs[ARG_RET_ID] = TRUE;
|
||||||
else
|
else
|
||||||
gBattleAnimArgs[7] = 0;
|
gBattleAnimArgs[ARG_RET_ID] = FALSE;
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -952,12 +955,12 @@ void AnimTask_SetAttackerInvisibleWaitForSignal(u8 taskId)
|
|||||||
{
|
{
|
||||||
gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible;
|
gTasks[taskId].data[0] = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible;
|
||||||
gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1;
|
gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].invisible = 1;
|
||||||
gTasks[taskId].func = sub_80BC19C;
|
gTasks[taskId].func = AnimTask_WaitAndRestoreVisibility;
|
||||||
--gAnimVisualTaskCount;
|
--gAnimVisualTaskCount;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80BC19C(u8 taskId)
|
static void AnimTask_WaitAndRestoreVisibility(u8 taskId)
|
||||||
{
|
{
|
||||||
if (gBattleAnimArgs[7] == 0x1000)
|
if (gBattleAnimArgs[7] == 0x1000)
|
||||||
{
|
{
|
||||||
|
|||||||
+24
-27
@@ -12,8 +12,6 @@
|
|||||||
#include "trig.h"
|
#include "trig.h"
|
||||||
#include "util.h"
|
#include "util.h"
|
||||||
|
|
||||||
#define ISO_RANDOMIZE2(val)(1103515245 * (val) + 12345)
|
|
||||||
|
|
||||||
static void AnimRainDrop(struct Sprite *);
|
static void AnimRainDrop(struct Sprite *);
|
||||||
static void AnimRainDrop_Step(struct Sprite *);
|
static void AnimRainDrop_Step(struct Sprite *);
|
||||||
static void AnimWaterBubbleProjectile(struct Sprite *);
|
static void AnimWaterBubbleProjectile(struct Sprite *);
|
||||||
@@ -55,9 +53,8 @@ static void AnimTask_WaterSport_Step(u8);
|
|||||||
static void CreateWaterSportDroplet(struct Task *);
|
static void CreateWaterSportDroplet(struct Task *);
|
||||||
static void CreateWaterPulseRingBubbles(struct Sprite *, s32, s32);
|
static void CreateWaterPulseRingBubbles(struct Sprite *, s32, s32);
|
||||||
|
|
||||||
// Both unused? Comment copied from pokeemerald
|
static const u8 sUnusedWater_Gfx[] = INCBIN_U8("graphics/battle_anims/unk_83E44F4.4bpp");
|
||||||
static const u8 gUnknown_83E44F4[] = INCBIN_U8("graphics/battle_anims/unk_83E44F4.4bpp");
|
static const u8 sUnusedWater[] = INCBIN_U8("graphics/battle_anims/unk_83E4874.bin");
|
||||||
static const u8 gUnknown_83E4874[] = INCBIN_U8("graphics/battle_anims/unk_83E4874.bin");
|
|
||||||
|
|
||||||
static const union AnimCmd sAnim_RainDrop[] =
|
static const union AnimCmd sAnim_RainDrop[] =
|
||||||
{
|
{
|
||||||
@@ -488,8 +485,8 @@ void AnimTask_CreateRaindrops(u8 taskId)
|
|||||||
gTasks[taskId].data[0]++;
|
gTasks[taskId].data[0]++;
|
||||||
if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1)
|
if (gTasks[taskId].data[0] % gTasks[taskId].data[2] == 1)
|
||||||
{
|
{
|
||||||
x = Random() % 240;
|
x = Random() % DISPLAY_WIDTH;
|
||||||
y = Random() % 80;
|
y = Random() % (DISPLAY_HEIGHT / 2);
|
||||||
CreateSprite(&gRainDropSpriteTemplate, x, y, 4);
|
CreateSprite(&gRainDropSpriteTemplate, x, y, 4);
|
||||||
}
|
}
|
||||||
if (gTasks[taskId].data[0] == gTasks[taskId].data[3])
|
if (gTasks[taskId].data[0] == gTasks[taskId].data[3])
|
||||||
@@ -521,23 +518,23 @@ static void AnimWaterBubbleProjectile(struct Sprite *sprite)
|
|||||||
|
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
{
|
{
|
||||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - gBattleAnimArgs[0];
|
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - gBattleAnimArgs[0];
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
|
||||||
sprite->animPaused = TRUE;
|
sprite->animPaused = TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[0];
|
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[0];
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[1];
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[1];
|
||||||
sprite->animPaused = TRUE;
|
sprite->animPaused = TRUE;
|
||||||
}
|
}
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||||
sprite->data[0] = gBattleAnimArgs[6];
|
sprite->data[0] = gBattleAnimArgs[6];
|
||||||
sprite->data[1] = sprite->x;
|
sprite->data[1] = sprite->x;
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||||
sprite->data[3] = sprite->y;
|
sprite->data[3] = sprite->y;
|
||||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
InitAnimLinearTranslation(sprite);
|
InitAnimLinearTranslation(sprite);
|
||||||
spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
|
spriteId = CreateInvisibleSpriteWithCallback(SpriteCallbackDummy);
|
||||||
sprite->data[5] = spriteId;
|
sprite->data[5] = spriteId;
|
||||||
@@ -599,9 +596,9 @@ static void AnimAuroraBeamRings(struct Sprite *sprite)
|
|||||||
unkArg = gBattleAnimArgs[2];
|
unkArg = gBattleAnimArgs[2];
|
||||||
sprite->data[0] = gBattleAnimArgs[4];
|
sprite->data[0] = gBattleAnimArgs[4];
|
||||||
sprite->data[1] = sprite->x;
|
sprite->data[1] = sprite->x;
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + unkArg;
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + unkArg;
|
||||||
sprite->data[3] = sprite->y;
|
sprite->data[3] = sprite->y;
|
||||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + gBattleAnimArgs[3];
|
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[3];
|
||||||
InitAnimLinearTranslation(sprite);
|
InitAnimLinearTranslation(sprite);
|
||||||
sprite->callback = AnimAuroraBeamRings_Step;
|
sprite->callback = AnimAuroraBeamRings_Step;
|
||||||
sprite->affineAnimPaused = TRUE;
|
sprite->affineAnimPaused = TRUE;
|
||||||
@@ -653,9 +650,9 @@ static void AnimToTargetInSinWave(struct Sprite *sprite)
|
|||||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||||
sprite->data[0] = 30;
|
sprite->data[0] = 30;
|
||||||
sprite->data[1] = sprite->x;
|
sprite->data[1] = sprite->x;
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||||
sprite->data[3] = sprite->y;
|
sprite->data[3] = sprite->y;
|
||||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
InitAnimLinearTranslation(sprite);
|
InitAnimLinearTranslation(sprite);
|
||||||
sprite->data[5] = 0xD200 / sprite->data[0];
|
sprite->data[5] = 0xD200 / sprite->data[0];
|
||||||
sprite->data[7] = gBattleAnimArgs[3];
|
sprite->data[7] = gBattleAnimArgs[3];
|
||||||
@@ -708,8 +705,8 @@ static void AnimHydroCannonCharge(struct Sprite *sprite)
|
|||||||
{
|
{
|
||||||
u8 priority;
|
u8 priority;
|
||||||
|
|
||||||
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
|
sprite->x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
|
||||||
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
|
sprite->y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
|
||||||
sprite->y2 = -10;
|
sprite->y2 = -10;
|
||||||
priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
|
priority = GetBattlerSpriteSubpriority(gBattleAnimAttacker);
|
||||||
if (!IsContest())
|
if (!IsContest())
|
||||||
@@ -755,14 +752,14 @@ static void AnimHydroCannonBeam(struct Sprite *sprite)
|
|||||||
else
|
else
|
||||||
animType = FALSE;
|
animType = FALSE;
|
||||||
if ((u8)gBattleAnimArgs[5] == 0)
|
if ((u8)gBattleAnimArgs[5] == 0)
|
||||||
coordType = 3;
|
coordType = BATTLER_COORD_Y_PIC_OFFSET;
|
||||||
else
|
else
|
||||||
coordType = 1;
|
coordType = 1;
|
||||||
InitSpritePosToAnimAttacker(sprite, animType);
|
InitSpritePosToAnimAttacker(sprite, animType);
|
||||||
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
|
||||||
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
gBattleAnimArgs[2] = -gBattleAnimArgs[2];
|
||||||
sprite->data[0] = gBattleAnimArgs[4];
|
sprite->data[0] = gBattleAnimArgs[4];
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
|
||||||
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
|
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, coordType) + gBattleAnimArgs[3];
|
||||||
sprite->callback = StartAnimLinearTranslation;
|
sprite->callback = StartAnimLinearTranslation;
|
||||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||||
@@ -1173,8 +1170,8 @@ static u8 GetWaterSpoutPowerForAnim(void)
|
|||||||
static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId)
|
static void CreateWaterSpoutLaunchDroplets(struct Task *task, u8 taskId)
|
||||||
{
|
{
|
||||||
s16 i;
|
s16 i;
|
||||||
s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
s16 attackerCoordX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
s16 attackerCoordY = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
s16 trigIndex = 172;
|
s16 trigIndex = 172;
|
||||||
u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
|
u8 subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 1;
|
||||||
s16 increment = 4 - task->data[1];
|
s16 increment = 4 - task->data[1];
|
||||||
@@ -1347,8 +1344,8 @@ void AnimTask_WaterSport(u8 taskId)
|
|||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2);
|
task->data[3] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
|
||||||
task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3);
|
task->data[4] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1;
|
task->data[7] = (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) ? 1 : -1;
|
||||||
if (IsContest())
|
if (IsContest())
|
||||||
task->data[7] *= -1;
|
task->data[7] *= -1;
|
||||||
@@ -1520,8 +1517,8 @@ static void AnimWaterPulseRingBubble(struct Sprite *sprite)
|
|||||||
void AnimWaterPulseRing(struct Sprite *sprite)
|
void AnimWaterPulseRing(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
InitSpritePosToAnimAttacker(sprite, TRUE);
|
InitSpritePosToAnimAttacker(sprite, TRUE);
|
||||||
sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
|
sprite->data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2);
|
||||||
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
|
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET);
|
||||||
sprite->data[3] = gBattleAnimArgs[2];
|
sprite->data[3] = gBattleAnimArgs[2];
|
||||||
sprite->data[4] = gBattleAnimArgs[3];
|
sprite->data[4] = gBattleAnimArgs[3];
|
||||||
sprite->callback = AnimWaterPulseRing_Step;
|
sprite->callback = AnimWaterPulseRing_Step;
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -779,8 +779,8 @@ const u32 gBattleAnimSpriteGfx_Roots[] = INCBIN_U32("graphics/battle_anims/sprit
|
|||||||
const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz");
|
const u32 gBattleAnimSpritePal_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.gbapal.lz");
|
||||||
const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz");
|
const u32 gBattleAnimSpriteGfx_ItemBag[] = INCBIN_U32("graphics/battle_anims/sprites/item_bag.4bpp.lz");
|
||||||
|
|
||||||
const u32 gBattleAnimSpritePal_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.gbapal.lz");
|
const u32 gBattleAnimSpritePal_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.gbapal.lz");
|
||||||
const u32 gBattleAnimSpriteGfx_TriForceTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.4bpp.lz");
|
const u32 gBattleAnimSpriteGfx_TriAttackTriangle[] = INCBIN_U32("graphics/battle_anims/sprites/tri_attack_triangle.4bpp.lz");
|
||||||
|
|
||||||
const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz");
|
const u32 gBattleAnimSpritePal_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.gbapal.lz");
|
||||||
const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz");
|
const u32 gBattleAnimSpriteGfx_LetterZ[] = INCBIN_U32("graphics/battle_anims/sprites/letter_z.4bpp.lz");
|
||||||
|
|||||||
Reference in New Issue
Block a user