Name symbols in battle_anim_special.c

This commit is contained in:
PikalaxALT
2021-03-14 16:29:33 -04:00
parent 75b9fbc92f
commit 99ec579deb
39 changed files with 472 additions and 456 deletions
+3 -3
View File
@@ -1,3 +1,3 @@
sUnknown_3005424 gMonShrinkDuration
sUnknown_3005428 gMonShrinkDelta
sUnknown_300542C gMonShrinkDistance
+11 -11
View File
@@ -10557,7 +10557,7 @@ General_SubstituteAppear:: @ 81D5C04
end end
General_BaitThrow:: @ 81D5C0C General_BaitThrow:: @ 81D5C0C
createvisualtask sub_80F1C8C, 2, 0 createvisualtask AnimTask_SafariOrGhost_DecideAnimSides, 2, 0
createvisualtask AnimTask_LoadBaitGfx, 2, createvisualtask AnimTask_LoadBaitGfx, 2,
delay 0 delay 0
waitplaysewithpan SE_M_JUMP_KICK, 192, 22 waitplaysewithpan SE_M_JUMP_KICK, 192, 22
@@ -10898,7 +10898,7 @@ General_WishHeal:: @ 81D6250
end end
General_MonScared:: @ 81D628A General_MonScared:: @ 81D628A
createvisualtask sub_80F1C8C, 2, 1 createvisualtask AnimTask_SafariOrGhost_DecideAnimSides, 2, 1
waitforvisualfinish waitforvisualfinish
loadspritegfx ANIM_TAG_SWEAT_BEAD loadspritegfx ANIM_TAG_SWEAT_BEAD
createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 0, 10, 26336 createsprite gSimplePaletteBlendSpriteTemplate, ANIM_ATTACKER, 0, 4, 2, 0, 10, 26336
@@ -10915,7 +10915,7 @@ General_MonScared:: @ 81D628A
end end
General_GhostGetOut:: @ 81D6301 General_GhostGetOut:: @ 81D6301
createvisualtask sub_80F1C8C, 2, 1 createvisualtask AnimTask_SafariOrGhost_DecideAnimSides, 2, 1
waitforvisualfinish waitforvisualfinish
fadetobg 2 fadetobg 2
waitbgfadeout waitbgfadeout
@@ -10950,7 +10950,7 @@ General_SilphScoped:: @ 81D637B
end end
General_SafariRockThrow:: @ 81D6394 General_SafariRockThrow:: @ 81D6394
createvisualtask sub_80F1C8C, 2, 0 createvisualtask AnimTask_SafariOrGhost_DecideAnimSides, 2, 0
waitforvisualfinish waitforvisualfinish
loadspritegfx ANIM_TAG_ROCKS loadspritegfx ANIM_TAG_ROCKS
loadspritegfx ANIM_TAG_IMPACT loadspritegfx ANIM_TAG_IMPACT
@@ -10970,14 +10970,14 @@ General_SafariRockThrow:: @ 81D6394
end end
General_SafariReaction:: @ 81D63DC General_SafariReaction:: @ 81D63DC
createvisualtask sub_80F1CE4, 2, createvisualtask AnimTask_SafariGetReaction, 2,
waitforvisualfinish waitforvisualfinish
jumpargeq 7, 0, gUnknown_81D63FD jumpargeq 7, 0, SafariReaction_WatchingCarefully
jumpargeq 7, 1, gUnknown_81D6425 jumpargeq 7, 1, SafariReaction_Angry
jumpargeq 7, 2, gUnknown_81D644E jumpargeq 7, 2, SafariReaction_Eating
end end
gUnknown_81D63FD:: @ 81D63FD SafariReaction_WatchingCarefully:: @ 81D63FD
playsewithpan SE_M_TAKE_DOWN, 63 playsewithpan SE_M_TAKE_DOWN, 63
createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 16, 96, 0, 2 createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 16, 96, 0, 2
waitforvisualfinish waitforvisualfinish
@@ -10985,7 +10985,7 @@ gUnknown_81D63FD:: @ 81D63FD
createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 16, -96, 0, 2 createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 16, -96, 0, 2
end end
gUnknown_81D6425:: @ 81D6425 SafariReaction_Angry:: @ 81D6425
loadspritegfx ANIM_TAG_ANGER loadspritegfx ANIM_TAG_ANGER
createsprite gAngerMarkSpriteTemplate, ANIM_TARGET, 2, 1, 20, -20 createsprite gAngerMarkSpriteTemplate, ANIM_TARGET, 2, 1, 20, -20
playsewithpan SE_M_SWAGGER2, 63 playsewithpan SE_M_SWAGGER2, 63
@@ -10995,7 +10995,7 @@ gUnknown_81D6425:: @ 81D6425
playsewithpan SE_M_SWAGGER2, 63 playsewithpan SE_M_SWAGGER2, 63
end end
gUnknown_81D644E:: @ 81D644E SafariReaction_Eating:: @ 81D644E
playsewithpan SE_M_TAKE_DOWN, 63 playsewithpan SE_M_TAKE_DOWN, 63
createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 8, 136, 0, 2 createvisualtask AnimTask_RotateMonToSideAndRestore, 2, 8, 136, 0, 2
waitforvisualfinish waitforvisualfinish
+16 -7
View File
@@ -36,6 +36,15 @@ struct BattleAnimBackground
#define ANIM_ARGS_COUNT 8 #define ANIM_ARGS_COUNT 8
// Linear Translation
#define sTransl_Speed data[0]
#define sTransl_Duration data[0] // for Fast
#define sTransl_InitX data[1]
#define sTransl_DestX data[2]
#define sTransl_InitY data[3]
#define sTransl_DestY data[4]
#define sTransl_ArcAmpl data[5]
extern void (*gAnimScriptCallback)(void); extern void (*gAnimScriptCallback)(void);
extern bool8 gAnimScriptActive; extern bool8 gAnimScriptActive;
extern u8 gAnimVisualTaskCount; extern u8 gAnimVisualTaskCount;
@@ -129,7 +138,7 @@ extern const struct OamData gOamData_AffineDouble_ObjBlend_32x64;
extern const struct CompressedSpriteSheet gBattleAnimPicTable[]; extern const struct CompressedSpriteSheet gBattleAnimPicTable[];
extern const struct CompressedSpritePalette gBattleAnimPaletteTable[]; extern const struct CompressedSpritePalette gBattleAnimPaletteTable[];
void MoveBattlerSpriteToBG(u8 battlerId, u8); void MoveBattlerSpriteToBG(u8 battlerId, u8);
void sub_8073128(u8); void ResetBattleAnimBg(u8);
void ClearBattleAnimationVars(void); void ClearBattleAnimationVars(void);
void DoMoveAnim(u16 move); void DoMoveAnim(u16 move);
void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim); void LaunchBattleAnimation(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim);
@@ -306,12 +315,12 @@ void AnimKnockOffStrike(struct Sprite *);
void AnimRecycle(struct Sprite *); void AnimRecycle(struct Sprite *);
// battle_anim_special.c // battle_anim_special.c
void sub_80F1720(u8 battler, struct Pokemon *mon); void TryShinyAnimation(u8 battler, struct Pokemon *mon);
u8 ItemIdToBallId(u16 itemId); u8 ItemIdToBallId(u16 itemId);
u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId); u8 LaunchBallStarsTask(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId);
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId); u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId);
void sub_80EEFC8(u8 *, u8 *, u8 battlerId); void DoLoadHealthboxPalsForLevelUp(u8 *, u8 *, u8 battlerId);
void sub_80EF0E0(u8 batterId); void DoFreeHealthboxPalsForLevelUp(u8 batterId);
enum enum
{ {
@@ -382,7 +391,7 @@ u8 GetBattlerPosition(u8 battlerId);
u8 GetBattlerAtPosition(u8 position); u8 GetBattlerAtPosition(u8 position);
bool8 IsBattlerSpritePresent(u8 battlerId); bool8 IsBattlerSpritePresent(u8 battlerId);
bool8 IsDoubleBattle(void); bool8 IsDoubleBattle(void);
void sub_80752A0(struct BattleAnimBgData *animBgData); void GetBattleAnimBg1Data(struct BattleAnimBgData *animBgData);
void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1); void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1);
void sub_8075300(struct BattleAnimBgData *animBgData, u8 unused); void sub_8075300(struct BattleAnimBgData *animBgData, u8 unused);
void sub_8075358(u32 bgId); void sub_8075358(u32 bgId);
@@ -397,7 +406,7 @@ void InitAnimLinearTranslation(struct Sprite *sprite);
void StartAnimLinearTranslation(struct Sprite *sprite); void StartAnimLinearTranslation(struct Sprite *sprite);
void sub_80755B8(struct Sprite *sprite); void sub_80755B8(struct Sprite *sprite);
bool8 AnimTranslateLinear(struct Sprite *sprite); bool8 AnimTranslateLinear(struct Sprite *sprite);
void sub_807563C(struct Sprite *sprite); void RunLinearTranslation_ThenceSetCBtoStoredInData6(struct Sprite *sprite);
void sub_8075678(struct Sprite *sprite); void sub_8075678(struct Sprite *sprite);
void sub_80756A4(struct Sprite *sprite); void sub_80756A4(struct Sprite *sprite);
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite); void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite);
+2 -2
View File
@@ -80,8 +80,8 @@ void sub_8012100(struct Sprite *sprite);
void sub_8012110(struct Sprite *sprite); void sub_8012110(struct Sprite *sprite);
void DoBounceEffect(u8 battler, u8 which, s8 delta, s8 amplitude); void DoBounceEffect(u8 battler, u8 which, s8 delta, s8 amplitude);
void EndBounceEffect(u8 battler, u8 which); void EndBounceEffect(u8 battler, u8 which);
void sub_8012354(struct Sprite *sprite); void SpriteCB_PlayerThrowInit(struct Sprite *sprite);
void sub_801236C(struct Sprite *sprite); void UpdatePlayerPosInThrowAnim(struct Sprite *sprite);
void nullsub_12(void); void nullsub_12(void);
void BeginBattleIntro(void); void BeginBattleIntro(void);
void SwitchInClearSetData(void); void SwitchInClearSetData(void);
+10
View File
@@ -16,8 +16,10 @@
#if MODERN #if MODERN
#define NOINLINE __attribute__((noinline)) #define NOINLINE __attribute__((noinline))
#define HERE __attribute__((no_reorder))
#else #else
#define NOINLINE #define NOINLINE
#define HERE
#endif #endif
#define ALIGNED(n) __attribute__((aligned(n))) #define ALIGNED(n) __attribute__((aligned(n)))
@@ -92,7 +94,15 @@
#define RGB_CYAN RGB(0, 31, 31) #define RGB_CYAN RGB(0, 31, 31)
#define RGB_WHITEALPHA (RGB_WHITE | 0x8000) #define RGB_WHITEALPHA (RGB_WHITE | 0x8000)
// Some functions are strictly inline asm
#define NAKED __attribute__((naked)) #define NAKED __attribute__((naked))
// Silence IDE warnings
#if __GNUC__ >= 4
#define USED __attribute__((used))
#else
#define USED
#endif
#define UNUSED __attribute__((unused)) #define UNUSED __attribute__((unused))
#endif // GUARD_GBA_DEFINES #endif // GUARD_GBA_DEFINES
+3 -5
View File
@@ -31,9 +31,7 @@
#define __(x) (x) #define __(x) (x)
#endif // __APPLE__ #endif // __APPLE__
#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) #define NELEMS(array) (sizeof(array) / sizeof((array)[0]))
// GF's lingo
#define NELEMS ARRAY_COUNT
#define SWAP(a, b, temp) \ #define SWAP(a, b, temp) \
{ \ { \
@@ -293,7 +291,7 @@ struct SaveBlock2
/*0xB10*/ struct BerryPickingResults berryPick; /*0xB10*/ struct BerryPickingResults berryPick;
/*0xB20*/ u8 filler_B20[0x400]; /*0xB20*/ u8 filler_B20[0x400];
/*0xF20*/ u32 encryptionKey; /*0xF20*/ u32 encryptionKey;
}; }; // size: 0xF24
extern struct SaveBlock2 *gSaveBlock2Ptr; extern struct SaveBlock2 *gSaveBlock2Ptr;
@@ -826,7 +824,7 @@ struct SaveBlock1
/*0x3D24*/ u8 filler3D24[0x10]; /*0x3D24*/ u8 filler3D24[0x10];
/*0x3D34*/ u32 towerChallengeId; /*0x3D34*/ u32 towerChallengeId;
/*0x3D38*/ struct TrainerTower trainerTower[NUM_TOWER_CHALLENGE_TYPES]; /*0x3D38*/ struct TrainerTower trainerTower[NUM_TOWER_CHALLENGE_TYPES];
}; }; // size: 0x3D68
struct MapPosition struct MapPosition
{ {
+1
View File
@@ -6,6 +6,7 @@
extern bool32 gFlashMemoryPresent; extern bool32 gFlashMemoryPresent;
extern struct SaveBlock1 gSaveBlock1; extern struct SaveBlock1 gSaveBlock1;
extern struct SaveBlock2 gSaveBlock2; extern struct SaveBlock2 gSaveBlock2;
extern struct PokemonStorage gPokemonStorage;
void ClearSav2(void); void ClearSav2(void);
void ClearSav1(void); void ClearSav1(void);
+10 -10
View File
@@ -2259,7 +2259,7 @@ void MoveBattlerSpriteToBG(u8 battlerId, bool8 toBG_2)
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, DMA3_32BIT); RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(8)), 0x2000, DMA3_32BIT);
RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, DMA3_32BIT); RequestDma3Fill(0, (void*)(BG_SCREEN_ADDR(28)), 0x1000, DMA3_32BIT);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
CpuFill16(toBG_2, animBg.bgTiles, 0x1000); CpuFill16(toBG_2, animBg.bgTiles, 0x1000);
CpuFill16(toBG_2, animBg.bgTilemap, 0x800); CpuFill16(toBG_2, animBg.bgTilemap, 0x800);
@@ -2326,10 +2326,10 @@ void sub_80730C0(u16 a, u16 *b, s32 c, u8 d)
} }
} }
void sub_8073128(bool8 to_BG2) void ResetBattleAnimBg(bool8 to_BG2)
{ {
struct BattleAnimBgData animBg; struct BattleAnimBgData animBg;
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
if (!to_BG2) if (!to_BG2)
{ {
@@ -2353,7 +2353,7 @@ static void task_pA_ma0A_obj_to_bg_pal(u8 taskId)
spriteId = gTasks[taskId].data[0]; spriteId = gTasks[taskId].data[0];
palIndex = gTasks[taskId].data[6]; palIndex = gTasks[taskId].data[6];
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
x = gTasks[taskId].data[1] - (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x); x = gTasks[taskId].data[1] - (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x);
y = gTasks[taskId].data[2] - (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y); y = gTasks[taskId].data[2] - (gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y);
@@ -2429,13 +2429,13 @@ static void sub_807331C(u8 taskId)
if (sMonAnimTaskIdArray[0] != 0xFF) if (sMonAnimTaskIdArray[0] != 0xFF)
{ {
sub_8073128(toBG_2); ResetBattleAnimBg(toBG_2);
DestroyTask(sMonAnimTaskIdArray[0]); DestroyTask(sMonAnimTaskIdArray[0]);
sMonAnimTaskIdArray[0] = 0xFF; sMonAnimTaskIdArray[0] = 0xFF;
} }
if (gTasks[taskId].data[0] > 1) if (gTasks[taskId].data[0] > 1)
{ {
sub_8073128(toBG_2 ^ 1); ResetBattleAnimBg(toBG_2 ^ 1);
DestroyTask(sMonAnimTaskIdArray[1]); DestroyTask(sMonAnimTaskIdArray[1]);
sMonAnimTaskIdArray[1] = 0xFF; sMonAnimTaskIdArray[1] = 0xFF;
} }
@@ -2541,10 +2541,10 @@ static void sub_8073558(u8 taskId)
toBG_2 = TRUE; toBG_2 = TRUE;
if (IsBattlerSpriteVisible(battlerId)) if (IsBattlerSpriteVisible(battlerId))
sub_8073128(toBG_2); ResetBattleAnimBg(toBG_2);
if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK)) if (gTasks[taskId].data[0] > 1 && IsBattlerSpriteVisible(battlerId ^ BIT_FLANK))
sub_8073128(toBG_2 ^ 1); ResetBattleAnimBg(toBG_2 ^ 1);
DestroyTask(taskId); DestroyTask(taskId);
} }
@@ -3303,9 +3303,9 @@ static void ScriptCmd_doublebattle_2D(void)
gSprites[spriteId].oam.priority = 3; gSprites[spriteId].oam.priority = 3;
if (priority == 1) if (priority == 1)
sub_8073128(FALSE); ResetBattleAnimBg(FALSE);
else else
sub_8073128(TRUE); ResetBattleAnimBg(TRUE);
} }
} }
} }
+4 -4
View File
@@ -3232,7 +3232,7 @@ void AnimTask_HeartsBackground(u8 taskId)
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBg_AttractTilemap); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimBg_AttractTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBg_AttractGfx, animBg.tilesOffset); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnimBg_AttractGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimBg_AttractPal, animBg.paletteId * 16, 32); LoadCompressedPalette(gBattleAnimBg_AttractPal, animBg.paletteId * 16, 32);
@@ -3282,7 +3282,7 @@ static void HeartsBackground_Step(u8 taskId)
} }
break; break;
case 3: case 3:
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId); sub_8075358(animBg.bgId);
gTasks[taskId].data[12]++; gTasks[taskId].data[12]++;
break; break;
@@ -3313,7 +3313,7 @@ void AnimTask_ScaryFace(u8 taskId)
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
if (IsContest()) if (IsContest())
LZDecompressVram(gBattleAnimBgTilemap_ScaryFaceContest, animBg.bgTilemap); LZDecompressVram(gBattleAnimBgTilemap_ScaryFaceContest, animBg.bgTilemap);
@@ -3370,7 +3370,7 @@ static void ScaryFace_Step(u8 taskId)
} }
break; break;
case 3: case 3:
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(1); sub_8075358(1);
sub_8075358(2); sub_8075358(2);
gTasks[taskId].data[12]++; gTasks[taskId].data[12]++;
+4 -4
View File
@@ -2287,7 +2287,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
if (!IsContest()) if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32); LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
@@ -2348,7 +2348,7 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
} }
break; break;
case 4: case 4:
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId); sub_8075358(animBg.bgId);
if (!IsContest()) if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
@@ -2467,7 +2467,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
if (!IsContest()) if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnim_MorningSunTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset); AnimLoadCompressedBgGfx(animBg.bgId, gBattleAnim_MorningSunGfx, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32); LoadCompressedPalette(gBattleAnim_MorningSunPal, animBg.paletteId * 16, 32);
@@ -2540,7 +2540,7 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
gTasks[taskId].data[0] = 1; gTasks[taskId].data[0] = 1;
break; break;
case 5: case 5:
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId); sub_8075358(animBg.bgId);
if (!IsContest()) if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0); SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 0);
+29 -29
View File
@@ -695,10 +695,10 @@ void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 xOffset)
void InitAnimArcTranslation(struct Sprite *sprite) void InitAnimArcTranslation(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->sTransl_InitX = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->sTransl_InitY = sprite->pos1.y;
InitAnimLinearTranslation(sprite); InitAnimLinearTranslation(sprite);
sprite->data[6] = 0x8000 / sprite->data[0]; sprite->data[6] = 0x8000 / sprite->sTransl_Speed;
sprite->data[7] = 0; sprite->data[7] = 0;
} }
@@ -707,7 +707,7 @@ bool8 TranslateAnimHorizontalArc(struct Sprite *sprite)
if (AnimTranslateLinear(sprite)) if (AnimTranslateLinear(sprite))
return TRUE; return TRUE;
sprite->data[7] += sprite->data[6]; sprite->data[7] += sprite->data[6];
sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); sprite->pos2.y += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
return FALSE; return FALSE;
} }
@@ -716,7 +716,7 @@ bool8 TranslateAnimVerticalArc(struct Sprite *sprite)
if (AnimTranslateLinear(sprite)) if (AnimTranslateLinear(sprite))
return TRUE; return TRUE;
sprite->data[7] += sprite->data[6]; sprite->data[7] += sprite->data[6];
sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->data[5]); sprite->pos2.x += Sin((u8)(sprite->data[7] >> 8), sprite->sTransl_ArcAmpl);
return FALSE; return FALSE;
} }
@@ -801,7 +801,7 @@ bool8 IsDoubleBattle(void)
return IS_DOUBLE_BATTLE(); return IS_DOUBLE_BATTLE();
} }
void sub_80752A0(struct BattleAnimBgData *animBgData) void GetBattleAnimBg1Data(struct BattleAnimBgData *animBgData)
{ {
animBgData->bgTiles = gUnknown_2022BB8; animBgData->bgTiles = gUnknown_2022BB8;
animBgData->bgTilemap = (u16 *)gUnknown_2022BBC; animBgData->bgTilemap = (u16 *)gUnknown_2022BBC;
@@ -815,7 +815,7 @@ void sub_80752C8(struct BattleAnimBgData *animBgData, u32 arg1)
{ {
if (arg1 == 1) if (arg1 == 1)
{ {
sub_80752A0(animBgData); GetBattleAnimBg1Data(animBgData);
} }
else else
{ {
@@ -919,15 +919,15 @@ void InitSpriteDataForLinearTranslation(struct Sprite *sprite)
void InitAnimLinearTranslation(struct Sprite *sprite) void InitAnimLinearTranslation(struct Sprite *sprite)
{ {
s32 x = sprite->data[2] - sprite->data[1]; s32 x = sprite->sTransl_DestX - sprite->sTransl_InitX;
s32 y = sprite->data[4] - sprite->data[3]; s32 y = sprite->sTransl_DestY - sprite->sTransl_InitY;
bool8 movingLeft = x < 0; bool8 movingLeft = x < 0;
bool8 movingUp = y < 0; bool8 movingUp = y < 0;
u16 xDelta = abs(x) << 8; u16 xDelta = abs(x) << 8;
u16 yDelta = abs(y) << 8; u16 yDelta = abs(y) << 8;
xDelta = xDelta / sprite->data[0]; xDelta = xDelta / sprite->sTransl_Speed;
yDelta = yDelta / sprite->data[0]; yDelta = yDelta / sprite->sTransl_Speed;
if (movingLeft) if (movingLeft)
xDelta |= 1; xDelta |= 1;
@@ -947,17 +947,17 @@ void InitAnimLinearTranslation(struct Sprite *sprite)
void StartAnimLinearTranslation(struct Sprite *sprite) void StartAnimLinearTranslation(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->sTransl_InitX = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->sTransl_InitY = sprite->pos1.y;
InitAnimLinearTranslation(sprite); InitAnimLinearTranslation(sprite);
sprite->callback = sub_807563C; sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
sprite->callback(sprite); sprite->callback(sprite);
} }
void sub_80755B8(struct Sprite *sprite) void sub_80755B8(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->sTransl_InitX = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->sTransl_InitY = sprite->pos1.y;
InitAnimLinearTranslation(sprite); InitAnimLinearTranslation(sprite);
sprite->callback = sub_8075658; sprite->callback = sub_8075658;
sprite->callback(sprite); sprite->callback(sprite);
@@ -990,7 +990,7 @@ bool8 AnimTranslateLinear(struct Sprite *sprite)
return FALSE; return FALSE;
} }
void sub_807563C(struct Sprite *sprite) void RunLinearTranslation_ThenceSetCBtoStoredInData6(struct Sprite *sprite)
{ {
if (AnimTranslateLinear(sprite)) if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite); SetCallbackToStoredInData6(sprite);
@@ -998,39 +998,39 @@ void sub_807563C(struct Sprite *sprite)
static void sub_8075658(struct Sprite *sprite) static void sub_8075658(struct Sprite *sprite)
{ {
sub_801236C(sprite); UpdatePlayerPosInThrowAnim(sprite);
if (AnimTranslateLinear(sprite)) if (AnimTranslateLinear(sprite))
SetCallbackToStoredInData6(sprite); SetCallbackToStoredInData6(sprite);
} }
void sub_8075678(struct Sprite *sprite) void sub_8075678(struct Sprite *sprite)
{ {
s32 v1 = abs(sprite->data[2] - sprite->data[1]) << 8; s32 v1 = abs(sprite->sTransl_DestX - sprite->sTransl_InitX) << 8;
sprite->data[0] = v1 / sprite->data[0]; sprite->sTransl_Speed = v1 / sprite->sTransl_Duration;
InitAnimLinearTranslation(sprite); InitAnimLinearTranslation(sprite);
} }
void sub_80756A4(struct Sprite *sprite) void sub_80756A4(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->sTransl_InitX = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->sTransl_InitY = sprite->pos1.y;
sub_8075678(sprite); sub_8075678(sprite);
sprite->callback = sub_807563C; sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
sprite->callback(sprite); sprite->callback(sprite);
} }
static void InitAnimFastLinearTranslation(struct Sprite *sprite) static void InitAnimFastLinearTranslation(struct Sprite *sprite)
{ {
s32 xDiff = sprite->data[2] - sprite->data[1]; s32 xDiff = sprite->sTransl_DestX - sprite->sTransl_InitX;
s32 yDiff = sprite->data[4] - sprite->data[3]; s32 yDiff = sprite->sTransl_DestY - sprite->sTransl_InitY;
bool8 xSign = xDiff < 0; bool8 xSign = xDiff < 0;
bool8 ySign = yDiff < 0; bool8 ySign = yDiff < 0;
u16 x2 = abs(xDiff) << 4; u16 x2 = abs(xDiff) << 4;
u16 y2 = abs(yDiff) << 4; u16 y2 = abs(yDiff) << 4;
x2 /= sprite->data[0]; x2 /= sprite->sTransl_Duration;
y2 /= sprite->data[0]; y2 /= sprite->sTransl_Duration;
if (xSign) if (xSign)
x2 |= 1; x2 |= 1;
else else
@@ -1047,8 +1047,8 @@ static void InitAnimFastLinearTranslation(struct Sprite *sprite)
void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite) void InitAndRunAnimFastLinearTranslation(struct Sprite *sprite)
{ {
sprite->data[1] = sprite->pos1.x; sprite->sTransl_InitX = sprite->pos1.x;
sprite->data[3] = sprite->pos1.y; sprite->sTransl_InitY = sprite->pos1.y;
InitAnimFastLinearTranslation(sprite); InitAnimFastLinearTranslation(sprite);
sprite->callback = sub_80757E8; sprite->callback = sub_80757E8;
sprite->callback(sprite); sprite->callback(sprite);
+275 -275
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -331,7 +331,7 @@ void AnimTask_SetUpCurseBackground(u8 taskId)
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species); newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species);
sub_80752A0(&animBgData); GetBattleAnimBg1Data(&animBgData);
AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap); AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap);
if (IsContest()) if (IsContest())
sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0); sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
@@ -358,7 +358,7 @@ static void sub_80BAF38(u8 taskId)
gBattle_BG1_Y += 64; gBattle_BG1_Y += 64;
if (++gTasks[taskId].data[11] == 4) if (++gTasks[taskId].data[11] == 4)
{ {
sub_8073128(0); ResetBattleAnimBg(0);
gBattle_WIN0H = 0; gBattle_WIN0H = 0;
gBattle_WIN0V = 0; gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR
@@ -377,7 +377,7 @@ static void sub_80BAF38(u8 taskId)
sprite = &gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)]; // unused sprite = &gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)]; // unused
sprite = &gSprites[gTasks[taskId].data[0]]; sprite = &gSprites[gTasks[taskId].data[0]];
DestroySprite(sprite); DestroySprite(sprite);
sub_80752A0(&animBgData); GetBattleAnimBg1Data(&animBgData);
sub_8075358(animBgData.bgId); sub_8075358(animBgData.bgId);
if (gTasks[taskId].data[6] == 1) if (gTasks[taskId].data[6] == 1)
++gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority; ++gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority;
@@ -452,7 +452,7 @@ static void sub_80BB2A0(u8 taskId)
battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2]; battlerSpriteId = gBattlerSpriteIds[sAnimStatsChangeData->battler2];
newSpriteId = sub_8076E34(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species); newSpriteId = sub_8076E34(sAnimStatsChangeData->battler2, battlerSpriteId, sAnimStatsChangeData->species);
} }
sub_80752A0(&animBgData); GetBattleAnimBg1Data(&animBgData);
if (sAnimStatsChangeData->data[0] == 0) if (sAnimStatsChangeData->data[0] == 0)
AnimLoadCompressedBgTilemap(animBgData.bgId, gBattleStatMask1_Tilemap); AnimLoadCompressedBgTilemap(animBgData.bgId, gBattleStatMask1_Tilemap);
else else
@@ -548,7 +548,7 @@ static void sub_80BB4B8(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12])); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
if (gTasks[taskId].data[12] == 0) if (gTasks[taskId].data[12] == 0)
{ {
sub_8073128(0); ResetBattleAnimBg(0);
++gTasks[taskId].data[15]; ++gTasks[taskId].data[15];
} }
} }
@@ -755,7 +755,7 @@ void sub_80BBA20(u8 taskId, s32 unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5,
spriteId = sub_8076E34(battler1, gBattlerSpriteIds[battler1], species); spriteId = sub_8076E34(battler1, gBattlerSpriteIds[battler1], species);
if (arg4) if (arg4)
newSpriteId = sub_8076E34(battler2, gBattlerSpriteIds[battler2], species); newSpriteId = sub_8076E34(battler2, gBattlerSpriteIds[battler2], species);
sub_80752A0(&animBgData); GetBattleAnimBg1Data(&animBgData);
AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap); AnimLoadCompressedBgTilemap(animBgData.bgId, tilemap);
if (IsContest()) if (IsContest())
sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0); sub_80730C0(animBgData.paletteId, animBgData.bgTilemap, 0, 0);
@@ -805,7 +805,7 @@ static void sub_80BBC2C(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12])); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[12], 16 - gTasks[taskId].data[12]));
if (gTasks[taskId].data[12] == 0) if (gTasks[taskId].data[12] == 0)
{ {
sub_8073128(0); ResetBattleAnimBg(0);
gBattle_WIN0H = 0; gBattle_WIN0H = 0;
gBattle_WIN0V = 0; gBattle_WIN0V = 0;
SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR
+4 -4
View File
@@ -244,9 +244,9 @@ static void sub_803A9CC(void)
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80)
sub_80F1720(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBattlerPosition(gActiveBattler) == 3) if (gBattleTypeFlags & BATTLE_TYPE_MULTI && GetBattlerPosition(gActiveBattler) == 3)
{ {
if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 1) if (++gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_9 == 1)
@@ -282,7 +282,7 @@ static void sub_803AC14(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
{ {
sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
} }
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
{ {
@@ -392,7 +392,7 @@ static void sub_803AFFC(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
+1 -1
View File
@@ -349,7 +349,7 @@ static void sub_80D4944(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
{ {
+5 -5
View File
@@ -401,10 +401,10 @@ static void sub_80E7B4C(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
sub_80F1720(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{ {
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -628,7 +628,7 @@ static void sub_80E835C(void)
case 0: case 0:
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
sub_80EEFC8(&gBattleStruct->field_95, &gBattleStruct->field_97, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)); DoLoadHealthboxPalsForLevelUp(&gBattleStruct->field_95, &gBattleStruct->field_97, GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT));
BeginNormalPaletteFade(0xFFFFFF7E, BeginNormalPaletteFade(0xFFFFFF7E,
4, 4,
0, 0,
@@ -703,7 +703,7 @@ static void sub_80E835C(void)
case 8: case 8:
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
sub_80EF0E0(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)); DoFreeHealthboxPalsForLevelUp(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT));
sub_80EB524(); sub_80EB524();
gBattleStruct->field_94 = 0; gBattleStruct->field_94 = 0;
OakOldManBufferExecCompleted(); OakOldManBufferExecCompleted();
@@ -806,7 +806,7 @@ static void sub_80E8704(void)
case 0: case 0:
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
sub_80EEFC8(&gBattleStruct->field_95, &gBattleStruct->field_97, gActiveBattler); DoLoadHealthboxPalsForLevelUp(&gBattleStruct->field_95, &gBattleStruct->field_97, gActiveBattler);
BeginNormalPaletteFade(0xFFFFFF7E, BeginNormalPaletteFade(0xFFFFFF7E,
4, 4,
0, 0,
+4 -4
View File
@@ -242,9 +242,9 @@ static void sub_8035C30(void)
static void sub_8035DF0(void) static void sub_8035DF0(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
sub_80F1720(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{ {
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -276,7 +276,7 @@ static void sub_8035FE8(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
{ {
sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
} }
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
{ {
@@ -397,7 +397,7 @@ static void sub_8036334(void)
static void sub_8036408(void) static void sub_8036408(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
{ {
+4 -4
View File
@@ -912,9 +912,9 @@ static void sub_802FA58(void)
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80)
sub_80F1720(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
{ {
DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler ^ BIT_FLANK]]); DestroySprite(&gSprites[gUnknown_3004FFC[gActiveBattler ^ BIT_FLANK]]);
@@ -965,7 +965,7 @@ static void sub_802FD18(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !(gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)) && !(gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive))
{ {
@@ -1235,7 +1235,7 @@ static void sub_80303A8(u8 taskId)
} }
break; break;
case 5: case 5:
sub_8073128(v6); ResetBattleAnimBg(v6);
++data[15]; ++data[15];
break; break;
case 4: case 4:
+6 -6
View File
@@ -598,7 +598,7 @@ static void sub_8156184(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80)
{ {
sub_80F1720(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gEnemyParty[gBattlerPartyIndexes[gActiveBattler]]);
} }
else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1) else if (gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].field_1_x1)
{ {
@@ -656,7 +656,7 @@ static void sub_81563A8(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy if (gSprites[gUnknown_3004FFC[gActiveBattler]].callback == SpriteCallbackDummy
&& !(gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)) && !(gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive))
{ {
@@ -750,10 +750,10 @@ static void sub_8156624(void)
{ {
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80 if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive)
sub_80F1720(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]); TryShinyAnimation(gActiveBattler, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80 if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].flag_x80
&& !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
sub_80F1720(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]); TryShinyAnimation(gActiveBattler ^ BIT_FLANK, &gPlayerParty[gBattlerPartyIndexes[gActiveBattler ^ BIT_FLANK]]);
if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive) if (!gBattleSpritesDataPtr->healthBoxesData[gActiveBattler].ballAnimActive && !gBattleSpritesDataPtr->healthBoxesData[gActiveBattler ^ BIT_FLANK].ballAnimActive)
{ {
if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)) if (IsDoubleBattle() && !(gBattleTypeFlags & BATTLE_TYPE_MULTI))
@@ -2518,7 +2518,7 @@ static void sub_8159D04(void)
case 0: case 0:
if (!gPaletteFade.active) if (!gPaletteFade.active)
{ {
sub_80EEFC8(&gBattleStruct->field_95, DoLoadHealthboxPalsForLevelUp(&gBattleStruct->field_95,
&gBattleStruct->field_94, &gBattleStruct->field_94,
GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)); GetBattlerAtPosition(B_POSITION_PLAYER_LEFT));
BeginNormalPaletteFade(0xFFFFFF7F, 4, 0, 8, RGB_BLACK); BeginNormalPaletteFade(0xFFFFFF7F, 4, 0, 8, RGB_BLACK);
@@ -2576,7 +2576,7 @@ static void sub_8159D04(void)
BattleStopLowHpSound(); BattleStopLowHpSound();
PlayBGM(MUS_VICTORY_WILD); PlayBGM(MUS_VICTORY_WILD);
} }
sub_80EF0E0(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)); DoFreeHealthboxPalsForLevelUp(GetBattlerAtPosition(B_POSITION_PLAYER_LEFT));
sub_80EB524(); sub_80EB524();
sub_8159B78(); sub_8159B78();
} }
+8 -8
View File
@@ -83,7 +83,7 @@ static void sub_8012060(struct Sprite *sprite);
static void oac_poke_ally_(struct Sprite *sprite); static void oac_poke_ally_(struct Sprite *sprite);
static void SpriteCallbackDummy3(struct Sprite *sprite); static void SpriteCallbackDummy3(struct Sprite *sprite);
static void SpriteCB_BounceEffect(struct Sprite *sprite); static void SpriteCB_BounceEffect(struct Sprite *sprite);
static void sub_8012398(struct Sprite *sprite); static void SpriteCB_PlayerThrowUpdate(struct Sprite *sprite);
static void BattleStartClearSetData(void); static void BattleStartClearSetData(void);
static void BattleIntroGetMonsData(void); static void BattleIntroGetMonsData(void);
static void TurnValuesCleanUp(bool8 var0); static void TurnValuesCleanUp(bool8 var0);
@@ -301,7 +301,7 @@ static const union AffineAnimCmd *const gUnknown_824F044[] =
gUnknown_824F02C, gUnknown_824F02C,
}; };
static const s8 gUnknown_824F048[] = { -32, -16, -16, -32, -32, 0, 0, 0 }; static const s8 sPlayerThrowXTranslation[] = { -32, -16, -16, -32, -32, 0, 0, 0 };
// format: attacking type, defending type, damage multiplier // format: attacking type, defending type, damage multiplier
// the multiplier is a (decimal) fixed-point number: // the multiplier is a (decimal) fixed-point number:
@@ -2153,21 +2153,21 @@ static void SpriteCB_BounceEffect(struct Sprite *sprite)
sprite->sSinIndex = (sprite->sSinIndex + sprite->sDelta) & 0xFF; sprite->sSinIndex = (sprite->sSinIndex + sprite->sDelta) & 0xFF;
} }
void sub_8012354(struct Sprite *sprite) void SpriteCB_PlayerThrowInit(struct Sprite *sprite)
{ {
StartSpriteAnim(sprite, 1); StartSpriteAnim(sprite, 1);
sprite->callback = sub_8012398; sprite->callback = SpriteCB_PlayerThrowUpdate;
} }
void sub_801236C(struct Sprite *sprite) void UpdatePlayerPosInThrowAnim(struct Sprite *sprite)
{ {
if (sprite->animDelayCounter == 0) if (sprite->animDelayCounter == 0)
sprite->centerToCornerVecX = gUnknown_824F048[sprite->animCmdIndex]; sprite->centerToCornerVecX = sPlayerThrowXTranslation[sprite->animCmdIndex];
} }
static void sub_8012398(struct Sprite *sprite) static void SpriteCB_PlayerThrowUpdate(struct Sprite *sprite)
{ {
sub_801236C(sprite); UpdatePlayerPosInThrowAnim(sprite);
if (sprite->animEnded) if (sprite->animEnded)
sprite->callback = SpriteCallbackDummy3; sprite->callback = SpriteCallbackDummy3;
} }
+6 -6
View File
@@ -409,7 +409,7 @@ void AnimTask_MoveAttackerMementoShadow(u8 taskId)
task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); task->data[3] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
if (task->data[3] == 1) if (task->data[3] == 1)
{ {
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
task->data[10] = gBattle_BG1_Y; task->data[10] = gBattle_BG1_Y;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND | BLDCNT_TGT1_BG1);
FillPalette(0, animBg.paletteId * 16, 32); FillPalette(0, animBg.paletteId * 16, 32);
@@ -540,7 +540,7 @@ void AnimTask_MoveTargetMementoShadow(u8 taskId)
case 1: case 1:
if (task->data[3] == 1) if (task->data[3] == 1)
{ {
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
task->data[10] = gBattle_BG1_Y; task->data[10] = gBattle_BG1_Y;
FillPalette(0, animBg.paletteId * 16, 32); FillPalette(0, animBg.paletteId * 16, 32);
} }
@@ -742,9 +742,9 @@ void sub_80B8664(u8 taskId)
{ {
bool8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? TRUE : FALSE; bool8 toBG2 = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker) ^ 1 ? TRUE : FALSE;
sub_8073128(toBG2); ResetBattleAnimBg(toBG2);
if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker))) if (IsBattlerSpriteVisible(BATTLE_PARTNER(gBattleAnimAttacker)))
sub_8073128(toBG2 ^ 1); ResetBattleAnimBg(toBG2 ^ 1);
DestroyAnimVisualTask(taskId); DestroyAnimVisualTask(taskId);
} }
@@ -800,7 +800,7 @@ void AnimTask_MetallicShine(u8 taskId)
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species); newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap); AnimLoadCompressedBgTilemap(animBg.bgId, gMetalShineTilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset); AnimLoadCompressedBgGfx(animBg.bgId, gMetalShineGfx, animBg.tilesOffset);
LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32); LoadCompressedPalette(gMetalShinePalette, animBg.paletteId * 16, 32);
@@ -839,7 +839,7 @@ static void sub_80B8920(u8 taskId)
if (gTasks[taskId].data[1] == 0) if (gTasks[taskId].data[1] == 0)
SetGreyscaleOrOriginalPalette(paletteNum, 1); SetGreyscaleOrOriginalPalette(paletteNum, 1);
DestroySprite(&gSprites[gTasks[taskId].data[0]]); DestroySprite(&gSprites[gTasks[taskId].data[0]]);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId); sub_8075358(animBg.bgId);
if (gTasks[taskId].data[6] == 1) if (gTasks[taskId].data[6] == 1)
gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++; gSprites[gBattlerSpriteIds[BATTLE_PARTNER(gBattleAnimAttacker)]].oam.priority++;
+6 -6
View File
@@ -790,7 +790,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
u8 i; u8 i;
u8 selectedIvs[INHERITED_IV_COUNT]; u8 selectedIvs[INHERITED_IV_COUNT];
u8 availableIVs[NUM_STATS]; u8 availableIVs[NUM_STATS];
u8 whichParent[ARRAY_COUNT(selectedIvs)]; u8 whichParent[NELEMS(selectedIvs)];
u8 iv; u8 iv;
// Initialize a list of IV indices. // Initialize a list of IV indices.
@@ -800,7 +800,7 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
} }
// Select the 3 IVs that will be inherited. // Select the 3 IVs that will be inherited.
for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) for (i = 0; i < NELEMS(selectedIvs); i++)
{ {
// Randomly pick an IV from the available list and stop from being chosen again. // Randomly pick an IV from the available list and stop from being chosen again.
selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)]; selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)];
@@ -808,13 +808,13 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare)
} }
// Determine which parent each of the selected IVs should inherit from. // Determine which parent each of the selected IVs should inherit from.
for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) for (i = 0; i < NELEMS(selectedIvs); i++)
{ {
whichParent[i] = Random() % DAYCARE_MON_COUNT; whichParent[i] = Random() % DAYCARE_MON_COUNT;
} }
// Set each of inherited IVs on the egg mon. // Set each of inherited IVs on the egg mon.
for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) for (i = 0; i < NELEMS(selectedIvs); i++)
{ {
switch (selectedIvs[i]) switch (selectedIvs[i])
{ {
@@ -858,7 +858,7 @@ static u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves)
numEggMoves = 0; numEggMoves = 0;
eggMoveIdx = 0; eggMoveIdx = 0;
species = GetMonData(pokemon, MON_DATA_SPECIES); species = GetMonData(pokemon, MON_DATA_SPECIES);
for (i = 0; i < ARRAY_COUNT(gEggMoves) - 1; i++) for (i = 0; i < NELEMS(gEggMoves) - 1; i++)
{ {
if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET) if (gEggMoves[i] == species + EGG_MOVES_SPECIES_OFFSET)
{ {
@@ -1787,7 +1787,7 @@ static void CB2_EggHatch_0(void)
ResetTempTileDataBuffers(); ResetTempTileDataBuffers();
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sBgTemplates_EggHatch, ARRAY_COUNT(sBgTemplates_EggHatch)); InitBgsFromTemplates(0, sBgTemplates_EggHatch, NELEMS(sBgTemplates_EggHatch));
ChangeBgX(1, 0, 0); ChangeBgX(1, 0, 0);
ChangeBgY(1, 0, 0); ChangeBgY(1, 0, 0);
+1 -1
View File
@@ -1567,7 +1567,7 @@ static void sub_8155EA0(void)
DmaClear16(3, (void *)PLTT, PLTT_SIZE); DmaClear16(3, (void *)PLTT, PLTT_SIZE);
SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_DISPCNT, 0);
ResetBgsAndClearDma3BusyFlags(FALSE); ResetBgsAndClearDma3BusyFlags(FALSE);
InitBgsFromTemplates(0, sUnknown_847565C, ARRAY_COUNT(sUnknown_847565C)); InitBgsFromTemplates(0, sUnknown_847565C, NELEMS(sUnknown_847565C));
ChangeBgX(0, 0, 0); ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0); ChangeBgY(0, 0, 0);
ChangeBgX(1, 0, 0); ChangeBgX(1, 0, 0);
+1 -1
View File
@@ -704,7 +704,7 @@ static bool8 UnlockedECMonOrMove(u16 wordIndex, u8 groupId)
static bool32 EC_IsDeoxys(u16 species) static bool32 EC_IsDeoxys(u16 species)
{ {
u32 i; u32 i;
for (i = 0; i < ARRAY_COUNT(sDeoxysValue); i++) for (i = 0; i < NELEMS(sDeoxysValue); i++)
{ {
if (sDeoxysValue[i] == species) if (sDeoxysValue[i] == species)
return TRUE; return TRUE;
+1 -1
View File
@@ -450,7 +450,7 @@ static void MainCB2_LoadFameChecker(void)
sBg1TilemapBuffer = AllocZeroed(0x1000); sBg1TilemapBuffer = AllocZeroed(0x1000);
sBg2TilemapBuffer = AllocZeroed(0x800); sBg2TilemapBuffer = AllocZeroed(0x800);
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sUIBgTemplates, ARRAY_COUNT(sUIBgTemplates)); InitBgsFromTemplates(0, sUIBgTemplates, NELEMS(sUIBgTemplates));
SetBgTilemapBuffer(3, sBg3TilemapBuffer); SetBgTilemapBuffer(3, sBg3TilemapBuffer);
SetBgTilemapBuffer(2, sBg2TilemapBuffer); SetBgTilemapBuffer(2, sBg2TilemapBuffer);
SetBgTilemapBuffer(1, sBg1TilemapBuffer); SetBgTilemapBuffer(1, sBg1TilemapBuffer);
+2 -2
View File
@@ -788,7 +788,7 @@ static void sub_80B111C(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3); sprite->data[4] = GetBattlerSpriteCoord(sprite->data[7], 3);
InitAnimLinearTranslation(sprite); InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix); StoreSpriteCallbackInData6(sprite, DestroySpriteAndMatrix);
sprite->callback = sub_807563C; sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
} }
} }
@@ -874,7 +874,7 @@ static void AnimSuperpowerFireball(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(battler, 3); sprite->data[4] = GetBattlerSpriteCoord(battler, 3);
InitAnimLinearTranslation(sprite); InitAnimLinearTranslation(sprite);
StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); StoreSpriteCallbackInData6(sprite, DestroyAnimSprite);
sprite->callback = sub_807563C; sprite->callback = RunLinearTranslation_ThenceSetCBtoStoredInData6;
} }
static void sub_80B13D4(struct Sprite *sprite) static void sub_80B13D4(struct Sprite *sprite)
+1 -1
View File
@@ -1160,7 +1160,7 @@ void AnimTask_BlendBackground(u8 taskId)
{ {
struct BattleAnimBgData animBg; struct BattleAnimBgData animBg;
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
BlendPalette(animBg.paletteId * 16, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]); BlendPalette(animBg.paletteId * 16, 16, gBattleAnimArgs[0], gBattleAnimArgs[1]);
DestroyAnimVisualTask(taskId); DestroyAnimVisualTask(taskId);
} }
+4 -4
View File
@@ -941,7 +941,7 @@ void AnimTask_Haze1(u8 taskId)
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap);
LoadPalette(&gUnknown_83C2CE0, animBg.paletteId * 16, 32); LoadPalette(&gUnknown_83C2CE0, animBg.paletteId * 16, 32);
@@ -992,7 +992,7 @@ static void AnimTask_Haze2(u8 taskId)
} }
break; break;
case 3: case 3:
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(1); sub_8075358(1);
sub_8075358(2); sub_8075358(2);
++gTasks[taskId].data[12]; ++gTasks[taskId].data[12];
@@ -1039,7 +1039,7 @@ void AnimTask_LoadMistTiles(u8 taskId)
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset); LoadBgTiles(animBg.bgId, gWeatherFogHorizontalTiles, 0x800, animBg.tilesOffset);
AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap); AnimLoadCompressedBgTilemap(animBg.bgId, gBattleAnimFogTilemap);
LoadPalette(&gUnknown_83C2CE0, animBg.paletteId * 16, 32); LoadPalette(&gUnknown_83C2CE0, animBg.paletteId * 16, 32);
@@ -1087,7 +1087,7 @@ static void AnimTask_OverlayFogTiles(u8 taskId)
} }
break; break;
case 3: case 3:
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(1); sub_8075358(1);
sub_8075358(2); sub_8075358(2);
++gTasks[taskId].data[12]; ++gTasks[taskId].data[12];
+7 -7
View File
@@ -23,14 +23,14 @@ struct LoadedSaveData
}; };
// EWRAM DATA // EWRAM DATA
EWRAM_DATA struct SaveBlock2 gSaveBlock2 = {0}; EWRAM_DATA HERE struct SaveBlock2 gSaveBlock2 = {0};
EWRAM_DATA u8 gSaveBlock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0}; EWRAM_DATA HERE u8 gSaveBlock2_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
EWRAM_DATA struct SaveBlock1 gSaveBlock1 = {0}; EWRAM_DATA HERE struct SaveBlock1 gSaveBlock1 = {0};
EWRAM_DATA u8 gSaveBlock1_DMA[SAVEBLOCK_MOVE_RANGE] = {0}; EWRAM_DATA HERE u8 gSaveBlock1_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
EWRAM_DATA struct PokemonStorage gPokemonStorage = {0}; EWRAM_DATA HERE struct PokemonStorage gPokemonStorage = {0};
EWRAM_DATA u8 gSaveBlock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0}; EWRAM_DATA HERE u8 gSaveBlock3_DMA[SAVEBLOCK_MOVE_RANGE] = {0};
EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0}; EWRAM_DATA struct LoadedSaveData gLoadedSaveData = {0};
EWRAM_DATA u32 gLastEncryptionKey = 0; EWRAM_DATA u32 gLastEncryptionKey = 0;
@@ -70,7 +70,7 @@ void SetSaveBlocksPointers(void)
struct SaveBlock1** sav1_LocalVar = &gSaveBlock1Ptr; struct SaveBlock1** sav1_LocalVar = &gSaveBlock1Ptr;
void *oldSave = (void *)gSaveBlock1Ptr; void *oldSave = (void *)gSaveBlock1Ptr;
offset = (Random()) & (SAVEBLOCK_MOVE_RANGE - 4); offset = (Random()) & ((SAVEBLOCK_MOVE_RANGE - 1) & ~3);
gSaveBlock2Ptr = (void*)(&gSaveBlock2) + offset; gSaveBlock2Ptr = (void*)(&gSaveBlock2) + offset;
*sav1_LocalVar = (void*)(&gSaveBlock1) + offset; *sav1_LocalVar = (void*)(&gSaveBlock1) + offset;
+1 -1
View File
@@ -375,7 +375,7 @@ bool32 HandleMysteryGiftOrEReaderSetup(s32 mg_or_ereader)
ScanlineEffect_Stop(); ScanlineEffect_Stop();
ResetBgsAndClearDma3BusyFlags(1); ResetBgsAndClearDma3BusyFlags(1);
InitBgsFromTemplates(0, sBGTemplates, ARRAY_COUNT(sBGTemplates)); InitBgsFromTemplates(0, sBGTemplates, NELEMS(sBGTemplates));
ChangeBgX(0, 0, 0); ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0); ChangeBgY(0, 0, 0);
ChangeBgX(1, 0, 0); ChangeBgX(1, 0, 0);
+8 -8
View File
@@ -2339,7 +2339,7 @@ static void sub_8136BC4(void)
SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_DISPCNT, 0);
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, sUnknown_8463EFC, ARRAY_COUNT(sUnknown_8463EFC)); InitBgsFromTemplates(0, sUnknown_8463EFC, NELEMS(sUnknown_8463EFC));
ChangeBgX(0, 0, 0); ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0); ChangeBgY(0, 0, 0);
@@ -3902,20 +3902,20 @@ static void sub_8139768(struct Sprite * sprite)
{ {
case 0: case 0:
sprite->pos1.y += sUnknown_8463FBE[sUnknown_203B170->unk00++]; sprite->pos1.y += sUnknown_8463FBE[sUnknown_203B170->unk00++];
v0 = ARRAY_COUNT(sUnknown_8463FBE); v0 = NELEMS(sUnknown_8463FBE);
break; break;
case 1: case 1:
sprite->pos1.y += sUnknown_8463FC1[sUnknown_203B170->unk00++]; sprite->pos1.y += sUnknown_8463FC1[sUnknown_203B170->unk00++];
v0 = ARRAY_COUNT(sUnknown_8463FC1); v0 = NELEMS(sUnknown_8463FC1);
break; break;
case 2: case 2:
sprite->pos1.y += sUnknown_8463FC6[sUnknown_203B170->unk00++]; sprite->pos1.y += sUnknown_8463FC6[sUnknown_203B170->unk00++];
v0 = ARRAY_COUNT(sUnknown_8463FC6); v0 = NELEMS(sUnknown_8463FC6);
break; break;
case 3: case 3:
default: default:
sprite->pos1.y += sUnknown_8463FCD[sUnknown_203B170->unk00++]; sprite->pos1.y += sUnknown_8463FCD[sUnknown_203B170->unk00++];
v0 = ARRAY_COUNT(sUnknown_8463FCD); v0 = NELEMS(sUnknown_8463FCD);
break; break;
} }
@@ -3941,7 +3941,7 @@ static void sub_8139868(struct Sprite * sprite)
if (sUnknown_203B170->unk04++ >= 120) if (sUnknown_203B170->unk04++ >= 120)
{ {
sprite->pos1.x += sUnknown_8463FD4[sUnknown_203B170->unk00]; sprite->pos1.x += sUnknown_8463FD4[sUnknown_203B170->unk00];
if (++sUnknown_203B170->unk00 >= ARRAY_COUNT(sUnknown_8463FD4)) if (++sUnknown_203B170->unk00 >= NELEMS(sUnknown_8463FD4))
{ {
sUnknown_203B170->unk00 = 0; sUnknown_203B170->unk00 = 0;
sUnknown_203B170->unk04 = 0; sUnknown_203B170->unk04 = 0;
@@ -3953,7 +3953,7 @@ static void sub_8139868(struct Sprite * sprite)
if (sUnknown_203B170->unk04++ >= 90) if (sUnknown_203B170->unk04++ >= 90)
{ {
sprite->pos1.x += sUnknown_8463FDF[sUnknown_203B170->unk00]; sprite->pos1.x += sUnknown_8463FDF[sUnknown_203B170->unk00];
if (++sUnknown_203B170->unk00 >= ARRAY_COUNT(sUnknown_8463FDF)) if (++sUnknown_203B170->unk00 >= NELEMS(sUnknown_8463FDF))
{ {
sUnknown_203B170->unk00 = 0; sUnknown_203B170->unk00 = 0;
sUnknown_203B170->unk04 = 0; sUnknown_203B170->unk04 = 0;
@@ -3965,7 +3965,7 @@ static void sub_8139868(struct Sprite * sprite)
if (sUnknown_203B170->unk04++ >= 60) if (sUnknown_203B170->unk04++ >= 60)
{ {
sprite->pos1.x += sUnknown_8463FEA[sUnknown_203B170->unk00]; sprite->pos1.x += sUnknown_8463FEA[sUnknown_203B170->unk00];
if (++sUnknown_203B170->unk00 >= ARRAY_COUNT(sUnknown_8463FEA)) if (++sUnknown_203B170->unk00 >= NELEMS(sUnknown_8463FEA))
{ {
sUnknown_203B170->unk00 = 0; sUnknown_203B170->unk00 = 0;
sUnknown_203B170->unk04 = 0; sUnknown_203B170->unk04 = 0;
+2 -2
View File
@@ -523,10 +523,10 @@ static void sub_80B3168(struct Sprite *sprite)
bool8 toBG2 = (rank ^ var0) != 0; bool8 toBG2 = (rank ^ var0) != 0;
if (IsBattlerSpriteVisible(battler)) if (IsBattlerSpriteVisible(battler))
sub_8073128(toBG2); ResetBattleAnimBg(toBG2);
battler = battlerCopy ^ 2; battler = battlerCopy ^ 2;
if (IsBattlerSpriteVisible(battler)) if (IsBattlerSpriteVisible(battler))
sub_8073128(toBG2 ^ var0); ResetBattleAnimBg(toBG2 ^ var0);
} }
sprite->callback = DestroyAnimSprite; sprite->callback = DestroyAnimSprite;
} }
+1 -1
View File
@@ -35,7 +35,7 @@ static void (*const gUnknown_8471EDC[])(void) = {
void sub_8150454(u8 a0) void sub_8150454(u8 a0)
{ {
if (a0 < ARRAY_COUNT(gUnknown_8471EDC)) if (a0 < NELEMS(gUnknown_8471EDC))
gUnknown_8471EDC[a0](); gUnknown_8471EDC[a0]();
} }
+3 -3
View File
@@ -94,7 +94,7 @@ void CreateInitialRoamerMon(void)
saveRoamer.smart = GetMonData(tmpMon, MON_DATA_SMART); saveRoamer.smart = GetMonData(tmpMon, MON_DATA_SMART);
saveRoamer.tough = GetMonData(tmpMon, MON_DATA_TOUGH); saveRoamer.tough = GetMonData(tmpMon, MON_DATA_TOUGH);
sRoamerLocation[MAP_GRP] = 3; sRoamerLocation[MAP_GRP] = 3;
sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0]; sRoamerLocation[MAP_NUM] = sRoamerLocations[Random() % (NELEMS(sRoamerLocations) - 1)][0];
} }
void InitRoamer(void) void InitRoamer(void)
@@ -125,7 +125,7 @@ void RoamerMoveToOtherLocationSet(void)
while (1) while (1)
{ {
mapNum = sRoamerLocations[Random() % (ARRAY_COUNT(sRoamerLocations) - 1)][0]; mapNum = sRoamerLocations[Random() % (NELEMS(sRoamerLocations) - 1)][0];
if (sRoamerLocation[MAP_NUM] != mapNum) if (sRoamerLocation[MAP_NUM] != mapNum)
{ {
sRoamerLocation[MAP_NUM] = mapNum; sRoamerLocation[MAP_NUM] = mapNum;
@@ -150,7 +150,7 @@ void RoamerMove(void)
if (!roamer->active) if (!roamer->active)
return; return;
while (locSet < (ARRAY_COUNT(sRoamerLocations) - 1)) while (locSet < (NELEMS(sRoamerLocations) - 1))
{ {
if (sRoamerLocation[MAP_NUM] == sRoamerLocations[locSet][0]) if (sRoamerLocation[MAP_NUM] == sRoamerLocations[locSet][0])
{ {
+2 -2
View File
@@ -407,7 +407,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId)
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X); SetGpuReg(REG_OFFSET_BG1HOFS, gBattle_BG1_X);
SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y); SetGpuReg(REG_OFFSET_BG1VOFS, gBattle_BG1_Y);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap); AnimLoadCompressedBgTilemap(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_tilemap);
AnimLoadCompressedBgGfx(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet, animBg.tilesOffset); AnimLoadCompressedBgGfx(animBg.bgId, gFile_graphics_battle_anims_backgrounds_sandstorm_brew_sheet, animBg.tilesOffset);
LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32); LoadCompressedPalette(gBattleAnimSpritePal_FlyingDirt, animBg.paletteId * 16, 32);
@@ -464,7 +464,7 @@ static void sub_80B490C(u8 taskId)
} }
break; break;
case 3: case 3:
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
sub_8075358(animBg.bgId); sub_8075358(animBg.bgId);
++gTasks[taskId].data[12]; ++gTasks[taskId].data[12];
break; break;
+14 -16
View File
@@ -45,26 +45,24 @@
min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \ min(sizeof(structure) - chunkNum * SECTOR_DATA_SIZE, SECTOR_DATA_SIZE) \
} \ } \
// TODO: use gSaveblock2, gSaveblock1, gPokemonStorage instead of structs
// Will be done when load_save is decompiled.
const struct SaveSectionOffsets gSaveSectionOffsets[] = const struct SaveSectionOffsets gSaveSectionOffsets[] =
{ {
SAVEBLOCK_CHUNK(struct SaveBlock2, 0), SAVEBLOCK_CHUNK(gSaveBlock2, 0),
SAVEBLOCK_CHUNK(struct SaveBlock1, 0), SAVEBLOCK_CHUNK(gSaveBlock1, 0),
SAVEBLOCK_CHUNK(struct SaveBlock1, 1), SAVEBLOCK_CHUNK(gSaveBlock1, 1),
SAVEBLOCK_CHUNK(struct SaveBlock1, 2), SAVEBLOCK_CHUNK(gSaveBlock1, 2),
SAVEBLOCK_CHUNK(struct SaveBlock1, 3), SAVEBLOCK_CHUNK(gSaveBlock1, 3),
SAVEBLOCK_CHUNK(struct PokemonStorage, 0), SAVEBLOCK_CHUNK(gPokemonStorage, 0),
SAVEBLOCK_CHUNK(struct PokemonStorage, 1), SAVEBLOCK_CHUNK(gPokemonStorage, 1),
SAVEBLOCK_CHUNK(struct PokemonStorage, 2), SAVEBLOCK_CHUNK(gPokemonStorage, 2),
SAVEBLOCK_CHUNK(struct PokemonStorage, 3), SAVEBLOCK_CHUNK(gPokemonStorage, 3),
SAVEBLOCK_CHUNK(struct PokemonStorage, 4), SAVEBLOCK_CHUNK(gPokemonStorage, 4),
SAVEBLOCK_CHUNK(struct PokemonStorage, 5), SAVEBLOCK_CHUNK(gPokemonStorage, 5),
SAVEBLOCK_CHUNK(struct PokemonStorage, 6), SAVEBLOCK_CHUNK(gPokemonStorage, 6),
SAVEBLOCK_CHUNK(struct PokemonStorage, 7), SAVEBLOCK_CHUNK(gPokemonStorage, 7),
SAVEBLOCK_CHUNK(struct PokemonStorage, 8) SAVEBLOCK_CHUNK(gPokemonStorage, 8)
}; };
// Sector num to begin writing save data. Sectors are rotated each time the game is saved. (possibly to avoid wear on flash memory?) // Sector num to begin writing save data. Sectors are rotated each time the game is saved. (possibly to avoid wear on flash memory?)
+2 -2
View File
@@ -487,7 +487,7 @@ u8 *GetExpandedPlaceholder(u32 id)
[PLACEHOLDER_ID_KYOGRE] = ExpandPlaceholder_Kyogre, [PLACEHOLDER_ID_KYOGRE] = ExpandPlaceholder_Kyogre,
}; };
if (id >= ARRAY_COUNT(funcs)) if (id >= NELEMS(funcs))
return gExpandedPlaceholder_Empty; return gExpandedPlaceholder_Empty;
else else
return funcs[id](); return funcs[id]();
@@ -627,7 +627,7 @@ u8 GetExtCtrlCodeLength(u8 code)
}; };
u8 length = 0; u8 length = 0;
if (code < ARRAY_COUNT(lengths)) if (code < NELEMS(lengths))
length = lengths[code]; length = lengths[code];
return length; return length;
} }
+1 -1
View File
@@ -1472,7 +1472,7 @@ static bool8 SetTrainerCardBgsAndPals(void)
switch (sTrainerCardDataPtr->bgPalLoadState) switch (sTrainerCardDataPtr->bgPalLoadState)
{ {
case 0: case 0:
LoadBgTiles(3, sTrainerCardDataPtr->badgeTiles, ARRAY_COUNT(sTrainerCardDataPtr->badgeTiles), 0); LoadBgTiles(3, sTrainerCardDataPtr->badgeTiles, NELEMS(sTrainerCardDataPtr->badgeTiles), 0);
break; break;
case 1: case 1:
LoadBgTiles(0, sTrainerCardDataPtr->cardTiles, 0x1800, 0); LoadBgTiles(0, sTrainerCardDataPtr->cardTiles, 0x1800, 0);
+2 -2
View File
@@ -812,7 +812,7 @@ void AnimTask_CreateSurfWave(u8 taskId)
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16));
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1); SetAnimBgAttribute(1, BG_ANIM_SCREEN_SIZE, 1);
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
if (!IsContest()) if (!IsContest())
{ {
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
@@ -889,7 +889,7 @@ static void AnimTask_CreateSurfWave_Step1(u8 taskId)
*BGptrX += gTasks[taskId].data[0]; *BGptrX += gTasks[taskId].data[0];
*BGptrY += gTasks[taskId].data[1]; *BGptrY += gTasks[taskId].data[1];
sub_80752A0(&animBg); GetBattleAnimBg1Data(&animBg);
gTasks[taskId].data[2] += gTasks[taskId].data[1]; gTasks[taskId].data[2] += gTasks[taskId].data[1];
if (++gTasks[taskId].data[5] == 4) if (++gTasks[taskId].data[5] == 4)
{ {