Sync battle anim - mons
This commit is contained in:
+13
-13
@@ -365,11 +365,11 @@ void TranslateSpriteInCircle(struct Sprite *sprite);
|
||||
void TranslateSpriteInGrowingCircle(struct Sprite *sprite);
|
||||
void TranslateSpriteInEllipse(struct Sprite *sprite);
|
||||
void WaitAnimForDuration(struct Sprite *sprite);
|
||||
void SetupLinearTranslationWithFixedDuration(struct Sprite *sprite);
|
||||
void ConvertPosDataToTranslateLinearData(struct Sprite *sprite);
|
||||
void TranslateSpriteLinear(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearFixedPoint(struct Sprite *sprite);
|
||||
void TranslateMonSpriteLinear(struct Sprite *sprite);
|
||||
void TranslateMonSpriteLinearFixedPoint(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearById(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearByIdFixedPoint(struct Sprite *sprite);
|
||||
void TranslateSpriteLinearAndFlicker(struct Sprite *sprite);
|
||||
void DestroySpriteAndMatrix(struct Sprite *sprite);
|
||||
void RunStoredCallbackWhenAffineAnimEnds(struct Sprite *sprite);
|
||||
@@ -398,7 +398,7 @@ void InitAnimBgTilemapBuffer(u32 bgId, const void *src);
|
||||
void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src);
|
||||
u8 GetBattleBgPaletteNum(void);
|
||||
void ToggleBg3Mode(bool8 arg0);
|
||||
void StartSpriteLinearTranslationFromCurrentPos(struct Sprite *sprite);
|
||||
void TradeMenuBouncePartySprites(struct Sprite *sprite);
|
||||
void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslation(struct Sprite *sprite);
|
||||
void StartAnimLinearTranslation(struct Sprite *sprite);
|
||||
@@ -406,11 +406,11 @@ void PlayerThrowBall_StartAnimLinearTranslation(struct Sprite *sprite);
|
||||
bool8 AnimTranslateLinear(struct Sprite *sprite);
|
||||
void AnimTranslateLinear_WithFollowup(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||
void BattleAnim_InitAndRunLinearTranslationWithDuration(struct Sprite *sprite);
|
||||
void InitAnimLinearTranslationWithSpeedAndPos(struct Sprite *sprite);
|
||||
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
|
||||
bool8 AnimFastTranslateLinear(struct Sprite *sprite);
|
||||
void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||
void InitAndStartAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
|
||||
void InitAnimFastLinearTranslationWithSpeedAndPos(struct Sprite *sprite);
|
||||
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
|
||||
void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 objMode);
|
||||
void ResetSpriteRotScale(u8 spriteId);
|
||||
@@ -420,7 +420,7 @@ void TryResetSpriteAffineState(struct Sprite *sprite);
|
||||
u16 ArcTan2Neg(s16 a, s16 b);
|
||||
void SetGreyscaleOrOriginalPalette(u16 paletteNum, bool8 restoreOriginalColor);
|
||||
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 GetBattleMonSpritePalettesMask(bool8 playerLeft, bool8 playerRight, bool8 foeLeft, bool8 foeRight);
|
||||
u8 GetSpritePalIdxByBattler(u8 a1);
|
||||
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
||||
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
|
||||
@@ -440,7 +440,7 @@ void *LoadPointerFromVars(s16 lo, s16 hi);
|
||||
void BattleAnimHelper_SetSpriteSquashParams(struct Task *task, u8 spriteId, s16 xScale0, s16 yScale0, s16 xScale1, s16 yScale1, u16 duration);
|
||||
u8 BattleAnimHelper_RunSpriteSquash(struct Task *task);
|
||||
void AnimTask_GetFrustrationPowerLevel(u8 taskId);
|
||||
void ResetSpritePriorityOfAllVisibleBattlers(void);
|
||||
void InitPrioritiesForVisibleBattlers(void);
|
||||
u8 GetBattlerSpriteSubpriority(u8 battlerId);
|
||||
u8 GetBattlerSpriteBGPriority(u8 battlerId);
|
||||
|
||||
@@ -451,12 +451,12 @@ u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templat
|
||||
void DestroySpriteAndFreeResources_(struct Sprite *sprite);
|
||||
s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr);
|
||||
void SetAverageBattlerPositions(u8 battlerId, bool8 respectMonPicOffsets, s16 *x, s16 *y);
|
||||
u8 CreateCloneOfSpriteInWindowMode(s32 battlerId, u8 spriteId, s32 species);
|
||||
void SpriteCB_AnimTranslateSpriteLinearAndFlicker(struct Sprite *sprite);
|
||||
void SpriteCB_AnimTranslateSpriteLinearAndFlicker2(struct Sprite *sprite);
|
||||
void SpriteCB_TrackOffsetFromAttackerAndWaitAnim(struct Sprite *sprite);
|
||||
u8 CreateInvisibleSpriteCopy(s32 battlerId, u8 spriteId, s32 species);
|
||||
void AnimTranslateLinearAndFlicker_Flipped(struct Sprite *sprite);
|
||||
void AnimTranslateLinearAndFlicker(struct Sprite *sprite);
|
||||
void AnimSpinningSparkle(struct Sprite *sprite);
|
||||
void AnimTask_AttackerPunchWithTrace(u8 taskId);
|
||||
void SpriteCB_WeatherBallUp(struct Sprite *sprite);
|
||||
void AnimWeatherBallUp(struct Sprite *sprite);
|
||||
void AnimWeatherBallDown(struct Sprite *sprite);
|
||||
|
||||
// battle_anim_mon_movement.c
|
||||
|
||||
@@ -14,6 +14,10 @@ struct MonCoords
|
||||
u8 y_offset;
|
||||
};
|
||||
|
||||
#define MON_COORDS_SIZE(width, height)(DIV_ROUND_UP(width, 8) << 4 | DIV_ROUND_UP(height, 8))
|
||||
#define GET_MON_COORDS_WIDTH(size)((size >> 4) * 8)
|
||||
#define GET_MON_COORDS_HEIGHT(size)((size & 0xF) * 8)
|
||||
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[][13];
|
||||
extern const u16 gUnknown_8251CB8[];
|
||||
|
||||
+1
-1
@@ -78,7 +78,7 @@ void sub_80716F8(const u16 *src, u16 *dst, u16 count, u8 a4);
|
||||
void sub_80717A8(u32 a1, s8 a2, u8 a3, u8 a4, u16 a5, u8 a6, u8 a7);
|
||||
bool32 sub_807185C(u8 var);
|
||||
void sub_8071898(void);
|
||||
void ResetPaletteStructByUid(u16 a1);
|
||||
void PaletteStruct_ResetById(u16 a1);
|
||||
void ResetPaletteStruct(u8 paletteNum);
|
||||
|
||||
#endif // GUARD_PALETTE_H
|
||||
|
||||
+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