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);
|
||||
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);
|
||||
u8 sub_8075D80(u8 a1);
|
||||
u8 GetSpritePalIdxByBattler(u8 a1);
|
||||
void AnimSpriteOnMonPos(struct Sprite *sprite);
|
||||
void TranslateAnimSpriteToTargetMonLocation(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 gBasicHitSplatSpriteTemplate;
|
||||
u32 UnpackSelectedBattleAnimPalettes(s16 selector);
|
||||
void sub_80B9BDC(u8 taskId);
|
||||
void AnimTask_CurseBlendEffect(u8 taskId);
|
||||
void sub_80B9CE4(u8 taskId);
|
||||
void sub_80B9E58(u8 taskId);
|
||||
void sub_80B9F6C(u8 taskId);
|
||||
@@ -561,13 +561,13 @@ void AnimWaterPulseRing(struct Sprite *sprite);
|
||||
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
|
||||
|
||||
// battle_anim_utility_funcs.c
|
||||
void sub_80BA7F8(u8 taskId);
|
||||
void sub_80BA83C(u8 taskId);
|
||||
void AnimTask_BlendSelected(u8 taskId);
|
||||
void AnimTask_BlendExcept(u8 taskId);
|
||||
void AnimTask_SetCamouflageBlend(u8 taskId);
|
||||
void AnimTask_BlendParticle(u8 taskId);
|
||||
void sub_80BAB38(u8 taskId);
|
||||
void sub_80BAB98(u8 taskId);
|
||||
void sub_80BACEC(u8 taskId);
|
||||
void AnimTask_HardwarePaletteFade(u8 taskId);
|
||||
void AnimTask_CloneBattlerSpriteWithBlend(u8 taskId);
|
||||
void AnimTask_SetUpCurseBackground(u8 taskId);
|
||||
void sub_80BB088(u8 taskId);
|
||||
void sub_80BB660(u8 taskId);
|
||||
void sub_80BB7DC(u8 taskId);
|
||||
|
||||
@@ -1970,6 +1970,11 @@ static void ScriptCmd_unloadspritegfx(void)
|
||||
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)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -1325,13 +1325,13 @@ u32 SelectBattlerSpritePalettes(bool8 playerLeft, bool8 playerRight, bool8 foeLe
|
||||
return var;
|
||||
}
|
||||
|
||||
u8 sub_8075D80(u8 a1)
|
||||
u8 GetSpritePalIdxByBattler(u8 a1)
|
||||
{
|
||||
return a1;
|
||||
}
|
||||
|
||||
// not used
|
||||
static u8 GetBattlerAtPosition_(u8 position)
|
||||
static u8 GetSpritePalIdxByPosition(u8 position)
|
||||
{
|
||||
return GetBattlerAtPosition(position);
|
||||
}
|
||||
|
||||
@@ -22,9 +22,9 @@ struct AnimStatsChangeData
|
||||
|
||||
static void StartBlendAnimSpriteColor(u8 taskId, u32 selectedPalettes);
|
||||
static void AnimTask_BlendSpriteColor_Step2(u8 taskId);
|
||||
static void sub_80BAB78(u8 taskId);
|
||||
static void sub_80BABD0(u8 taskId);
|
||||
static void sub_80BACA8(struct Sprite *sprite);
|
||||
static void Task_WaitHardwarePaletteFade(u8 taskId);
|
||||
static void Task_DoCloneBattlerSpriteWithBlend(u8 taskId);
|
||||
static void Task_FinishCloneBattlerSpriteWithBlend(struct Sprite *sprite);
|
||||
static void sub_80BAF38(u8 taskId);
|
||||
static void sub_80BB0D8(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
|
||||
// 9: Enemy battler left
|
||||
// 10: Enemy battler right
|
||||
void sub_80BA7F8(u8 taskId)
|
||||
void AnimTask_BlendSelected(u8 taskId)
|
||||
{
|
||||
u32 selectedPalettes = UnpackSelectedBattleAnimPalettes(gBattleAnimArgs[0]);
|
||||
|
||||
@@ -66,7 +66,17 @@ void sub_80BA7F8(u8 taskId)
|
||||
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;
|
||||
u32 selectedPalettes;
|
||||
@@ -109,7 +119,7 @@ void sub_80BA83C(u8 taskId)
|
||||
if (battler != animBattlers[0]
|
||||
&& battler != animBattlers[1]
|
||||
&& IsBattlerSpriteVisible(battler))
|
||||
selectedPalettes |= 0x10000 << sub_8075D80(battler);
|
||||
selectedPalettes |= 0x10000 << GetSpritePalIdxByBattler(battler);
|
||||
}
|
||||
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],
|
||||
gBattleAnimArgs[1],
|
||||
gBattleAnimArgs[2],
|
||||
gBattleAnimArgs[3],
|
||||
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)
|
||||
DestroyAnimVisualTask(taskId);
|
||||
}
|
||||
|
||||
void sub_80BAB98(u8 taskId)
|
||||
void AnimTask_CloneBattlerSpriteWithBlend(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
@@ -230,9 +240,9 @@ void sub_80BAB98(u8 taskId)
|
||||
task->data[3] = gBattleAnimArgs[2];
|
||||
task->data[4] = gBattleAnimArgs[3];
|
||||
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];
|
||||
|
||||
@@ -251,7 +261,7 @@ static void sub_80BABD0(u8 taskId)
|
||||
gSprites[task->data[6]].data[0] = task->data[3];
|
||||
gSprites[task->data[6]].data[1] = taskId;
|
||||
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[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])
|
||||
{
|
||||
@@ -277,7 +287,7 @@ static void sub_80BACA8(struct Sprite *sprite)
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80BACEC(u8 taskId)
|
||||
void AnimTask_SetUpCurseBackground(u8 taskId)
|
||||
{
|
||||
u16 species;
|
||||
s32 newSpriteId;
|
||||
|
||||
+1
-1
@@ -406,7 +406,7 @@ static void sub_80B9B8C(struct Sprite *sprite)
|
||||
sprite->callback(sprite);
|
||||
}
|
||||
|
||||
void sub_80B9BDC(u8 taskId)
|
||||
void AnimTask_CurseBlendEffect(u8 taskId)
|
||||
{
|
||||
gTasks[taskId].data[0] = gBattleAnimArgs[0];
|
||||
gTasks[taskId].data[1] = gBattleAnimArgs[1];
|
||||
|
||||
Reference in New Issue
Block a user