Sync battle anim - effects 1
This commit is contained in:
@@ -215,7 +215,6 @@ void AnimMoon(struct Sprite *);
|
|||||||
void AnimMoonlightSparkle(struct Sprite *);
|
void AnimMoonlightSparkle(struct Sprite *);
|
||||||
void AnimHornHit(struct Sprite *);
|
void AnimHornHit(struct Sprite *);
|
||||||
void AnimSuperFang(struct Sprite *);
|
void AnimSuperFang(struct Sprite *);
|
||||||
void AnimWavyMusicNotes(struct Sprite *);
|
|
||||||
void AnimFlyingMusicNotes(struct Sprite *);
|
void AnimFlyingMusicNotes(struct Sprite *);
|
||||||
void AnimBellyDrumHand(struct Sprite *);
|
void AnimBellyDrumHand(struct Sprite *);
|
||||||
void AnimSlowFlyingMusicNotes(struct Sprite *);
|
void AnimSlowFlyingMusicNotes(struct Sprite *);
|
||||||
@@ -421,7 +420,7 @@ void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 x
|
|||||||
void TryResetSpriteAffineState(struct Sprite *sprite);
|
void TryResetSpriteAffineState(struct Sprite *sprite);
|
||||||
u16 ArcTan2Neg(s16 a, s16 b);
|
u16 ArcTan2Neg(s16 a, s16 b);
|
||||||
void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor);
|
void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor);
|
||||||
u32 SelectBattleAnimSpriteAndBgPalettes(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7);
|
u32 GetBattlePalettesMask(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7);
|
||||||
u32 SelectBattlerSpritePalettes(bool8 playerLeft, bool8 playerRight, bool8 foeLeft, bool8 foeRight);
|
u32 SelectBattlerSpritePalettes(bool8 playerLeft, bool8 playerRight, bool8 foeLeft, bool8 foeRight);
|
||||||
u8 GetSpritePalIdxByBattler(u8 a1);
|
u8 GetSpritePalIdxByBattler(u8 a1);
|
||||||
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
||||||
@@ -429,7 +428,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
|
|||||||
void AnimThrowProjectile(struct Sprite *sprite);
|
void AnimThrowProjectile(struct Sprite *sprite);
|
||||||
void AnimSnoreZ(struct Sprite *sprite);
|
void AnimSnoreZ(struct Sprite *sprite);
|
||||||
s16 CloneBattlerSpriteWithBlend(u8 animBattler);
|
s16 CloneBattlerSpriteWithBlend(u8 animBattler);
|
||||||
void obj_delete_but_dont_free_vram(struct Sprite *sprite);
|
void DestroySpriteWithActiveSheet(struct Sprite *sprite);
|
||||||
void AnimTask_AlphaFadeIn(u8 taskId);
|
void AnimTask_AlphaFadeIn(u8 taskId);
|
||||||
void AnimTask_BlendMonInAndOut(u8 task);
|
void AnimTask_BlendMonInAndOut(u8 task);
|
||||||
void AnimTask_BlendPalInAndOutByTag(u8 taskId);
|
void AnimTask_BlendPalInAndOutByTag(u8 taskId);
|
||||||
|
|||||||
+372
-363
File diff suppressed because it is too large
Load Diff
@@ -2072,7 +2072,7 @@ static void CreateMinimizeSprite(struct Task* task, u8 taskId)
|
|||||||
{
|
{
|
||||||
if ((matrixNum = AllocOamMatrix()) == 0xFF)
|
if ((matrixNum = AllocOamMatrix()) == 0xFF)
|
||||||
{
|
{
|
||||||
obj_delete_but_dont_free_vram(&gSprites[spriteId]);
|
DestroySpriteWithActiveSheet(&gSprites[spriteId]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -2100,7 +2100,7 @@ static void ClonedMinizeSprite_Step(struct Sprite *sprite)
|
|||||||
{
|
{
|
||||||
gTasks[sprite->data[1]].data[sprite->data[2]]--;
|
gTasks[sprite->data[1]].data[sprite->data[2]]--;
|
||||||
FreeOamMatrix(sprite->oam.matrixNum);
|
FreeOamMatrix(sprite->oam.matrixNum);
|
||||||
obj_delete_but_dont_free_vram(sprite);
|
DestroySpriteWithActiveSheet(sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3082,7 +3082,7 @@ static void FakeOutStep2(u8 taskId)
|
|||||||
{
|
{
|
||||||
gTasks[taskId].data[11] = 0x88;
|
gTasks[taskId].data[11] = 0x88;
|
||||||
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_LIGHTEN);
|
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_LIGHTEN);
|
||||||
BlendPalettes(SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0), 16, RGB_WHITE);
|
BlendPalettes(GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0), 16, RGB_WHITE);
|
||||||
}
|
}
|
||||||
else if (gTasks[taskId].data[10] > 4)
|
else if (gTasks[taskId].data[10] > 4)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -4743,7 +4743,7 @@ void AnimTask_OdorSleuthMovement(u8 taskId)
|
|||||||
spriteId2 = CloneBattlerSpriteWithBlend(ANIM_TARGET);
|
spriteId2 = CloneBattlerSpriteWithBlend(ANIM_TARGET);
|
||||||
if (spriteId2 < 0)
|
if (spriteId2 < 0)
|
||||||
{
|
{
|
||||||
obj_delete_but_dont_free_vram(&gSprites[spriteId1]);
|
DestroySpriteWithActiveSheet(&gSprites[spriteId1]);
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -4823,7 +4823,7 @@ static void MoveOdorSleuthClone(struct Sprite *sprite)
|
|||||||
if (sprite->data[5] < 0)
|
if (sprite->data[5] < 0)
|
||||||
{
|
{
|
||||||
gTasks[sprite->data[6]].data[sprite->data[7]]--;
|
gTasks[sprite->data[6]].data[sprite->data[7]]--;
|
||||||
obj_delete_but_dont_free_vram(sprite);
|
DestroySpriteWithActiveSheet(sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -563,7 +563,7 @@ static void sub_80B59D4(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
if (task->data[1] <= 80)
|
if (task->data[1] <= 80)
|
||||||
break;
|
break;
|
||||||
obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
|
DestroySpriteWithActiveSheet(&gSprites[task->data[0]]);
|
||||||
task->data[4] = 1;
|
task->data[4] = 1;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
@@ -718,7 +718,7 @@ static void sub_80B5DCC(u8 taskId)
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
gSprites[task->data[14]].invisible = TRUE;
|
gSprites[task->data[14]].invisible = TRUE;
|
||||||
obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
|
DestroySpriteWithActiveSheet(&gSprites[task->data[0]]);
|
||||||
FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
|
FreeSpritePaletteByTag(ANIM_TAG_BENT_SPOON);
|
||||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||||
@@ -980,7 +980,7 @@ static void sub_80B6468(u8 taskId)
|
|||||||
right = 240;
|
right = 240;
|
||||||
top = 0;
|
top = 0;
|
||||||
bottom = 112;
|
bottom = 112;
|
||||||
selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0);
|
selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
||||||
BeginNormalPaletteFade(selectedPalettes, 0, 16, 16, RGB(0, 0, 0));
|
BeginNormalPaletteFade(selectedPalettes, 0, 16, 16, RGB(0, 0, 0));
|
||||||
gTasks[taskId].func = sub_80B65F0;
|
gTasks[taskId].func = sub_80B65F0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1242,7 +1242,7 @@ void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
u32 SelectBattleAnimSpriteAndBgPalettes(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7)
|
u32 GetBattlePalettesMask(bool8 battleBackground, bool8 attacker, bool8 target, bool8 attackerPartner, bool8 targetPartner, bool8 a6, bool8 a7)
|
||||||
{
|
{
|
||||||
u32 selectedPalettes = 0;
|
u32 selectedPalettes = 0;
|
||||||
u32 shift;
|
u32 shift;
|
||||||
@@ -1467,7 +1467,7 @@ s16 CloneBattlerSpriteWithBlend(u8 animBattler)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void obj_delete_but_dont_free_vram(struct Sprite *sprite)
|
void DestroySpriteWithActiveSheet(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
sprite->usingSheet = TRUE;
|
sprite->usingSheet = TRUE;
|
||||||
DestroySprite(sprite);
|
DestroySprite(sprite);
|
||||||
@@ -2204,7 +2204,7 @@ static void SpriteCB_PunchTrace(struct Sprite *sprite)
|
|||||||
if (--sprite->data[0] == 0)
|
if (--sprite->data[0] == 0)
|
||||||
{
|
{
|
||||||
--gTasks[sprite->data[1]].data[5];
|
--gTasks[sprite->data[1]].data[5];
|
||||||
obj_delete_but_dont_free_vram(sprite);
|
DestroySpriteWithActiveSheet(sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ u32 UnpackSelectedBattleAnimPalettes(s16 selector)
|
|||||||
u8 arg5 = (selector >> 5) & 1;
|
u8 arg5 = (selector >> 5) & 1;
|
||||||
u8 arg6 = (selector >> 6) & 1;
|
u8 arg6 = (selector >> 6) & 1;
|
||||||
|
|
||||||
return SelectBattleAnimSpriteAndBgPalettes(battleBackground, attacker, target, attackerPartner, targetPartner, arg5, arg6);
|
return GetBattlePalettesMask(battleBackground, attacker, target, attackerPartner, targetPartner, arg5, arg6);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void AnimSimplePaletteBlendStep(struct Sprite *sprite)
|
static void AnimSimplePaletteBlendStep(struct Sprite *sprite)
|
||||||
@@ -659,7 +659,7 @@ void AnimTask_InvertScreenColor(u8 taskId)
|
|||||||
u8 targetBattler = gBattleAnimTarget;
|
u8 targetBattler = gBattleAnimTarget;
|
||||||
|
|
||||||
if (gBattleAnimArgs[0] & 0x100)
|
if (gBattleAnimArgs[0] & 0x100)
|
||||||
selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0);
|
selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
||||||
if (gBattleAnimArgs[1] & 0x100)
|
if (gBattleAnimArgs[1] & 0x100)
|
||||||
selectedPalettes |= (0x10000 << attackerBattler);
|
selectedPalettes |= (0x10000 << attackerBattler);
|
||||||
if (gBattleAnimArgs[2] & 0x100)
|
if (gBattleAnimArgs[2] & 0x100)
|
||||||
|
|||||||
@@ -1024,7 +1024,7 @@ static void sub_80B3D78(u8 taskId)
|
|||||||
++task->data[0];
|
++task->data[0];
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
obj_delete_but_dont_free_vram(&gSprites[task->data[15]]);
|
DestroySpriteWithActiveSheet(&gSprites[task->data[15]]);
|
||||||
++task->data[0];
|
++task->data[0];
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
|
|||||||
@@ -660,7 +660,7 @@ void AnimTask_SwitchOutBallEffect(u8 taskId)
|
|||||||
priority = gSprites[spriteId].oam.priority;
|
priority = gSprites[spriteId].oam.priority;
|
||||||
subpriority = gSprites[spriteId].subpriority;
|
subpriority = gSprites[spriteId].subpriority;
|
||||||
gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId);
|
gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId);
|
||||||
selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0);
|
selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
||||||
gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId);
|
gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId);
|
||||||
gTasks[taskId].data[0]++;
|
gTasks[taskId].data[0]++;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -279,7 +279,7 @@ static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
--gTasks[sprite->data[1]].data[sprite->data[2]];
|
--gTasks[sprite->data[1]].data[sprite->data[2]];
|
||||||
obj_delete_but_dont_free_vram(sprite);
|
DestroySpriteWithActiveSheet(sprite);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -584,7 +584,7 @@ void AnimTask_Flash(u8 taskId)
|
|||||||
|
|
||||||
sub_80BB790(selectedPalettes, 0);
|
sub_80BB790(selectedPalettes, 0);
|
||||||
gTasks[taskId].data[14] = selectedPalettes >> 16;
|
gTasks[taskId].data[14] = selectedPalettes >> 16;
|
||||||
selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
|
selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
|
||||||
sub_80BB790(selectedPalettes, 0xFFFF);
|
sub_80BB790(selectedPalettes, 0xFFFF);
|
||||||
gTasks[taskId].data[15] = selectedPalettes;
|
gTasks[taskId].data[15] = selectedPalettes;
|
||||||
gTasks[taskId].data[0] = 0;
|
gTasks[taskId].data[0] = 0;
|
||||||
@@ -856,7 +856,7 @@ void AnimTask_CopyPalUnfadedToBackup(u8 taskId)
|
|||||||
s32 paletteIndex = 0;
|
s32 paletteIndex = 0;
|
||||||
|
|
||||||
if (gBattleAnimArgs[0] == 0)
|
if (gBattleAnimArgs[0] == 0)
|
||||||
for (selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0);
|
for (selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
||||||
(selectedPalettes & 1) == 0;
|
(selectedPalettes & 1) == 0;
|
||||||
++paletteIndex)
|
++paletteIndex)
|
||||||
selectedPalettes >>= 1;
|
selectedPalettes >>= 1;
|
||||||
@@ -874,7 +874,7 @@ void AnimTask_CopyPalUnfadedFromBackup(u8 taskId)
|
|||||||
s32 paletteIndex = 0;
|
s32 paletteIndex = 0;
|
||||||
|
|
||||||
if (gBattleAnimArgs[0] == 0)
|
if (gBattleAnimArgs[0] == 0)
|
||||||
for (selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0);
|
for (selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
||||||
(selectedPalettes & 1) == 0;
|
(selectedPalettes & 1) == 0;
|
||||||
++paletteIndex)
|
++paletteIndex)
|
||||||
selectedPalettes >>= 1;
|
selectedPalettes >>= 1;
|
||||||
@@ -892,7 +892,7 @@ void AnimTask_CopyPalFadedToUnfaded(u8 taskId)
|
|||||||
s32 paletteIndex = 0;
|
s32 paletteIndex = 0;
|
||||||
|
|
||||||
if (gBattleAnimArgs[0] == 0)
|
if (gBattleAnimArgs[0] == 0)
|
||||||
for (selectedPalettes = SelectBattleAnimSpriteAndBgPalettes(1, 0, 0, 0, 0, 0, 0);
|
for (selectedPalettes = GetBattlePalettesMask(1, 0, 0, 0, 0, 0, 0);
|
||||||
(selectedPalettes & 1) == 0;
|
(selectedPalettes & 1) == 0;
|
||||||
++paletteIndex)
|
++paletteIndex)
|
||||||
selectedPalettes >>= 1;
|
selectedPalettes >>= 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user