mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-11 06:25:23 -05:00
95 lines
2.8 KiB
C
95 lines
2.8 KiB
C
#ifndef GUARD_POKEMON_SPECIAL_ANIM_INTERNAL_H
|
|
#define GUARD_POKEMON_SPECIAL_ANIM_INTERNAL_H
|
|
|
|
#include "pokemon_special_anim.h"
|
|
|
|
enum
|
|
{
|
|
PSA_TEXT_ITEM_USED,
|
|
PSA_TEXT_LEVEL_ELEVATED,
|
|
PSA_TEXT_FORGET_1,
|
|
PSA_TEXT_FORGET_2_AND,
|
|
PSA_TEXT_FORGET_POOF,
|
|
PSA_TEXT_FORGET_FORGOT,
|
|
PSA_TEXT_FORGET_AND,
|
|
PSA_TEXT_MACHINE_SET,
|
|
PSA_TEXT_HUH,
|
|
PSA_TEXT_LEARNED_MOVE
|
|
};
|
|
|
|
struct PokemonSpecialAnimScene
|
|
{
|
|
u16 state;
|
|
u16 field_0002;
|
|
u16 field_0004;
|
|
u16 monSpriteY1;
|
|
u16 monSpriteY2;
|
|
u8 lastCloseness;
|
|
struct Sprite *monSprite;
|
|
struct Sprite *itemIconSprite;
|
|
u8 textBuf[0x900];
|
|
u8 field_0914[BG_SCREEN_SIZE];
|
|
u8 field_1114[BG_SCREEN_SIZE];
|
|
u8 field_1914[BG_SCREEN_SIZE];
|
|
u8 field_2114[0x720];
|
|
}; // size=0x2834
|
|
|
|
struct PokemonSpecialAnim
|
|
{
|
|
/*0x0000*/ u8 filler_0000[0x4];
|
|
/*0x0004*/ MainCallback savedCallback;
|
|
/*0x0008*/ struct Pokemon pokemon;
|
|
/*0x006c*/ u8 nickname[POKEMON_NAME_LENGTH + 1];
|
|
/*0x0077*/ u8 nameOfMoveForgotten[13];
|
|
/*0x0084*/ u8 nameOfMoveToTeach[13];
|
|
/*0x0091*/ bool8 cancelDisabled;
|
|
/*0x0092*/ u16 state;
|
|
/*0x0094*/ u16 species;
|
|
/*0x0096*/ u16 itemId;
|
|
/*0x0098*/ u16 animType;
|
|
/*0x009a*/ u16 slotId;
|
|
/*0x009c*/ u16 closeness;
|
|
/*0x009e*/ u16 delayTimer;
|
|
/*0x00a0*/ u32 personality;
|
|
/*0x00a4*/ u32 field_00a4;
|
|
/*0x00a8*/ struct PokemonSpecialAnimScene sceneResources;
|
|
}; // size=0x28dc
|
|
|
|
struct PokemonSpecialAnim * GetPSAStruct(void);
|
|
struct Pokemon * PSA_GetPokemon(void);
|
|
struct PokemonSpecialAnimScene * PSA_GetSceneWork(void);
|
|
u16 PSA_GetItemId(void);
|
|
u8 *PSA_GetNameOfMoveForgotten(void);
|
|
u8 *PSA_GetNameOfMoveToTeach(void);
|
|
u8 *PSA_CopyMonNickname(u8 *dest);
|
|
u8 *PSA_GetMonNickname(void);
|
|
u8 PSA_GetAnimType(void);
|
|
u16 PSA_GetMonSpecies(void);
|
|
u32 PSA_GetMonPersonality(void);
|
|
|
|
void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 animType);
|
|
bool8 PokemonSpecialAnimSceneInitIsNotFinished(void);
|
|
void PSA_FreeWindowBuffers(void);
|
|
void PSA_ShowMessageWindow(void);
|
|
void PSA_HideMessageWindow(void);
|
|
void PSA_PrintMessage(u8 messageId);
|
|
void PSA_AfterPoof_ClearMessageWindow(void);
|
|
bool8 PSA_IsMessagePrintTaskActive(void);
|
|
void PSA_DarkenMonSprite(void);
|
|
bool8 PSA_RunPoofAnim(void);
|
|
void PSA_UseTM_SetUpZoomOutAnim(void);
|
|
void PSA_UseTM_CleanUpForCancel(void);
|
|
bool8 PSA_UseTM_RunZoomOutAnim(void);
|
|
void PSA_UseTM_SetUpMachineSetWobble(void);
|
|
bool8 PSA_UseTM_RunMachineSetWobble(void);
|
|
bool8 PSA_LevelUpVerticalSpritesTaskIsRunning(void);
|
|
void PSA_CreateMonSpriteAtCloseness(u8 closeness);
|
|
void PSA_SetUpZoomAnim(u8 closeness);
|
|
bool8 PSA_IsZoomTaskActive(void);
|
|
void PSA_SetUpItemUseOnMonAnim(u16 itemId, u8 closeness, bool32 a2);
|
|
void CreateItemIconSpriteAtMaxCloseness(u16 itemId);
|
|
bool8 PSA_IsItemUseOnMonAnimActive(void);
|
|
void PSA_UseItem_CleanUpForCancel(void);
|
|
|
|
#endif //GUARD_POKEMON_SPECIAL_ANIM_INTERNAL_H
|