Some more docs in battle anims
This commit is contained in:
+797
-770
File diff suppressed because it is too large
Load Diff
@@ -414,7 +414,7 @@ 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 SelectBattleAnimSpriteAndBgPalettes(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 sub_8075D80(u8 a1);
|
u8 GetSpritePalIdxByBattler(u8 a1);
|
||||||
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
||||||
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
|
void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite);
|
||||||
void AnimThrowProjectile(struct Sprite *sprite);
|
void AnimThrowProjectile(struct Sprite *sprite);
|
||||||
@@ -468,7 +468,7 @@ void sub_8099BD4(u8 taskId);
|
|||||||
extern const struct SpriteTemplate gUnknown_83E7C98;
|
extern const struct SpriteTemplate gUnknown_83E7C98;
|
||||||
extern const struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
extern const struct SpriteTemplate gBasicHitSplatSpriteTemplate;
|
||||||
u32 UnpackSelectedBattleAnimPalettes(s16 selector);
|
u32 UnpackSelectedBattleAnimPalettes(s16 selector);
|
||||||
void sub_80B9BDC(u8 taskId);
|
void AnimTask_CurseBlendEffect(u8 taskId);
|
||||||
void sub_80B9CE4(u8 taskId);
|
void sub_80B9CE4(u8 taskId);
|
||||||
void sub_80B9E58(u8 taskId);
|
void sub_80B9E58(u8 taskId);
|
||||||
void sub_80B9F6C(u8 taskId);
|
void sub_80B9F6C(u8 taskId);
|
||||||
@@ -561,13 +561,13 @@ void AnimWaterPulseRing(struct Sprite *sprite);
|
|||||||
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
|
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
|
||||||
|
|
||||||
// battle_anim_utility_funcs.c
|
// battle_anim_utility_funcs.c
|
||||||
void sub_80BA7F8(u8 taskId);
|
void AnimTask_BlendSelected(u8 taskId);
|
||||||
void sub_80BA83C(u8 taskId);
|
void AnimTask_BlendExcept(u8 taskId);
|
||||||
void AnimTask_SetCamouflageBlend(u8 taskId);
|
void AnimTask_SetCamouflageBlend(u8 taskId);
|
||||||
void AnimTask_BlendParticle(u8 taskId);
|
void AnimTask_BlendParticle(u8 taskId);
|
||||||
void sub_80BAB38(u8 taskId);
|
void AnimTask_HardwarePaletteFade(u8 taskId);
|
||||||
void sub_80BAB98(u8 taskId);
|
void AnimTask_CloneBattlerSpriteWithBlend(u8 taskId);
|
||||||
void sub_80BACEC(u8 taskId);
|
void AnimTask_SetUpCurseBackground(u8 taskId);
|
||||||
void sub_80BB088(u8 taskId);
|
void sub_80BB088(u8 taskId);
|
||||||
void sub_80BB660(u8 taskId);
|
void sub_80BB660(u8 taskId);
|
||||||
void sub_80BB7DC(u8 taskId);
|
void sub_80BB7DC(u8 taskId);
|
||||||
|
|||||||
@@ -1970,6 +1970,11 @@ static void ScriptCmd_unloadspritegfx(void)
|
|||||||
ClearSpriteIndex(GET_TRUE_SPRITE_INDEX(index));
|
ClearSpriteIndex(GET_TRUE_SPRITE_INDEX(index));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create sprite from template and init data array with varargs
|
||||||
|
// args: template, flags, va_args
|
||||||
|
// flags:
|
||||||
|
// - bits 0-6: subpriority mod (signed)
|
||||||
|
// - bit 7: target if set else attacker
|
||||||
static void ScriptCmd_createsprite(void)
|
static void ScriptCmd_createsprite(void)
|
||||||
{
|
{
|
||||||
s32 i;
|
s32 i;
|
||||||
|
|||||||
@@ -1325,13 +1325,13 @@ u32 SelectBattlerSpritePalettes(bool8 playerLeft, bool8 playerRight, bool8 foeLe
|
|||||||
return var;
|
return var;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 sub_8075D80(u8 a1)
|
u8 GetSpritePalIdxByBattler(u8 a1)
|
||||||
{
|
{
|
||||||
return a1;
|
return a1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// not used
|
// not used
|
||||||
static u8 GetBattlerAtPosition_(u8 position)
|
static u8 GetSpritePalIdxByPosition(u8 position)
|
||||||
{
|
{
|
||||||
return GetBattlerAtPosition(position);
|
return GetBattlerAtPosition(position);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ struct AnimStatsChangeData
|
|||||||
|
|
||||||
static void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes);
|
static void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes);
|
||||||
static void AnimTask_BlendSpriteColor_Step2(u8 taskId);
|
static void AnimTask_BlendSpriteColor_Step2(u8 taskId);
|
||||||
static void sub_80BAB78(u8 taskId);
|
static void Task_WaitHardwarePaletteFade(u8 taskId);
|
||||||
static void sub_80BABD0(u8 taskId);
|
static void Task_DoCloneBattlerSpriteWithBlend(u8 taskId);
|
||||||
static void sub_80BACA8(struct Sprite *sprite);
|
static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite);
|
||||||
static void sub_80BAF38(u8 taskId);
|
static void sub_80BAF38(u8 taskId);
|
||||||
static void sub_80BB0D8(u8 taskId);
|
static void sub_80BB0D8(u8 taskId);
|
||||||
static void sub_80BB2A0(u8 taskId);
|
static void sub_80BB2A0(u8 taskId);
|
||||||
@@ -54,7 +54,7 @@ const u8 gUnknown_83E7CCE[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET
|
|||||||
// 8: Player battler right
|
// 8: Player battler right
|
||||||
// 9: Enemy battler left
|
// 9: Enemy battler left
|
||||||
// 10: Enemy battler right
|
// 10: Enemy battler right
|
||||||
void sub_80BA7F8(u8 taskId)
|
void AnimTask_BlendSelected(u8 taskId)
|
||||||
{
|
{
|
||||||
u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
|
u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
|
||||||
|
|
||||||
@@ -66,7 +66,17 @@ void sub_80BA7F8(u8 taskId)
|
|||||||
StartBlendAnimSpriteColor(taskId, selectedPalettes);
|
StartBlendAnimSpriteColor(taskId, selectedPalettes);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80BA83C(u8 taskId)
|
// gBattleAnimArgs[0] is a command ID
|
||||||
|
// This command will blend bg and battlers except as commanded:
|
||||||
|
// 0: Not attacker
|
||||||
|
// 1: Not target
|
||||||
|
// 2: Not attacker nor bg
|
||||||
|
// 3: Not target nor bg
|
||||||
|
// 4: Neither attacker nor target
|
||||||
|
// 5: Blend all
|
||||||
|
// 6: Neither bg nor attacker's partner
|
||||||
|
// 7: Neither bg nor target's partner
|
||||||
|
void AnimTask_BlendExcept(u8 taskId)
|
||||||
{
|
{
|
||||||
u8 battler;
|
u8 battler;
|
||||||
u32 selectedPalettes;
|
u32 selectedPalettes;
|
||||||
@@ -109,7 +119,7 @@ void sub_80BA83C(u8 taskId)
|
|||||||
if (battler != animBattlers[0]
|
if (battler != animBattlers[0]
|
||||||
&& battler != animBattlers[1]
|
&& battler != animBattlers[1]
|
||||||
&& IsBattlerSpriteVisible(battler))
|
&& IsBattlerSpriteVisible(battler))
|
||||||
selectedPalettes |= 0x10000 << sub_8075D80(battler);
|
selectedPalettes |= 0x10000 << GetSpritePalIdxByBattler(battler);
|
||||||
}
|
}
|
||||||
StartBlendAnimSpriteColor(taskId, selectedPalettes);
|
StartBlendAnimSpriteColor(taskId, selectedPalettes);
|
||||||
}
|
}
|
||||||
@@ -204,23 +214,23 @@ static void AnimTask_BlendSpriteColor_Step2(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80BAB38(u8 taskId)
|
void AnimTask_HardwarePaletteFade(u8 taskId)
|
||||||
{
|
{
|
||||||
BeginHardwarePaletteFade(gBattleAnimArgs[0],
|
BeginHardwarePaletteFade(gBattleAnimArgs[0],
|
||||||
gBattleAnimArgs[1],
|
gBattleAnimArgs[1],
|
||||||
gBattleAnimArgs[2],
|
gBattleAnimArgs[2],
|
||||||
gBattleAnimArgs[3],
|
gBattleAnimArgs[3],
|
||||||
gBattleAnimArgs[4]);
|
gBattleAnimArgs[4]);
|
||||||
gTasks[taskId].func = sub_80BAB78;
|
gTasks[taskId].func = Task_WaitHardwarePaletteFade;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80BAB78(u8 taskId)
|
static void Task_WaitHardwarePaletteFade(u8 taskId)
|
||||||
{
|
{
|
||||||
if (!gPaletteFade.active)
|
if (!gPaletteFade.active)
|
||||||
DestroyAnimVisualTask(taskId);
|
DestroyAnimVisualTask(taskId);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80BAB98(u8 taskId)
|
void AnimTask_CloneBattlerSpriteWithBlend(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
@@ -230,9 +240,9 @@ void sub_80BAB98(u8 taskId)
|
|||||||
task->data[3] = gBattleAnimArgs[2];
|
task->data[3] = gBattleAnimArgs[2];
|
||||||
task->data[4] = gBattleAnimArgs[3];
|
task->data[4] = gBattleAnimArgs[3];
|
||||||
task->data[5] = 0;
|
task->data[5] = 0;
|
||||||
task->func = sub_80BABD0;
|
task->func = Task_DoCloneBattlerSpriteWithBlend;
|
||||||
}
|
}
|
||||||
static void sub_80BABD0(u8 taskId)
|
static void Task_DoCloneBattlerSpriteWithBlend(u8 taskId)
|
||||||
{
|
{
|
||||||
struct Task *task = &gTasks[taskId];
|
struct Task *task = &gTasks[taskId];
|
||||||
|
|
||||||
@@ -251,7 +261,7 @@ static void sub_80BABD0(u8 taskId)
|
|||||||
gSprites[task->data[6]].data[0] = task->data[3];
|
gSprites[task->data[6]].data[0] = task->data[3];
|
||||||
gSprites[task->data[6]].data[1] = taskId;
|
gSprites[task->data[6]].data[1] = taskId;
|
||||||
gSprites[task->data[6]].data[2] = 5;
|
gSprites[task->data[6]].data[2] = 5;
|
||||||
gSprites[task->data[6]].callback = sub_80BACA8;
|
gSprites[task->data[6]].callback = Task_FinishCloneBattlerSpriteWithBlend;
|
||||||
++task->data[5];
|
++task->data[5];
|
||||||
}
|
}
|
||||||
--task->data[4];
|
--task->data[4];
|
||||||
@@ -264,7 +274,7 @@ static void sub_80BABD0(u8 taskId)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sub_80BACA8(struct Sprite *sprite)
|
static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if (sprite->data[0])
|
if (sprite->data[0])
|
||||||
{
|
{
|
||||||
@@ -277,7 +287,7 @@ static void sub_80BACA8(struct Sprite *sprite)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80BACEC(u8 taskId)
|
void AnimTask_SetUpCurseBackground(u8 taskId)
|
||||||
{
|
{
|
||||||
u16 species;
|
u16 species;
|
||||||
s32 newSpriteId;
|
s32 newSpriteId;
|
||||||
|
|||||||
+1
-1
@@ -406,7 +406,7 @@ static void sub_80B9B8C(struct Sprite *sprite)
|
|||||||
sprite->callback(sprite);
|
sprite->callback(sprite);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_80B9BDC(u8 taskId)
|
void AnimTask_CurseBlendEffect(u8 taskId)
|
||||||
{
|
{
|
||||||
gTasks[taskId].data[0] = gBattleAnimArgs[0];
|
gTasks[taskId].data[0] = gBattleAnimArgs[0];
|
||||||
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||||
|
|||||||
Reference in New Issue
Block a user