pokeemerald/include/mon_markings.h
2023-07-24 19:42:56 +01:00

36 lines
1.1 KiB
C

#ifndef MON_MARKINGS_H
#define MON_MARKINGS_H
#define NUM_MON_MARKINGS 4
struct MonMarkingsMenu
{
u16 baseTileTag;
u16 basePaletteTag;
u8 markings; // bit flags
s8 cursorPos;
bool8 markingsArray[NUM_MON_MARKINGS];
u8 cursorBaseY;
bool8 spriteSheetLoadRequired;
struct Sprite *windowSprites[2]; // upper and lower halves of menu window
struct Sprite *markingSprites[NUM_MON_MARKINGS];
struct Sprite *cursorSprite;
struct Sprite *textSprite;
const u8 *frameTiles;
const u16 *framePalette;
u8 ALIGNED(2) windowSpriteTiles[0x1000];
u8 unused[0x80];
u8 tileLoadState;
};
void InitMonMarkingsMenu(struct MonMarkingsMenu *ptr);
void BufferMonMarkingsMenuTiles(void);
void OpenMonMarkingsMenu(u8 markings, s16 x, s16 y);
void FreeMonMarkingsMenu(void);
bool8 HandleMonMarkingsMenuInput(void);
struct Sprite *CreateMonMarkingAllCombosSprite(u16 tileTag, u16 paletteTag, const u16 *palette);
struct Sprite *CreateMonMarkingComboSprite(u16 tileTag, u16 paletteTag, const u16 *palette);
void UpdateMonMarkingTiles(u8 markings, void *dest);
#endif //MON_MARKINGS_H