Pokedex plus defaults to male icons and front pics (#4390)
* Pokedex defaults to male icons and front pics * Choose palette from personality * Unknown icon matches front pic
This commit is contained in:
parent
fbff04d4e3
commit
fd87a79b27
1 changed files with 27 additions and 16 deletions
|
@ -4548,6 +4548,8 @@ static u8 PrintCryScreenSpeciesName(u8 windowId, u16 num, u8 left, u8 top)
|
|||
return i;
|
||||
}
|
||||
|
||||
#define MALE_PERSONALITY 0xFE
|
||||
|
||||
// Unown and Spinda use the personality of the first seen individual of that species
|
||||
// All others use personality 0
|
||||
static u32 GetPokedexMonPersonality(u16 species)
|
||||
|
@ -4561,7 +4563,7 @@ static u32 GetPokedexMonPersonality(u16 species)
|
|||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
return MALE_PERSONALITY;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4925,9 +4927,11 @@ static void Task_LoadStatsScreen(u8 taskId)
|
|||
if (gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
//Icon
|
||||
u32 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
u32 personality = GetPokedexMonPersonality(species);
|
||||
FreeMonIconPalettes(); //Free space for new pallete
|
||||
LoadMonIconPalette(NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum)); //Loads pallete for current mon
|
||||
gTasks[taskId].data[6] = CreateMonIcon(NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum), SpriteCB_MonIcon, 18, 31, 4, 0); //Create pokemon sprite
|
||||
LoadMonIconPalettePersonality(species, personality); //Loads pallete for current mon
|
||||
gTasks[taskId].data[6] = CreateMonIcon(species, SpriteCB_MonIcon, 18, 31, 4, personality); //Create pokemon sprite
|
||||
gSprites[gTasks[taskId].data[4]].oam.priority = 0;
|
||||
}
|
||||
gMain.state++;
|
||||
|
@ -6059,13 +6063,15 @@ static void Task_LoadEvolutionScreen(u8 taskId)
|
|||
case 3:
|
||||
if (gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
u32 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
u32 personality = GetPokedexMonPersonality(species);
|
||||
sPokedexView->selectedScreen = EVO_SCREEN;
|
||||
ResetEvoScreenDataStruct();
|
||||
//Icon
|
||||
FreeMonIconPalettes(); //Free space for new pallete
|
||||
LoadMonIconPalette(NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum)); //Loads pallete for current mon
|
||||
PrintPreEvolutions(taskId, NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum));
|
||||
gTasks[taskId].data[4] = CreateMonIcon(NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum), SpriteCB_MonIcon, 18 + 32*sPokedexView->numPreEvolutions, 31, 4, 0); //Create pokemon sprite
|
||||
LoadMonIconPalettePersonality(species, personality); //Loads pallete for current mon
|
||||
PrintPreEvolutions(taskId, species);
|
||||
gTasks[taskId].data[4] = CreateMonIcon(species, SpriteCB_MonIcon, 18 + 32*sPokedexView->numPreEvolutions, 31, 4, personality); //Create pokemon sprite
|
||||
EvoFormsPage_PrintNavigationButtons(); // Navigation buttons
|
||||
gSprites[gTasks[taskId].data[4]].oam.priority = 0;
|
||||
}
|
||||
|
@ -6247,11 +6253,12 @@ static void HandleTargetSpeciesPrint(u8 taskId, u16 targetSpecies, u16 previousT
|
|||
|
||||
if (base_i < iterations)
|
||||
{
|
||||
LoadMonIconPalette(targetSpecies); //Loads pallete for current mon
|
||||
u32 personality = GetPokedexMonPersonality(targetSpecies);
|
||||
LoadMonIconPalettePersonality(targetSpecies, personality); //Loads pallete for current mon
|
||||
if (isEevee)
|
||||
gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 45 + 26*base_i, 31, 4, 0); //Create pokemon sprite
|
||||
gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 45 + 26*base_i, 31, 4, personality); //Create pokemon sprite
|
||||
else
|
||||
gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 50 + 32*base_i, 31, 4, 0); //Create pokemon sprite
|
||||
gTasks[taskId].data[4+base_i] = CreateMonIcon(targetSpecies, SpriteCB_MonIcon, 50 + 32*base_i, 31, 4, personality); //Create pokemon sprite
|
||||
gSprites[gTasks[taskId].data[4+base_i]].oam.priority = 0;
|
||||
}
|
||||
}
|
||||
|
@ -6292,8 +6299,9 @@ static void HandlePreEvolutionSpeciesPrint(u8 taskId, u16 preSpecies, u16 specie
|
|||
|
||||
if (base_i < 3)
|
||||
{
|
||||
LoadMonIconPalette(preSpecies); //Loads pallete for current mon
|
||||
gTasks[taskId].data[4+base_i] = CreateMonIcon(preSpecies, SpriteCB_MonIcon, 18 + 32*base_i, 31, 4, 0); //Create pokemon sprite
|
||||
u32 personality = GetPokedexMonPersonality(preSpecies);
|
||||
LoadMonIconPalettePersonality(preSpecies, personality); //Loads pallete for current mon
|
||||
gTasks[taskId].data[4+base_i] = CreateMonIcon(preSpecies, SpriteCB_MonIcon, 18 + 32*base_i, 31, 4, personality); //Create pokemon sprite
|
||||
gSprites[gTasks[taskId].data[4+base_i]].oam.priority = 0;
|
||||
}
|
||||
}
|
||||
|
@ -6765,9 +6773,11 @@ static void Task_LoadFormsScreen(u8 taskId)
|
|||
if (gTasks[taskId].data[1] == 0)
|
||||
{
|
||||
//Icon
|
||||
u32 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
u32 personality = GetPokedexMonPersonality(species);
|
||||
FreeMonIconPalettes(); //Free space for new pallete
|
||||
LoadMonIconPalette(NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum)); //Loads pallete for current mon
|
||||
gTasks[taskId].data[4] = CreateMonIcon(NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum), SpriteCB_MonIcon, 18, 31, 4, 0); //Create pokemon sprite
|
||||
LoadMonIconPalettePersonality(species, personality); //Loads pallete for current mon
|
||||
gTasks[taskId].data[4] = CreateMonIcon(species, SpriteCB_MonIcon, 18, 31, 4, personality); //Create pokemon sprite
|
||||
gSprites[gTasks[taskId].data[4]].oam.priority = 0;
|
||||
}
|
||||
EvoFormsPage_PrintNavigationButtons(); // Navigation buttons
|
||||
|
@ -6946,13 +6956,14 @@ static void PrintForms(u8 taskId, u16 species)
|
|||
continue;
|
||||
else
|
||||
{
|
||||
u32 personality = GetPokedexMonPersonality(speciesForm);
|
||||
sPokedexView->sFormScreenData.formIds[j++] = i;
|
||||
times += 1;
|
||||
LoadMonIconPalette(speciesForm); //Loads pallete for current mon
|
||||
LoadMonIconPalettePersonality(speciesForm, personality); //Loads pallete for current mon
|
||||
if (times < 7)
|
||||
gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 52 + 34*(times-1), 31, 4, 0); //Create pokemon sprite
|
||||
gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 52 + 34*(times-1), 31, 4, personality); //Create pokemon sprite
|
||||
else if (times < 14)
|
||||
gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 18 + 34*(times-7), 70 - y_offset_icons, 4, 0); //Create pokemon sprite
|
||||
gTasks[taskId].data[4+times] = CreateMonIcon(speciesForm, SpriteCB_MonIcon, 18 + 34*(times-7), 70 - y_offset_icons, 4, personality); //Create pokemon sprite
|
||||
gSprites[gTasks[taskId].data[4+times]].oam.priority = 0;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue