Sync battle anim - mons
This commit is contained in:
+2
-2
@@ -1823,7 +1823,7 @@ void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMo
|
||||
{
|
||||
s32 i;
|
||||
|
||||
ResetSpritePriorityOfAllVisibleBattlers();
|
||||
InitPrioritiesForVisibleBattlers();
|
||||
UpdateOamPriorityInAllHealthboxes(0);
|
||||
for (i = 0; i < MAX_BATTLERS_COUNT; i++)
|
||||
{
|
||||
@@ -2128,7 +2128,7 @@ static void ScriptCmd_end(void)
|
||||
if (!continuousAnim)
|
||||
{
|
||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 256);
|
||||
ResetSpritePriorityOfAllVisibleBattlers();
|
||||
InitPrioritiesForVisibleBattlers();
|
||||
UpdateOamPriorityInAllHealthboxes(1);
|
||||
gAnimScriptActive = FALSE;
|
||||
}
|
||||
|
||||
@@ -802,7 +802,7 @@ void AnimTask_MetallicShine(u8 taskId)
|
||||
else
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
|
||||
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
newSpriteId = CreateCloneOfSpriteInWindowMode(gBattleAnimAttacker, spriteId, species);
|
||||
newSpriteId = CreateInvisibleSpriteCopy(gBattleAnimAttacker, spriteId, species);
|
||||
GetBattleAnimBg1Data(&animBg);
|
||||
AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
|
||||
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
|
||||
|
||||
@@ -4418,7 +4418,7 @@ static void AnimBowMon_Step1(struct Sprite* sprite)
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
|
||||
StoreSpriteCallbackInData6(sprite, AnimBowMon_Step1_Callback);
|
||||
sprite->callback = TranslateMonSpriteLinear;
|
||||
sprite->callback = TranslateSpriteLinearById;
|
||||
}
|
||||
|
||||
static void AnimBowMon_Step1_Callback(struct Sprite* sprite)
|
||||
@@ -4448,7 +4448,7 @@ static void AnimBowMon_Step2(struct Sprite* sprite)
|
||||
sprite->data[2] = 0;
|
||||
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
|
||||
StoreSpriteCallbackInData6(sprite, AnimBowMon_Step4);
|
||||
sprite->callback = TranslateMonSpriteLinear;
|
||||
sprite->callback = TranslateSpriteLinearById;
|
||||
}
|
||||
|
||||
static void AnimBowMon_Step3(struct Sprite* sprite)
|
||||
@@ -4996,7 +4996,7 @@ void AnimTask_FadeScreenBlue(u8 taskId)
|
||||
gTasks[taskId].data[7] = 13;
|
||||
gTasks[taskId].data[8] = 14;
|
||||
gTasks[taskId].data[9] = 15;
|
||||
b = SelectBattlerSpritePalettes(1, 1, 1, 1);
|
||||
b = GetBattleMonSpritePalettesMask(1, 1, 1, 1);
|
||||
c = a | b;
|
||||
StorePointerInVars(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void *)c);
|
||||
b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON));
|
||||
|
||||
@@ -1747,7 +1747,7 @@ void AnimCoinThrow(struct Sprite *sprite)
|
||||
sprite->data[0] = gBattleAnimArgs[4];
|
||||
sprite->data[2] = r6;
|
||||
sprite->data[4] = r7;
|
||||
sprite->callback = BattleAnim_InitAndRunLinearTranslationWithDuration;
|
||||
sprite->callback = InitAnimLinearTranslationWithSpeedAndPos;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
|
||||
@@ -531,7 +531,7 @@ static void AnimUnusedIceCrystalThrow(struct Sprite *sprite)
|
||||
sprite->data[2] = gBattleAnimArgs[2] + targetX;
|
||||
sprite->data[3] = gBattleAnimArgs[1] + attackerY;
|
||||
sprite->data[4] = gBattleAnimArgs[3] + targetY;
|
||||
SetupLinearTranslationWithFixedDuration(sprite);
|
||||
ConvertPosDataToTranslateLinearData(sprite);
|
||||
// won't match with while loop
|
||||
for (; (targetX >= -32 && targetX <= DISPLAY_WIDTH + 32) && (targetY >= -32 && targetY <= DISPLAY_HEIGHT + 32);
|
||||
targetX += sprite->data[1], targetY += sprite->data[2])
|
||||
@@ -548,7 +548,7 @@ static void AnimUnusedIceCrystalThrow(struct Sprite *sprite)
|
||||
sprite->data[2] = targetX;
|
||||
sprite->data[3] = attackerY;
|
||||
sprite->data[4] = targetY;
|
||||
SetupLinearTranslationWithFixedDuration(sprite);
|
||||
ConvertPosDataToTranslateLinearData(sprite);
|
||||
sprite->data[3] = gBattleAnimArgs[5];
|
||||
sprite->data[4] = gBattleAnimArgs[6];
|
||||
sprite->callback = AnimUnusedIceCrystalThrow_Step;
|
||||
@@ -686,7 +686,7 @@ static void AnimSwirlingSnowball(struct Sprite *sprite)
|
||||
sprite->x2 = sprite->y2 = 0;
|
||||
for (i = 0; i < 8; ++i)
|
||||
sprite->data[i] = tempDataHolder[i];
|
||||
sprite->callback = InitAndStartAnimFastLinearTranslationWithSpeed;
|
||||
sprite->callback = InitAnimFastLinearTranslationWithSpeedAndPos;
|
||||
StoreSpriteCallbackInData6(sprite, AnimSwirlingSnowball_Step1);
|
||||
}
|
||||
|
||||
|
||||
@@ -397,14 +397,14 @@ static void DoHorizontalLunge(struct Sprite *sprite)
|
||||
sprite->data[3] = gBattlerSpriteIds[gBattleAnimAttacker];
|
||||
sprite->data[4] = gBattleAnimArgs[0];
|
||||
StoreSpriteCallbackInData6(sprite, ReverseHorizontalLungeDirection);
|
||||
sprite->callback = TranslateMonSpriteLinear;
|
||||
sprite->callback = TranslateSpriteLinearById;
|
||||
}
|
||||
|
||||
static void ReverseHorizontalLungeDirection(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = sprite->data[4];
|
||||
sprite->data[1] = -sprite->data[1];
|
||||
sprite->callback = TranslateMonSpriteLinear;
|
||||
sprite->callback = TranslateSpriteLinearById;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
@@ -424,14 +424,14 @@ static void DoVerticalDip(struct Sprite *sprite)
|
||||
sprite->data[3] = spriteId;
|
||||
sprite->data[4] = gBattleAnimArgs[0];
|
||||
StoreSpriteCallbackInData6(sprite, ReverseVerticalDipDirection);
|
||||
sprite->callback = TranslateMonSpriteLinear;
|
||||
sprite->callback = TranslateSpriteLinearById;
|
||||
}
|
||||
|
||||
static void ReverseVerticalDipDirection(struct Sprite *sprite)
|
||||
{
|
||||
sprite->data[0] = sprite->data[4];
|
||||
sprite->data[2] = -sprite->data[2];
|
||||
sprite->callback = TranslateMonSpriteLinear;
|
||||
sprite->callback = TranslateSpriteLinearById;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
}
|
||||
|
||||
@@ -523,7 +523,7 @@ static void SlideMonToOffset(struct Sprite *sprite)
|
||||
sprite->data[5] = monSpriteId;
|
||||
sprite->invisible = TRUE;
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
sprite->callback = TranslateMonSpriteLinearFixedPoint;
|
||||
sprite->callback = TranslateSpriteLinearByIdFixedPoint;
|
||||
}
|
||||
|
||||
static void SlideMonToOffsetAndBack(struct Sprite *sprite)
|
||||
@@ -556,7 +556,7 @@ static void SlideMonToOffsetAndBack(struct Sprite *sprite)
|
||||
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
|
||||
else
|
||||
StoreSpriteCallbackInData6(sprite, SlideMonToOffsetAndBack_End);
|
||||
sprite->callback = TranslateMonSpriteLinearFixedPoint;
|
||||
sprite->callback = TranslateSpriteLinearByIdFixedPoint;
|
||||
}
|
||||
|
||||
static void SlideMonToOffsetAndBack_End(struct Sprite *sprite)
|
||||
|
||||
+335
-224
File diff suppressed because it is too large
Load Diff
@@ -43,7 +43,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF3F8 =
|
||||
.anims = sSpriteAnimTable_83BF3F4,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker2,
|
||||
.callback = AnimTranslateLinearAndFlicker,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_83BF410 =
|
||||
@@ -54,7 +54,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF410 =
|
||||
.anims = sSpriteAnimTable_83BF3F4,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker,
|
||||
.callback = AnimTranslateLinearAndFlicker_Flipped,
|
||||
};
|
||||
|
||||
static const union AnimCmd sUnknown_83BF428[] =
|
||||
@@ -76,7 +76,7 @@ const struct SpriteTemplate gWeatherBallUpSpriteTemplate =
|
||||
.anims = sSpriteAnimTable_83BF430,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_WeatherBallUp,
|
||||
.callback = AnimWeatherBallUp,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gWeatherBallNormalDownSpriteTemplate =
|
||||
@@ -113,7 +113,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF480 =
|
||||
.anims = sSpriteAnimTable_83BF47C,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_TrackOffsetFromAttackerAndWaitAnim,
|
||||
.callback = AnimSpinningSparkle,
|
||||
};
|
||||
|
||||
const struct SpriteTemplate gSpriteTemplate_83BF498 =
|
||||
@@ -124,7 +124,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF498 =
|
||||
.anims = gDummySpriteAnimTable,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker2,
|
||||
.callback = AnimTranslateLinearAndFlicker,
|
||||
};
|
||||
|
||||
static const union AnimCmd sUnknown_83BF4B0[] =
|
||||
@@ -160,7 +160,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF4D4 =
|
||||
.anims = sSpriteAniimTable_83BF4C8,
|
||||
.images = NULL,
|
||||
.affineAnims = gDummySpriteAffineAnimTable,
|
||||
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker2,
|
||||
.callback = AnimTranslateLinearAndFlicker,
|
||||
};
|
||||
|
||||
static const union AnimCmd sUnknown_83BF4EC[] =
|
||||
@@ -194,7 +194,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 =
|
||||
.anims = sSpriteAnimTable_83BF4F4,
|
||||
.images = NULL,
|
||||
.affineAnims = sSpriteAffineAnimTable_83BF510,
|
||||
.callback = SpriteCB_AnimTranslateSpriteLinearAndFlicker,
|
||||
.callback = AnimTranslateLinearAndFlicker_Flipped,
|
||||
};
|
||||
|
||||
static const u8 sUnknown_83BF52C[] = _("TASK OVER\nタスクがオ-バ-しました");
|
||||
|
||||
@@ -54,7 +54,7 @@ void AnimTask_BlendSelected(u8 taskId)
|
||||
{
|
||||
u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
|
||||
|
||||
selectedPalettes |= SelectBattlerSpritePalettes(
|
||||
selectedPalettes |= GetBattleMonSpritePalettesMask(
|
||||
(gBattleAnimArgs[0] >> 7) & 1,
|
||||
(gBattleAnimArgs[0] >> 8) & 1,
|
||||
(gBattleAnimArgs[0] >> 9) & 1,
|
||||
@@ -330,7 +330,7 @@ void AnimTask_SetUpCurseBackground(u8 taskId)
|
||||
else
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
|
||||
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
|
||||
newSpriteId = CreateCloneOfSpriteInWindowMode(gBattleAnimAttacker, spriteId, species);
|
||||
newSpriteId = CreateInvisibleSpriteCopy(gBattleAnimAttacker, spriteId, species);
|
||||
GetBattleAnimBg1Data(&animBgData);
|
||||
AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap);
|
||||
if (IsContest())
|
||||
@@ -446,11 +446,11 @@ static void StatsChangeAnimation_Step2(u8 taskId)
|
||||
u8 battlerSpriteId;
|
||||
|
||||
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler1];
|
||||
spriteId = CreateCloneOfSpriteInWindowMode(sAnimStatsChangeData->battler1, battlerSpriteId, sAnimStatsChangeData->species);
|
||||
spriteId = CreateInvisibleSpriteCopy(sAnimStatsChangeData->battler1, battlerSpriteId, sAnimStatsChangeData->species);
|
||||
if (sAnimStatsChangeData->data[3])
|
||||
{
|
||||
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2];
|
||||
newSpriteId = CreateCloneOfSpriteInWindowMode(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species);
|
||||
newSpriteId = CreateInvisibleSpriteCopy(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species);
|
||||
}
|
||||
GetBattleAnimBg1Data(&animBgData);
|
||||
if (sAnimStatsChangeData->data[0] == 0)
|
||||
@@ -580,7 +580,7 @@ static void StatsChangeAnimation_Step3(u8 taskId)
|
||||
|
||||
void AnimTask_Flash(u8 taskId)
|
||||
{
|
||||
u32 selectedPalettes = SelectBattlerSpritePalettes(1, 1, 1, 1);
|
||||
u32 selectedPalettes = GetBattleMonSpritePalettesMask(1, 1, 1, 1);
|
||||
|
||||
sub_80BB790(selectedPalettes, 0);
|
||||
gTasks[taskId].data[14] = selectedPalettes >> 16;
|
||||
@@ -753,9 +753,9 @@ void StartMonScrollingBgMask(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 ar
|
||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
||||
else
|
||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler1]], MON_DATA_SPECIES);
|
||||
spriteId = CreateCloneOfSpriteInWindowMode(battler1, gBattlerSpriteIds[battler1], species);
|
||||
spriteId = CreateInvisibleSpriteCopy(battler1, gBattlerSpriteIds[battler1], species);
|
||||
if (arg4)
|
||||
newSpriteId = CreateCloneOfSpriteInWindowMode(battler2, gBattlerSpriteIds[battler2], species);
|
||||
newSpriteId = CreateInvisibleSpriteCopy(battler2, gBattlerSpriteIds[battler2], species);
|
||||
GetBattleAnimBg1Data(&animBgData);
|
||||
AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap);
|
||||
if (IsContest())
|
||||
|
||||
+2
-2
@@ -319,7 +319,7 @@ static void sub_80709B4(struct PaletteStruct *a1)
|
||||
return;
|
||||
if (val > 2)
|
||||
return;
|
||||
ResetPaletteStructByUid(a1->base->uid);
|
||||
PaletteStruct_ResetById(a1->base->uid);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -328,7 +328,7 @@ static void sub_80709B4(struct PaletteStruct *a1)
|
||||
}
|
||||
}
|
||||
|
||||
void ResetPaletteStructByUid(u16 a1)
|
||||
void PaletteStruct_ResetById(u16 a1)
|
||||
{
|
||||
u8 paletteNum = GetPaletteNumByUid(a1);
|
||||
if (paletteNum != 16)
|
||||
|
||||
+1
-1
@@ -2140,7 +2140,7 @@ static void HandleRedrawTradeMenuOnSide(u8 side)
|
||||
gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (sTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12;
|
||||
StoreSpriteCallbackInData6(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], SpriteCB_MonIcon);
|
||||
sTradeMenuResourcesPtr->menuRedrawState[side]++;
|
||||
StartSpriteLinearTranslationFromCurrentPos(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]);
|
||||
TradeMenuBouncePartySprites(&gSprites[sTradeMenuResourcesPtr->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]);
|
||||
CopyToBgTilemapBufferRect_ChangePalette(1, sTradePartyBoxTilemap, side * 15, 0, 15, 17, 0);
|
||||
CopyBgTilemapBufferToVram(1);
|
||||
CopyBgTilemapBufferToVram(0);
|
||||
|
||||
Reference in New Issue
Block a user