diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/constants/pokemon.h | 1 | ||||
-rw-r--r-- | include/menu.h | 4 | ||||
-rw-r--r-- | include/pokemon.h | 2 | ||||
-rw-r--r-- | include/pokemon_special_anim.h | 14 | ||||
-rw-r--r-- | include/pokemon_special_anim_internal.h | 94 | ||||
-rw-r--r-- | include/strings.h | 22 |
6 files changed, 126 insertions, 11 deletions
diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index bc02bffdd..747bdea4c 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -211,7 +211,6 @@ #define PARTY_SIZE 6 #define MAX_TOTAL_EVS 510 #define UNOWN_FORM_COUNT 28 -#define MAX_MON_LEVEL 100 #define BOX_NAME_LENGTH 8 #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/menu.h b/include/menu.h index 49dd43e26..83bdcb4f6 100644 --- a/include/menu.h +++ b/include/menu.h @@ -24,8 +24,8 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 x, u void Menu_PrintFormatIntlPlayerName(u8 windowId, const u8 * src, u16 x, u16 y); void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); bool8 IsBlendTaskActive(void); -u8 sub_812EA78(u16 species, u32 personality, u8 a2); -s8 sub_812EAE4(u16 species, u32 personality, u8 a2); +u8 Menu2_GetMonSpriteAnchorCoord(u16 species, u32 personality, u8 a2); +s8 Menu2_GetMonSpriteAnchorCoordMinusx20(u16 species, u32 personality, u8 a2); // list_menu void sub_8107CD8(u8 palOffset, u16 speciesId); diff --git a/include/pokemon.h b/include/pokemon.h index 3cefcfcf2..3dd9c5052 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -322,7 +322,7 @@ extern const struct Evolution gEvolutionTable[][EVOS_PER_MON]; extern const u8 gStatStageRatios[][2]; extern struct SpriteTemplate gMultiuseSpriteTemplate; extern struct PokemonStorage* gPokemonStoragePtr; -extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; +extern const u32 gExperienceTables[][MAX_LEVEL + 1]; extern const u16 *const gLevelUpLearnsets[]; extern const u8 gFacilityClassToPicIndex[]; extern const u8 gFacilityClassToTrainerClass[]; diff --git a/include/pokemon_special_anim.h b/include/pokemon_special_anim.h index 5cc567580..8d2e6ebb6 100644 --- a/include/pokemon_special_anim.h +++ b/include/pokemon_special_anim.h @@ -3,14 +3,14 @@ #include "global.h" -void sub_811E5B8(u16, u16, u16, u16, u16, u16); -bool8 sub_811E680(void); -void BufferMonStatsToTaskData(struct Pokemon *mon, u16 *currStats); +void CreateLevelUpVerticalSpritesTask(u16 x, u16 y, u16 tileTag, u16 paletteTag, u16 priority, u16 subpriority); +bool8 LevelUpVerticalSpritesTaskIsRunning(void); +void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats); void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr); void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr); -void sub_811C540(u8 slotId, u16 itemId, MainCallback callback); -void sub_811C5AC(u8 slotId, u16 itemId, MainCallback callback); -u32 sub_811D178(void); -void sub_811C568(u8 slotId, u16 itemId, u16 moveId, MainCallback callback); +void StartUseItemAnim_Normal(u8 slotId, u16 itemId, MainCallback callback); +void StartUseItemAnim_CantEvolve(u8 slotId, u16 itemId, MainCallback callback); +bool32 PSA_IsCancelDisabled(void); +void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, u16 itemId, u16 moveId, MainCallback callback); #endif // GUARD_POKEMON_SPECIAL_ANIM_H diff --git a/include/pokemon_special_anim_internal.h b/include/pokemon_special_anim_internal.h new file mode 100644 index 000000000..e9df6f985 --- /dev/null +++ b/include/pokemon_special_anim_internal.h @@ -0,0 +1,94 @@ +#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 diff --git a/include/strings.h b/include/strings.h index 6016dc3e3..e7f274abd 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1441,4 +1441,26 @@ extern const u8 gPCText_Pokecenter[]; extern const u8 gPCText_Machine[]; extern const u8 gPCText_Simple[]; +// pokemon_special_anim +extern const u8 gUnknown_841B2ED[]; +extern const u8 gUnknown_841B2F1[]; +extern const u8 gUnknown_841B2FF[]; +extern const u8 gUnknown_841B285[]; +extern const u8 gUnknown_841B293[]; +extern const u8 gUnknown_841B295[]; +extern const u8 gUnknown_841B2A7[]; +extern const u8 gUnknown_841B32E[]; +extern const u8 gUnknown_841B306[]; +extern const u8 gUnknown_841B315[]; +extern const u8 gUnknown_841B31B[]; +extern const u8 gUnknown_841B329[]; +extern const u8 gUnknown_841B2A9[]; +extern const u8 gUnknown_841B2B7[]; +extern const u8 gUnknown_841B2BE[]; +extern const u8 gUnknown_841B2CC[]; +extern const u8 gUnknown_841B2D4[]; +extern const u8 gUnknown_841B2C6[]; +extern const u8 gUnknown_841B2E5[]; +extern const u8 gUnknown_841B2DC[]; + #endif //GUARD_STRINGS_H |