Merge branch 'master' of https://github.com/pret/pokeemerald into ui-standardize
This commit is contained in:
@@ -107,6 +107,7 @@ enum {
|
||||
#define PSS_DATA_WINDOW_MOVE_DESCRIPTION 2
|
||||
|
||||
#define MOVE_SELECTOR_SPRITES_COUNT 10
|
||||
#define TYPE_ICON_SPRITE_COUNT (MAX_MON_MOVES + 1)
|
||||
// for the spriteIds field in PokemonSummaryScreenData
|
||||
enum
|
||||
{
|
||||
@@ -114,7 +115,7 @@ enum
|
||||
SPRITE_ARR_ID_BALL,
|
||||
SPRITE_ARR_ID_STATUS,
|
||||
SPRITE_ARR_ID_TYPE, // 2 for mon types, 5 for move types(4 moves and 1 to learn), used interchangeably, because mon types and move types aren't shown on the same screen
|
||||
SPRITE_ARR_ID_MOVE_SELECTOR1 = SPRITE_ARR_ID_TYPE + 5, // 10 sprites that make up the selector
|
||||
SPRITE_ARR_ID_MOVE_SELECTOR1 = SPRITE_ARR_ID_TYPE + TYPE_ICON_SPRITE_COUNT, // 10 sprites that make up the selector
|
||||
SPRITE_ARR_ID_MOVE_SELECTOR2 = SPRITE_ARR_ID_MOVE_SELECTOR1 + MOVE_SELECTOR_SPRITES_COUNT,
|
||||
SPRITE_ARR_ID_COUNT = SPRITE_ARR_ID_MOVE_SELECTOR2 + MOVE_SELECTOR_SPRITES_COUNT
|
||||
};
|
||||
@@ -182,7 +183,7 @@ static EWRAM_DATA struct PokemonSummaryScreenData
|
||||
u8 filler40CA;
|
||||
u8 windowIds[8];
|
||||
u8 spriteIds[SPRITE_ARR_ID_COUNT];
|
||||
bool8 unk40EF;
|
||||
bool8 handleDeoxys;
|
||||
s16 switchCounter; // Used for various switch statement cases that decompress/load graphics or pokemon data
|
||||
u8 unk_filler4[6];
|
||||
} *sMonSummaryScreen = NULL;
|
||||
@@ -305,7 +306,7 @@ static void RemoveAndCreateMonMarkingsSprite(struct Pokemon *);
|
||||
static void CreateCaughtBallSprite(struct Pokemon *);
|
||||
static void CreateSetStatusSprite(void);
|
||||
static void CreateMoveSelectorSprites(u8);
|
||||
static void SpriteCb_MoveSelector(struct Sprite *);
|
||||
static void SpriteCB_MoveSelector(struct Sprite *);
|
||||
static void DestroyMoveSelectorSprites(u8);
|
||||
static void SetMainMoveSelectorColor(u8);
|
||||
static void KeepMoveSelectorVisible(u8);
|
||||
@@ -1122,10 +1123,10 @@ void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 ma
|
||||
sMonSummaryScreen->newMove = newMove;
|
||||
}
|
||||
|
||||
void ShowPokemonSummaryScreenSet40EF(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void))
|
||||
void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void))
|
||||
{
|
||||
ShowPokemonSummaryScreen(mode, mons, monIndex, maxMonIndex, callback);
|
||||
sMonSummaryScreen->unk40EF = TRUE;
|
||||
sMonSummaryScreen->handleDeoxys = TRUE;
|
||||
}
|
||||
|
||||
static void MainCB2(void)
|
||||
@@ -1406,7 +1407,7 @@ static bool8 ExtractMonDataToSummaryStruct(struct Pokemon *mon)
|
||||
sum->ppBonuses = GetMonData(mon, MON_DATA_PP_BONUSES);
|
||||
break;
|
||||
case 2:
|
||||
if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
|
||||
if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE)
|
||||
{
|
||||
sum->nature = GetNature(mon);
|
||||
sum->currentHP = GetMonData(mon, MON_DATA_HP);
|
||||
@@ -2611,8 +2612,8 @@ static void DrawExperienceProgressBar(struct Pokemon *unused)
|
||||
|
||||
if (summary->level < MAX_LEVEL)
|
||||
{
|
||||
u32 expBetweenLevels = gExperienceTables[gBaseStats[summary->species].growthRate][summary->level + 1] - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level];
|
||||
u32 expSinceLastLevel = summary->exp - gExperienceTables[gBaseStats[summary->species].growthRate][summary->level];
|
||||
u32 expBetweenLevels = gExperienceTables[gSpeciesInfo[summary->species].growthRate][summary->level + 1] - gExperienceTables[gSpeciesInfo[summary->species].growthRate][summary->level];
|
||||
u32 expSinceLastLevel = summary->exp - gExperienceTables[gSpeciesInfo[summary->species].growthRate][summary->level];
|
||||
|
||||
// Calculate the number of 1-pixel "ticks" to illuminate in the experience progress bar.
|
||||
// There are 8 tiles that make up the bar, and each tile has 8 "ticks". Hence, the numerator
|
||||
@@ -3412,7 +3413,7 @@ static void PrintExpPointsNextLevel(void)
|
||||
PrintTextOnWindow(windowId, gStringVar1, x, 1, 0, 0);
|
||||
|
||||
if (sum->level < MAX_LEVEL)
|
||||
expToNextLevel = gExperienceTables[gBaseStats[sum->species].growthRate][sum->level + 1] - sum->exp;
|
||||
expToNextLevel = gExperienceTables[gSpeciesInfo[sum->species].growthRate][sum->level + 1] - sum->exp;
|
||||
else
|
||||
expToNextLevel = 0;
|
||||
|
||||
@@ -3759,7 +3760,7 @@ static void CreateMoveTypeIcons(void)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = SPRITE_ARR_ID_TYPE; i < SPRITE_ARR_ID_TYPE + 5; i++)
|
||||
for (i = SPRITE_ARR_ID_TYPE; i < SPRITE_ARR_ID_TYPE + TYPE_ICON_SPRITE_COUNT; i++)
|
||||
{
|
||||
if (sMonSummaryScreen->spriteIds[i] == SPRITE_NONE)
|
||||
sMonSummaryScreen->spriteIds[i] = CreateSprite(&sSpriteTemplate_MoveTypes, 0, 0, 2);
|
||||
@@ -3788,10 +3789,10 @@ static void SetMonTypeIcons(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
SetTypeSpritePosAndPal(gBaseStats[summary->species].type1, 120, 48, SPRITE_ARR_ID_TYPE);
|
||||
if (gBaseStats[summary->species].type1 != gBaseStats[summary->species].type2)
|
||||
SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].types[0], 120, 48, SPRITE_ARR_ID_TYPE);
|
||||
if (gSpeciesInfo[summary->species].types[0] != gSpeciesInfo[summary->species].types[1])
|
||||
{
|
||||
SetTypeSpritePosAndPal(gBaseStats[summary->species].type2, 160, 48, SPRITE_ARR_ID_TYPE + 1);
|
||||
SetTypeSpritePosAndPal(gSpeciesInfo[summary->species].types[1], 160, 48, SPRITE_ARR_ID_TYPE + 1);
|
||||
SetSpriteInvisibility(SPRITE_ARR_ID_TYPE + 1, FALSE);
|
||||
}
|
||||
else
|
||||
@@ -3879,7 +3880,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state)
|
||||
summary->species2,
|
||||
summary->pid);
|
||||
else
|
||||
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2],
|
||||
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2],
|
||||
gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT],
|
||||
summary->species2,
|
||||
summary->pid);
|
||||
@@ -3888,10 +3889,10 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state)
|
||||
{
|
||||
if (gMonSpritesGfxPtr != NULL)
|
||||
{
|
||||
if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
|
||||
if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE)
|
||||
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2],
|
||||
gMonSpritesGfxPtr->sprites.ptr[B_POSITION_OPPONENT_LEFT],
|
||||
summary->species2,
|
||||
summary->species2,
|
||||
summary->pid);
|
||||
else
|
||||
HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[summary->species2],
|
||||
@@ -3901,7 +3902,7 @@ static u8 LoadMonGfxAndSprite(struct Pokemon *mon, s16 *state)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->unk40EF == TRUE)
|
||||
if (sMonSummaryScreen->monList.mons == gPlayerParty || sMonSummaryScreen->mode == SUMMARY_MODE_BOX || sMonSummaryScreen->handleDeoxys == TRUE)
|
||||
HandleLoadSpecialPokePic_2(&gMonFrontPicTable[summary->species2],
|
||||
MonSpritesGfxManager_GetSpritePtr(MON_SPR_GFX_MANAGER_A, B_POSITION_OPPONENT_LEFT),
|
||||
summary->species2,
|
||||
@@ -4082,14 +4083,14 @@ static void CreateMoveSelectorSprites(u8 idArrayStart)
|
||||
else
|
||||
StartSpriteAnim(&gSprites[spriteIds[i]], 6); // middle
|
||||
|
||||
gSprites[spriteIds[i]].callback = SpriteCb_MoveSelector;
|
||||
gSprites[spriteIds[i]].callback = SpriteCB_MoveSelector;
|
||||
gSprites[spriteIds[i]].data[0] = idArrayStart;
|
||||
gSprites[spriteIds[i]].data[1] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void SpriteCb_MoveSelector(struct Sprite *sprite)
|
||||
static void SpriteCB_MoveSelector(struct Sprite *sprite)
|
||||
{
|
||||
if (sprite->animNum > 3 && sprite->animNum < 7)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user