Document battle_anim_mons, 1
This commit is contained in:
+2
-2
@@ -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;
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
@@ -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);
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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;
|
||||
|
||||
@@ -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
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user