Sync battle anim - effects 1
This commit is contained in:
@@ -215,7 +215,6 @@ void AnimMoon(struct Sprite *);
|
||||
void AnimMoonlightSparkle(struct Sprite *);
|
||||
void AnimHornHit(struct Sprite *);
|
||||
void AnimSuperFang(struct Sprite *);
|
||||
void AnimWavyMusicNotes(struct Sprite *);
|
||||
void AnimFlyingMusicNotes(struct Sprite *);
|
||||
void AnimBellyDrumHand(struct Sprite *);
|
||||
void AnimSlowFlyingMusicNotes(struct Sprite *);
|
||||
@@ -421,7 +420,7 @@ void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 x
|
||||
void TryResetSpriteAffineState(struct Sprite *sprite);
|
||||
u16 ArcTan2Neg(s16 a, s16 b);
|
||||
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);
|
||||
u8 GetSpritePalIdxByBattler(u8 a1);
|
||||
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
||||
@@ -429,7 +428,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
|
||||
void AnimThrowProjectile(struct Sprite *sprite);
|
||||
void AnimSnoreZ(struct Sprite *sprite);
|
||||
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_BlendMonInAndOut(u8 task);
|
||||
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)
|
||||
{
|
||||
obj_delete_but_dont_free_vram(&gSprites[spriteId]);
|
||||
DestroySpriteWithActiveSheet(&gSprites[spriteId]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2100,7 +2100,7 @@ static void ClonedMinizeSprite_Step(struct Sprite *sprite)
|
||||
{
|
||||
gTasks[sprite->data[1]].data[sprite->data[2]]--;
|
||||
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;
|
||||
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)
|
||||
{
|
||||
|
||||
@@ -4743,7 +4743,7 @@ void AnimTask_OdorSleuthMovement(u8 taskId)
|
||||
spriteId2 = CloneBattlerSpriteWithBlend(ANIM_TARGET);
|
||||
if (spriteId2 < 0)
|
||||
{
|
||||
obj_delete_but_dont_free_vram(&gSprites[spriteId1]);
|
||||
DestroySpriteWithActiveSheet(&gSprites[spriteId1]);
|
||||
DestroyAnimVisualTask(taskId);
|
||||
return;
|
||||
}
|
||||
@@ -4823,7 +4823,7 @@ static void MoveOdorSleuthClone(struct Sprite *sprite)
|
||||
if (sprite->data[5] < 0)
|
||||
{
|
||||
gTasks[sprite->data[6]].data[sprite->data[7]]--;
|
||||
obj_delete_but_dont_free_vram(sprite);
|
||||
DestroySpriteWithActiveSheet(sprite);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -563,7 +563,7 @@ static void sub_80B59D4(u8 taskId)
|
||||
break;
|
||||
if (task->data[1] <= 80)
|
||||
break;
|
||||
obj_delete_but_dont_free_vram(&gSprites[task->data[0]]);
|
||||
DestroySpriteWithActiveSheet(&gSprites[task->data[0]]);
|
||||
task->data[4] = 1;
|
||||
break;
|
||||
case 1:
|
||||
@@ -718,7 +718,7 @@ static void sub_80B5DCC(u8 taskId)
|
||||
break;
|
||||
case 2:
|
||||
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);
|
||||
SetGpuReg(REG_OFFSET_BLDCNT, 0);
|
||||
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
|
||||
@@ -980,7 +980,7 @@ static void sub_80B6468(u8 taskId)
|
||||
right = 240;
|
||||
top = 0;
|
||||
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));
|
||||
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 shift;
|
||||
@@ -1467,7 +1467,7 @@ s16 CloneBattlerSpriteWithBlend(u8 animBattler)
|
||||
return -1;
|
||||
}
|
||||
|
||||
void obj_delete_but_dont_free_vram(struct Sprite *sprite)
|
||||
void DestroySpriteWithActiveSheet(struct Sprite *sprite)
|
||||
{
|
||||
sprite->usingSheet = TRUE;
|
||||
DestroySprite(sprite);
|
||||
@@ -2204,7 +2204,7 @@ static void SpriteCB_PunchTrace(struct Sprite *sprite)
|
||||
if (--sprite->data[0] == 0)
|
||||
{
|
||||
--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 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)
|
||||
@@ -659,7 +659,7 @@ void AnimTask_InvertScreenColor(u8 taskId)
|
||||
u8 targetBattler = gBattleAnimTarget;
|
||||
|
||||
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)
|
||||
selectedPalettes |= (0x10000 << attackerBattler);
|
||||
if (gBattleAnimArgs[2] & 0x100)
|
||||
|
||||
@@ -1024,7 +1024,7 @@ static void sub_80B3D78(u8 taskId)
|
||||
++task->data[0];
|
||||
break;
|
||||
case 2:
|
||||
obj_delete_but_dont_free_vram(&gSprites[task->data[15]]);
|
||||
DestroySpriteWithActiveSheet(&gSprites[task->data[15]]);
|
||||
++task->data[0];
|
||||
break;
|
||||
case 3:
|
||||
|
||||
@@ -660,7 +660,7 @@ void AnimTask_SwitchOutBallEffect(u8 taskId)
|
||||
priority = gSprites[spriteId].oam.priority;
|
||||
subpriority = gSprites[spriteId].subpriority;
|
||||
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[0]++;
|
||||
break;
|
||||
|
||||
@@ -279,7 +279,7 @@ static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite)
|
||||
else
|
||||
{
|
||||
--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);
|
||||
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);
|
||||
gTasks[taskId].data[15] = selectedPalettes;
|
||||
gTasks[taskId].data[0] = 0;
|
||||
@@ -856,7 +856,7 @@ void AnimTask_CopyPalUnfadedToBackup(u8 taskId)
|
||||
s32 paletteIndex = 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;
|
||||
++paletteIndex)
|
||||
selectedPalettes >>= 1;
|
||||
@@ -874,7 +874,7 @@ void AnimTask_CopyPalUnfadedFromBackup(u8 taskId)
|
||||
s32 paletteIndex = 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;
|
||||
++paletteIndex)
|
||||
selectedPalettes >>= 1;
|
||||
@@ -892,7 +892,7 @@ void AnimTask_CopyPalFadedToUnfaded(u8 taskId)
|
||||
s32 paletteIndex = 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;
|
||||
++paletteIndex)
|
||||
selectedPalettes >>= 1;
|
||||
|
||||
Reference in New Issue
Block a user