sovereignx/include/pokemon_summary_screen.h
RavePossum 85197eda5e
Move Relearner and Renaming From Summary Screen (#5513)
* implement move relearner in summary screen

* implement renaming in summary screen

* Enable summary screen rename and relearn by default

* Store original callback when opening screen to invoke later, hide rename/relearn for mons being moved in PC

* add a config to not restore full PP when relearning from summary screen

* hide summary relearner option if mon has no relearnable moves

* add note not to decap RELEARN string

* re-static function that now no longer needs to be accessible elsewhere

* Fix move relearner not showing up if you first select a mon with no moves

* The great curly brace massacre of 2024 (PR feedback)

* sprinkling in some parentheses

* PR feedback 2 (curly braces & whitespace)
2024-10-19 14:43:05 +02:00

44 lines
1.7 KiB
C
Executable file

#ifndef GUARD_POKEMON_SUMMARY_SCREEN_H
#define GUARD_POKEMON_SUMMARY_SCREEN_H
#include "main.h"
extern u8 gLastViewedMonIndex;
extern const u8 gNotDoneYetDescription[];
extern const struct SpriteTemplate gSpriteTemplate_MoveTypes;
extern const struct CompressedSpriteSheet gSpriteSheet_MoveTypes;
extern const struct CompressedSpriteSheet gSpriteSheet_CategoryIcons;
extern const struct SpritePalette gSpritePal_CategoryIcons;
extern const struct SpriteTemplate gSpriteTemplate_CategoryIcons;
extern MainCallback gInitialSummaryScreenCallback;
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void), u16 newMove);
void ShowPokemonSummaryScreenHandleDeoxys(u8 mode, struct BoxPokemon *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
u8 GetMoveSlotToReplace(void);
void SummaryScreen_SetAnimDelayTaskId(u8 taskId);
// The Pokémon Summary Screen can operate in different modes. Certain features,
// such as move re-ordering, are available in the different modes.
enum PokemonSummaryScreenMode
{
SUMMARY_MODE_NORMAL,
SUMMARY_MODE_LOCK_MOVES,
SUMMARY_MODE_BOX,
SUMMARY_MODE_BOX_CURSOR, // mon is being moved in PC
SUMMARY_MODE_SELECT_MOVE,
SUMMARY_MODE_RELEARNER_BATTLE, // returning from move relearner initiated from battle moves page
SUMMARY_MODE_RELEARNER_CONTEST, // returning from move relearner initiated from contest moves page
};
enum PokemonSummaryScreenPage
{
PSS_PAGE_INFO,
PSS_PAGE_SKILLS,
PSS_PAGE_BATTLE_MOVES,
PSS_PAGE_CONTEST_MOVES,
PSS_PAGE_COUNT,
};
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H