summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-03-18 08:49:31 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-03-18 08:49:31 -0400
commitd86c9b097628577e91a6ab5b0609fa61790945a2 (patch)
tree3bbf3888779d8262424aee61a6d3e79edd0abf97
parent5add6bc54f0a69cb30a9be4e3785323857cb655b (diff)
Document battle_anim_mons, 1
-rw-r--r--include/battle.h4
-rw-r--r--include/battle_anim.h14
-rw-r--r--src/battle_anim.c12
-rw-r--r--src/battle_anim_effects_2.c8
-rw-r--r--src/battle_anim_effects_3.c6
-rw-r--r--src/battle_anim_mons.c52
-rw-r--r--src/battle_anim_utility_funcs.c14
-rw-r--r--src/battle_intro.c24
-rw-r--r--src/battle_main.c4
-rw-r--r--src/battle_util2.c12
-rw-r--r--src/bug.c2
-rw-r--r--src/dark.c2
-rw-r--r--src/fighting.c4
-rw-r--r--src/fire.c2
-rw-r--r--src/ghost.c8
-rw-r--r--src/ice.c10
-rw-r--r--src/rock.c10
-rw-r--r--src/water.c4
18 files changed, 97 insertions, 95 deletions
diff --git a/include/battle.h b/include/battle.h
index 0d0f1635b..424cade00 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -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;
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 456f6db78..cf5f07af1 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -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);
diff --git a/src/battle_anim.c b/src/battle_anim.c
index f9b620025..0b011b0f3 100644
--- a/src/battle_anim.c
+++ b/src/battle_anim.c
@@ -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;
}
diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c
index 3dacfe9ba..dcffedb0e 100644
--- a/src/battle_anim_effects_2.c
+++ b/src/battle_anim_effects_2.c
@@ -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:
diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c
index b08783528..4778cb55e 100644
--- a/src/battle_anim_effects_3.c
+++ b/src/battle_anim_effects_3.c
@@ -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);
diff --git a/src/battle_anim_mons.c b/src/battle_anim_mons.c
index 25888a9d0..46f62a03c 100644
--- a/src/battle_anim_mons.c
+++ b/src/battle_anim_mons.c
@@ -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);
diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c
index 117924b47..ae2a4a407 100644
--- a/src/battle_anim_utility_funcs.c
+++ b/src/battle_anim_utility_funcs.c
@@ -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);
}
}
diff --git a/src/battle_intro.c b/src/battle_intro.c
index 996b8d3a6..9b1391fab 100644
--- a/src/battle_intro.c
+++ b/src/battle_intro.c
@@ -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
diff --git a/src/battle_main.c b/src/battle_main.c
index 500c55012..14e44cb45 100644
--- a/src/battle_main.c
+++ b/src/battle_main.c
@@ -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};
diff --git a/src/battle_util2.c b/src/battle_util2.c
index 7b3a36d4e..b1036ef0b 100644
--- a/src/battle_util2.c
+++ b/src/battle_util2.c
@@ -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);
}
}
diff --git a/src/bug.c b/src/bug.c
index 6e6b8f400..896fbcbf6 100644
--- a/src/bug.c
+++ b/src/bug.c
@@ -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;
}
diff --git a/src/dark.c b/src/dark.c
index d9c2900ba..142366fea 100644
--- a/src/dark.c
+++ b/src/dark.c
@@ -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++;
}
diff --git a/src/fighting.c b/src/fighting.c
index 9bbb09d87..a7dd18ce8 100644
--- a/src/fighting.c
+++ b/src/fighting.c
@@ -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);
}
}
diff --git a/src/fire.c b/src/fire.c
index 54b7948f3..3a3e6be9b 100644
--- a/src/fire.c
+++ b/src/fire.c
@@ -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;
diff --git a/src/ghost.c b/src/ghost.c
index e7b715bbc..0efcc28d4 100644
--- a/src/ghost.c
+++ b/src/ghost.c
@@ -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;
diff --git a/src/ice.c b/src/ice.c
index eb8420c63..ed0c93430 100644
--- a/src/ice.c
+++ b/src/ice.c
@@ -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:
diff --git a/src/rock.c b/src/rock.c
index 4243e5102..c5b78fe31 100644
--- a/src/rock.c
+++ b/src/rock.c
@@ -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);
}
}
diff --git a/src/water.c b/src/water.c
index 9fbfd4d9a..8a1737e58 100644
--- a/src/water.c
+++ b/src/water.c
@@ -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