Documented/polished pokemon_summary_screen.c
Mostly variables mislabeled as global and some formerly unknown stuff.
This commit is contained in:
+12
-12
@@ -2227,9 +2227,9 @@ static const u8 sMonAnimationDelayTable[] =
|
||||
[SPECIES_CHIMECHO - 1] = 0x00,
|
||||
};
|
||||
|
||||
const u8 gUnknown_08329D22[] = {0x03, 0x0c, 0x30, 0xc0}; // Masks for getting PP Up count, also PP Max values
|
||||
const u8 gUnknown_08329D26[] = {0xfc, 0xf3, 0xcf, 0x3f}; // Masks for setting PP Up count
|
||||
const u8 gUnknown_08329D2A[] = {0x01, 0x04, 0x10, 0x40}; // Values added to PP Up count
|
||||
const u8 gPPUpGetMask[] = {0x03, 0x0c, 0x30, 0xc0}; // Masks for getting PP Up count, also PP Max values
|
||||
const u8 gPPUpSetMask[] = {0xfc, 0xf3, 0xcf, 0x3f}; // Masks for setting PP Up count
|
||||
const u8 gPPUpAddMask[] = {0x01, 0x04, 0x10, 0x40}; // Values added to PP Up count
|
||||
|
||||
const u8 gStatStageRatios[][2] =
|
||||
{
|
||||
@@ -4914,19 +4914,19 @@ void GetSpeciesName(u8 *name, u16 species)
|
||||
u8 CalculatePPWithBonus(u16 move, u8 ppBonuses, u8 moveIndex)
|
||||
{
|
||||
u8 basePP = gBattleMoves[move].pp;
|
||||
return basePP + ((basePP * 20 * ((gUnknown_08329D22[moveIndex] & ppBonuses) >> (2 * moveIndex))) / 100);
|
||||
return basePP + ((basePP * 20 * ((gPPUpGetMask[moveIndex] & ppBonuses) >> (2 * moveIndex))) / 100);
|
||||
}
|
||||
|
||||
void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex)
|
||||
{
|
||||
u8 ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES, NULL);
|
||||
ppBonuses &= gUnknown_08329D26[moveIndex];
|
||||
ppBonuses &= gPPUpSetMask[moveIndex];
|
||||
SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses);
|
||||
}
|
||||
|
||||
void RemoveBattleMonPPBonus(struct BattlePokemon *mon, u8 moveIndex)
|
||||
{
|
||||
mon->ppBonuses &= gUnknown_08329D26[moveIndex];
|
||||
mon->ppBonuses &= gPPUpSetMask[moveIndex];
|
||||
}
|
||||
|
||||
void CopyPlayerPartyMonToBattleData(u8 battlerId, u8 partyIndex)
|
||||
@@ -5169,11 +5169,11 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
if (r10 & 0x20)
|
||||
{
|
||||
r10 &= ~0x20;
|
||||
dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gUnknown_08329D22[moveIndex]) >> (moveIndex * 2);
|
||||
dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2);
|
||||
var_38 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex);
|
||||
if (dataUnsigned <= 2 && var_38 > 4)
|
||||
{
|
||||
dataUnsigned = GetMonData(mon, MON_DATA_PP_BONUSES, NULL) + gUnknown_08329D2A[moveIndex];
|
||||
dataUnsigned = GetMonData(mon, MON_DATA_PP_BONUSES, NULL) + gPPUpAddMask[moveIndex];
|
||||
SetMonData(mon, MON_DATA_PP_BONUSES, &dataUnsigned);
|
||||
|
||||
dataUnsigned = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), dataUnsigned, moveIndex) - var_38;
|
||||
@@ -5429,13 +5429,13 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov
|
||||
var_3C++;
|
||||
break;
|
||||
case 4:
|
||||
dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gUnknown_08329D22[moveIndex]) >> (moveIndex * 2);
|
||||
dataUnsigned = (GetMonData(mon, MON_DATA_PP_BONUSES, NULL) & gPPUpGetMask[moveIndex]) >> (moveIndex * 2);
|
||||
r5 = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), GetMonData(mon, MON_DATA_PP_BONUSES, NULL), moveIndex);
|
||||
if (dataUnsigned < 3 && r5 > 4)
|
||||
{
|
||||
dataUnsigned = GetMonData(mon, MON_DATA_PP_BONUSES, NULL);
|
||||
dataUnsigned &= gUnknown_08329D26[moveIndex];
|
||||
dataUnsigned += gUnknown_08329D2A[moveIndex] * 3;
|
||||
dataUnsigned &= gPPUpSetMask[moveIndex];
|
||||
dataUnsigned += gPPUpAddMask[moveIndex] * 3;
|
||||
|
||||
SetMonData(mon, MON_DATA_PP_BONUSES, &dataUnsigned);
|
||||
dataUnsigned = CalculatePPWithBonus(GetMonData(mon, MON_DATA_MOVE1 + moveIndex, NULL), dataUnsigned, moveIndex) - r5;
|
||||
@@ -7025,7 +7025,7 @@ void PokemonSummaryDoMonAnimation(struct Sprite* sprite, u16 species, bool8 oneF
|
||||
}
|
||||
}
|
||||
|
||||
void sub_806EE98(void)
|
||||
void StopPokemonAnimationDelayTask(void)
|
||||
{
|
||||
u8 delayTaskId = FindTaskIdByFunc(Task_PokemonSummaryAnimateAfterDelay);
|
||||
if (delayTaskId != 0xFF)
|
||||
|
||||
Reference in New Issue
Block a user