Document ShouldIgnoreDeoxysForm

This commit is contained in:
PikalaxALT
2021-03-18 18:23:41 -04:00
parent 27897b0581
commit 815636f271
13 changed files with 33 additions and 28 deletions
+2 -2
View File
@@ -3135,7 +3135,7 @@ void AnimTask_RolePlaySilhouette(u8 taskId)
coord1 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X);
coord2 = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y);
spriteId = sub_80768D0(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1);
spriteId = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, coord1 + xOffset, coord2, 5, personality, otId, gBattleAnimTarget, 1);
gSprites[spriteId].oam.priority = priority;
gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND;
FillPalette(RGB_WHITE, (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32);
@@ -4906,7 +4906,7 @@ void AnimTask_SnatchOpposingMonMove(u8 taskId)
x = -32;
}
spriteId2 = sub_80768D0(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
spriteId2 = CreateAdditionalMonSpriteForMoveAnim(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0);
if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE)
BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE);
+10 -10
View File
@@ -99,10 +99,10 @@ static const struct SpriteTemplate gUnknown_83AE054[] =
}
};
static const struct SpriteSheet gUnknown_83AE084[] =
static const struct SpriteSheet sMoveAnimAdtlSprSheets[] =
{
{ gMiscBlank_Gfx, 0x800, 0xD755 },
{ gMiscBlank_Gfx, 0x800, 0xD756 },
{ gMiscBlank_Gfx, 0x800, 55125 },
{ gMiscBlank_Gfx, 0x800, 55126 }, // unused
};
u8 GetBattlerSpriteCoord(u8 battlerId, u8 coordType)
@@ -1863,18 +1863,18 @@ u8 GetBattlerSpriteBGPriorityRank(u8 battlerId)
return 1;
}
u8 sub_80768D0(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10)
u8 CreateAdditionalMonSpriteForMoveAnim(u16 species, bool8 isBackpic, u8 templateId, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, bool32 ignoreDeoxys)
{
u8 spriteId;
u16 sheet = LoadSpriteSheet(&gUnknown_83AE084[a3]);
u16 palette = AllocSpritePalette(gUnknown_83AE054[a3].paletteTag);
u16 sheet = LoadSpriteSheet(&sMoveAnimAdtlSprSheets[templateId]);
u16 palette = AllocSpritePalette(gUnknown_83AE054[templateId].paletteTag);
if (gMonSpritesGfxPtr != NULL && gMonSpritesGfxPtr->multiUseBuffer == NULL)
gMonSpritesGfxPtr->multiUseBuffer = AllocZeroed(0x2000);
if (!isBackpic)
{
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
if (a10 == 1 || ShouldIgnoreDeoxysForm(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
if (ignoreDeoxys == TRUE || ShouldIgnoreDeoxysForm(DEOXYS_CHECK_BATTLE_ANIM, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
LoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species],
gMonSpritesGfxPtr->multiUseBuffer,
species,
@@ -1890,7 +1890,7 @@ u8 sub_80768D0(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority
else
{
LoadCompressedPalette(GetMonSpritePalFromSpeciesAndPersonality(species, trainerId, personality), (palette * 0x10) + 0x100, 0x20);
if (a10 == 1 || ShouldIgnoreDeoxysForm(5, battlerId) == 1 || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
if (ignoreDeoxys == TRUE || ShouldIgnoreDeoxysForm(DEOXYS_CHECK_BATTLE_ANIM, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != 0)
LoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
gMonSpritesGfxPtr->multiUseBuffer,
species,
@@ -1906,9 +1906,9 @@ u8 sub_80768D0(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority
RequestDma3Copy(gMonSpritesGfxPtr->multiUseBuffer, (void *)(OBJ_VRAM0 + (sheet * 0x20)), 0x800, 1);
FREE_AND_SET_NULL(gMonSpritesGfxPtr->multiUseBuffer);
if (!isBackpic)
spriteId = CreateSprite(&gUnknown_83AE054[a3], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
spriteId = CreateSprite(&gUnknown_83AE054[templateId], x, y + gMonFrontPicCoords[species].y_offset, subpriority);
else
spriteId = CreateSprite(&gUnknown_83AE054[a3], x, y + gMonBackPicCoords[species].y_offset, subpriority);
spriteId = CreateSprite(&gUnknown_83AE054[templateId], x, y + gMonBackPicCoords[species].y_offset, subpriority);
return spriteId;
}
+1 -1
View File
@@ -487,7 +487,7 @@ void TryReceiveLinkBattleData(void)
s32 j;
u8 *recvBuffer;
if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_20) && (gLinkPlayers[0].linkType == 0x2211))
if (gReceivedRemoteLinkPlayers && (gBattleTypeFlags & BATTLE_TYPE_LINK_ESTABLISHED) && (gLinkPlayers[0].linkType == 0x2211))
{
LinkRfu_DestroyIdleTask();
for (i = 0; i < GetLinkPlayerCount(); ++i)
+1 -1
View File
@@ -387,7 +387,7 @@ void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 battlerId)
}
otId = GetMonData(mon, MON_DATA_OT_ID);
position = GetBattlerPosition(battlerId);
if (ShouldIgnoreDeoxysForm(1, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
if (ShouldIgnoreDeoxysForm(DEOXYS_CHECK_BATTLE_SPRITE, battlerId) == TRUE || gBattleSpritesDataPtr->battlerData[battlerId].transformSpecies != SPECIES_NONE)
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonBackPicTable[species],
gMonSpritesGfxPtr->sprites[position],
species, currentPersonality);
+2 -2
View File
@@ -1051,7 +1051,7 @@ static void CB2_HandleStartBattle(void)
SetMainCallback2(BattleMainCB2);
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
gBattleTypeFlags |= BATTLE_TYPE_20;
gBattleTypeFlags |= BATTLE_TYPE_LINK_ESTABLISHED;
}
}
break;
@@ -1409,7 +1409,7 @@ static void CB2_HandleStartMultiBattle(void)
gMain.callback1 = BattleMainCB1;
SetMainCallback2(BattleMainCB2);
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
gBattleTypeFlags |= BATTLE_TYPE_20;
gBattleTypeFlags |= BATTLE_TYPE_LINK_ESTABLISHED;
}
break;
case 5:
+1 -1
View File
@@ -723,7 +723,7 @@ static void sub_8081624(void)
void CB2_ReturnFromCableClubBattle(void)
{
gBattleTypeFlags &= (u16)~BATTLE_TYPE_20;
gBattleTypeFlags &= (u16)~BATTLE_TYPE_LINK_ESTABLISHED;
Overworld_ResetMapMusic();
LoadPlayerParty();
SavePlayerBag();
+1 -1
View File
@@ -1369,7 +1369,7 @@ static void LinkCB_WaitAckCommand5FFF(void)
}
if (count == linkPlayerCount)
{
gBattleTypeFlags &= ~(BATTLE_TYPE_20 | 0xFFFF0000);
gBattleTypeFlags &= ~(BATTLE_TYPE_LINK_ESTABLISHED | 0xFFFF0000);
gLinkVSyncDisabled = TRUE;
CloseLink();
gLinkCallback = NULL;
+1 -1
View File
@@ -1325,7 +1325,7 @@ static void RfuFunc_WaitAck5F00(void)
}
if (count == playerCount)
{
gBattleTypeFlags &= ~(BATTLE_TYPE_20 | 0xFFFF0000);
gBattleTypeFlags &= ~(BATTLE_TYPE_LINK_ESTABLISHED | 0xFFFF0000);
if (Rfu.parent_child == MODE_CHILD)
{
Rfu.errorState = 3;
+1 -1
View File
@@ -5959,7 +5959,7 @@ static u16 GetDeoxysStat(struct Pokemon *mon, s32 statId)
u16 statValue;
u8 nature;
if (gBattleTypeFlags & BATTLE_TYPE_20 || GetMonData(mon, MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS)
if (gBattleTypeFlags & BATTLE_TYPE_LINK_ESTABLISHED || GetMonData(mon, MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS)
{
return statValue = 0;
}
+6 -6
View File
@@ -3996,16 +3996,16 @@ static void sub_813995C(void)
if (sMonSummaryScreen->savedCallback == CB2_ReturnToTradeMenuFromSummary)
{
if (sMonSummaryScreen->isEnemyParty == TRUE)
spriteId = CreateMonPicSprite(species, trainerId, personality, 1, 60, 65, 12, 0xffff, 1);
spriteId = CreateMonPicSprite(species, trainerId, personality, TRUE, 60, 65, 12, 0xffff, TRUE);
else
spriteId = CreateMonPicSprite_HandleDeoxys(species, trainerId, personality, 1, 60, 65, 12, 0xffff);
spriteId = CreateMonPicSprite_HandleDeoxys(species, trainerId, personality, TRUE, 60, 65, 12, 0xffff);
}
else
{
if (ShouldIgnoreDeoxysForm(3, sLastViewedMonIndex))
spriteId = CreateMonPicSprite(species, trainerId, personality, 1, 60, 65, 12, 0xffff, 1);
if (ShouldIgnoreDeoxysForm(DEOXYS_CHECK_TRADE_MAIN, sLastViewedMonIndex))
spriteId = CreateMonPicSprite(species, trainerId, personality, TRUE, 60, 65, 12, 0xffff, TRUE);
else
spriteId = CreateMonPicSprite_HandleDeoxys(species, trainerId, personality, 1, 60, 65, 12, 0xffff);
spriteId = CreateMonPicSprite_HandleDeoxys(species, trainerId, personality, TRUE, 60, 65, 12, 0xffff);
}
FreeSpriteOamMatrix(&gSprites[spriteId]);
@@ -4130,7 +4130,7 @@ static void sub_8139DBC(void)
}
else
{
if (ShouldIgnoreDeoxysForm(3, sLastViewedMonIndex))
if (ShouldIgnoreDeoxysForm(DEOXYS_CHECK_TRADE_MAIN, sLastViewedMonIndex))
sMonSummaryScreen->unk3014 = CreateMonIcon(species, SpriteCallbackDummy, 24, 32, 0, personality, 0);
else
sMonSummaryScreen->unk3014 = CreateMonIcon(species, SpriteCallbackDummy, 24, 32, 0, personality, 1);