Sync battle anim - effects 1

This commit is contained in:
GriffinR
2022-08-14 18:56:23 -04:00
parent 102dc65fd1
commit b15305378a
10 changed files with 394 additions and 386 deletions
+2 -3
View File
@@ -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);
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -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)
{ {
+2 -2
View File
@@ -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;
+3 -3
View File
@@ -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;
} }
+3 -3
View File
@@ -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);
} }
} }
+2 -2
View File
@@ -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)
+1 -1
View File
@@ -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:
+1 -1
View File
@@ -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;
+5 -5
View File
@@ -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;