fire; update constants

This commit is contained in:
jiangzhengwenjz
2019-11-09 09:05:26 +08:00
parent ab9ce0e641
commit a4a44dd18e
17 changed files with 1256 additions and 2576 deletions
-2500
View File
File diff suppressed because it is too large Load Diff
+1 -19
View File
@@ -148,22 +148,4 @@ gUnknown_83E5AE0:: @ 83E5AE0
.incbin "baserom.gba", 0x3E5AE0, 0xA8 .incbin "baserom.gba", 0x3E5AE0, 0xA8
gUnknown_83E5B88:: @ 83E5B88 gUnknown_83E5B88:: @ 83E5B88
.incbin "baserom.gba", 0x3E5B88, 0x1C0 .incbin "baserom.gba", 0x3E5B88, 0x30
gUnknown_83E5D48:: @ 83E5D48
.incbin "baserom.gba", 0x3E5D48, 0xE4
gUnknown_83E5E2C:: @ 83E5E2C
.incbin "baserom.gba", 0x3E5E2C, 0x18
gUnknown_83E5E44:: @ 83E5E44
.incbin "baserom.gba", 0x3E5E44, 0x2
gUnknown_83E5E46:: @ 83E5E46
.incbin "baserom.gba", 0x3E5E46, 0xB6
gUnknown_83E5EFC:: @ 83E5EFC
.incbin "baserom.gba", 0x3E5EFC, 0x10
gUnknown_83E5F0C:: @ 83E5F0C
.incbin "baserom.gba", 0x3E5F0C, 0x10
+8 -3
View File
@@ -377,13 +377,18 @@ void sub_80AEA10(u8 taskId);
void sub_80AECE0(u8 taskId); void sub_80AECE0(u8 taskId);
void sub_80AEFA0(u8 taskId); void sub_80AEFA0(u8 taskId);
// fire.c
extern const union AnimCmd *const gUnknown_83E5D48[];
void sub_80ACEA4(u8 taskId);
void sub_80ADAD8(u8 taskId);
void AnimTask_BlendBackground(u8 taskId);
void sub_80AD800(u8 taskId);
// water.s // water.s
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[];
// fire.s
extern const union AnimCmd *const gUnknown_83E5D48[];
// 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);
+2 -1
View File
@@ -157,7 +157,7 @@ SECTIONS {
asm/battle_anim_effects_1.o(.text); asm/battle_anim_effects_1.o(.text);
asm/battle_anim_effects_2.o(.text); asm/battle_anim_effects_2.o(.text);
asm/water.o(.text); asm/water.o(.text);
asm/fire.o(.text); src/fire.o(.text);
src/electric.o(.text); src/electric.o(.text);
src/ice.o(.text); src/ice.o(.text);
src/fighting.o(.text); src/fighting.o(.text);
@@ -450,6 +450,7 @@ SECTIONS {
src/pokemon_size_record.o(.rodata); src/pokemon_size_record.o(.rodata);
data/item_use.o(.rodata); data/item_use.o(.rodata);
data/battle_anim_effects_misc.o(.rodata); data/battle_anim_effects_misc.o(.rodata);
src/fire.o(.rodata);
src/electric.o(.rodata); src/electric.o(.rodata);
src/ice.o(.rodata); src/ice.o(.rodata);
src/fighting.o(.rodata); src/fighting.o(.rodata);
+1 -1
View File
@@ -888,7 +888,7 @@ void sub_8099BD4(u8 taskId)
gTasks[taskId].data[12] = 0; gTasks[taskId].data[12] = 0;
gTasks[taskId].data[10] = gBattleAnimArgs[3]; gTasks[taskId].data[10] = gBattleAnimArgs[3];
gTasks[taskId].data[11] = gBattleAnimArgs[4]; gTasks[taskId].data[11] = gBattleAnimArgs[4];
gTasks[taskId].data[7] = GetAnimBattlerSpriteId(1); gTasks[taskId].data[7] = GetAnimBattlerSpriteId(ANIM_TARGET);
gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x; gTasks[taskId].data[8] = gSprites[gTasks[taskId].data[7]].pos2.x;
gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y; gTasks[taskId].data[9] = gSprites[gTasks[taskId].data[7]].pos2.y;
gTasks[taskId].data[0] = 0; gTasks[taskId].data[0] = 0;
+6 -6
View File
@@ -1393,7 +1393,7 @@ void TranslateAnimSpriteToTargetMonLocation(struct Sprite *sprite)
void AnimThrowProjectile(struct Sprite *sprite) void AnimThrowProjectile(struct Sprite *sprite)
{ {
InitSpritePosToAnimAttacker(sprite, 1); InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2) + gBattleAnimArgs[2];
@@ -1434,7 +1434,7 @@ void AnimSnoreZ(struct Sprite *sprite)
InitSpritePosToAnimTarget(sprite, r4); InitSpritePosToAnimTarget(sprite, r4);
battlerId = gBattleAnimTarget; battlerId = gBattleAnimTarget;
} }
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
InitSpritePosToAnimTarget(sprite, r4); InitSpritePosToAnimTarget(sprite, r4);
sprite->data[0] = gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[4];
@@ -2070,7 +2070,7 @@ u8 sub_8076E34(s32 battlerId, u8 spriteId, s32 species)
void sub_8076ED8(struct Sprite *sprite) void sub_8076ED8(struct Sprite *sprite)
{ {
SetSpriteCoordsToAnimAttackerCoords(sprite); SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{ {
sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.x -= gBattleAnimArgs[0];
gBattleAnimArgs[3] = -gBattleAnimArgs[3]; gBattleAnimArgs[3] = -gBattleAnimArgs[3];
@@ -2113,7 +2113,7 @@ void sub_8076F58(struct Sprite *sprite)
void sub_8076FD0(struct Sprite *sprite) void sub_8076FD0(struct Sprite *sprite)
{ {
SetSpriteCoordsToAnimAttackerCoords(sprite); SetSpriteCoordsToAnimAttackerCoords(sprite);
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.x -= gBattleAnimArgs[0];
else else
sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.x += gBattleAnimArgs[0];
@@ -2210,7 +2210,7 @@ void sub_807729C(struct Sprite *sprite)
{ {
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
if (!GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
sprite->data[0] = 5; sprite->data[0] = 5;
else else
sprite->data[0] = -10; sprite->data[0] = -10;
@@ -2237,7 +2237,7 @@ void sub_8077350(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[2];
sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4]; sprite->data[2] = sprite->pos1.x + gBattleAnimArgs[4];
sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5]; sprite->data[4] = sprite->pos1.y + gBattleAnimArgs[5];
if (!GetBattlerSide(gBattleAnimTarget)) if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{ {
x = (u16)gBattleAnimArgs[4] + 30; x = (u16)gBattleAnimArgs[4] + 30;
sprite->pos1.x += x; sprite->pos1.x += x;
+2 -2
View File
@@ -309,7 +309,7 @@ void sub_80BACEC(u8 taskId)
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
else else
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES);
spriteId = GetAnimBattlerSpriteId(0); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species); newSpriteId = sub_8076E34(gBattleAnimAttacker, spriteId, species);
sub_80752A0(&animBgData); sub_80752A0(&animBgData);
AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap); AnimLoadCompressedBgTilemap(animBgData.bgId, gFile_graphics_battle_anims_masks_curse_tilemap);
@@ -354,7 +354,7 @@ static void sub_80BAF38(u8 taskId)
SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON);
SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0);
sprite = &gSprites[GetAnimBattlerSpriteId(0)]; // 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); sub_80752A0(&animBgData);
+1 -1
View File
@@ -7064,7 +7064,7 @@ static void atk8F_forcerandomswitch(void)
u8 valid; u8 valid;
u8 val; u8 val;
if (!GetBattlerSide(gBattlerTarget)) if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER)
party = gPlayerParty; party = gPlayerParty;
else else
party = gEnemyParty; party = gEnemyParty;
+6 -6
View File
@@ -202,7 +202,7 @@ static void sub_80B3FAC(struct Sprite *sprite)
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[0] = -gBattleAnimArgs[0];
} }
else if (!GetBattlerSide(gBattleAnimTarget)) else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{ {
StartSpriteAffineAnim(sprite, 1); StartSpriteAffineAnim(sprite, 1);
gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[1] = -gBattleAnimArgs[1];
@@ -226,7 +226,7 @@ static void sub_80B407C(struct Sprite *sprite)
gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[0] = -gBattleAnimArgs[0];
StartSpriteAffineAnim(sprite, 2); StartSpriteAffineAnim(sprite, 2);
} }
else if (!GetBattlerSide(gBattleAnimTarget)) else if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
{ {
gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[1] = -gBattleAnimArgs[1];
gBattleAnimArgs[0] = -gBattleAnimArgs[0]; gBattleAnimArgs[0] = -gBattleAnimArgs[0];
@@ -283,12 +283,12 @@ static void sub_80B41C0(struct Sprite *sprite)
static void sub_80B41F8(struct Sprite *sprite) static void sub_80B41F8(struct Sprite *sprite)
{ {
SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y); SetAverageBattlerPositions(gBattleAnimTarget, 0, &sprite->pos1.x, &sprite->pos1.y);
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
sprite->pos1.x -= gBattleAnimArgs[0]; sprite->pos1.x -= gBattleAnimArgs[0];
else else
sprite->pos1.x += gBattleAnimArgs[0]; sprite->pos1.x += gBattleAnimArgs[0];
sprite->pos1.y += gBattleAnimArgs[1]; sprite->pos1.y += gBattleAnimArgs[1];
if (!GetBattlerSide(gBattleAnimTarget)) if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER)
sprite->pos1.y += 8; sprite->pos1.y += 8;
sprite->callback = sub_80B4274; sprite->callback = sub_80B4274;
} }
@@ -356,7 +356,7 @@ static void AnimTranslateStinger(struct Sprite *sprite)
{ {
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
} }
else if (GetBattlerSide(gBattleAnimAttacker)) else if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
{ {
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
gBattleAnimArgs[1] = -gBattleAnimArgs[1]; gBattleAnimArgs[1] = -gBattleAnimArgs[1];
@@ -399,7 +399,7 @@ static void AnimTranslateStinger(struct Sprite *sprite)
static void AnimMissileArc(struct Sprite *sprite) static void AnimMissileArc(struct Sprite *sprite)
{ {
InitSpritePosToAnimAttacker(sprite, 1); InitSpritePosToAnimAttacker(sprite, 1);
if (GetBattlerSide(gBattleAnimAttacker)) if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER)
gBattleAnimArgs[2] = -gBattleAnimArgs[2]; gBattleAnimArgs[2] = -gBattleAnimArgs[2];
sprite->data[0] = gBattleAnimArgs[4]; sprite->data[0] = gBattleAnimArgs[4];
sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2]; sprite->data[2] = GetBattlerSpriteCoord(gBattleAnimTarget, 2) + gBattleAnimArgs[2];
+8 -9
View File
@@ -34,7 +34,6 @@ static bool8 sub_80AEE74(struct Task *task, u8 taskId);
static bool8 sub_80AF058(struct Task *task, u8 taskId); static bool8 sub_80AF058(struct Task *task, u8 taskId);
static void sub_80AF0C8(struct Sprite *sprite); static void sub_80AF0C8(struct Sprite *sprite);
static const union AnimCmd gUnknown_83E5F1C[] = static const union AnimCmd gUnknown_83E5F1C[] =
{ {
ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(0, 5),
@@ -215,7 +214,7 @@ const struct SpriteTemplate gElectricitySpriteTemplate =
.callback = sub_80AE1A0, .callback = sub_80AE1A0,
}; };
const struct SpriteTemplate gUnknown_83E60A0 = static const struct SpriteTemplate gUnknown_83E60A0 =
{ {
.tileTag = ANIM_TAG_SPARK, .tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK,
@@ -281,7 +280,7 @@ static const union AnimCmd *const gUnknown_83E6118[] =
gUnknown_83E6104, gUnknown_83E6104,
}; };
const struct SpriteTemplate gUnknown_83E6120 = static const struct SpriteTemplate gUnknown_83E6120 =
{ {
.tileTag = ANIM_TAG_ELECTRIC_ORBS, .tileTag = ANIM_TAG_ELECTRIC_ORBS,
.paletteTag = ANIM_TAG_ELECTRIC_ORBS, .paletteTag = ANIM_TAG_ELECTRIC_ORBS,
@@ -419,7 +418,7 @@ static const union AffineAnimCmd *const gUnknown_83E6274[] =
gUnknown_83E6264, gUnknown_83E6264,
}; };
const struct SpriteTemplate gUnknown_83E6278 = static const struct SpriteTemplate gUnknown_83E6278 =
{ {
.tileTag = ANIM_TAG_SPARK, .tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK,
@@ -441,7 +440,7 @@ const struct SpriteTemplate gUnknown_83E6290 =
.callback = sub_80AEC80, .callback = sub_80AEC80,
}; };
const struct SpriteTemplate gUnknown_83E62A8 = static const struct SpriteTemplate gUnknown_83E62A8 =
{ {
.tileTag = ANIM_TAG_SPARK, .tileTag = ANIM_TAG_SPARK,
.paletteTag = ANIM_TAG_SPARK, .paletteTag = ANIM_TAG_SPARK,
@@ -737,12 +736,12 @@ static void sub_80AE420(struct Sprite *sprite)
if (!sprite->data[0]) if (!sprite->data[0])
{ {
sprite->oam.shape = ST_OAM_V_RECTANGLE; sprite->oam.shape = ST_OAM_V_RECTANGLE;
sprite->oam.size = SPRITE_SIZE_8x8; sprite->oam.size = ST_OAM_SIZE_0;
} }
else else
{ {
sprite->oam.shape = ST_OAM_SQUARE; sprite->oam.shape = ST_OAM_SQUARE;
sprite->oam.size = SPRITE_SIZE_16x8; sprite->oam.size = ST_OAM_SIZE_1;
} }
if (++sprite->data[1] == 15) if (++sprite->data[1] == 15)
DestroySprite(sprite); DestroySprite(sprite);
@@ -897,7 +896,7 @@ static void sub_80AE7DC(struct Sprite *sprite)
StartSpriteAffineAnim(sprite, 1); StartSpriteAffineAnim(sprite, 1);
sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET);
sprite->data[6] = GetAnimBattlerSpriteId(0); sprite->data[6] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
sprite->data[7] = 16; sprite->data[7] = 16;
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT)
sprite->data[7] *= -1; sprite->data[7] *= -1;
@@ -928,7 +927,7 @@ void sub_80AE8A0(u8 taskId)
switch (task->data[0]) switch (task->data[0])
{ {
case 0: case 0:
task->data[15] = GetAnimBattlerSpriteId(0); task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2);
if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
{ {
+1193
View File
File diff suppressed because it is too large Load Diff
+7 -7
View File
@@ -995,8 +995,8 @@ static void sub_80B2780(struct Sprite *sprite)
InitSpritePosToAnimAttacker(sprite, 0); InitSpritePosToAnimAttacker(sprite, 0);
else else
InitSpritePosToAnimTarget(sprite, FALSE); InitSpritePosToAnimTarget(sprite, FALSE);
if ((!gBattleAnimArgs[2] && !GetBattlerSide(gBattleAnimAttacker)) if ((!gBattleAnimArgs[2] && GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER)
|| (gBattleAnimArgs[2] == 1 && !GetBattlerSide(gBattleAnimTarget))) || (gBattleAnimArgs[2] == 1 && GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER))
sprite->pos1.x += 8; sprite->pos1.x += 8;
SeekSpriteAnim(sprite, gBattleAnimArgs[4]); SeekSpriteAnim(sprite, gBattleAnimArgs[4]);
sprite->pos1.x -= 32; sprite->pos1.x -= 32;
@@ -1048,7 +1048,7 @@ static void sub_80B2914(struct Sprite *sprite)
{ {
case 0: case 0:
InitSpritePosToAnimAttacker(sprite, 1); InitSpritePosToAnimAttacker(sprite, 1);
gSprites[GetAnimBattlerSpriteId(0)].invisible = TRUE; gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE;
++sprite->data[0]; ++sprite->data[0];
break; break;
case 1: case 1:
@@ -1076,7 +1076,7 @@ static void sub_80B2974(struct Sprite *sprite)
sprite->pos2.y -= 10; sprite->pos2.y -= 10;
if (sprite->pos1.y + sprite->pos2.y < -32) if (sprite->pos1.y + sprite->pos2.y < -32)
{ {
gSprites[GetAnimBattlerSpriteId(0)].invisible = FALSE; gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = FALSE;
DestroyAnimSprite(sprite); DestroyAnimSprite(sprite);
} }
break; break;
@@ -1089,7 +1089,7 @@ static void sub_80B2A08(struct Sprite *sprite)
sprite->data[0] = gBattleAnimArgs[2]; sprite->data[0] = gBattleAnimArgs[2];
sprite->data[1] = gBattleAnimArgs[3]; sprite->data[1] = gBattleAnimArgs[3];
sprite->callback = sub_80B2A50; sprite->callback = sub_80B2A50;
gSprites[GetAnimBattlerSpriteId(0)].invisible = TRUE; gSprites[GetAnimBattlerSpriteId(ANIM_ATTACKER)].invisible = TRUE;
} }
static void sub_80B2A50(struct Sprite *sprite) static void sub_80B2A50(struct Sprite *sprite)
@@ -1275,13 +1275,13 @@ static void sub_80B2E64(u8 taskId)
{ {
if (gBattleAnimArgs[0] == 0) if (gBattleAnimArgs[0] == 0)
{ {
u8 spriteId = GetAnimBattlerSpriteId(0); u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
gSprites[spriteId].invisible = TRUE; gSprites[spriteId].invisible = TRUE;
} }
else else
{ {
u8 spriteId = GetAnimBattlerSpriteId(0); u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
gSprites[spriteId].invisible = FALSE; gSprites[spriteId].invisible = FALSE;
} }
+5 -5
View File
@@ -342,7 +342,7 @@ void sub_80B54E8(u8 taskId)
SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL)); SetGpuReg(REG_OFFSET_BLDCNT, (BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL));
SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10)); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 0x10));
spriteId = GetAnimBattlerSpriteId(0); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND); PrepareBattlerSpriteForRotScale(spriteId, ST_OAM_OBJ_BLEND);
SetSpriteRotScale(spriteId, 128, 128, 0); SetSpriteRotScale(spriteId, 128, 128, 0);
gSprites[spriteId].invisible = FALSE; gSprites[spriteId].invisible = FALSE;
@@ -377,7 +377,7 @@ static void sub_80B55C8(u8 taskId)
gTasks[taskId].data[1] -= 1; gTasks[taskId].data[1] -= 1;
return; return;
} }
spriteId = GetAnimBattlerSpriteId(0); spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
gTasks[taskId].data[0] += 8; gTasks[taskId].data[0] += 8;
if (gTasks[taskId].data[0] <= 0xFF) if (gTasks[taskId].data[0] <= 0xFF)
{ {
@@ -626,7 +626,7 @@ static void sub_80B5AD4(u8 taskId)
task->data[1] = 0; task->data[1] = 0;
task->data[2] = 0; task->data[2] = 0;
task->data[3] = 16; task->data[3] = 16;
task->data[13] = GetAnimBattlerSpriteId(1); task->data[13] = GetAnimBattlerSpriteId(ANIM_TARGET);
task->data[4] = (gSprites[task->data[13]].oam.paletteNum + 16) * 16; task->data[4] = (gSprites[task->data[13]].oam.paletteNum + 16) * 16;
if (position == 1) if (position == 1)
{ {
@@ -711,7 +711,7 @@ static void sub_80B5DCC(u8 taskId)
{ {
case 0: case 0:
gScanlineEffect.state = 3; gScanlineEffect.state = 3;
task->data[14] = GetAnimBattlerSpriteId(1); task->data[14] = GetAnimBattlerSpriteId(ANIM_TARGET);
if (rank == 1) if (rank == 1)
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG1_ON);
else else
@@ -1288,7 +1288,7 @@ static void sub_80B6BE4(u8 taskId)
task->data[1] = 0; task->data[1] = 0;
task->data[2] = 0; task->data[2] = 0;
task->data[3] = 16; task->data[3] = 16;
task->data[4] = GetAnimBattlerSpriteId(0); task->data[4] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[5] = gSprites[task->data[4]].oam.priority; task->data[5] = gSprites[task->data[4]].oam.priority;
task->data[6] = (gSprites[task->data[4]].oam.paletteNum + 16) << 4; task->data[6] = (gSprites[task->data[4]].oam.paletteNum + 16) << 4;
gSprites[task->data[4]].oam.objMode = ST_OAM_OBJ_BLEND; gSprites[task->data[4]].oam.objMode = ST_OAM_OBJ_BLEND;
+4 -4
View File
@@ -298,7 +298,7 @@ static void sub_80B8ED4(u8 taskId)
switch (task->data[0]) switch (task->data[0])
{ {
case 0: case 0:
task->data[10] = GetAnimBattlerSpriteId(0); task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
if (task->data[11] == 1) if (task->data[11] == 1)
{ {
@@ -360,7 +360,7 @@ static void sub_80B8ED4(u8 taskId)
static void sub_80B908C(u8 taskId) static void sub_80B908C(u8 taskId)
{ {
u8 spriteId = GetAnimBattlerSpriteId(0); u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER);
gSprites[spriteId].invisible = TRUE; gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].pos2.x = 0; gSprites[spriteId].pos2.x = 0;
@@ -391,7 +391,7 @@ static void sub_80B912C(u8 taskId)
switch (task->data[0]) switch (task->data[0])
{ {
case 0: case 0:
task->data[10] = GetAnimBattlerSpriteId(0); task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
gSprites[task->data[10]].invisible = FALSE; gSprites[task->data[10]].invisible = FALSE;
gSprites[task->data[10]].pos2.x = 0; gSprites[task->data[10]].pos2.x = 0;
gSprites[task->data[10]].pos2.y = 160 - gSprites[task->data[10]].pos1.y; gSprites[task->data[10]].pos2.y = 160 - gSprites[task->data[10]].pos1.y;
@@ -410,7 +410,7 @@ static void sub_80B91B0(u8 taskId)
switch (task->data[0]) switch (task->data[0])
{ {
case 0: case 0:
task->data[10] = GetAnimBattlerSpriteId(0); task->data[10] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker); task->data[11] = GetBattlerSpriteBGPriorityRank(gBattleAnimAttacker);
if (task->data[11] == 1) if (task->data[11] == 1)
task->data[12] = gBattle_BG1_X; task->data[12] = gBattle_BG1_X;
+1 -1
View File
@@ -418,7 +418,7 @@ static const union AffineAnimCmd *const gUnknown_83E65A0[] =
gUnknown_83E6584, gUnknown_83E6584,
}; };
const struct SpriteTemplate gUnknown_83E65A4 = static const struct SpriteTemplate gUnknown_83E65A4 =
{ {
.tileTag = ANIM_TAG_HAIL, .tileTag = ANIM_TAG_HAIL,
.paletteTag = ANIM_TAG_HAIL, .paletteTag = ANIM_TAG_HAIL,
+10 -10
View File
@@ -2365,25 +2365,25 @@ s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *de
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{ {
if (FlagGet(FLAG_BADGE01_GET) if (FlagGet(FLAG_BADGE01_GET)
&& !GetBattlerSide(battlerIdAtk)) && GetBattlerSide(battlerIdAtk) == B_SIDE_PLAYER)
attack = (110 * attack) / 100; attack = (110 * attack) / 100;
} }
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{ {
if (FlagGet(FLAG_BADGE05_GET) if (FlagGet(FLAG_BADGE05_GET)
&& !GetBattlerSide(battlerIdDef)) && GetBattlerSide(battlerIdDef) == B_SIDE_PLAYER)
defense = (110 * defense) / 100; defense = (110 * defense) / 100;
} }
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{ {
if (FlagGet(FLAG_BADGE07_GET) if (FlagGet(FLAG_BADGE07_GET)
&& !GetBattlerSide(battlerIdAtk)) && GetBattlerSide(battlerIdAtk) == B_SIDE_PLAYER)
spAttack = (110 * spAttack) / 100; spAttack = (110 * spAttack) / 100;
} }
if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER))) if (!(gBattleTypeFlags & (BATTLE_TYPE_LINK | /*BATTLE_TYPE_BATTLE_TOWER |*/ BATTLE_TYPE_EREADER_TRAINER)))
{ {
if (FlagGet(FLAG_BADGE07_GET) if (FlagGet(FLAG_BADGE07_GET)
&& !GetBattlerSide(battlerIdDef)) && GetBattlerSide(battlerIdDef) == B_SIDE_PLAYER)
spDefense = (110 * spDefense) / 100; spDefense = (110 * spDefense) / 100;
} }
@@ -3917,7 +3917,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
if (gMain.inBattle) if (gMain.inBattle)
{ {
gActiveBattler = gBattlerInMenuId; gActiveBattler = gBattlerInMenuId;
cmdIndex = (GetBattlerSide(gActiveBattler) != 0); cmdIndex = (GetBattlerSide(gActiveBattler) != B_SIDE_PLAYER);
while (cmdIndex < gBattlersCount) while (cmdIndex < gBattlersCount)
{ {
if (gBattlerPartyIndexes[cmdIndex] == partyIndex) if (gBattlerPartyIndexes[cmdIndex] == partyIndex)
@@ -4118,13 +4118,13 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
{ {
gAbsentBattlerFlags &= ~gBitTable[sp34]; gAbsentBattlerFlags &= ~gBitTable[sp34];
CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34])); CopyPlayerPartyMonToBattleData(sp34, pokemon_order_func(gBattlerPartyIndexes[sp34]));
if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.numRevivesUsed < 255) if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255)
gBattleResults.numRevivesUsed++; gBattleResults.numRevivesUsed++;
} }
else else
{ {
gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2]; gAbsentBattlerFlags &= ~gBitTable[gActiveBattler ^ 2];
if (GetBattlerSide(gActiveBattler) == 0 && gBattleResults.numRevivesUsed < 255) if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER && gBattleResults.numRevivesUsed < 255)
gBattleResults.numRevivesUsed++; gBattleResults.numRevivesUsed++;
} }
} }
@@ -4163,7 +4163,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
if (gMain.inBattle && sp34 != 4) if (gMain.inBattle && sp34 != 4)
{ {
gBattleMons[sp34].hp = data; gBattleMons[sp34].hp = data;
if (!(r10 & 0x10) && GetBattlerSide(gActiveBattler) == 0) if (!(r10 & 0x10) && GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
{ {
if (gBattleResults.numHealingItemsUsed < 255) if (gBattleResults.numHealingItemsUsed < 255)
gBattleResults.numHealingItemsUsed++; gBattleResults.numHealingItemsUsed++;
@@ -6039,11 +6039,11 @@ void HandleSetPokedexFlag(u16 nationalNum, u8 caseId, u32 personality)
} }
} }
bool8 CheckBattleTypeGhost(struct Pokemon *mon, u8 bank) bool8 CheckBattleTypeGhost(struct Pokemon *mon, u8 battlerId)
{ {
u8 buffer[12]; u8 buffer[12];
if (gBattleTypeFlags & BATTLE_TYPE_GHOST && GetBattlerSide(bank)) if (gBattleTypeFlags & BATTLE_TYPE_GHOST && GetBattlerSide(battlerId) != B_SIDE_PLAYER)
{ {
GetMonData(mon, MON_DATA_NICKNAME, buffer); GetMonData(mon, MON_DATA_NICKNAME, buffer);
StringGetEnd10(buffer); StringGetEnd10(buffer);
+1 -1
View File
@@ -588,7 +588,7 @@ void sub_80B4BD0(u8 taskId)
task->data[13] = pan1; task->data[13] = pan1;
task->data[14] = (pan2 - pan1) / task->data[8]; task->data[14] = (pan2 - pan1) / task->data[8];
task->data[1] = var4; task->data[1] = var4;
task->data[15] = GetAnimBattlerSpriteId(0); task->data[15] = GetAnimBattlerSpriteId(ANIM_ATTACKER);
task->func = sub_80B4D00; task->func = sub_80B4D00;
} }