mirror of
https://github.com/pret/pokefirered.git
synced 2026-09-30 21:10:27 -05:00
storage icons
This commit is contained in:
@@ -157,14 +157,14 @@ u8 CreateMonIconNoPersonality(u16 species, SpriteCallback callback, s16 x, s16 y
|
||||
{
|
||||
u8 spriteId;
|
||||
struct MonIconSpriteTemplate iconTemplate =
|
||||
{
|
||||
.oam = &sMonIconOamData,
|
||||
.image = NULL,
|
||||
.anims = sMonIconAnims,
|
||||
.affineAnims = sMonIconAffineAnims,
|
||||
.callback = callback,
|
||||
.paletteTag = POKE_ICON_BASE_PAL_TAG + gSpeciesInfo[species].iconPalIndex,
|
||||
};
|
||||
{
|
||||
.oam = &sMonIconOamData,
|
||||
.image = NULL,
|
||||
.anims = sMonIconAnims,
|
||||
.affineAnims = sMonIconAffineAnims,
|
||||
.callback = callback,
|
||||
.paletteTag = POKE_ICON_BASE_PAL_TAG + gSpeciesInfo[species].iconPalIndex,
|
||||
};
|
||||
|
||||
iconTemplate.image = GetMonIconTiles(species, 0);
|
||||
spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority);
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#include "task.h"
|
||||
#include "trig.h"
|
||||
|
||||
#define GENDER_MASK 0x7FFF
|
||||
|
||||
static void SpriteCB_BoxMonIconScrollOut(struct Sprite *sprite);
|
||||
static void SetBoxSpeciesAndPersonalities(u8 boxId);
|
||||
static void MovePartySpriteToNextSlot(struct Sprite *sprite, u16 idx);
|
||||
@@ -967,7 +969,8 @@ static u16 TryLoadMonIconTiles(u16 species, u32 personality)
|
||||
gStorage->iconSpeciesList[i] = species;
|
||||
gStorage->numIconsPerSpecies[i]++;
|
||||
offset = 16 * i;
|
||||
CpuCopy32(GetMonIconTiles(species, personality), (void *)(OBJ_VRAM0) + offset * 32, 0x200);
|
||||
species &= GENDER_MASK;
|
||||
CpuCopy32(GetMonIconTiles(species, personality), (void *)(OBJ_VRAM0) + offset * TILE_SIZE_4BPP, 0x200);
|
||||
|
||||
return offset;
|
||||
}
|
||||
@@ -975,10 +978,20 @@ static u16 TryLoadMonIconTiles(u16 species, u32 personality)
|
||||
static void RemoveSpeciesFromIconList(u16 species)
|
||||
{
|
||||
u16 i;
|
||||
bool8 hasFemale = FALSE;
|
||||
|
||||
for (i = 0; i < MAX_MON_ICONS; i++)
|
||||
{
|
||||
if (gStorage->iconSpeciesList[i] == species)
|
||||
if (gStorage->iconSpeciesList[i] == (species | 0x8000))
|
||||
{
|
||||
hasFemale = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < MAX_MON_ICONS; i++)
|
||||
{
|
||||
if (gStorage->iconSpeciesList[i] == species && !hasFemale)
|
||||
{
|
||||
if (--gStorage->numIconsPerSpecies[i] == 0)
|
||||
gStorage->iconSpeciesList[i] = SPECIES_NONE;
|
||||
|
||||
Reference in New Issue
Block a user