label multiuse sprite template functions
This commit is contained in:
+2
-2
@@ -6770,8 +6770,8 @@ _080DB1CC:
|
|||||||
bl LoadCompressedPalette
|
bl LoadCompressedPalette
|
||||||
adds r0, r5, 0
|
adds r0, r5, 0
|
||||||
movs r1, 0
|
movs r1, 0
|
||||||
bl sub_806A068
|
bl SetMultiuseSpriteTemplateToPokemon
|
||||||
ldr r4, =gUnknown_0202499C
|
ldr r4, =gMultiuseSpriteTemplate
|
||||||
movs r0, 0x2
|
movs r0, 0x2
|
||||||
adds r1, r5, 0
|
adds r1, r5, 0
|
||||||
movs r2, 0
|
movs r2, 0
|
||||||
|
|||||||
@@ -1420,8 +1420,8 @@ _080F64F2:
|
|||||||
bl LoadCompressedObjectPalette
|
bl LoadCompressedObjectPalette
|
||||||
adds r0, r6, 0
|
adds r0, r6, 0
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
bl sub_806A068
|
bl SetMultiuseSpriteTemplateToPokemon
|
||||||
ldr r0, =gUnknown_0202499C
|
ldr r0, =gMultiuseSpriteTemplate
|
||||||
ldrh r1, [r4, 0x4]
|
ldrh r1, [r4, 0x4]
|
||||||
strh r1, [r0, 0x2]
|
strh r1, [r0, 0x2]
|
||||||
movs r1, 0x88
|
movs r1, 0x88
|
||||||
|
|||||||
@@ -1092,7 +1092,7 @@ _081C4750:
|
|||||||
bl LoadCompressedObjectPalette
|
bl LoadCompressedObjectPalette
|
||||||
ldrh r0, [r4, 0x4]
|
ldrh r0, [r4, 0x4]
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
bl sub_806A068
|
bl SetMultiuseSpriteTemplateToPokemon
|
||||||
_081C4768:
|
_081C4768:
|
||||||
ldrh r0, [r6]
|
ldrh r0, [r6]
|
||||||
adds r0, 0x1
|
adds r0, 0x1
|
||||||
@@ -1144,7 +1144,7 @@ sub_81C47B4: @ 81C47B4
|
|||||||
ldr r0, =gUnknown_0203CF1C
|
ldr r0, =gUnknown_0203CF1C
|
||||||
ldr r6, [r0]
|
ldr r6, [r0]
|
||||||
adds r6, 0x70
|
adds r6, 0x70
|
||||||
ldr r0, =gUnknown_0202499C
|
ldr r0, =gMultiuseSpriteTemplate
|
||||||
movs r1, 0x28
|
movs r1, 0x28
|
||||||
movs r2, 0x40
|
movs r2, 0x40
|
||||||
movs r3, 0x5
|
movs r3, 0x5
|
||||||
|
|||||||
@@ -737,8 +737,8 @@ _080F8DD8:
|
|||||||
bl LoadCompressedObjectPalette
|
bl LoadCompressedObjectPalette
|
||||||
adds r0, r6, 0
|
adds r0, r6, 0
|
||||||
movs r1, 0x1
|
movs r1, 0x1
|
||||||
bl sub_806A068
|
bl SetMultiuseSpriteTemplateToPokemon
|
||||||
ldr r0, =gUnknown_0202499C
|
ldr r0, =gMultiuseSpriteTemplate
|
||||||
ldrh r1, [r4, 0x4]
|
ldrh r1, [r4, 0x4]
|
||||||
strh r1, [r0, 0x2]
|
strh r1, [r0, 0x2]
|
||||||
mov r1, r9
|
mov r1, r9
|
||||||
|
|||||||
+2
-2
@@ -7174,8 +7174,8 @@ _0807ADE0:
|
|||||||
bl GetMonSpritePalStruct
|
bl GetMonSpritePalStruct
|
||||||
ldrh r0, [r0, 0x4]
|
ldrh r0, [r0, 0x4]
|
||||||
adds r1, r4, 0
|
adds r1, r4, 0
|
||||||
bl sub_806A068
|
bl SetMultiuseSpriteTemplateToPokemon
|
||||||
ldr r0, =gUnknown_0202499C
|
ldr r0, =gMultiuseSpriteTemplate
|
||||||
movs r1, 0x78
|
movs r1, 0x78
|
||||||
movs r2, 0x3C
|
movs r2, 0x3C
|
||||||
movs r3, 0x6
|
movs r3, 0x6
|
||||||
|
|||||||
+1
-1
@@ -235,7 +235,7 @@ gUnknown_082FF704:: @ 82FF704
|
|||||||
.2byte 0x0003, 0x0000, 0xffff, 0x0000
|
.2byte 0x0003, 0x0000, 0xffff, 0x0000
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
gUnknown_082FF70C:: @ 82FF70C
|
gPlayerMonSpriteAnimsTable:: @ 82FF70C
|
||||||
.4byte gUnknown_082FF6EC
|
.4byte gUnknown_082FF6EC
|
||||||
.4byte gUnknown_082FF6F4
|
.4byte gUnknown_082FF6F4
|
||||||
.4byte gUnknown_082FF6FC
|
.4byte gUnknown_082FF6FC
|
||||||
|
|||||||
+4
-4
@@ -438,7 +438,7 @@ extern u8 gPlayerPartyCount;
|
|||||||
extern struct Pokemon gPlayerParty[PARTY_SIZE];
|
extern struct Pokemon gPlayerParty[PARTY_SIZE];
|
||||||
extern u8 gEnemyPartyCount;
|
extern u8 gEnemyPartyCount;
|
||||||
extern struct Pokemon gEnemyParty[PARTY_SIZE];
|
extern struct Pokemon gEnemyParty[PARTY_SIZE];
|
||||||
extern struct SpriteTemplate gUnknown_0202499C;
|
extern struct SpriteTemplate gMultiuseSpriteTemplate;
|
||||||
extern struct PokemonStorage* gPokemonStoragePtr;
|
extern struct PokemonStorage* gPokemonStoragePtr;
|
||||||
|
|
||||||
extern const struct BattleMove gBattleMoves[];
|
extern const struct BattleMove gBattleMoves[];
|
||||||
@@ -505,9 +505,9 @@ u8 GetDefaultMoveTarget(u8 battlerId);
|
|||||||
u8 GetMonGender(struct Pokemon *mon);
|
u8 GetMonGender(struct Pokemon *mon);
|
||||||
u8 GetBoxMonGender(struct BoxPokemon *boxMon);
|
u8 GetBoxMonGender(struct BoxPokemon *boxMon);
|
||||||
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality);
|
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality);
|
||||||
void sub_806A068(u16 species, u8 battlerPosition);
|
void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition);
|
||||||
void sub_806A12C(u16 trainerSpriteId, u8 battlerPosition);
|
void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition);
|
||||||
void sub_806A1C0(u16 arg0, u8 battlerPosition);
|
void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition);
|
||||||
|
|
||||||
// These are full type signatures for GetMonData() and GetBoxMonData(),
|
// These are full type signatures for GetMonData() and GetBoxMonData(),
|
||||||
// but they are not used since some code erroneously omits the third arg.
|
// but they are not used since some code erroneously omits the third arg.
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ extern struct UnusedControllerStruct gUnknown_02022D0C;
|
|||||||
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
||||||
|
|
||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern void sub_81851A8(u8 *);
|
extern void sub_81851A8(u8 *);
|
||||||
extern u16 sub_8068B48(void);
|
extern u16 sub_8068B48(void);
|
||||||
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
||||||
@@ -191,7 +190,7 @@ static void LinkOpponentBufferRunCommand(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
LinkOpponentBufferExecCompleted();
|
LinkOpponentBufferExecCompleted();
|
||||||
@@ -1135,9 +1134,9 @@ static void LinkOpponentHandleLoadMonSprite(void)
|
|||||||
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||||
|
|
||||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
||||||
sub_806A068(species, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
|
||||||
|
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1168,10 +1167,10 @@ static void sub_8066494(u8 battlerId, bool8 dontClearSubstituteBit)
|
|||||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
|
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||||
&gUnknown_0202499C,
|
&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
@@ -1302,8 +1301,8 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
xPos,
|
xPos,
|
||||||
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1314,7 +1313,7 @@ static void LinkOpponentHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
|
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LinkOpponentHandleTrainerSlide(void)
|
static void LinkOpponentHandleTrainerSlide(void)
|
||||||
@@ -1327,8 +1326,8 @@ static void LinkOpponentHandleTrainerSlide(void)
|
|||||||
trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B);
|
trainerPicId = GetFrontierTrainerFrontSpriteId(gTrainerBattleOpponent_B);
|
||||||
|
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32;
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
|||||||
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
||||||
|
|
||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern void sub_81851A8(u8 *);
|
extern void sub_81851A8(u8 *);
|
||||||
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
||||||
|
|
||||||
@@ -189,7 +188,7 @@ static void LinkPartnerBufferRunCommand(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
LinkPartnerBufferExecCompleted();
|
LinkPartnerBufferExecCompleted();
|
||||||
@@ -1024,9 +1023,9 @@ static void LinkPartnerHandleLoadMonSprite(void)
|
|||||||
|
|
||||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||||
sub_806A068(species, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
|
||||||
|
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1054,10 +1053,10 @@ static void sub_814CC98(u8 battlerId, bool8 dontClearSubstituteBit)
|
|||||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
|
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||||
&gUnknown_0202499C,
|
&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
@@ -1147,15 +1146,15 @@ static void LinkPartnerHandleDrawTrainerPic(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBattler));
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, sub_80A82E4(gActiveBattler));
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
|
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LinkPartnerHandleTrainerSlide(void)
|
static void LinkPartnerHandleTrainerSlide(void)
|
||||||
|
|||||||
@@ -38,7 +38,6 @@ extern struct UnusedControllerStruct gUnknown_02022D0C;
|
|||||||
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
||||||
|
|
||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern void sub_81A57E4(u8 battlerId, u16 stringId);
|
extern void sub_81A57E4(u8 battlerId, u16 stringId);
|
||||||
extern u8 GetFrontierBrainTrainerPicIndex(void);
|
extern u8 GetFrontierBrainTrainerPicIndex(void);
|
||||||
extern u8 sub_81D5588(u16 trainerId);
|
extern u8 sub_81D5588(u16 trainerId);
|
||||||
@@ -200,7 +199,7 @@ static void OpponentBufferRunCommand(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
OpponentBufferExecCompleted();
|
OpponentBufferExecCompleted();
|
||||||
@@ -1128,9 +1127,9 @@ static void OpponentHandleLoadMonSprite(void)
|
|||||||
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||||
|
|
||||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
||||||
sub_806A068(species, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
|
||||||
|
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1163,9 +1162,9 @@ static void sub_80613DC(u8 battlerId, bool8 dontClearSubstituteBit)
|
|||||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
|
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
@@ -1294,8 +1293,8 @@ static void OpponentHandleDrawTrainerPic(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
xPos,
|
xPos,
|
||||||
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1306,7 +1305,7 @@ static void OpponentHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
|
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void OpponentHandleTrainerSlide(void)
|
static void OpponentHandleTrainerSlide(void)
|
||||||
@@ -1366,8 +1365,8 @@ static void OpponentHandleTrainerSlide(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 176, (8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40, 0x1E);
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 96;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos1.x += 32;
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ extern u16 gBattle_BG0_Y;
|
|||||||
extern s32 gUnknown_0203CD70;
|
extern s32 gUnknown_0203CD70;
|
||||||
extern struct UnusedControllerStruct gUnknown_02022D0C;
|
extern struct UnusedControllerStruct gUnknown_02022D0C;
|
||||||
extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
extern struct MusicPlayerInfo gMPlayInfo_BGM;
|
||||||
extern struct SpriteTemplate gUnknown_0202499C;
|
extern struct SpriteTemplate gMultiuseSpriteTemplate;
|
||||||
|
|
||||||
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
||||||
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
||||||
@@ -47,7 +47,6 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
|||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_81B89AC(u8 arg0);
|
extern void sub_81B89AC(u8 arg0);
|
||||||
extern void sub_81AABB0(void);
|
extern void sub_81AABB0(void);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern void sub_81A57E4(u8 battlerId, u16 stringId);
|
extern void sub_81A57E4(u8 battlerId, u16 stringId);
|
||||||
extern void sub_81851A8(u8 *);
|
extern void sub_81851A8(u8 *);
|
||||||
|
|
||||||
@@ -917,7 +916,7 @@ void sub_80587B0(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
PlayerBufferExecCompleted();
|
PlayerBufferExecCompleted();
|
||||||
@@ -2200,10 +2199,10 @@ static void sub_805B258(u8 battlerId, bool8 dontClearSubstituteBit)
|
|||||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
|
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||||
&gUnknown_0202499C,
|
&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
@@ -2282,7 +2281,7 @@ static void PlayerHandleDrawTrainerPic(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
trainerPicId = gLinkPlayers[GetMultiplayerId()].gender;
|
trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_BRENDAN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -2292,9 +2291,9 @@ static void PlayerHandleDrawTrainerPic(void)
|
|||||||
|
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
|
||||||
{
|
{
|
||||||
if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != 0) // second mon
|
if ((GetBattlerPosition(gActiveBattler) & BIT_FLANK) != B_FLANK_LEFT) // Second mon, on the right.
|
||||||
xPos = 90;
|
xPos = 90;
|
||||||
else // first mon
|
else // First mon, on the left.
|
||||||
xPos = 32;
|
xPos = 32;
|
||||||
|
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER)
|
if (gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER && gPartnerTrainerId != TRAINER_STEVEN_PARTNER)
|
||||||
@@ -2319,8 +2318,8 @@ static void PlayerHandleDrawTrainerPic(void)
|
|||||||
{
|
{
|
||||||
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
|
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler));
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler));
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
@@ -2330,12 +2329,12 @@ static void PlayerHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineMode = 0;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1;
|
||||||
}
|
}
|
||||||
// use the back pic in any other scenario
|
// Use the back pic in any other scenario.
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler));
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler));
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
@@ -2343,7 +2342,7 @@ static void PlayerHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
}
|
}
|
||||||
|
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PlayerHandleTrainerSlide(void)
|
static void PlayerHandleTrainerSlide(void)
|
||||||
@@ -2364,17 +2363,17 @@ static void PlayerHandleTrainerSlide(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
trainerPicId = gLinkPlayers[GetMultiplayerId()].gender;
|
trainerPicId = gLinkPlayers[GetMultiplayerId()].gender + TRAINER_BACK_PIC_BRENDAN;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
trainerPicId = gSaveBlock2Ptr->playerGender;
|
trainerPicId = gSaveBlock2Ptr->playerGender + TRAINER_BACK_PIC_BRENDAN;
|
||||||
}
|
}
|
||||||
|
|
||||||
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30);
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, 80, (8 - gTrainerBackPicCoords[trainerPicId].coords) * 4 + 80, 30);
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = -96;
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
|||||||
|
|
||||||
extern void sub_81358F4(void);
|
extern void sub_81358F4(void);
|
||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_806A068(u16, u8);
|
extern void SetMultiuseSpriteTemplateToPokemon(u16, u8);
|
||||||
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
@@ -204,7 +204,7 @@ static void PlayerPartnerBufferRunCommand(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
PlayerPartnerBufferExecCompleted();
|
PlayerPartnerBufferExecCompleted();
|
||||||
@@ -1211,9 +1211,9 @@ static void PlayerPartnerHandleLoadMonSprite(void)
|
|||||||
|
|
||||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||||
sub_806A068(species, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
|
||||||
|
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1241,10 +1241,10 @@ static void sub_81BD0E4(u8 battlerId, bool8 dontClearSubstituteBit)
|
|||||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
|
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||||
&gUnknown_0202499C,
|
&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
@@ -1326,8 +1326,8 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
|
|||||||
if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER)
|
if (gPartnerTrainerId == TRAINER_STEVEN_PARTNER)
|
||||||
{
|
{
|
||||||
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler));
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler));
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
@@ -1337,8 +1337,8 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
|
|||||||
else // otherwise use front sprite
|
else // otherwise use front sprite
|
||||||
{
|
{
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler));
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler));
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
@@ -1349,7 +1349,7 @@ static void PlayerPartnerHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].hFlip = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void PlayerPartnerHandleTrainerSlide(void)
|
static void PlayerPartnerHandleTrainerSlide(void)
|
||||||
|
|||||||
@@ -37,7 +37,6 @@ extern u8 gUnknown_0203C7B4;
|
|||||||
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
||||||
|
|
||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern u16 sub_8068B48(void);
|
extern u16 sub_8068B48(void);
|
||||||
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
||||||
|
|
||||||
@@ -193,7 +192,7 @@ static void RecordedOpponentBufferRunCommand(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
RecordedOpponentBufferExecCompleted();
|
RecordedOpponentBufferExecCompleted();
|
||||||
@@ -1119,9 +1118,9 @@ static void RecordedOpponentHandleLoadMonSprite(void)
|
|||||||
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
u16 species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||||
|
|
||||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
||||||
sub_806A068(species, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
|
||||||
|
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1154,9 +1153,9 @@ static void sub_81885D8(u8 battlerId, bool8 dontClearSubstituteBit)
|
|||||||
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
BattleLoadOpponentMonSpriteGfx(&gEnemyParty[gBattlerPartyIndexes[battlerId]], battlerId);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
|
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
@@ -1252,8 +1251,8 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
xPos,
|
xPos,
|
||||||
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
(8 - gTrainerFrontPicCoords[trainerPicId].coords) * 4 + 40,
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1264,7 +1263,7 @@ static void RecordedOpponentHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.affineParam = trainerPicId;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
|
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RecordedOpponentHandleTrainerSlide(void)
|
static void RecordedOpponentHandleTrainerSlide(void)
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
|||||||
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
||||||
|
|
||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
extern u8 GetFrontierTrainerFrontSpriteId(u16 trainerId);
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
@@ -190,7 +189,7 @@ static void RecordedPlayerBufferRunCommand(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
RecordedPlayerBufferExecCompleted();
|
RecordedPlayerBufferExecCompleted();
|
||||||
@@ -1107,9 +1106,9 @@ static void RecordedPlayerHandleLoadMonSprite(void)
|
|||||||
|
|
||||||
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
BattleLoadPlayerMonSpriteGfx(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], gActiveBattler);
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gActiveBattler]], MON_DATA_SPECIES);
|
||||||
sub_806A068(species, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(gActiveBattler));
|
||||||
|
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(gActiveBattler, 2),
|
GetBattlerSpriteCoord(gActiveBattler, 2),
|
||||||
GetBattlerSpriteDefault_Y(gActiveBattler),
|
GetBattlerSpriteDefault_Y(gActiveBattler),
|
||||||
sub_80A82E4(gActiveBattler));
|
sub_80A82E4(gActiveBattler));
|
||||||
@@ -1137,10 +1136,10 @@ static void sub_818BA6C(u8 battlerId, bool8 dontClearSubstituteBit)
|
|||||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
|
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(
|
gBattlerSpriteIds[battlerId] = CreateSprite(
|
||||||
&gUnknown_0202499C,
|
&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
@@ -1242,8 +1241,8 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
|||||||
{
|
{
|
||||||
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
|
trainerPicId = PlayerGenderToFrontTrainerPicId(gSaveBlock2Ptr->playerGender);
|
||||||
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
DecompressTrainerFrontPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A1C0(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerFront(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler));
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler));
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = IndexOfSpritePaletteTag(gTrainerFrontPicPaletteTable[trainerPicId].tag);
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
@@ -1256,8 +1255,8 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
DecompressTrainerBackPic(trainerPicId, gActiveBattler);
|
||||||
sub_806A12C(trainerPicId, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(trainerPicId, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C, xPos, yPos, sub_80A82E4(gActiveBattler));
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate, xPos, yPos, sub_80A82E4(gActiveBattler));
|
||||||
|
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].oam.paletteNum = gActiveBattler;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
@@ -1265,7 +1264,7 @@ static void RecordedPlayerHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
}
|
}
|
||||||
|
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void RecordedPlayerHandleTrainerSlide(void)
|
static void RecordedPlayerHandleTrainerSlide(void)
|
||||||
|
|||||||
@@ -239,7 +239,7 @@ static void HandleInputChooseAction(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
SafariBufferExecCompleted();
|
SafariBufferExecCompleted();
|
||||||
@@ -358,9 +358,9 @@ static void SafariHandleReturnMonToBall(void)
|
|||||||
static void SafariHandleDrawTrainerPic(void)
|
static void SafariHandleDrawTrainerPic(void)
|
||||||
{
|
{
|
||||||
DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBattler);
|
DecompressTrainerBackPic(gSaveBlock2Ptr->playerGender, gActiveBattler);
|
||||||
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(
|
||||||
&gUnknown_0202499C,
|
&gMultiuseSpriteTemplate,
|
||||||
80,
|
80,
|
||||||
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
|
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
|
||||||
30);
|
30);
|
||||||
@@ -368,7 +368,7 @@ static void SafariHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void SafariHandleTrainerSlide(void)
|
static void SafariHandleTrainerSlide(void)
|
||||||
|
|||||||
@@ -39,7 +39,6 @@ extern struct UnusedControllerStruct gUnknown_02022D0C;
|
|||||||
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerBackPicPaletteTable[];
|
||||||
|
|
||||||
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
extern void sub_8172EF0(u8 battlerId, struct Pokemon *mon);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
static void WallyHandleGetMonData(void);
|
static void WallyHandleGetMonData(void);
|
||||||
@@ -254,7 +253,7 @@ static void WallyHandleActions(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void CompleteOnBankSpriteCallbackDummy(void)
|
static void CompleteOnBattlerSpriteCallbackDummy(void)
|
||||||
{
|
{
|
||||||
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
if (gSprites[gBattlerSpriteIds[gActiveBattler]].callback == SpriteCallbackDummy)
|
||||||
WallyBufferExecCompleted();
|
WallyBufferExecCompleted();
|
||||||
@@ -1039,8 +1038,8 @@ static void WallyHandleReturnMonToBall(void)
|
|||||||
static void WallyHandleDrawTrainerPic(void)
|
static void WallyHandleDrawTrainerPic(void)
|
||||||
{
|
{
|
||||||
DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler);
|
DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler);
|
||||||
sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
80,
|
80,
|
||||||
80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords),
|
80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords),
|
||||||
30);
|
30);
|
||||||
@@ -1048,14 +1047,14 @@ static void WallyHandleDrawTrainerPic(void)
|
|||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].pos2.x = 240;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].data[0] = -2;
|
||||||
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
gSprites[gBattlerSpriteIds[gActiveBattler]].callback = sub_805D7AC;
|
||||||
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBankSpriteCallbackDummy;
|
gBattlerControllerFuncs[gActiveBattler] = CompleteOnBattlerSpriteCallbackDummy;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WallyHandleTrainerSlide(void)
|
static void WallyHandleTrainerSlide(void)
|
||||||
{
|
{
|
||||||
DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler);
|
DecompressTrainerBackPic(TRAINER_BACK_PIC_WALLY, gActiveBattler);
|
||||||
sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler));
|
SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(gActiveBattler));
|
||||||
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[gActiveBattler] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
80,
|
80,
|
||||||
80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords),
|
80 + 4 * (8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords),
|
||||||
30);
|
30);
|
||||||
@@ -1466,8 +1465,8 @@ static void sub_816AA80(u8 battlerId)
|
|||||||
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
gBattlerPartyIndexes[battlerId] = gBattleBufferA[battlerId][1];
|
||||||
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[battlerId]], MON_DATA_SPECIES);
|
||||||
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
gUnknown_03005D7C[battlerId] = CreateInvisibleSpriteWithCallback(sub_805D714);
|
||||||
sub_806A068(species, GetBattlerPosition(battlerId));
|
SetMultiuseSpriteTemplateToPokemon(species, GetBattlerPosition(battlerId));
|
||||||
gBattlerSpriteIds[battlerId] = CreateSprite(&gUnknown_0202499C,
|
gBattlerSpriteIds[battlerId] = CreateSprite(&gMultiuseSpriteTemplate,
|
||||||
GetBattlerSpriteCoord(battlerId, 2),
|
GetBattlerSpriteCoord(battlerId, 2),
|
||||||
GetBattlerSpriteDefault_Y(battlerId),
|
GetBattlerSpriteDefault_Y(battlerId),
|
||||||
sub_80A82E4(battlerId));
|
sub_80A82E4(battlerId));
|
||||||
|
|||||||
@@ -16,14 +16,15 @@ extern const struct CompressedSpriteSheet gTrainerBackPicTable[];
|
|||||||
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
extern const struct CompressedSpritePalette gTrainerFrontPicPaletteTable[];
|
||||||
extern const union AffineAnimCmd *const gUnknown_082FF618[];
|
extern const union AffineAnimCmd *const gUnknown_082FF618[];
|
||||||
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
||||||
extern const union AnimCmd *const gUnknown_082FF70C[];
|
extern const union AnimCmd *const gPlayerMonSpriteAnimsTable[];
|
||||||
extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES];
|
extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[NUM_SPECIES];
|
||||||
extern const union AnimCmd *const *const gUnknown_0830536C[];
|
extern const union AnimCmd *const *const gUnknown_0830536C[];
|
||||||
extern const u8 gFacilityClassToPicIndex[];
|
extern const u8 gFacilityClassToPicIndex[];
|
||||||
|
|
||||||
// Static type declarations
|
// Static type declarations
|
||||||
|
|
||||||
struct BattleDomeCard {
|
struct BattleDomeCard
|
||||||
|
{
|
||||||
u8 *frames;
|
u8 *frames;
|
||||||
struct SpriteFrameImage *images;
|
struct SpriteFrameImage *images;
|
||||||
u16 paletteTag;
|
u16 paletteTag;
|
||||||
@@ -41,10 +42,12 @@ static EWRAM_DATA struct BattleDomeCard gUnknown_0203CD04[8] = {};
|
|||||||
// .rodata
|
// .rodata
|
||||||
|
|
||||||
static const struct BattleDomeCard gUnknown_0860B058 = {};
|
static const struct BattleDomeCard gUnknown_0860B058 = {};
|
||||||
static const struct OamData gUnknown_0860B064 = {
|
static const struct OamData gUnknown_0860B064 =
|
||||||
|
{
|
||||||
.size = 3
|
.size = 3
|
||||||
};
|
};
|
||||||
static const struct OamData gUnknown_0860B06C = {
|
static const struct OamData gUnknown_0860B06C =
|
||||||
|
{
|
||||||
.affineMode = 1, .size = 3
|
.affineMode = 1, .size = 3
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -158,7 +161,7 @@ static void uns_builder_assign_animtable1(bool8 isTrainer)
|
|||||||
{
|
{
|
||||||
if (!isTrainer)
|
if (!isTrainer)
|
||||||
{
|
{
|
||||||
gUnknown_0203CCEC.anims = gUnknown_082FF70C;
|
gUnknown_0203CCEC.anims = gPlayerMonSpriteAnimsTable;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
+2
-4
@@ -300,6 +300,7 @@ u8 gNumberOfMovesToChoose;
|
|||||||
u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
|
u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
|
||||||
|
|
||||||
// rom const data
|
// rom const data
|
||||||
|
static const s8 gUnknown_0831ACE0[] ={-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:
|
||||||
@@ -307,9 +308,6 @@ u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
|
|||||||
// 10 is ×1.0 TYPE_MUL_NORMAL
|
// 10 is ×1.0 TYPE_MUL_NORMAL
|
||||||
// 05 is ×0.5 TYPE_MUL_NOT_EFFECTIVE
|
// 05 is ×0.5 TYPE_MUL_NOT_EFFECTIVE
|
||||||
// 00 is ×0.0 TYPE_MUL_NO_EFFECT
|
// 00 is ×0.0 TYPE_MUL_NO_EFFECT
|
||||||
|
|
||||||
static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0};
|
|
||||||
|
|
||||||
const u8 gTypeEffectiveness[336] =
|
const u8 gTypeEffectiveness[336] =
|
||||||
{
|
{
|
||||||
TYPE_NORMAL, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE,
|
TYPE_NORMAL, TYPE_ROCK, TYPE_MUL_NOT_EFFECTIVE,
|
||||||
@@ -2808,7 +2806,7 @@ void sub_8039BB4(struct Sprite *sprite)
|
|||||||
|
|
||||||
static void oac_poke_ally_(struct Sprite *sprite)
|
static void oac_poke_ally_(struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
if ((gIntroSlideFlags & 1) == 0)
|
if (!(gIntroSlideFlags & 1))
|
||||||
{
|
{
|
||||||
sprite->pos2.x -= 2;
|
sprite->pos2.x -= 2;
|
||||||
if (sprite->pos2.x == 0)
|
if (sprite->pos2.x == 0)
|
||||||
|
|||||||
+2
-4
@@ -57,12 +57,10 @@ extern const u8 gText_NickHatchPrompt[];
|
|||||||
|
|
||||||
extern u8 sav1_map_get_name(void);
|
extern u8 sav1_map_get_name(void);
|
||||||
extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8);
|
extern void TVShowConvertInternationalString(u8* str1, u8* str2, u8);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern void FadeScreen(u8, u8);
|
extern void FadeScreen(u8, u8);
|
||||||
extern void overworld_free_bg_tilemaps(void);
|
extern void overworld_free_bg_tilemaps(void);
|
||||||
extern void sub_80AF168(void);
|
extern void sub_80AF168(void);
|
||||||
extern void ScanlineEffect_Stop(void);
|
extern void ScanlineEffect_Stop(void);
|
||||||
extern void CB2_ReturnToField(void);
|
|
||||||
extern void play_some_sound(void);
|
extern void play_some_sound(void);
|
||||||
extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback);
|
extern void DoNamingScreen(u8, const u8*, u16, u8, u32, MainCallback);
|
||||||
extern u16 sub_80D22D0(void);
|
extern u16 sub_80D22D0(void);
|
||||||
@@ -437,8 +435,8 @@ static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16* speciesLoc
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sub_806A068(GetMonSpritePalStruct(mon)->tag, r5);
|
SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, r5);
|
||||||
spriteID = CreateSprite(&gUnknown_0202499C, 120, 75, 6);
|
spriteID = CreateSprite(&gMultiuseSpriteTemplate, 120, 75, 6);
|
||||||
gSprites[spriteID].invisible = 1;
|
gSprites[spriteID].invisible = 1;
|
||||||
gSprites[spriteID].callback = SpriteCallbackDummy;
|
gSprites[spriteID].callback = SpriteCallbackDummy;
|
||||||
break;
|
break;
|
||||||
|
|||||||
+15
-16
@@ -62,7 +62,6 @@ extern const u8 gText_CommunicationStandby5[];
|
|||||||
|
|
||||||
extern void sub_80356D0(void);
|
extern void sub_80356D0(void);
|
||||||
extern void sub_807B154(void);
|
extern void sub_807B154(void);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern void sub_807F19C(void);
|
extern void sub_807F19C(void);
|
||||||
extern void sub_807B140(void);
|
extern void sub_807B140(void);
|
||||||
extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
|
extern void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
|
||||||
@@ -280,9 +279,9 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
|
|||||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(currSpecies, trainerId, personality);
|
pokePal = GetMonSpritePalStructFromOtIdPersonality(currSpecies, trainerId, personality);
|
||||||
LoadCompressedPalette(pokePal->data, 0x110, 0x20);
|
LoadCompressedPalette(pokePal->data, 0x110, 0x20);
|
||||||
|
|
||||||
sub_806A068(currSpecies, 1);
|
SetMultiuseSpriteTemplateToPokemon(currSpecies, 1);
|
||||||
gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable;
|
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||||
sEvoStructPtr->preEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30);
|
sEvoStructPtr->preEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||||
|
|
||||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||||
gSprites[ID].oam.paletteNum = 1;
|
gSprites[ID].oam.paletteNum = 1;
|
||||||
@@ -295,9 +294,9 @@ void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo,
|
|||||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, trainerId, personality);
|
pokePal = GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, trainerId, personality);
|
||||||
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
||||||
|
|
||||||
sub_806A068(speciesToEvolve, 3);
|
SetMultiuseSpriteTemplateToPokemon(speciesToEvolve, 3);
|
||||||
gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable;
|
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||||
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30);
|
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||||
gSprites[ID].oam.paletteNum = 2;
|
gSprites[ID].oam.paletteNum = 2;
|
||||||
gSprites[ID].invisible = 1;
|
gSprites[ID].invisible = 1;
|
||||||
@@ -373,9 +372,9 @@ static void CB2_EvolutionSceneLoadGraphics(void)
|
|||||||
|
|
||||||
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
||||||
|
|
||||||
sub_806A068(postEvoSpecies, 3);
|
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, 3);
|
||||||
gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable;
|
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||||
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30);
|
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||||
|
|
||||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||||
gSprites[ID].oam.paletteNum = 2;
|
gSprites[ID].oam.paletteNum = 2;
|
||||||
@@ -450,9 +449,9 @@ static void CB2_TradeEvolutionSceneLoadGraphics(void)
|
|||||||
{
|
{
|
||||||
u8 ID;
|
u8 ID;
|
||||||
|
|
||||||
sub_806A068(postEvoSpecies, 1);
|
SetMultiuseSpriteTemplateToPokemon(postEvoSpecies, 1);
|
||||||
gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable;
|
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||||
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30);
|
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||||
|
|
||||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||||
gSprites[ID].oam.paletteNum = 2;
|
gSprites[ID].oam.paletteNum = 2;
|
||||||
@@ -509,9 +508,9 @@ void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpri
|
|||||||
pokePal = GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, trainerId, personality);
|
pokePal = GetMonSpritePalStructFromOtIdPersonality(speciesToEvolve, trainerId, personality);
|
||||||
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
LoadCompressedPalette(pokePal->data, 0x120, 0x20);
|
||||||
|
|
||||||
sub_806A068(speciesToEvolve, 1);
|
SetMultiuseSpriteTemplateToPokemon(speciesToEvolve, 1);
|
||||||
gUnknown_0202499C.affineAnims = gDummySpriteAffineAnimTable;
|
gMultiuseSpriteTemplate.affineAnims = gDummySpriteAffineAnimTable;
|
||||||
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gUnknown_0202499C, 120, 64, 30);
|
sEvoStructPtr->postEvoSpriteID = ID = CreateSprite(&gMultiuseSpriteTemplate, 120, 64, 30);
|
||||||
|
|
||||||
gSprites[ID].callback = SpriteCallbackDummy_2;
|
gSprites[ID].callback = SpriteCallbackDummy_2;
|
||||||
gSprites[ID].oam.paletteNum = 2;
|
gSprites[ID].oam.paletteNum = 2;
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
|||||||
extern const u16 gUnknown_0860F074[];
|
extern const u16 gUnknown_0860F074[];
|
||||||
|
|
||||||
extern bool8 sub_81221EC(void);
|
extern bool8 sub_81221EC(void);
|
||||||
extern void sub_806A068(u16, u8);
|
|
||||||
extern void LoadSav2WindowGfx(u8, u16, u8);
|
extern void LoadSav2WindowGfx(u8, u16, u8);
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
@@ -661,7 +660,7 @@ static bool8 LoadMonAndSceneGfx(struct Pokemon *mon)
|
|||||||
palette = GetMonSpritePalStructFromOtIdPersonality(species, trainerId, personality);
|
palette = GetMonSpritePalStructFromOtIdPersonality(species, trainerId, personality);
|
||||||
|
|
||||||
LoadCompressedObjectPalette(palette);
|
LoadCompressedObjectPalette(palette);
|
||||||
sub_806A068(palette->tag, 1);
|
SetMultiuseSpriteTemplateToPokemon(palette->tag, 1);
|
||||||
sPokeblockFeed->loadGfxState++;
|
sPokeblockFeed->loadGfxState++;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
@@ -827,7 +826,7 @@ static void Task_PaletteFadeToReturn(u8 taskId)
|
|||||||
static u8 CreateMonSprite(struct Pokemon* mon)
|
static u8 CreateMonSprite(struct Pokemon* mon)
|
||||||
{
|
{
|
||||||
u16 species = GetMonData(mon, MON_DATA_SPECIES2);
|
u16 species = GetMonData(mon, MON_DATA_SPECIES2);
|
||||||
u8 spriteId = CreateSprite(&gUnknown_0202499C, 48, 80, 2);
|
u8 spriteId = CreateSprite(&gMultiuseSpriteTemplate, 48, 80, 2);
|
||||||
|
|
||||||
sPokeblockFeed->species = species;
|
sPokeblockFeed->species = species;
|
||||||
sPokeblockFeed->monSpriteId_ = spriteId;
|
sPokeblockFeed->monSpriteId_ = spriteId;
|
||||||
|
|||||||
+44
-40
@@ -63,7 +63,7 @@ extern const struct SpriteFrameImage gUnknown_082FF4F8[];
|
|||||||
extern const struct SpriteFrameImage gUnknown_082FF518[];
|
extern const struct SpriteFrameImage gUnknown_082FF518[];
|
||||||
extern const union AffineAnimCmd *const gUnknown_082FF618[];
|
extern const union AffineAnimCmd *const gUnknown_082FF618[];
|
||||||
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
extern const union AffineAnimCmd *const gUnknown_082FF694[];
|
||||||
extern const union AnimCmd *gUnknown_082FF70C[];
|
extern const union AnimCmd *gPlayerMonSpriteAnimsTable[];
|
||||||
extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[];
|
extern const union AnimCmd *const *const gMonAnimationsSpriteAnimsPtrTable[];
|
||||||
extern const union AnimCmd *const *const gUnknown_08305D0C[];
|
extern const union AnimCmd *const *const gUnknown_08305D0C[];
|
||||||
extern const union AnimCmd *const *const gUnknown_0830536C[];
|
extern const union AnimCmd *const *const gUnknown_0830536C[];
|
||||||
@@ -105,7 +105,7 @@ EWRAM_DATA u8 gPlayerPartyCount = 0;
|
|||||||
EWRAM_DATA u8 gEnemyPartyCount = 0;
|
EWRAM_DATA u8 gEnemyPartyCount = 0;
|
||||||
EWRAM_DATA struct Pokemon gPlayerParty[PARTY_SIZE] = {0};
|
EWRAM_DATA struct Pokemon gPlayerParty[PARTY_SIZE] = {0};
|
||||||
EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {0};
|
EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {0};
|
||||||
EWRAM_DATA struct SpriteTemplate gUnknown_0202499C = {0};
|
EWRAM_DATA struct SpriteTemplate gMultiuseSpriteTemplate = {0};
|
||||||
EWRAM_DATA struct Unknown_806F160_Struct *gUnknown_020249B4[2] = {NULL};
|
EWRAM_DATA struct Unknown_806F160_Struct *gUnknown_020249B4[2] = {NULL};
|
||||||
|
|
||||||
// const rom data
|
// const rom data
|
||||||
@@ -2486,13 +2486,14 @@ static bool8 ShouldGetStatBadgeBoost(u16 badgeFlag, u8 battlerId)
|
|||||||
{
|
{
|
||||||
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER))
|
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000 | BATTLE_TYPE_FRONTIER))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
else if (GetBattlerSide(battlerId) != B_SIDE_PLAYER)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE)
|
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER && gTrainerBattleOpponent_A == TRAINER_SECRET_BASE)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (FlagGet(badgeFlag))
|
else if (FlagGet(badgeFlag))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
return FALSE;
|
else
|
||||||
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 GetDefaultMoveTarget(u8 battlerId)
|
u8 GetDefaultMoveTarget(u8 battlerId)
|
||||||
@@ -2561,53 +2562,53 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality)
|
|||||||
return MON_MALE;
|
return MON_MALE;
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_806A068(u16 species, u8 battlerPosition)
|
void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition)
|
||||||
{
|
{
|
||||||
if (gMonSpritesGfxPtr != NULL)
|
if (gMonSpritesGfxPtr != NULL)
|
||||||
gUnknown_0202499C = gMonSpritesGfxPtr->templates[battlerPosition];
|
gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition];
|
||||||
else if (gUnknown_020249B4[0])
|
else if (gUnknown_020249B4[0])
|
||||||
gUnknown_0202499C = gUnknown_020249B4[0]->templates[battlerPosition];
|
gMultiuseSpriteTemplate = gUnknown_020249B4[0]->templates[battlerPosition];
|
||||||
else if (gUnknown_020249B4[1])
|
else if (gUnknown_020249B4[1])
|
||||||
gUnknown_0202499C = gUnknown_020249B4[1]->templates[battlerPosition];
|
gMultiuseSpriteTemplate = gUnknown_020249B4[1]->templates[battlerPosition];
|
||||||
else
|
else
|
||||||
gUnknown_0202499C = gUnknown_08329D98[battlerPosition];
|
gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition];
|
||||||
|
|
||||||
gUnknown_0202499C.paletteTag = species;
|
gMultiuseSpriteTemplate.paletteTag = species;
|
||||||
if (battlerPosition == 0 || battlerPosition == 2)
|
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
|
||||||
gUnknown_0202499C.anims = gUnknown_082FF70C;
|
gMultiuseSpriteTemplate.anims = gPlayerMonSpriteAnimsTable;
|
||||||
else if (species > 500)
|
else if (species > 500)
|
||||||
gUnknown_0202499C.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500];
|
gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species - 500];
|
||||||
else
|
else
|
||||||
gUnknown_0202499C.anims = gMonAnimationsSpriteAnimsPtrTable[species];
|
gMultiuseSpriteTemplate.anims = gMonAnimationsSpriteAnimsPtrTable[species];
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_806A12C(u16 trainerSpriteId, u8 battlerPosition)
|
void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition)
|
||||||
{
|
{
|
||||||
gUnknown_0202499C.paletteTag = trainerSpriteId;
|
gMultiuseSpriteTemplate.paletteTag = trainerSpriteId;
|
||||||
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
|
if (battlerPosition == B_POSITION_PLAYER_LEFT || battlerPosition == B_POSITION_PLAYER_RIGHT)
|
||||||
{
|
{
|
||||||
gUnknown_0202499C = gUnknown_08329DF8[trainerSpriteId];
|
gMultiuseSpriteTemplate = gUnknown_08329DF8[trainerSpriteId];
|
||||||
gUnknown_0202499C.anims = gUnknown_08305D0C[trainerSpriteId];
|
gMultiuseSpriteTemplate.anims = gUnknown_08305D0C[trainerSpriteId];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gMonSpritesGfxPtr != NULL)
|
if (gMonSpritesGfxPtr != NULL)
|
||||||
gUnknown_0202499C = gMonSpritesGfxPtr->templates[battlerPosition];
|
gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition];
|
||||||
else
|
else
|
||||||
gUnknown_0202499C = gUnknown_08329D98[battlerPosition];
|
gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition];
|
||||||
gUnknown_0202499C.anims = gUnknown_0830536C[trainerSpriteId];
|
gMultiuseSpriteTemplate.anims = gUnknown_0830536C[trainerSpriteId];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void sub_806A1C0(u16 arg0, u8 battlerPosition)
|
void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition)
|
||||||
{
|
{
|
||||||
if (gMonSpritesGfxPtr != NULL)
|
if (gMonSpritesGfxPtr != NULL)
|
||||||
gUnknown_0202499C = gMonSpritesGfxPtr->templates[battlerPosition];
|
gMultiuseSpriteTemplate = gMonSpritesGfxPtr->templates[battlerPosition];
|
||||||
else
|
else
|
||||||
gUnknown_0202499C = gUnknown_08329D98[battlerPosition];
|
gMultiuseSpriteTemplate = gUnknown_08329D98[battlerPosition];
|
||||||
|
|
||||||
gUnknown_0202499C.paletteTag = arg0;
|
gMultiuseSpriteTemplate.paletteTag = arg0;
|
||||||
gUnknown_0202499C.anims = gUnknown_0830536C[arg0];
|
gMultiuseSpriteTemplate.anims = gUnknown_0830536C[arg0];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EncryptBoxMon(struct BoxPokemon *boxMon)
|
static void EncryptBoxMon(struct BoxPokemon *boxMon)
|
||||||
@@ -3136,7 +3137,8 @@ u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data)
|
|||||||
|
|
||||||
void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg)
|
void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg)
|
||||||
{
|
{
|
||||||
const u8* data = dataArg;
|
const u8 *data = dataArg;
|
||||||
|
|
||||||
switch (field)
|
switch (field)
|
||||||
{
|
{
|
||||||
case MON_DATA_STATUS:
|
case MON_DATA_STATUS:
|
||||||
@@ -3179,7 +3181,7 @@ void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg)
|
|||||||
|
|
||||||
void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg)
|
void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg)
|
||||||
{
|
{
|
||||||
const u8* data = dataArg;
|
const u8 *data = dataArg;
|
||||||
|
|
||||||
struct PokemonSubstruct0 *substruct0 = NULL;
|
struct PokemonSubstruct0 *substruct0 = NULL;
|
||||||
struct PokemonSubstruct1 *substruct1 = NULL;
|
struct PokemonSubstruct1 *substruct1 = NULL;
|
||||||
@@ -4511,7 +4513,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
|
|||||||
else
|
else
|
||||||
holdEffect = ItemId_GetHoldEffect(heldItem);
|
holdEffect = ItemId_GetHoldEffect(heldItem);
|
||||||
|
|
||||||
if (holdEffect == 38 && type != 3)
|
if (holdEffect == HOLD_EFFECT_PREVENT_EVOLVE && type != 3)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
@@ -4849,16 +4851,17 @@ u8 GetTrainerEncounterMusicId(u16 trainerOpponentId)
|
|||||||
{
|
{
|
||||||
if (InBattlePyramid())
|
if (InBattlePyramid())
|
||||||
return GetTrainerEncounterMusicIdInBattlePyramind(trainerOpponentId);
|
return GetTrainerEncounterMusicIdInBattlePyramind(trainerOpponentId);
|
||||||
if (sub_81D5C18())
|
else if (sub_81D5C18())
|
||||||
return sub_81D63C8(trainerOpponentId);
|
return sub_81D63C8(trainerOpponentId);
|
||||||
return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId);
|
else
|
||||||
|
return TRAINER_ENCOUNTER_MUSIC(trainerOpponentId);
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex)
|
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex)
|
||||||
{
|
{
|
||||||
if (statIndex < 1 || statIndex > 5)
|
if (statIndex < 1 || statIndex > 5)
|
||||||
{
|
{
|
||||||
// should just be "return n", but it wouldn't match without this
|
// Should just be "return n", but it wouldn't match without this.
|
||||||
u16 retVal = n;
|
u16 retVal = n;
|
||||||
retVal++;
|
retVal++;
|
||||||
retVal--;
|
retVal--;
|
||||||
@@ -5165,7 +5168,7 @@ void PartySpreadPokerus(struct Pokemon *party)
|
|||||||
{
|
{
|
||||||
if (pokerus & 0xF)
|
if (pokerus & 0xF)
|
||||||
{
|
{
|
||||||
// spread to adjacent party members
|
// Spread to adjacent party members.
|
||||||
if (i != 0 && !(GetMonData(&party[i - 1], MON_DATA_POKERUS, 0) & 0xF0))
|
if (i != 0 && !(GetMonData(&party[i - 1], MON_DATA_POKERUS, 0) & 0xF0))
|
||||||
SetMonData(&party[i - 1], MON_DATA_POKERUS, &curPokerus);
|
SetMonData(&party[i - 1], MON_DATA_POKERUS, &curPokerus);
|
||||||
if (i != (PARTY_SIZE - 1) && !(GetMonData(&party[i + 1], MON_DATA_POKERUS, 0) & 0xF0))
|
if (i != (PARTY_SIZE - 1) && !(GetMonData(&party[i + 1], MON_DATA_POKERUS, 0) & 0xF0))
|
||||||
@@ -5365,11 +5368,11 @@ u16 GetBattleBGM(void)
|
|||||||
{
|
{
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
|
if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
|
||||||
return MUS_BATTLE34;
|
return MUS_BATTLE34;
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_REGI)
|
else if (gBattleTypeFlags & BATTLE_TYPE_REGI)
|
||||||
return MUS_BATTLE36;
|
return MUS_BATTLE36;
|
||||||
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
|
else if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
|
||||||
return MUS_BATTLE20;
|
return MUS_BATTLE20;
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
|
||||||
{
|
{
|
||||||
u8 trainerClass;
|
u8 trainerClass;
|
||||||
|
|
||||||
@@ -5414,7 +5417,8 @@ u16 GetBattleBGM(void)
|
|||||||
return MUS_BATTLE20;
|
return MUS_BATTLE20;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return MUS_BATTLE27;
|
else
|
||||||
|
return MUS_BATTLE27;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlayBattleBGM(void)
|
void PlayBattleBGM(void)
|
||||||
@@ -5948,7 +5952,7 @@ static void sub_806F1FC(struct Unknown_806F160_Struct* structPtr)
|
|||||||
structPtr->frameImages[i * structPtr->field_0_0 + j].data = &structPtr->byteArrays[i][j * 0x800];
|
structPtr->frameImages[i * structPtr->field_0_0 + j].data = &structPtr->byteArrays[i][j * 0x800];
|
||||||
}
|
}
|
||||||
structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->field_0_0];
|
structPtr->templates[i].images = &structPtr->frameImages[i * structPtr->field_0_0];
|
||||||
structPtr->templates[i].anims = gUnknown_082FF70C;
|
structPtr->templates[i].anims = gPlayerMonSpriteAnimsTable;
|
||||||
structPtr->templates[i].paletteTag = i;
|
structPtr->templates[i].paletteTag = i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ extern u16 gBattle_BG3_Y;
|
|||||||
|
|
||||||
extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[];
|
extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[];
|
||||||
|
|
||||||
extern void sub_806A068(u16 species, u8 battlerPosition);
|
extern void SetMultiuseSpriteTemplateToTrainerBack(u16 backPicId, u8 battlerPosition);
|
||||||
extern void sub_806A12C(u16 backPicId, u8 battlerPosition);
|
|
||||||
|
|
||||||
// this file's functions
|
// this file's functions
|
||||||
static void CB2_ReshowBattleScreenAfterMenu(void);
|
static void CB2_ReshowBattleScreenAfterMenu(void);
|
||||||
@@ -235,8 +234,8 @@ static void CreateBattlerSprite(u8 battler)
|
|||||||
if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
|
if (GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sub_806A068(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
|
SetMultiuseSpriteTemplateToPokemon(GetMonData(&gEnemyParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
|
||||||
gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler));
|
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler));
|
||||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||||
@@ -248,8 +247,8 @@ static void CreateBattlerSprite(u8 battler)
|
|||||||
}
|
}
|
||||||
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT)
|
else if (gBattleTypeFlags & BATTLE_TYPE_SAFARI && battler == B_POSITION_PLAYER_LEFT)
|
||||||
{
|
{
|
||||||
sub_806A12C(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT));
|
SetMultiuseSpriteTemplateToTrainerBack(gSaveBlock2Ptr->playerGender, GetBattlerPosition(B_POSITION_PLAYER_LEFT));
|
||||||
gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50,
|
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
|
||||||
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
|
(8 - gTrainerBackPicCoords[gSaveBlock2Ptr->playerGender].coords) * 4 + 80,
|
||||||
sub_80A82E4(0));
|
sub_80A82E4(0));
|
||||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||||
@@ -258,8 +257,8 @@ static void CreateBattlerSprite(u8 battler)
|
|||||||
}
|
}
|
||||||
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
|
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL && battler == B_POSITION_PLAYER_LEFT)
|
||||||
{
|
{
|
||||||
sub_806A12C(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0));
|
SetMultiuseSpriteTemplateToTrainerBack(TRAINER_BACK_PIC_WALLY, GetBattlerPosition(0));
|
||||||
gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, 0x50,
|
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, 0x50,
|
||||||
(8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords) * 4 + 80,
|
(8 - gTrainerBackPicCoords[TRAINER_BACK_PIC_WALLY].coords) * 4 + 80,
|
||||||
sub_80A82E4(0));
|
sub_80A82E4(0));
|
||||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||||
@@ -271,8 +270,8 @@ static void CreateBattlerSprite(u8 battler)
|
|||||||
if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
|
if (GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_HP) == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
sub_806A068(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
|
SetMultiuseSpriteTemplateToPokemon(GetMonData(&gPlayerParty[gBattlerPartyIndexes[battler]], MON_DATA_SPECIES), GetBattlerPosition(battler));
|
||||||
gBattlerSpriteIds[battler] = CreateSprite(&gUnknown_0202499C, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler));
|
gBattlerSpriteIds[battler] = CreateSprite(&gMultiuseSpriteTemplate, GetBattlerSpriteCoord(battler, 2), posY, sub_80A82E4(battler));
|
||||||
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
gSprites[gBattlerSpriteIds[battler]].oam.paletteNum = battler;
|
||||||
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
gSprites[gBattlerSpriteIds[battler]].callback = SpriteCallbackDummy;
|
||||||
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
gSprites[gBattlerSpriteIds[battler]].data[0] = battler;
|
||||||
|
|||||||
Reference in New Issue
Block a user