pokeemerald/include/pokeblock.h
2017-12-16 15:10:29 +01:00

69 lines
1.8 KiB
C

#ifndef GUARD_POKEBLOCK_H
#define GUARD_POKEBLOCK_H
#define GFX_TAG_POKEBLOCK 14818
#define GFX_TAG_POKEBLOCK_CASE 14800
enum
{
PBLOCK_CLR_BLACK,
PBLOCK_CLR_RED,
PBLOCK_CLR_BLUE,
PBLOCK_CLR_PINK,
PBLOCK_CLR_GREEN,
PBLOCK_CLR_YELLOW
};
enum
{
PBLOCK_COLOR,
PBLOCK_SPICY,
PBLOCK_DRY,
PBLOCK_SWEET,
PBLOCK_BITTER,
PBLOCK_SOUR,
PBLOCK_FEEL,
};
enum
{
PBLOCK_CASE_FIELD,
PBLOCK_CASE_BATTLE,
PBLOCK_CASE_FEEDER,
PBLOCK_CASE_GIVE
};
// use pokeblock
extern u8 gPokeblockMonId;
extern s16 gPokeblockGain;
void ChooseMonToGivePokeblock(struct Pokeblock *pokeblock, void (*callback)(void));
// pokeblock feed
void CB2_PreparePokeblockFeedScene(void);
// pokeblock
extern const s8 gPokeblockFlavorCompatibilityTable[];
extern const u8 *const gPokeblockNames[];
extern const struct CompressedSpriteSheet gPokeblockCase_SpriteSheet;
extern const struct CompressedSpritePalette gPokeblockCase_SpritePal;
void OpenPokeblockCase(u8 caseId, void (*callback)(void));
void OpenPokeblockCaseInBattle(void);
void OpenPokeblockCaseOnFeeder(void);
void ResetPokeblockScrollPositions(void);
u8 CreatePokeblockCaseSprite(s16 x, s16 y, u8 subpriority);
void ClearPokeblocks(void);
u8 GetHighestPokeblocksFlavorLevel(const struct Pokeblock *pokeblock);
u8 GetPokeblocksFeel(const struct Pokeblock *pokeblock);
s8 GetFirstFreePokeblockSlot(void);
bool32 AddPokeblock(const struct Pokeblock *pokeblock);
bool32 TryClearPokeblock(u8 pkblId);
s16 GetPokeblockData(const struct Pokeblock *pokeblock, u8 field);
s16 PokeblockGetGain(u8 nature, const struct Pokeblock *pokeblock);
void PokeblockCopyName(const struct Pokeblock *pokeblock, u8 *dest);
bool8 CopyMonFavoritePokeblockName(u8 nature, u8 *dest);
u8 GetPokeblocksFlavor(const struct Pokeblock *pokeblock);
#endif // GUARD_POKEBLOCK_H