resolve compiler errors

This commit is contained in:
Evan
2019-12-02 20:58:12 -07:00
parent 5c40e5ea21
commit f1bd7a41cc
9 changed files with 173 additions and 216 deletions
+1 -1
View File
@@ -2464,7 +2464,7 @@ gFile_graphics_battle_anims_masks_cure_bubbles_sheet:: @ 8D2DE3C
.incbin "graphics/battle_anims/masks/cure_bubbles.4bpp.lz" .incbin "graphics/battle_anims/masks/cure_bubbles.4bpp.lz"
.align 2 .align 2
gFile_graphics_battle_anims_masks_cure_bubbles_palette:: @ 8D2DF78 gCureBubblesPal:: @ 8D2DF78
.incbin "graphics/battle_anims/masks/cure_bubbles.gbapal.lz" .incbin "graphics/battle_anims/masks/cure_bubbles.gbapal.lz"
.align 2 .align 2
+10 -3
View File
@@ -197,8 +197,12 @@ void sub_80BCEF4(s32 bgId, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, u8 *ar
// battle_anim_special.s // battle_anim_special.s
void sub_80F1720(u8 battler, struct Pokemon *mon); void sub_80F1720(u8 battler, struct Pokemon *mon);
// battle_anim_effects_1.s // battle_anim_effects_1.c
void AnimMoveTwisterParticle(struct Sprite *sprite); void SetSpriteNextToMonHead(u8 battler, struct Sprite* sprite);
void AnimMoveTwisterParticle(struct Sprite* sprite);
// water.c
void AnimWaterPulseRing(struct Sprite *sprite);
enum enum
{ {
@@ -284,7 +288,7 @@ void sub_8075358(u32 bgId);
void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset); void AnimLoadCompressedBgGfx(u32 bgId, const u32 *src, u32 tilesOffset);
void InitAnimBgTilemapBuffer(u32 bgId, const void *src); void InitAnimBgTilemapBuffer(u32 bgId, const void *src);
void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src); void AnimLoadCompressedBgTilemap(u32 bgId, const u32 *src);
u8 sub_8075454(void); u8 GetBattleBgPaletteNum(void);
void sub_8075458(bool8 arg0); void sub_8075458(bool8 arg0);
void sub_8075490(struct Sprite *sprite); void sub_8075490(struct Sprite *sprite);
void InitSpriteDataForLinearTranslation(struct Sprite *sprite); void InitSpriteDataForLinearTranslation(struct Sprite *sprite);
@@ -451,6 +455,9 @@ void sub_80AD800(u8 taskId);
extern const union AnimCmd *const gUnknown_83E5958[]; extern const union AnimCmd *const gUnknown_83E5958[];
extern const union AnimCmd *const gUnknown_83E5A78[]; extern const union AnimCmd *const gUnknown_83E5A78[];
// smokescreen.c
u8 SmokescreenImpact(s16 x, s16 y, u8 a3);
// battle_anim_utility_funcs.c // battle_anim_utility_funcs.c
void sub_80BA7F8(u8 taskId); void sub_80BA7F8(u8 taskId);
void sub_80BA83C(u8 taskId); void sub_80BA83C(u8 taskId);
+9 -1
View File
@@ -73,10 +73,18 @@
#define TOTAL_OBJ_TILE_COUNT 1024 #define TOTAL_OBJ_TILE_COUNT 1024
#define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) #define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10))
#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r))
#define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F))
#define RGB_BLACK RGB(0, 0, 0) #define RGB_BLACK RGB(0, 0, 0)
#define RGB_WHITE RGB(31, 31, 31) #define RGB_WHITE RGB(31, 31, 31)
#define RGB_WHITEALPHA (0xFFFF) #define RGB_RED RGB(31, 0, 0)
#define RGB_GREEN RGB(0, 31, 0)
#define RGB_BLUE RGB(0, 0, 31)
#define RGB_YELLOW RGB(31, 31, 0)
#define RGB_MAGENTA RGB(31, 0, 31)
#define RGB_CYAN RGB(0, 31, 31)
#define RGB_WHITEALPHA (RGB_WHITE | 0x8000)
#define NAKED __attribute__((naked)) #define NAKED __attribute__((naked))
#define UNUSED __attribute__((unused)) #define UNUSED __attribute__((unused))
+1
View File
@@ -4215,6 +4215,7 @@ extern const u32 gBattleAnimSpritePal_CrossImpact[];
extern const u32 gBattleAnimSpritePal_Slash2[]; extern const u32 gBattleAnimSpritePal_Slash2[];
extern const u32 gBattleAnimSpritePal_WhipHit[]; extern const u32 gBattleAnimSpritePal_WhipHit[];
extern const u32 gBattleAnimSpritePal_BlueRing2[]; extern const u32 gBattleAnimSpritePal_BlueRing2[];
extern const u32 gCureBubblesPal[];
// battle bg // battle bg
extern const u32 gBattleAnimBgImage_Dark[]; extern const u32 gBattleAnimBgImage_Dark[];
+3 -4
View File
@@ -13,7 +13,6 @@
#include "sound.h" #include "sound.h"
#include "trig.h" #include "trig.h"
#include "util.h" #include "util.h"
#include "constants/rgb.h"
#include "constants/songs.h" #include "constants/songs.h"
// RAM // RAM
@@ -4373,7 +4372,7 @@ static void AnimLockOnTargetStep4(struct Sprite* sprite)
sprite->data[1] = 0; sprite->data[1] = 0;
} }
BlendPalettes(sub_80A75AC(1, 1, 1, 1, 1, 0, 0), sprite->data[1], RGB(31, 31, 31)); BlendPalettes(sub_8075BE8(1, 1, 1, 1, 1, 0, 0), sprite->data[1], RGB(31, 31, 31));
if (sprite->data[1] == 16) if (sprite->data[1] == 16)
{ {
int pal; int pal;
@@ -5029,7 +5028,7 @@ void AnimTask_FadeScreenBlueStep(u8);
void AnimTask_FadeScreenBlue(u8 taskId) void AnimTask_FadeScreenBlue(u8 taskId)
{ {
int a = sub_80A75AC(1, 0, 0, 0, 0, 0, 0) & 0xFFFF; int a = sub_8075BE8(1, 0, 0, 0, 0, 0, 0) & 0xFFFF;
int b; int b;
int c; int c;
int d; int d;
@@ -5044,7 +5043,7 @@ void AnimTask_FadeScreenBlue(u8 taskId)
gTasks[taskId].data[7] = 13; gTasks[taskId].data[7] = 13;
gTasks[taskId].data[8] = 14; gTasks[taskId].data[8] = 14;
gTasks[taskId].data[9] = 15; gTasks[taskId].data[9] = 15;
b = sub_80A76C4(1, 1, 1, 1); b = sub_8075CB8(1, 1, 1, 1);
c = a | b; c = a | b;
StorePointerInVars(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c); StorePointerInVars(&gTasks[taskId].data[14], &gTasks[taskId].data[15], (void*)c);
b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON)); b = b | (0x10000 << IndexOfSpritePaletteTag(ANIM_TAG_MOON));
+2 -3
View File
@@ -13,7 +13,6 @@
#include "sound.h" #include "sound.h"
#include "trig.h" #include "trig.h"
#include "util.h" #include "util.h"
#include "constants/rgb.h"
#include "constants/songs.h" #include "constants/songs.h"
void sub_80A6E48(struct Sprite *); void sub_80A6E48(struct Sprite *);
@@ -344,7 +343,7 @@ const struct SpriteTemplate gWaterPulseRingSpriteTemplate = //gUnknown_83E3CE8
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gWaterPulseRingAffineAnimTable, .affineAnims = gWaterPulseRingAffineAnimTable,
.callback = AnimWaterPulseRing, .callback = sub_80AC6D8,
}; };
const struct SpriteTemplate gEggThrowSpriteTemplate = //gUnknown_83E3D00 const struct SpriteTemplate gEggThrowSpriteTemplate = //gUnknown_83E3D00
@@ -3096,7 +3095,7 @@ static void FakeOutStep2(u8 taskId)
{ {
gTasks[taskId].data[11] = 0x88; gTasks[taskId].data[11] = 0x88;
SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_LIGHTEN); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_LIGHTEN);
BlendPalettes(sub_80A75AC(1, 0, 0, 0, 0, 0, 0), 16, RGB(31, 31, 31)); BlendPalettes(sub_8075BE8(1, 0, 0, 0, 0, 0, 0), 16, RGB(31, 31, 31));
} }
else if (gTasks[taskId].data[10] > 4) else if (gTasks[taskId].data[10] > 4)
{ {
+86 -171
View File
@@ -3,7 +3,6 @@
#include "battle.h" #include "battle.h"
#include "battle_anim.h" #include "battle_anim.h"
#include "bg.h" #include "bg.h"
#include "contest.h"
#include "data.h" #include "data.h"
#include "decompress.h" #include "decompress.h"
#include "dma3.h" #include "dma3.h"
@@ -19,7 +18,6 @@
#include "trig.h" #include "trig.h"
#include "util.h" #include "util.h"
#include "constants/battle_anim.h" #include "constants/battle_anim.h"
#include "constants/rgb.h"
#include "constants/songs.h" #include "constants/songs.h"
#include "constants/species.h" #include "constants/species.h"
#include "constants/weather.h" #include "constants/weather.h"
@@ -122,6 +120,10 @@ static void AnimRecycleStep(struct Sprite *);
static void AnimTask_SlackOffSquishStep(u8); static void AnimTask_SlackOffSquishStep(u8);
// Data // Data
extern const u32 gUnknown_8D2A8C0[];
extern const u32 gUnknown_8D2A808[];
extern const u32 gUnknown_8D2A8A8[];
const union AnimCmd gScratchAnimCmds[] = //83FEDE4 const union AnimCmd gScratchAnimCmds[] = //83FEDE4
{ {
ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(0, 4),
@@ -468,8 +470,8 @@ const union AffineAnimCmd *const gTriAttackTriangleAffineAnimTable[] = //83FF0D4
const struct SpriteTemplate gTriAttackTriangleSpriteTemplate = //83FF0D8 const struct SpriteTemplate gTriAttackTriangleSpriteTemplate = //83FF0D8
{ {
.tileTag = ANIM_TAG_TRI_ATTACK_TRIANGLE, .tileTag = ANIM_TAG_TRI_FORCE_TRIANGLE,
.paletteTag = ANIM_TAG_TRI_ATTACK_TRIANGLE, .paletteTag = ANIM_TAG_TRI_FORCE_TRIANGLE,
.oam = &gOamData_AffineDouble_ObjNormal_64x64, .oam = &gOamData_AffineDouble_ObjNormal_64x64,
.anims = gTriAttackTriangleAnimTable, .anims = gTriAttackTriangleAnimTable,
.images = NULL, .images = NULL,
@@ -719,7 +721,7 @@ const struct SpriteTemplate gSweetScentPetalSpriteTemplate = //83FF324
.callback = AnimSweetScentPetal, .callback = AnimSweetScentPetal,
}; };
const u16 gUnknown_83FF33C[] = INCBIN_U16("graphics/unknown/unk_83FF33C.gbapal"); //Unused const u16 gUnknown_83FF33C[] = INCBIN_U16("graphics/battle_anims/unk_83FF33C.gbapal"); //Unused
const union AnimCmd gPainSplitAnimCmds[] = //83FF35C const union AnimCmd gPainSplitAnimCmds[] = //83FF35C
{ {
@@ -1214,7 +1216,7 @@ static void AnimBlackSmokeStep(struct Sprite *sprite)
void AnimTask_SmokescreenImpact(u8 taskId) void AnimTask_SmokescreenImpact(u8 taskId)
{ {
SmokescreenImpact( SmokescreenImpact( //sub_804A76C
GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8, GetBattlerSpriteCoord(gBattleAnimTarget, 2) + 8,
GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8, GetBattlerSpriteCoord(gBattleAnimTarget, 3) + 8,
0); 0);
@@ -2288,8 +2290,7 @@ void AnimTask_TransformMon(u8 taskId)
break; break;
case 2: case 2:
HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10]); HandleSpeciesGfxDataChange(gBattleAnimAttacker, gBattleAnimTarget, gTasks[taskId].data[10]);
sub_80A6BFC(&animBg, gBattleAnimAttacker); sub_8075300(&animBg, gBattleAnimAttacker);
if (IsContest()) if (IsContest())
position = 0; position = 0;
else else
@@ -2297,40 +2298,8 @@ void AnimTask_TransformMon(u8 taskId)
src = gMonSpritesGfxPtr->sprites[position] + (gBattleMonForms[gBattleAnimAttacker] << 11); src = gMonSpritesGfxPtr->sprites[position] + (gBattleMonForms[gBattleAnimAttacker] << 11);
dest = animBg.bgTiles; dest = animBg.bgTiles;
CpuCopy32(src, dest, 0x800); CpuSet(src, dest, 0x4000200);
LoadBgTiles(1, animBg.bgTiles, 0x800, animBg.tilesOffset); LoadBgTiles(1, animBg.bgTiles, 0x800, animBg.tilesOffset);
if (IsContest())
{
if (IsSpeciesNotUnown(gContestResources->field_18->species) != IsSpeciesNotUnown(gContestResources->field_18->unk2))
{
bgTilemap = (u16 *)animBg.bgTilemap;
for (i = 0; i < 8; i++)
{
for (j = 0; j < 4; j++)
{
u16 temp = bgTilemap[j + i * 0x20];
bgTilemap[j + i * 0x20] = bgTilemap[(7 - j) + i * 0x20];
bgTilemap[(7 - j) + i * 0x20] = temp;
}
}
for (i = 0; i < 8; i++)
{
for (j = 0; j < 8; j++)
{
bgTilemap[j + i * 0x20] ^= 0x400;
}
}
}
if (IsSpeciesNotUnown(gContestResources->field_18->unk2))
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gUnknown_082FF6C0;
else
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].affineAnims = gUnknown_082FF694;
StartSpriteAffineAnim(&gSprites[gBattlerSpriteIds[gBattleAnimAttacker]], 0);
}
gTasks[taskId].data[0]++; gTasks[taskId].data[0]++;
break; break;
case 3: case 3:
@@ -2392,13 +2361,13 @@ 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 sub_80752A0(&animBg);
sub_807543C AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_8D2A8C0);
sub_80753B4 //AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset); AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_8D2A808, animBg.tilesOffset);
LoadCompressedPalette(gUnknown_8D2A8A8, animBg.paletteId * 16, 32); LoadCompressedPalette(gUnknown_8D2A8A8, animBg.paletteId * 16, 32);
if (IsContest()) if (IsContest())
{ {
sub_80730C0(animBg.paletteId, [sp+4 ???], 0, 0); sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
gBattle_BG1_X = -56; gBattle_BG1_X = -56;
} }
else else
@@ -2410,30 +2379,6 @@ void AnimTask_MorningSunLightBeam(u8 taskId)
} }
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
/*
sub_80752A0(&animBg);
sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
if (IsContest())
{
gBattle_BG1_X = -56;
gBattle_BG1_Y = 0;
}
else
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattle_BG1_X = -135;
else
gBattle_BG1_X = -10;
gBattle_BG1_Y = 0;
}
*/
gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[10] = gBattle_BG1_X;
gTasks[taskId].data[11] = gBattle_BG1_Y; gTasks[taskId].data[11] = gBattle_BG1_Y;
@@ -2594,21 +2539,16 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1); SetAnimBgAttribute(1, BG_ANIM_PRIORITY, 1);
if (!IsContest()) if (!IsContest())
SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1); SetAnimBgAttribute(1, BG_ANIM_CHAR_BASE_BLOCK, 1);
/*
sub_80752A0(&animBg);
sub_80A6D60(&animBg, &gUnknown_08C2A6EC, 0);
*/
sub_80752A0( ,
sub_807543C( , gUnknown_8D2A8C0
sub_80753B4( , gUnknown_8D2A808
LoadCompressedPalette(gUnknown_8D2A808
//...
sub_80752A0(&animBg);
AnimLoadCompressedBgTilemap(animBg.bgId, gUnknown_8D2A8C0);
AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_8D2A808, animBg.tilesOffset);
LoadCompressedPalette(gUnknown_8D2A8A8, animBg.paletteId * 16, 32);
if (IsContest()) if (IsContest())
{ {
gBattle_BG1_X = -56; sub_80730C0(animBg.paletteId, animBg.bgTilemap, 0, 0);
gBattle_BG1_X = -56;
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
} }
else else
@@ -2636,8 +2576,6 @@ void AnimTask_DoomDesireLightBeam(u8 taskId)
gBattle_BG1_Y = 0; gBattle_BG1_Y = 0;
} }
//AnimLoadCompressedBgGfx(animBg.bgId, gUnknown_08C2A634, animBg.tilesOffset);
//LoadCompressedPalette(gUnknown_08C2A6D4, animBg.paletteId * 16, 32);
gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[10] = gBattle_BG1_X;
gTasks[taskId].data[11] = gBattle_BG1_Y; gTasks[taskId].data[11] = gBattle_BG1_Y;
gTasks[taskId].data[0]++; gTasks[taskId].data[0]++;
@@ -3229,62 +3167,51 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
s16 coord1, coord2; s16 coord1, coord2;
GetAnimBattlerSpriteId(ANIM_ATTACKER); GetAnimBattlerSpriteId(ANIM_ATTACKER);
if (IsContest())
{
isBackPic = 1;
personality = gContestResources->field_18->unk10;
otId = gContestResources->field_18->unkC;
species = gContestResources->field_18->unk2;
xOffset = 20;
priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
else
{
if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{
isBackPic = 0;
personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY);
otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID);
if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE)
{
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
else
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
}
else
{
species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
}
xOffset = 20; if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); {
} isBackPic = 0;
else personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY);
{ otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID);
isBackPic = 1; if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE)
personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY); {
otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID); if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE) species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
{ else
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES); }
else else
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES); {
} species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
else }
{
species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
}
xOffset = -20; xOffset = 20;
priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker); priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
} }
} else
{
isBackPic = 1;
personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_PERSONALITY);
otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_OT_ID);
if (gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies == SPECIES_NONE)
{
if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
else
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimTarget]], MON_DATA_SPECIES);
}
else
{
species = gBattleSpritesDataPtr->battlerData[gBattleAnimTarget].transformSpecies;
}
xOffset = -20;
priority = GetBattlerSpriteBGPriority(gBattleAnimAttacker);
}
coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0); coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, 0);
coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
spriteId = sub_80A8394(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1); spriteId = sub_80768D0(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1);
gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
@@ -5056,46 +4983,34 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
} }
break; break;
case 1: case 1:
if (IsContest()) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{ {
personality = gContestResources->field_18->unk8; personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
otId = gContestResources->field_18->unkC; otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
species = gContestResources->field_18->species; if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
isBackPic = 0; else
x = -32; species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
}
else
{
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{
personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
else
species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1; subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1;
isBackPic = 0; isBackPic = 0;
x = 272; x = 272;
} }
else else
{ {
personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY); personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY);
otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID); otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID);
if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE) if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE)
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
else else
species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies; species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies;
subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1; subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1;
isBackPic = 1; isBackPic = 1;
x = -32; x = -32;
} }
}
spriteId2 = sub_80A8394(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0); spriteId2 = sub_80768D0(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE) if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE)
BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE); BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE);
+48 -21
View File
@@ -1,6 +1,7 @@
#include "global.h" #include "global.h"
#include "battle.h" #include "battle.h"
#include "battle_anim.h" #include "battle_anim.h"
#include "battle_main.h"
#include "battle_controllers.h" #include "battle_controllers.h"
#include "battle_interface.h" #include "battle_interface.h"
#include "decompress.h" #include "decompress.h"
@@ -19,7 +20,6 @@
#include "constants/items.h" #include "constants/items.h"
#include "constants/moves.h" #include "constants/moves.h"
#include "constants/songs.h" #include "constants/songs.h"
#include "constants/rgb.h"
// Defines // Defines
#define TAG_PARTICLES_POKEBALL 55020 #define TAG_PARTICLES_POKEBALL 55020
@@ -35,6 +35,9 @@
#define TAG_PARTICLES_LUXURYBALL 55030 #define TAG_PARTICLES_LUXURYBALL 55030
#define TAG_PARTICLES_PREMIERBALL 55031 #define TAG_PARTICLES_PREMIERBALL 55031
#define HIHALF(n) (((n) & 0xFFFF0000) >> 16)
#define LOHALF(n) ((n) & 0xFFFF)
// IWRAM // IWRAM
EWRAM_DATA int gUnknown_3005424 = 0; EWRAM_DATA int gUnknown_3005424 = 0;
EWRAM_DATA u16 gUnknown_3005428 = 0; EWRAM_DATA u16 gUnknown_3005428 = 0;
@@ -66,6 +69,8 @@ static void sub_80F05B4(u8);
static void sub_80F0278(struct Sprite *); static void sub_80F0278(struct Sprite *);
static void sub_80F0378(struct Sprite *); static void sub_80F0378(struct Sprite *);
static void sub_80F04B4(struct Sprite *); static void sub_80F04B4(struct Sprite *);
static void sub_80F052C(struct Sprite *sprite);
static void sub_80F0574(struct Sprite *sprite);
static void PokeBallOpenParticleAnimation_Step1(struct Sprite *); static void PokeBallOpenParticleAnimation_Step1(struct Sprite *);
static void PokeBallOpenParticleAnimation_Step2(struct Sprite *); static void PokeBallOpenParticleAnimation_Step2(struct Sprite *);
static void DestroyBallOpenAnimationParticle(struct Sprite *); static void DestroyBallOpenAnimationParticle(struct Sprite *);
@@ -94,6 +99,10 @@ static void PremierBallOpenParticleAnimation(u8);
static void sub_80F1B3C(struct Sprite *); static void sub_80F1B3C(struct Sprite *);
// Data // Data
extern const u32 gUnknown_8D2EC24[];
extern const u32 gUnknown_8D2EC70[];
extern const struct SpriteTemplate gBallSpriteTemplates[]; //for now
struct BallCaptureSuccessStarData struct BallCaptureSuccessStarData
{ {
s8 xOffset; s8 xOffset;
@@ -445,9 +454,9 @@ void sub_80EEC0C(u8 taskId)
gSprites[spriteId3].callback = SpriteCallbackDummy; gSprites[spriteId3].callback = SpriteCallbackDummy;
gSprites[spriteId4].callback = SpriteCallbackDummy; gSprites[spriteId4].callback = SpriteCallbackDummy;
sub_80A6B30(&unknownStruct); sub_80752A0(&unknownStruct);
AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_08C2EA9C); AnimLoadCompressedBgTilemap(unknownStruct.bgId, gUnknown_8D2EC70);
AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset); AnimLoadCompressedBgGfx(unknownStruct.bgId, gUnknown_8D2EC24, unknownStruct.tilesOffset);
LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32); LoadCompressedPalette(gCureBubblesPal, unknownStruct.paletteId << 4, 32);
gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32; gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32;
@@ -492,7 +501,7 @@ static void sub_80EEDF4(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_80A477C(0); sub_8073128(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 | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR); SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ | WININ_WIN1_CLR);
@@ -518,7 +527,7 @@ static void sub_80EEDF4(u8 taskId)
} }
} }
static void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler) void sub_80EEFC8(u8 *paletteId1, u8 *paletteId2, u8 battler)
{ {
u8 healthBoxSpriteId; u8 healthBoxSpriteId;
u8 spriteId1, spriteId2; u8 spriteId1, spriteId2;
@@ -547,7 +556,7 @@ void sub_80EF0B4(u8 taskId)
DestroyAnimVisualTask(taskId); DestroyAnimVisualTask(taskId);
} }
static void sub_80EF0E0(u8 battler) void sub_80EF0E0(u8 battler)
{ {
u8 healthBoxSpriteId; u8 healthBoxSpriteId;
u8 spriteId1, spriteId2; u8 spriteId1, spriteId2;
@@ -666,8 +675,8 @@ void sub_80EF344(u8 taskId)
y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1); y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1);
priority = gSprites[spriteId].oam.priority; priority = gSprites[spriteId].oam.priority;
subpriority = gSprites[spriteId].subpriority; subpriority = gSprites[spriteId].subpriority;
gTasks[taskId].data[10] = AnimateBallOpenParticles(x, y + 32, priority, subpriority, ballId); gTasks[taskId].data[10] = LaunchBallStarsTask(x, y + 32, priority, subpriority, ballId);
selectedPalettes = sub_80A75AC(1, 0, 0, 0, 0, 0, 0); selectedPalettes = sub_8075BE8(1, 0, 0, 0, 0, 0, 0);
gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId); gTasks[taskId].data[11] = LaunchBallFadeMonTask(0, gBattleAnimAttacker, selectedPalettes, ballId);
gTasks[taskId].data[0]++; gTasks[taskId].data[0]++;
break; break;
@@ -764,25 +773,27 @@ void sub_80EF6D4(u8 taskId)
u8 subpriority; u8 subpriority;
u8 spriteId; u8 spriteId;
if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL) if (gBattleTypeFlags & BATTLE_TYPE_OLD_MAN_TUTORIAL)
{ {
x = 32; x = 28;
y = 11; y = 11;
} }
else else
{ {
x = 23; x = 23;
y = 5; y = 11;
if (gSaveBlock2Ptr->playerGender == FEMALE)
y = 13;
} }
ballId = ItemIdToBallId(gLastUsedItem); ballId = ItemIdToBallId(gLastUsedItem);
subpriority = GetBattlerSpriteSubpriority(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1; subpriority = GetBattlerSpriteSubpriority(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)) + 1;
spriteId = CreateSprite(&gBallSpriteTemplates[ballId], x + 32, y | 80, subpriority); spriteId = CreateSprite(&gBallSpriteTemplates[ballId], x | 32, y | 80, subpriority);
gSprites[spriteId].data[0] = 34; gSprites[spriteId].data[0] = 34;
gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0); gSprites[spriteId].data[1] = GetBattlerSpriteCoord(gBattleAnimTarget, 0);
gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16; gSprites[spriteId].data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 1) - 16;
gSprites[spriteId].callback = SpriteCallbackDummy; gSprites[spriteId].callback = SpriteCallbackDummy;
gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = sub_8039E84; gSprites[gBattlerSpriteIds[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]].callback = sub_8012354;
gTasks[taskId].data[0] = spriteId; gTasks[taskId].data[0] = spriteId;
gTasks[taskId].func = sub_80EF7EC; gTasks[taskId].func = sub_80EF7EC;
} }
@@ -853,7 +864,7 @@ static void sub_80EF8F0(struct Sprite *sprite)
switch (ballId) switch (ballId)
{ {
case 0 ... POKEBALL_COUNT - 1: case 0 ... POKEBALL_COUNT - 1:
AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId); LaunchBallFadeMonTask(0, gBattleAnimTarget, 14, ballId);
break; break;
} }
@@ -1185,7 +1196,7 @@ static void sub_80EFFC4(struct Sprite *sprite)
sprite->data[4]++; sprite->data[4]++;
if (sprite->data[4] == 40) if (sprite->data[4] == 40)
{ {
PlaySE(SE_RG_GETTING); PlaySE(SE_GETTING);
BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB(0, 0, 0)); BlendPalettes(0x10000 << sprite->oam.paletteNum, 6, RGB(0, 0, 0));
sub_80F01B8(sprite); sub_80F01B8(sprite);
} }
@@ -1198,7 +1209,7 @@ static void sub_80EFFC4(struct Sprite *sprite)
gDoingBattleAnim = 0; gDoingBattleAnim = 0;
UpdateOamPriorityInAllHealthboxes(1); UpdateOamPriorityInAllHealthboxes(1);
m4aMPlayAllStop(); m4aMPlayAllStop();
PlaySE(MUS_RG_FAN6); PlaySE(MUS_FAN6);
} }
else if (sprite->data[4] == 315) else if (sprite->data[4] == 315)
{ {
@@ -1315,7 +1326,7 @@ static void sub_80F02B0(struct Sprite *sprite)
switch (ballId) switch (ballId)
{ {
case 0 ... POKEBALL_COUNT - 1: case 0 ... POKEBALL_COUNT - 1:
AnimateBallOpenParticles(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId); LaunchBallStarsTask(sprite->pos1.x, sprite->pos1.y - 5, 1, 28, ballId);
LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId); LaunchBallFadeMonTask(1, gBattleAnimTarget, 14, ballId);
break; break;
} }
@@ -1391,7 +1402,23 @@ static void sub_80F04B4(struct Sprite *sprite)
// GhostBallDodge // GhostBallDodge
static void sub_80F052C(struct Sprite *sprite) static void sub_80F052C(struct Sprite *sprite)
{ {
// to do s16 x;
s16 y;
x = sprite->pos1.x + sprite->pos2.x;
sprite->pos1.x = x;
y = sprite->pos1.y + sprite->pos2.y;
sprite->pos1.y = y;
sprite->pos2.x = sprite->pos2.y = 0;
sprite->data[0] = 0x22;
sprite->data[1] = x;
sprite->data[2] = x - 8;
sprite->data[3] = y;
sprite->data[4] = 0x90;
sprite->data[5] = 0x20;
InitAnimArcTranslation(sprite);
TranslateAnimVerticalArc(sprite);
sprite->callback = sub_80F0574;
} }
static void sub_80F0574(struct Sprite *sprite) static void sub_80F0574(struct Sprite *sprite)
@@ -1410,7 +1437,7 @@ static void sub_80F05B4(u8 ballId)
} }
} }
u8 AnimateBallOpenParticles(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId) u8 LaunchBallStarsTask(u8 x, u8 y, u8 priority, u8 subpriority, u8 ballId)
{ {
u8 taskId; u8 taskId;
@@ -2217,7 +2244,7 @@ static void sub_80F1B3C(struct Sprite *sprite)
sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3]; sprite->data[4] = GetBattlerSpriteCoord(GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT), 1) + gBattleAnimArgs[3];
sprite->data[5] = -32; sprite->data[5] = -32;
InitAnimArcTranslation(sprite); InitAnimArcTranslation(sprite);
gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = sub_8039E84; gSprites[gBattlerSpriteIds[gBattleAnimAttacker]].callback = sub_8012354;
sprite->callback = sub_80F1BCC; sprite->callback = sub_80F1BCC;
} }
+13 -12
View File
@@ -9,7 +9,7 @@
#include "trig.h" #include "trig.h"
#include "util.h" #include "util.h"
#include "constants/battle_anim.h" #include "constants/battle_anim.h"
#include "constants/rgb.h" #include "constants/pokemon.h"
// Function Declarations // Function Declarations
static u8 sub_8078178(u8 battlerId, bool8 b); static u8 sub_8078178(u8 battlerId, bool8 b);
@@ -51,7 +51,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF3F8 =
.anims = gSpriteAnimTable_83BF3F4, .anims = gSpriteAnimTable_83BF3F4,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A8AEC, .callback = sub_8076F58,
}; };
const struct SpriteTemplate gSpriteTemplate_83BF410 = const struct SpriteTemplate gSpriteTemplate_83BF410 =
@@ -62,7 +62,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF410 =
.anims = gSpriteAnimTable_83BF3F4, .anims = gSpriteAnimTable_83BF3F4,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A8A6C, .callback = sub_8076ED8,
}; };
static const union AnimCmd gUnknown_83BF428[] = static const union AnimCmd gUnknown_83BF428[] =
@@ -84,7 +84,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF434 =
.anims = gSpriteAnimTable_83BF430, .anims = gSpriteAnimTable_83BF430,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A8E30, .callback = sub_807729C,
}; };
const struct SpriteTemplate gSpriteTemplate_83BF44C = const struct SpriteTemplate gSpriteTemplate_83BF44C =
@@ -95,7 +95,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF44C =
.anims = gSpriteAnimTable_83BF430, .anims = gSpriteAnimTable_83BF430,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A8EE4, .callback = sub_8077350,
}; };
static const union AnimCmd gUnknown_83BF464[] = static const union AnimCmd gUnknown_83BF464[] =
@@ -121,7 +121,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF480 =
.anims = gSpriteAnimTable_83BF47C, .anims = gSpriteAnimTable_83BF47C,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A8B64, .callback = sub_8076FD0,
}; };
const struct SpriteTemplate gSpriteTemplate_83BF498 = const struct SpriteTemplate gSpriteTemplate_83BF498 =
@@ -132,7 +132,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF498 =
.anims = gDummySpriteAnimTable, .anims = gDummySpriteAnimTable,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A8AEC, .callback = sub_8076F58,
}; };
static const union AnimCmd gUnknown_83BF4B0[] = static const union AnimCmd gUnknown_83BF4B0[] =
@@ -168,7 +168,7 @@ const struct SpriteTemplate gSpriteTemplate_83BF4D4 =
.anims = gSpriteAniimTable_83BF4C8, .anims = gSpriteAniimTable_83BF4C8,
.images = NULL, .images = NULL,
.affineAnims = gDummySpriteAffineAnimTable, .affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_80A8AEC, .callback = sub_8076F58,
}; };
static const union AnimCmd gUnknown_83BF4EC[] = static const union AnimCmd gUnknown_83BF4EC[] =
@@ -202,10 +202,11 @@ const struct SpriteTemplate gSpriteTemplate_83BF514 =
.anims = gSpriteAnimTable_83BF4F4, .anims = gSpriteAnimTable_83BF4F4,
.images = NULL, .images = NULL,
.affineAnims = gSpriteAffineAnimTable_83BF510, .affineAnims = gSpriteAffineAnimTable_83BF510,
.callback = sub_80A8A6C, .callback = sub_8076ED8,
}; };
static const u32 gUnknown_83BF52C = _("TASK OVER\nタスクがオーバーしました$"); const u8 gUnknown_83BF52C[] = _("TASK OVER\n");
const u8 gUnknown_83BF536[] = {0x60, 0x5D, 0x58, 0x37, 0x55, 0xAE, 0x96, 0xAE, 0x0C, 0x1F, 0x0C, 0x10, 0xFF}; //
static const struct Subsprite gSubsprites_83BF544[] = static const struct Subsprite gSubsprites_83BF544[] =
{ {
@@ -510,8 +511,8 @@ void AnimTask_StatsChange(u8 taskId)
gBattleAnimArgs[2] = 0; gBattleAnimArgs[2] = 0;
gBattleAnimArgs[3] = 0; gBattleAnimArgs[3] = 0;
gBattleAnimArgs[4] = sharply; gBattleAnimArgs[4] = sharply;
gTasks[taskId].func = sub_8116EB4; gTasks[taskId].func = sub_80BB088;
sub_8116EB4(taskId); sub_80BB088(taskId);
} }
#undef CASE #undef CASE