Document battle_anim_mons, 1

This commit is contained in:
PikalaxALT
2021-03-18 08:49:31 -04:00
parent 5add6bc54f
commit d86c9b0976
18 changed files with 97 additions and 95 deletions
+2 -2
View File
@@ -671,8 +671,8 @@ extern u8 gActionSelectionCursor[MAX_BATTLERS_COUNT];
extern void (*gPreBattleCallback1)(void);
extern bool8 gDoingBattleAnim;
extern struct PokedudeBattlerState *gPokedudeBattlerStates[MAX_BATTLERS_COUNT];
extern u8 *gUnknown_2022BB8;
extern u8 *gUnknown_2022BBC;
extern u8 *gBattleAnimMons_BgTilesBuffer;
extern u8 *gBattleAnimMons_BgTilemapBuffer;
extern void (*gBattleMainFunc)(void);
extern u8 gMoveSelectionCursor[MAX_BATTLERS_COUNT];
extern u32 gUnknown_2022B54;
+7 -7
View File
@@ -158,7 +158,7 @@ void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
s32 GetAnimBgAttribute(u8 bgId, u8 attributeId);
void HandleIntroSlide(u8 terrain);
void sub_80BC41C(u8 taskId);
void sub_80BCEF4(s32 bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *arg5, u16 *arg6, u16 tilesOffset);
void CopyBattlerSpriteToBg(s32 bgId, u8 x, u8 y, u8 battlerPosition, u8 palno, u8 *tilesDest, u16 *tilemapDest, u16 tilesOffset);
// battle_anim_effects_1.c
extern const union AnimCmd *const gMusicNotesAnimTable[];
@@ -392,14 +392,14 @@ u8 GetBattlerAtPosition(u8 position);
bool8 IsBattlerSpritePresent(u8 battlerId);
bool8 IsDoubleBattle(void);
void GetBattleAnimBg1Data(struct BattleAnimBgData *animBgData);
void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1);
void sub_8075300(struct BattleAnimBgData *animBgData, u8 unused);
void sub_8075358(u32 bgId);
void GetBattleAnimBgData(struct BattleAnimBgData *animBgData, u32 bgId);
void GetBattleAnimBgDataByPriorityRank(struct BattleAnimBgData *animBgData, u8 unused);
void InitBattleAnimBg(u32 bgId);
void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset);
void InitAnimBgTilemapBuffer(u32 bgId, const void *src);
void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src);
u8 GetBattleBgPaletteNum(void);
void sub_8075458(bool8 arg0);
void ToggleBg3Mode(bool8 arg0);
void StartSpriteLinearTranslationFromCurrentPos(struct Sprite *sprite);
void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
void InitAnimLinearTranslation(struct Sprite *sprite);
@@ -407,8 +407,8 @@ void StartAnimLinearTranslation(struct Sprite *sprite);
void PlayerThrowBall_StartAnimLinearTranslation(struct Sprite *sprite);
bool8 AnimTranslateLinear(struct Sprite *sprite);
void RunLinearTranslation_ThenceSetCBtoStoredInData6(struct Sprite *sprite);
void sub_8075678(struct Sprite *sprite);
void sub_80756A4(struct Sprite *sprite);
void BattleAnim_InitLinearTranslationWithDuration(struct Sprite *sprite);
void BattleAnim_InitAndRunLinearTranslationWithDuration(struct Sprite *sprite);
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
bool8 AnimFastTranslateLinear(struct Sprite *sprite);
void InitAnimFastLinearTranslationWithSpeed(struct Sprite *sprite);
+7 -5
View File
@@ -2278,13 +2278,14 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], animBg.paletteId * 16, 0x20);
CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + animBg.paletteId * 32), 0x20);
sub_80BCEF4(1, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles, animBg.bgTilemap, animBg.tilesOffset);
CopyBattlerSpriteToBg(1, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles,
animBg.bgTilemap, animBg.tilesOffset);
}
else
{
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(12)), 0x2000, DMA3_32BIT);
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(30)), 0x1000, DMA3_32BIT);
sub_80752C8(&animBg, 2);
GetBattleAnimBgData(&animBg, 2);
CpuFill16(0, animBg.bgTiles + 0x1000, 0x1000);
CpuFill16(0, animBg.bgTilemap + 0x400, 0x800);
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
@@ -2302,7 +2303,8 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
LoadPalette(&gPlttBufferUnfaded[0x100 + battlerId * 16], 0x90, 0x20);
CpuCopy32(&gPlttBufferUnfaded[0x100 + battlerId * 16], (void*)(BG_PLTT + 0x120), 0x20);
sub_80BCEF4(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000, animBg.bgTilemap + 0x400, animBg.tilesOffset);
CopyBattlerSpriteToBg(2, 0, 0, GetBattlerPosition(battlerId), animBg.paletteId, animBg.bgTiles + 0x1000,
animBg.bgTilemap + 0x400, animBg.tilesOffset);
}
}
@@ -2333,13 +2335,13 @@ void ResetBattleAnimBg(bool8 to_BG2)
if (!to_BG2)
{
sub_8075358(1);
InitBattleAnimBg(1);
gBattle_BG1_X = 0;
gBattle_BG1_Y = 0;
}
else
{
sub_8075358(2);
InitBattleAnimBg(2);
gBattle_BG2_X = 0;
gBattle_BG2_Y = 0;
}
+4 -4
View File
@@ -1738,7 +1738,7 @@ void AnimCoinThrow(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = r6;
sprite->data[4] = r7;
sprite->callback = sub_80756A4;
sprite->callback = BattleAnim_InitAndRunLinearTranslationWithDuration;
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
}
@@ -3283,7 +3283,7 @@ static void HeartsBackground_Step(u8 taskId)
break;
case 3:
GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
InitBattleAnimBg(animBg.bgId);
gTasks[taskId].data[12]++;
break;
case 4:
@@ -3371,8 +3371,8 @@ static void ScaryFace_Step(u8 taskId)
break;
case 3:
GetBattleAnimBg1Data(&animBg);
sub_8075358(1);
sub_8075358(2);
InitBattleAnimBg(1);
InitBattleAnimBg(2);
gTasks[taskId].data[12]++;
// fall through
case 4:
+3 -3
View File
@@ -2216,7 +2216,7 @@ void AnimTask_TransformMon(u8 taskId)
break;
case 2:
HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10]);
sub_8075300(&animBg, gBattleAnimAttacker);
GetBattleAnimBgDataByPriorityRank(&animBg, gBattleAnimAttacker);
if (IsContest())
position = 0;
else
@@ -2349,7 +2349,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
break;
case 4:
GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
InitBattleAnimBg(animBg.bgId);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
@@ -2541,7 +2541,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
break;
case 5:
GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
InitBattleAnimBg(animBg.bgId);
if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+26 -26
View File
@@ -20,8 +20,8 @@
static u8 GetBattlerSpriteFinal_Y(u8 battlerId, u16 species, bool8 a3);
static void PlayerThrowBall_RunLinearTranslation_ThenceSetCBtoStoredInData6(struct Sprite *sprite);
static void sub_80757E8(struct Sprite *sprite);
static bool8 sub_80758DC(void);
static void SpriteCB_RunAnimFastLinearTranslation(struct Sprite *sprite);
static bool8 Dummy_ReturnFalse(void);
static void AnimThrowProjectile_Step(struct Sprite *sprite);
static void sub_80760D0(u8 taskId);
static void AnimTask_BlendMonInAndOutSetup(struct Task *task);
@@ -803,24 +803,24 @@ bool8 IsDoubleBattle(void)
void GetBattleAnimBg1Data(struct BattleAnimBgData *animBgData)
{
animBgData->bgTiles = gUnknown_2022BB8;
animBgData->bgTilemap = (u16 *)gUnknown_2022BBC;
animBgData->bgTiles = gBattleAnimMons_BgTilesBuffer;
animBgData->bgTilemap = (u16 *)gBattleAnimMons_BgTilemapBuffer;
animBgData->paletteId = 8;
animBgData->bgId = 1;
animBgData->tilesOffset = 0x200;
animBgData->unused = 0;
}
void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1)
void GetBattleAnimBgData(struct BattleAnimBgData *animBgData, u32 bgId)
{
if (arg1 == 1)
if (bgId == 1)
{
GetBattleAnimBg1Data(animBgData);
}
else
{
animBgData->bgTiles = gUnknown_2022BB8;
animBgData->bgTilemap = (u16 *)gUnknown_2022BBC;
animBgData->bgTiles = gBattleAnimMons_BgTilesBuffer;
animBgData->bgTilemap = (u16 *)gBattleAnimMons_BgTilemapBuffer;
animBgData->paletteId = 9;
animBgData->bgId = 2;
animBgData->tilesOffset = 0x300;
@@ -828,10 +828,10 @@ void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1)
}
}
void sub_8075300(struct BattleAnimBgData *animBgData, u8 unused)
void GetBattleAnimBgDataByPriorityRank(struct BattleAnimBgData *animBgData, u8 unused)
{
animBgData->bgTiles = gUnknown_2022BB8;
animBgData->bgTilemap = (u16 *)gUnknown_2022BBC;
animBgData->bgTiles = gBattleAnimMons_BgTilesBuffer;
animBgData->bgTilemap = (u16 *)gBattleAnimMons_BgTilemapBuffer;
if (GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) == 1)
{
animBgData->paletteId = 8;
@@ -848,11 +848,11 @@ void sub_8075300(struct BattleAnimBgData *animBgData, u8 unused)
}
}
void sub_8075358(u32 bgId)
void InitBattleAnimBg(u32 bgId)
{
struct BattleAnimBgData animBgData;
sub_80752C8(&animBgData, bgId);
GetBattleAnimBgData(&animBgData, bgId);
CpuFill32(0, animBgData.bgTiles, 0x2000);
LoadBgTiles(bgId, animBgData.bgTiles, 0x2000, animBgData.tilesOffset);
FillBgTilemapBufferRect(bgId, 0, 0, 0, 32, 64, 17);
@@ -861,9 +861,9 @@ void sub_8075358(u32 bgId)
void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset)
{
CpuFill32(0, gUnknown_2022BB8, 0x2000);
LZDecompressWram(src, gUnknown_2022BB8);
LoadBgTiles(bgId, gUnknown_2022BB8, 0x2000, tilesOffset);
CpuFill32(0, gBattleAnimMons_BgTilesBuffer, 0x2000);
LZDecompressWram(src, gBattleAnimMons_BgTilesBuffer);
LoadBgTiles(bgId, gBattleAnimMons_BgTilesBuffer, 0x2000, tilesOffset);
}
void InitAnimBgTilemapBuffer(u32 bgId, const void *src)
@@ -883,7 +883,7 @@ u8 GetBattleBgPaletteNum(void)
return 2;
}
void sub_8075458(bool8 arg0)
void ToggleBg3Mode(bool8 arg0)
{
if (!arg0)
{
@@ -1003,7 +1003,7 @@ static void PlayerThrowBall_RunLinearTranslation_ThenceSetCBtoStoredInData6(stru
SetCallbackToStoredInData6(sprite);
}
void sub_8075678(struct Sprite *sprite)
void BattleAnim_InitLinearTranslationWithDuration(struct Sprite *sprite)
{
s32 v1 = abs(sprite->sTransl_DestX - sprite->sTransl_InitX) << 8;
@@ -1011,11 +1011,11 @@ void sub_8075678(struct Sprite *sprite)
InitAnimLinearTranslation(sprite);
}
void sub_80756A4(struct Sprite *sprite)
void BattleAnim_InitAndRunLinearTranslationWithDuration(struct Sprite *sprite)
{
sprite->sTransl_InitX = sprite->pos1.x;
sprite->sTransl_InitY = sprite->pos1.y;
sub_8075678(sprite);
BattleAnim_InitLinearTranslationWithDuration(sprite);
sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
sprite->callback(sprite);
}
@@ -1050,7 +1050,7 @@ void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
sprite->sTransl_InitX = sprite->pos1.x;
sprite->sTransl_InitY = sprite->pos1.y;
InitAnimFastLinearTranslation(sprite);
sprite->callback = sub_80757E8;
sprite->callback = SpriteCB_RunAnimFastLinearTranslation;
sprite->callback(sprite);
}
@@ -1080,7 +1080,7 @@ bool8 AnimFastTranslateLinear(struct Sprite *sprite)
return FALSE;
}
static void sub_80757E8(struct Sprite *sprite)
static void SpriteCB_RunAnimFastLinearTranslation(struct Sprite *sprite)
{
if (AnimFastTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite);
@@ -1099,7 +1099,7 @@ void sub_8075830(struct Sprite *sprite)
sprite->data[1] = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y;
InitAnimFastLinearTranslationWithSpeed(sprite);
sprite->callback = sub_80757E8;
sprite->callback = SpriteCB_RunAnimFastLinearTranslation;
sprite->callback(sprite);
}
@@ -1112,7 +1112,7 @@ void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
src.xScale = xScale;
src.yScale = yScale;
src.rotation = rotation;
if (sub_80758DC())
if (Dummy_ReturnFalse())
src.xScale = -src.xScale;
i = gSprites[spriteId].oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
@@ -1122,7 +1122,7 @@ void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation)
gOamMatrices[i].d = matrix.d;
}
static bool8 sub_80758DC(void)
static bool8 Dummy_ReturnFalse(void)
{
return FALSE;
}
@@ -1177,7 +1177,7 @@ void TrySetSpriteRotScale(struct Sprite *sprite, bool8 recalcCenterVector, s16 x
src.xScale = xScale;
src.yScale = yScale;
src.rotation = rotation;
if (sub_80758DC())
if (Dummy_ReturnFalse())
src.xScale = -src.xScale;
i = sprite->oam.matrixNum;
ObjAffineSet(&src, &matrix, 1, 2);
+7 -7
View File
@@ -33,9 +33,9 @@ static void sub_80BC19C(u8 taskId);
static EWRAM_DATA struct AnimStatsChangeData *sAnimStatsChangeData = NULL;
static const u16 gUnknown_83E7CC8[] = { RGB(31, 31, 31) };
const u8 gUnknown_83E7CCA[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
const u8 gUnknown_83E7CCE[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
static const u16 sRgbWhite[] = { RGB(31, 31, 31) };
const u8 gBattleAnimRegOffsBgCnt[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
const u8 gBattleIntroRegOffsBgCnt[] = { REG_OFFSET_BG0CNT, REG_OFFSET_BG1CNT, REG_OFFSET_BG2CNT, REG_OFFSET_BG3CNT };
// gBattleAnimArgs[0] is a bitfield.
// Bits 0-10 result in the following palettes being selected:
@@ -336,7 +336,7 @@ void AnimTask_SetUpCurseBackground(u8 taskId)
if (IsContest())
sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
AnimLoadCompressedBgGfx(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_sheet, animBgData.tilesOffset);
LoadPalette(gUnknown_83E7CC8, animBgData.paletteId * 16 + 1, 2);
LoadPalette(sRgbWhite, animBgData.paletteId * 16 + 1, 2);
gBattle_BG1_X = -gSprites[spriteId].pos1.x + 32;
gBattle_BG1_Y = -gSprites[spriteId].pos1.y + 32;
gTasks[taskId].data[0] = newSpriteId;
@@ -378,7 +378,7 @@ static void sub_80BAF38(u8 taskId)
sprite = &gSprites[gTasks[taskId].data[0]];
DestroySprite(sprite);
GetBattleAnimBg1Data(&animBgData);
sub_8075358(animBgData.bgId);
InitBattleAnimBg(animBgData.bgId);
if (gTasks[taskId].data[6] == 1)
++gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority;
gBattle_BG1_Y = 0;
@@ -663,7 +663,7 @@ void AnimTask_StartSlidingBg(u8 taskId)
{
u8 newTaskId;
sub_8075458(0);
ToggleBg3Mode(0);
newTaskId = CreateTask(sub_80BB8A4, 5);
if (gBattleAnimArgs[2] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
@@ -689,7 +689,7 @@ static void sub_80BB8A4(u8 taskId)
{
gBattle_BG3_X = 0;
gBattle_BG3_Y = 0;
sub_8075458(1);
ToggleBg3Mode(1);
DestroyTask(taskId);
}
}
+12 -12
View File
@@ -9,8 +9,8 @@
static EWRAM_DATA u16 sBgCnt = 0;
extern const u8 gUnknown_83E7CCA[];
extern const u8 gUnknown_83E7CCE[];
extern const u8 gBattleAnimRegOffsBgCnt[];
extern const u8 gBattleIntroRegOffsBgCnt[];
static void BattleIntroSlide1(u8 taskId);
static void BattleIntroSlide2(u8 taskId);
@@ -35,7 +35,7 @@ void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value)
{
if (bgId < 4)
{
sBgCnt = GetGpuReg(gUnknown_83E7CCA[bgId]);
sBgCnt = GetGpuReg(gBattleAnimRegOffsBgCnt[bgId]);
switch (attributeId)
{
case BG_ANIM_SCREEN_SIZE:
@@ -60,7 +60,7 @@ void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value)
((struct BgCnt *)&sBgCnt)->screenBaseBlock = value;
break;
}
SetGpuReg(gUnknown_83E7CCA[bgId], sBgCnt);
SetGpuReg(gBattleAnimRegOffsBgCnt[bgId], sBgCnt);
}
}
@@ -70,7 +70,7 @@ s32 GetAnimBgAttribute(u8 bgId, u8 attributeId)
if (bgId < 4)
{
bgCnt = GetGpuReg(gUnknown_83E7CCE[bgId]);
bgCnt = GetGpuReg(gBattleIntroRegOffsBgCnt[bgId]);
switch (attributeId)
{
case BG_ANIM_SCREEN_SIZE:
@@ -465,18 +465,18 @@ static void BattleIntroSlideLink(u8 taskId)
}
}
void sub_80BCEF4(s32 bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *arg5, u16 *arg6, u16 tilesOffset)
void CopyBattlerSpriteToBg(s32 bgId, u8 x, u8 y, u8 battlerPosition, u8 palno, u8 *tilesDest, u16 *tilemapDest, u16 tilesOffset)
{
s32 i, j;
u8 battler = GetBattlerAtPosition(battlerPosition);
s32 offset = tilesOffset;
CpuCopy16(gMonSpritesGfxPtr->sprites[battlerPosition] + BG_SCREEN_SIZE * gBattleMonForms[battler], arg5, BG_SCREEN_SIZE);
LoadBgTiles(bgId, arg5, 0x1000, tilesOffset);
for (i = arg2; i < arg2 + 8; ++i)
for (j = arg1; j < arg1 + 8; ++j)
arg6[i * 32 + j] = offset++ | (arg4 << 12);
LoadBgTilemap(bgId, arg6, BG_SCREEN_SIZE, 0);
CpuCopy16(gMonSpritesGfxPtr->sprites[battlerPosition] + BG_SCREEN_SIZE * gBattleMonForms[battler], tilesDest, BG_SCREEN_SIZE);
LoadBgTiles(bgId, tilesDest, 0x1000, tilesOffset);
for (i = y; i < y + 8; ++i)
for (j = x; j < x + 8; ++j)
tilemapDest[i * 32 + j] = offset++ | (palno << 12);
LoadBgTilemap(bgId, tilemapDest, BG_SCREEN_SIZE, 0);
}
// not used
+2 -2
View File
@@ -130,8 +130,8 @@ EWRAM_DATA u32 gBattleTypeFlags = 0;
EWRAM_DATA u8 gBattleTerrain = 0;
EWRAM_DATA u32 gUnknown_2022B54 = 0;
EWRAM_DATA struct MultiBattlePokemonTx gMultiPartnerParty[3] = {0};
EWRAM_DATA u8 *gUnknown_2022BB8 = NULL;
EWRAM_DATA u8 *gUnknown_2022BBC = NULL;
EWRAM_DATA u8 *gBattleAnimMons_BgTilesBuffer = NULL;
EWRAM_DATA u8 *gBattleAnimMons_BgTilemapBuffer = NULL;
EWRAM_DATA u16 *sUnknownDebugSpriteDataBuffer = NULL;
EWRAM_DATA u8 gBattleBufferA[MAX_BATTLERS_COUNT][0x200] = {0};
EWRAM_DATA u8 gBattleBufferB[MAX_BATTLERS_COUNT][0x200] = {0};
+6 -6
View File
@@ -29,10 +29,10 @@ void AllocateBattleResources(void)
gBattleResources->AI_ScriptsStack = AllocZeroed(sizeof(*gBattleResources->AI_ScriptsStack));
gLinkBattleSendBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE);
gLinkBattleRecvBuffer = AllocZeroed(BATTLE_BUFFER_LINK_SIZE);
gUnknown_2022BB8 = AllocZeroed(0x2000);
gUnknown_2022BBC = AllocZeroed(0x1000);
SetBgTilemapBuffer(1, gUnknown_2022BBC);
SetBgTilemapBuffer(2, gUnknown_2022BBC);
gBattleAnimMons_BgTilesBuffer = AllocZeroed(0x2000);
gBattleAnimMons_BgTilemapBuffer = AllocZeroed(0x1000);
SetBgTilemapBuffer(1, gBattleAnimMons_BgTilemapBuffer);
SetBgTilemapBuffer(2, gBattleAnimMons_BgTilemapBuffer);
}
void FreeBattleResources(void)
@@ -62,8 +62,8 @@ void FreeBattleResources(void)
FREE_AND_SET_NULL(gBattleResources);
FREE_AND_SET_NULL(gLinkBattleSendBuffer);
FREE_AND_SET_NULL(gLinkBattleRecvBuffer);
FREE_AND_SET_NULL(gUnknown_2022BB8);
FREE_AND_SET_NULL(gUnknown_2022BBC);
FREE_AND_SET_NULL(gBattleAnimMons_BgTilesBuffer);
FREE_AND_SET_NULL(gBattleAnimMons_BgTilemapBuffer);
}
}
+1 -1
View File
@@ -264,7 +264,7 @@ static void AnimTranslateWebThread(struct Sprite *sprite)
{
SetAverageBattlerPositions(gBattleAnimTarget, 1, &sprite->data[2], &sprite->data[4]);
}
sub_8075678(sprite);
BattleAnim_InitLinearTranslationWithDuration(sprite);
sprite->data[5] = gBattleAnimArgs[3];
sprite->callback = sub_80B41C0;
}
+1 -1
View File
@@ -840,7 +840,7 @@ static void sub_80B8920(u8 taskId)
SetGreyscaleOrOriginalPalette(paletteNum, 1);
DestroySprite(&gSprites[gTasks[taskId].data[0]]);
GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
InitBattleAnimBg(animBg.bgId);
if (gTasks[taskId].data[6] == 1)
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
}
+2 -2
View File
@@ -940,7 +940,7 @@ void AnimTask_MoveSkyUppercutBg(u8 taskId)
switch (task->data[0])
{
case 0:
sub_8075458(0);
ToggleBg3Mode(0);
task->data[8] = gBattleAnimArgs[0];
++task->data[0];
break;
@@ -965,7 +965,7 @@ void AnimTask_MoveSkyUppercutBg(u8 taskId)
{
gBattle_BG3_X = 0;
gBattle_BG3_Y = 0;
sub_8075458(1);
ToggleBg3Mode(1);
DestroyAnimVisualTask(taskId);
}
}
+1 -1
View File
@@ -1016,7 +1016,7 @@ static void AnimWillOWispOrb(struct Sprite *sprite)
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sub_8075678(sprite);
BattleAnim_InitLinearTranslationWithDuration(sprite);
sprite->callback = sub_80AD690;
}
break;
+4 -4
View File
@@ -226,7 +226,7 @@ static void AnimConfuseRayBallBounce(struct Sprite *sprite)
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2);
sprite->data[3] = sprite->pos1.y;
sprite->data[4] = GetBattlerSpriteCoord(gBattleAnimTarget, 3);
sub_8075678(sprite);
BattleAnim_InitLinearTranslationWithDuration(sprite);
sprite->callback = sub_80B52D0;
sprite->data[6] = 16;
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
@@ -1314,12 +1314,12 @@ static void sub_80B6BE4(u8 taskId)
gBattle_BG2_Y = 0;
SetGpuReg(REG_OFFSET_BG2HOFS, gBattle_BG2_X);
SetGpuReg(REG_OFFSET_BG2VOFS, gBattle_BG2_Y);
sub_80752C8(&animBgData, 2);
GetBattleAnimBgData(&animBgData, 2);
AnimLoadCompressedBgGfx(animBgData.bgId, gBattleAnim_ScaryFaceGfx, animBgData.tilesOffset);
LoadCompressedPalette(gBattleAnim_ScaryFacePal, 16 * animBgData.paletteId, 0x20);
break;
case 3:
sub_80752C8(&animBgData, 2);
GetBattleAnimBgData(&animBgData, 2);
gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000);
LZDecompressWram(gBattleAnimBgTilemap_ScaryFacePlayer, gMonSpritesGfxPtr->multiUseBuffer);
sub_80730C0(animBgData.paletteId, gMonSpritesGfxPtr->multiUseBuffer, 256, 0);
@@ -1417,7 +1417,7 @@ static void sub_80B6FC4(u8 taskId)
SetAnimBgAttribute(2, BG_ANIM_PRIORITY, 2);
break;
case 3:
sub_8075358(2);
InitBattleAnimBg(2);
FillPalette(0, 0x90, 0x20);
SetAnimBgAttribute(2, BG_ANIM_CHAR_BASE_BLOCK, 0);
task->data[1] = 12;
+5 -5
View File
@@ -993,8 +993,8 @@ static void AnimTask_Haze2(u8 taskId)
break;
case 3:
GetBattleAnimBg1Data(&animBg);
sub_8075358(1);
sub_8075358(2);
InitBattleAnimBg(1);
InitBattleAnimBg(2);
++gTasks[taskId].data[12];
// fall through
case 4:
@@ -1088,8 +1088,8 @@ static void AnimTask_OverlayFogTiles(u8 taskId)
break;
case 3:
GetBattleAnimBg1Data(&animBg);
sub_8075358(1);
sub_8075358(2);
InitBattleAnimBg(1);
InitBattleAnimBg(2);
++gTasks[taskId].data[12];
// fall through
case 4:
@@ -1230,7 +1230,7 @@ static void MovePoisonGasCloud(struct Sprite *sprite)
sprite->data[2] = -0x10;
++sprite->data[7];
sprite->pos2.x = sprite->pos2.y = 0;
sub_8075678(sprite);
BattleAnim_InitLinearTranslationWithDuration(sprite);
}
break;
case 2:
+5 -5
View File
@@ -465,7 +465,7 @@ static void sub_80B490C(u8 taskId)
break;
case 3:
GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId);
InitBattleAnimBg(animBg.bgId);
++gTasks[taskId].data[12];
break;
case 4:
@@ -795,14 +795,14 @@ void AnimTask_MoveSeismicTossBg(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
sub_8075458(0);
ToggleBg3Mode(0);
gTasks[taskId].data[1] = 200;
}
gBattle_BG3_Y += gTasks[taskId].data[1] / 10;
gTasks[taskId].data[1] -= 3;
if (gTasks[taskId].data[0] == 120)
{
sub_8075458(1);
ToggleBg3Mode(1);
DestroyAnimVisualTask(taskId);
}
++gTasks[taskId].data[0];
@@ -812,7 +812,7 @@ void AnimTask_SeismicTossBgAccelerateDownAtEnd(u8 taskId)
{
if (gTasks[taskId].data[0] == 0)
{
sub_8075458(0);
ToggleBg3Mode(0);
++gTasks[taskId].data[0];
gTasks[taskId].data[2] = gBattle_BG3_Y;
}
@@ -822,7 +822,7 @@ void AnimTask_SeismicTossBgAccelerateDownAtEnd(u8 taskId)
if (gBattleAnimArgs[7] == 0xFFF)
{
gBattle_BG3_Y = 0;
sub_8075458(1);
ToggleBg3Mode(1);
DestroyAnimVisualTask(taskId);
}
}
+2 -2
View File
@@ -928,8 +928,8 @@ static void AnimTask_CreateSurfWave_Step2(u8 taskId)
u16 *BGptrY = &gBattle_BG1_Y;
if (gTasks[taskId].data[0] == 0)
{
sub_8075358(1);
sub_8075358(2);
InitBattleAnimBg(1);
InitBattleAnimBg(2);
gTasks[taskId].data[0]++;
}
else