mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-13 15:59:12 -05:00
Feat/enums (#139)
This commit is contained in:
parent
44ddd0f330
commit
95cfa0abd0
|
|
@ -14,7 +14,7 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle);
|
|||
void RemoveBerryTree(u8 id);
|
||||
u8 GetBerryTypeByBerryTreeId(u8 id);
|
||||
u8 GetStageByBerryTreeId(u8);
|
||||
u8 ItemIdToBerryType(u16 item);
|
||||
u8 ItemIdToBerryType(enum Item item);
|
||||
void GetBerryNameByBerryType(u8 berry, u8 *string);
|
||||
void ResetBerryTreeSparkleFlag(u8 id);
|
||||
void Bag_ChooseBerry(void);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -10,12 +10,12 @@ u8 CountPokemonInDaycare(struct DayCare *daycare);
|
|||
void InitDaycareMailRecordMixing(struct DayCare *daycare, struct RecordMixingDayCareMail *daycareMail);
|
||||
s8 Daycare_FindEmptySpot(struct DayCare *daycare);
|
||||
void StoreSelectedPokemonInDaycare(void);
|
||||
u16 TakePokemonFromDaycare(void);
|
||||
enum Species TakePokemonFromDaycare(void);
|
||||
void GetDaycareCost(void);
|
||||
u8 GetNumLevelsGainedFromDaycare(void);
|
||||
void TriggerPendingDaycareEgg(void);
|
||||
void RejectEggFromDayCare(void);
|
||||
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);
|
||||
void CreateEgg(struct Pokemon *mon, enum Species species, bool8 setHotSpringsLocation);
|
||||
void GiveEggFromDaycare(void);
|
||||
bool8 DoEggActions_CheckHatch(void);
|
||||
u16 GetSelectedMonNickAndSpecies(void);
|
||||
|
|
@ -32,7 +32,7 @@ void EggHatch(void);
|
|||
u8 GetEggStepsToSubtract(void);
|
||||
bool8 ShouldEggHatch(void);
|
||||
u8 GetEggCyclesToSubtract(void);
|
||||
u8 GetEggMovesBySpecies(u16 species, u16 *eggMoves);
|
||||
u8 GetEggMovesBySpecies(enum Species species, u16 *eggMoves);
|
||||
void StorePokemonInDaycare(struct Pokemon *mon, struct DaycareMon *daycareMon);
|
||||
u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves);
|
||||
|
||||
|
|
|
|||
|
|
@ -74,11 +74,11 @@ u32 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s
|
|||
u32 LoadCompressedSpriteSheetOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer);
|
||||
bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet *src);
|
||||
|
||||
void HandleLoadSpecialPokePic(bool32 isFrontPic, void *dest, s32 species, u32 personality);
|
||||
void HandleLoadSpecialPokePicIsEgg(bool32 isFrontPic, void *dest, s32 species, u32 personality, bool32 isEgg);
|
||||
void HandleLoadSpecialPokePic(bool32 isFrontPic, void *dest, enum Species species, u32 personality);
|
||||
void HandleLoadSpecialPokePicIsEgg(bool32 isFrontPic, void *dest, enum Species species, u32 personality, bool32 isEgg);
|
||||
|
||||
void LoadSpecialPokePic(void *dest, s32 species, u32 personality, bool8 isFrontPic);
|
||||
void LoadSpecialPokePicIsEgg(void *dest, s32 species, u32 personality, bool8 isFrontPic, bool32 isEgg);
|
||||
void LoadSpecialPokePic(void *dest, enum Species species, u32 personality, bool8 isFrontPic);
|
||||
void LoadSpecialPokePicIsEgg(void *dest, enum Species species, u32 personality, bool8 isFrontPic, bool32 isEgg);
|
||||
|
||||
u32 GetDecompressedDataSize(const u32 *ptr);
|
||||
bool32 IsCompressedData(const u32 *ptr);
|
||||
|
|
|
|||
|
|
@ -263,7 +263,7 @@ u8 ObjectEventGetHeldMovementActionId(struct ObjectEvent *objectEvent);
|
|||
u8 GetMoveDirectionAnimNum(u8 direction);
|
||||
u8 CopySprite(struct Sprite *sprite, s16 x, s16 y, u8 subpriority);
|
||||
void FieldEffectFreeTilesIfUnused(u16 tileStart);
|
||||
u16 GetOverworldWeatherSpecies(u16 species);
|
||||
enum Species GetOverworldWeatherSpecies(enum Species species);
|
||||
const struct ObjectEventGraphicsInfo *SpeciesToGraphicsInfo(u32 species, bool32 shiny, bool32 female);
|
||||
|
||||
// Exported data declarations
|
||||
|
|
|
|||
|
|
@ -8,8 +8,8 @@ void LoadEvoSparkleSpriteAndPal(void);
|
|||
u8 EvolutionSparkles_SpiralUpward(u16 arg0);
|
||||
u8 EvolutionSparkles_ArcDown(void);
|
||||
u8 EvolutionSparkles_CircleInward(void);
|
||||
u8 EvolutionSparkles_SprayAndFlash(u16 species);
|
||||
u8 EvolutionSparkles_SprayAndFlash_Trade(u16 species);
|
||||
u8 EvolutionSparkles_SprayAndFlash(enum Species species);
|
||||
u8 EvolutionSparkles_SprayAndFlash_Trade(enum Species species);
|
||||
u8 CycleEvolutionMonSprite(u8 preEvoSpriteId, u8 postEvoSpriteId);
|
||||
|
||||
#define EvoGraphicsTaskEvoStop data[8]
|
||||
|
|
|
|||
|
|
@ -81,7 +81,7 @@ void StartLavaridgeGymB1FWarp(u8 a0);
|
|||
void StartLavaridgeGym1FWarp(u8 a0);
|
||||
void ApplyGlobalFieldPaletteTint(u8 paletteIdx);
|
||||
void FreeResourcesAndDestroySprite(struct Sprite *sprite, u8 spriteId);
|
||||
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, bool8 unused);
|
||||
u8 CreateMonSprite_PicBox(enum Species species, s16 x, s16 y, bool8 unused);
|
||||
void ReturnToFieldFromFlyMapSelect(void);
|
||||
void MultiplyInvertedPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
|
||||
void SpriteCB_PopOutOfAsh(struct Sprite *sprite);
|
||||
|
|
|
|||
|
|
@ -4,18 +4,18 @@
|
|||
#include "constants/field_move.h"
|
||||
|
||||
struct FieldMoveInfo {
|
||||
u16 defaultSpecies;
|
||||
enum Species defaultSpecies;
|
||||
bool32 (*isUnlockedFunc)(void);
|
||||
u16 moveId;
|
||||
enum Move moveId;
|
||||
u8 partyMessageId;
|
||||
const u8* description;
|
||||
const u8 *description;
|
||||
bool32 (*setUpFunc)(void);
|
||||
const u8* questLogText;
|
||||
const u8 *questLogText;
|
||||
};
|
||||
|
||||
extern const struct FieldMoveInfo gFieldMovesInfo[];
|
||||
|
||||
bool32 FieldMove_IsUnlocked(enum FieldMove fieldMove);
|
||||
u16 FieldMove_GetDefaultSpecies(enum FieldMove fieldMove);
|
||||
enum Species FieldMove_GetDefaultSpecies(enum FieldMove fieldMove);
|
||||
|
||||
#endif // GUARD_FIELD_MOVE_H
|
||||
|
|
|
|||
|
|
@ -5,35 +5,35 @@
|
|||
|
||||
extern u16 gScrollableMultichoice_ScrollOffset;
|
||||
|
||||
u8 GetLeadMonIndex(void);
|
||||
size_t CountDigits(s32 value);
|
||||
void TV_PrintIntToStringVar(u8 varidx, s32 number);
|
||||
u16 GetStarterSpecies(void);
|
||||
void StopPokemonLeagueLightingEffectTask(void);
|
||||
void FieldCB_ShowPortholeView(void);
|
||||
u8 ContextNpcGetTextColor(void);
|
||||
void SetPCBoxToSendMon(u8);
|
||||
u16 GetPCBoxToSendMon(void);
|
||||
bool8 CutMoveRuinValleyCheck(void);
|
||||
bool8 InMultiPartnerRoom(void);
|
||||
bool8 InPokemonCenter(void);
|
||||
bool8 IsDestinationBoxFull(void);
|
||||
bool8 ShouldShowBoxWasFullMessage(void);
|
||||
u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr);
|
||||
u8 GetUnlockedSeviiAreas(void);
|
||||
u32 GetPlayerTrainerId(void);
|
||||
bool8 CutMoveRuinValleyCheck(void);
|
||||
void CutMoveOpenDottedHoleDoor(void);
|
||||
void RunMassageCooldownStepCounter(void);
|
||||
void IncrementResortGorgeousStepCounter(void);
|
||||
void IncrementBirthIslandRockStepCount(void);
|
||||
void ResetCyclingRoadChallengeData(void);
|
||||
void ResetFieldTasksArgs(void);
|
||||
bool8 UsedPokemonCenterWarp(void);
|
||||
enum Species GetStarterSpecies(void);
|
||||
size_t CountDigits(s32 value);
|
||||
u16 GetHiddenItemAttr(u32 hiddenItem, u8 attr);
|
||||
u16 GetPCBoxToSendMon(void);
|
||||
u32 GetPlayerTrainerId(void);
|
||||
u8 ContextNpcGetTextColor(void);
|
||||
u8 GetLeadMonIndex(void);
|
||||
u8 GetUnlockedSeviiAreas(void);
|
||||
void CutMoveOpenDottedHoleDoor(void);
|
||||
void DoPicboxCancel(void);
|
||||
void FieldCB_ShowPortholeView(void);
|
||||
void FrontierGamblerSetWonOrLost(bool8 won);
|
||||
void IncrementBirthIslandRockStepCount(void);
|
||||
void IncrementResortGorgeousStepCounter(void);
|
||||
void QuestLog_CheckDepartingIndoorsMap(void);
|
||||
void QuestLog_TryRecordDepartedLocation(void);
|
||||
bool8 InPokemonCenter(void);
|
||||
void UpdateFrontierManiac(u16 daysSince);
|
||||
void ResetCyclingRoadChallengeData(void);
|
||||
void ResetFieldTasksArgs(void);
|
||||
void RunMassageCooldownStepCounter(void);
|
||||
void SetPCBoxToSendMon(u8);
|
||||
void StopPokemonLeagueLightingEffectTask(void);
|
||||
void TV_PrintIntToStringVar(u8 varidx, s32 number);
|
||||
void UpdateFrontierGambler(u16 daysSince);
|
||||
void FrontierGamblerSetWonOrLost(bool8 won);
|
||||
bool8 InMultiPartnerRoom(void);
|
||||
void DoPicboxCancel(void);
|
||||
void UpdateFrontierManiac(u16 daysSince);
|
||||
|
||||
#endif // GUARD_FIELD_SPECIALS_H
|
||||
|
|
|
|||
|
|
@ -420,7 +420,7 @@ struct RecordMixingGiftData
|
|||
{
|
||||
u8 unk0;
|
||||
u8 quantity;
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u8 filler4[8];
|
||||
};
|
||||
|
||||
|
|
@ -715,7 +715,7 @@ struct WarpData
|
|||
|
||||
struct ItemSlot
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u16 quantity;
|
||||
};
|
||||
|
||||
|
|
@ -768,8 +768,8 @@ struct Mail
|
|||
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
|
||||
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x1A*/ u8 trainerId[TRAINER_ID_LENGTH];
|
||||
/*0x1E*/ u16 species;
|
||||
/*0x20*/ u16 itemId;
|
||||
/*0x1E*/ enum Species species;
|
||||
/*0x20*/ enum Item itemId;
|
||||
};
|
||||
|
||||
struct DayCareMail
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ int GetStringWidthDifference(int fontId, const u8 *str, int totalWidth, int lett
|
|||
int GetMaxWidthInMenuTable(const struct MenuAction *actions, int numActions);
|
||||
int GetMaxWidthInSubsetOfMenuTable(const struct MenuAction *actions, const u8 *actionIds, int numActions);
|
||||
int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu);
|
||||
void CopyMonCategoryText(u16 species, u8 *dest);
|
||||
void CopyMonCategoryText(enum Species species, u8 *dest);
|
||||
u8 *GetStringClearToWidth(u8 *dest, int fontId, const u8 *str, int totalStringWidth);
|
||||
void PadNameString(u8 *dest, u8 padChar);
|
||||
void ConvertInternationalPlayerNameStripChar(u8 *, u8);
|
||||
|
|
|
|||
120
include/item.h
120
include/item.h
|
|
@ -103,6 +103,60 @@ extern const struct ItemInfo gItemsInfo[];
|
|||
extern struct BagPocket gBagPockets[];
|
||||
extern const struct TmHmIndexKey gTMHMItemMoveIds[];
|
||||
|
||||
bool32 AddPyramidBagItem(enum Item itemId, u16 count);
|
||||
bool32 HasAtLeastOneBerry(void);
|
||||
bool32 HasAtLeastOnePokeBall(void);
|
||||
bool32 IsHoldEffectChoice(enum HoldEffect holdEffect);
|
||||
bool32 IsItemBall(enum Item itemId);
|
||||
bool32 IsItemHM(enum Item itemId);
|
||||
bool32 IsItemTM(enum Item itemId);
|
||||
bool32 IsItemTMHM(enum Item itemId);
|
||||
bool32 ItemHasVolatileFlag(enum Item itemId, enum Volatile volatile);
|
||||
bool32 RemovePyramidBagItem(enum Item itemId, u16 count);
|
||||
bool32 AddBagItem(enum Item itemId, u16 amount);
|
||||
bool32 AddPCItem(enum Item itemId, u16 count);
|
||||
bool32 CheckBagHasItem(enum Item itemId, u16 count);
|
||||
bool32 CheckBagHasSpace(enum Item itemId, u16 count);
|
||||
bool32 CheckPCHasItem(enum Item itemId, u16 count);
|
||||
bool32 IsBagPocketNonEmpty(u8 pocket);
|
||||
bool32 RemoveBagItem(enum Item itemId, u16 count);
|
||||
const u8 *GetItemDescription(enum Item itemId);
|
||||
const u8 *GetItemEffect(enum Item itemId);
|
||||
const u8 *GetItemName(enum Item itemId);
|
||||
enum Pocket GetItemPocket(enum Item itemId);
|
||||
ItemUseFunc GetItemFieldFunc(enum Item itemId);
|
||||
u16 CountTotalItemQuantityInBag(enum Item item);
|
||||
u16 GetItemSecondaryId(enum Item itemId);
|
||||
u16 GetPCItemQuantity(u16 *quantity);
|
||||
u32 GetFreeSpaceForItemInBag(enum Item itemId);
|
||||
u32 GetItemFlingPower(enum Item itemId);
|
||||
u32 GetItemPrice(enum Item itemId);
|
||||
u32 GetItemSellPrice(enum Item itemId);
|
||||
u32 GetItemStatus1Mask(enum Item itemId);
|
||||
u8 *CopyItemName(enum Item itemId, u8 *string);
|
||||
u8 *CopyItemNameHandlePlural(enum Item itemId, u8 *string, u32 quantity);
|
||||
u8 CountItemsInPC(void);
|
||||
u8 CountUsedPCItemSlots(void);
|
||||
u8 GetItemBattleUsage(enum Item itemId);
|
||||
u8 GetItemConsumability(enum Item itemId);
|
||||
u8 GetItemHoldEffect(enum Item itemId);
|
||||
u8 GetItemHoldEffectParam(enum Item itemId);
|
||||
u8 GetItemImportance(enum Item itemId);
|
||||
u8 GetItemType(enum Item itemId);
|
||||
u8 GetPocketByItemId(enum Item itemId);
|
||||
void ClearBag(void);
|
||||
void ClearPCItemSlots(void);
|
||||
void CompactItemsInBagPocket(enum Pocket pocketId);
|
||||
void GetBerryCountString(u8 *dst, const u8 *berryName, u32 quantity);
|
||||
void ItemPcCompaction(void);
|
||||
void MoveItemSlotInPC(struct ItemSlot *itemSlots_, u32 from, u32 to_);
|
||||
void MoveItemSlotInPocket(enum Pocket pocketId, u32 from, u32 to);
|
||||
void RemoveBagItemFromSlot(struct BagPocket *pocket, u16 slotId, u16 count);
|
||||
void RemovePCItem(u8 index, u16 count);
|
||||
void SetBagItemsPointers(void);
|
||||
void SwapRegisteredBike(void);
|
||||
void TrySetObtainedItemQuestLogEvent(enum Item itemId);
|
||||
|
||||
#define UNPACK_ITEM_TO_TM_INDEX(_tm) case CAT(ITEM_TM_, _tm): return CAT(ENUM_TM_HM_, _tm) + 1;
|
||||
#define UNPACK_ITEM_TO_HM_INDEX(_hm) case CAT(ITEM_HM_, _hm): return CAT(ENUM_TM_HM_, _hm) + 1;
|
||||
#define UNPACK_ITEM_TO_TM_MOVE_ID(_tm) case CAT(ITEM_TM_, _tm): return CAT(MOVE_, _tm);
|
||||
|
|
@ -173,7 +227,7 @@ static inline enum Item GetTMHMItemId(enum TMHMIndex index)
|
|||
return gTMHMItemMoveIds[index].itemId;
|
||||
}
|
||||
|
||||
static inline u16 GetTMHMMoveId(enum TMHMIndex index)
|
||||
static inline enum Move GetTMHMMoveId(enum TMHMIndex index)
|
||||
{
|
||||
return gTMHMItemMoveIds[index].moveId;
|
||||
}
|
||||
|
|
@ -181,12 +235,12 @@ static inline u16 GetTMHMMoveId(enum TMHMIndex index)
|
|||
void BagPocket_SetSlotData(struct BagPocket *pocket, u32 pocketPos, struct ItemSlot newSlot);
|
||||
struct ItemSlot BagPocket_GetSlotData(struct BagPocket *pocket, u32 pocketPos);
|
||||
|
||||
static inline void BagPocket_SetSlotItemIdAndCount(struct BagPocket *pocket, u32 pocketPos, u16 itemId, u16 quantity)
|
||||
static inline void BagPocket_SetSlotItemIdAndCount(struct BagPocket *pocket, u32 pocketPos, enum Item itemId, u16 quantity)
|
||||
{
|
||||
BagPocket_SetSlotData(pocket, pocketPos, (struct ItemSlot) {itemId, quantity});
|
||||
}
|
||||
|
||||
static inline u16 GetBagItemId(enum Pocket pocketId, u32 pocketPos)
|
||||
static inline enum Item GetBagItemId(enum Pocket pocketId, u32 pocketPos)
|
||||
{
|
||||
return BagPocket_GetSlotData(&gBagPockets[pocketId], pocketPos).itemId;
|
||||
}
|
||||
|
|
@ -201,65 +255,5 @@ static inline struct ItemSlot GetBagItemIdAndQuantity(enum Pocket pocketId, u32
|
|||
return BagPocket_GetSlotData(&gBagPockets[pocketId], pocketPos);
|
||||
}
|
||||
|
||||
void GetBerryCountString(u8 *dst, const u8 *berryName, u32 quantity);
|
||||
u8 *CopyItemName(u16 itemId, u8 *string);
|
||||
u8 *CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity);
|
||||
bool8 IsBagPocketNonEmpty(u8 pocket);
|
||||
bool8 CheckBagHasItem(u16 itemId, u16 count);
|
||||
bool8 CheckBagHasSpace(u16 itemId, u16 count);
|
||||
u32 GetFreeSpaceForItemInBag(u16 itemId);
|
||||
bool8 RemoveBagItem(u16 itemId, u16 count);
|
||||
void RemoveBagItemFromSlot(struct BagPocket *pocket, u16 slotId, u16 count);
|
||||
u8 GetPocketByItemId(u16 itemId);
|
||||
u8 CountUsedPCItemSlots(void);
|
||||
bool8 CheckPCHasItem(u16 itemId, u16 count);
|
||||
bool8 AddPCItem(u16 itemId, u16 count);
|
||||
void SwapRegisteredBike(void);
|
||||
const u8 *GetItemName(u16 itemId);
|
||||
u32 GetItemPrice(u16 itemId);
|
||||
u8 GetItemHoldEffect(u16 itemId);
|
||||
u8 GetItemHoldEffectParam(u16 itemId);
|
||||
const u8 *GetItemDescription(u16 itemId);
|
||||
u8 GetItemImportance(u16 itemId);
|
||||
u8 GetItemConsumability(u16 itemId);
|
||||
enum Pocket GetItemPocket(u16 itemId);
|
||||
u8 GetItemType(u16 itemId);
|
||||
ItemUseFunc GetItemFieldFunc(u16 itemId);
|
||||
u8 GetItemBattleUsage(u16 itemId);
|
||||
u16 GetItemSecondaryId(u16 itemId);
|
||||
u32 GetItemFlingPower(u32 itemId);
|
||||
void MoveItemSlotInPocket(enum Pocket pocketId, u32 from, u32 to);
|
||||
void MoveItemSlotInPC(struct ItemSlot *itemSlots_, u32 from, u32 to_);
|
||||
void ClearBag(void);
|
||||
void ClearPCItemSlots(void);
|
||||
void TrySetObtainedItemQuestLogEvent(u16 itemId);
|
||||
bool8 AddBagItem(u16 itemId, u16 amount);
|
||||
|
||||
u16 CountTotalItemQuantityInBag(u16 item);
|
||||
bool32 AddPyramidBagItem(enum Item itemId, u16 count);
|
||||
bool32 RemovePyramidBagItem(enum Item itemId, u16 count);
|
||||
u8 GetItemImportance(u16 itemId);
|
||||
u16 GetPCItemQuantity(u16 *);
|
||||
void SetBagItemsPointers(void);
|
||||
|
||||
void ItemPcCompaction(void);
|
||||
void RemovePCItem(u8 index, u16 count);
|
||||
void CompactItemsInBagPocket(enum Pocket pocketId);
|
||||
u8 CountItemsInPC(void);
|
||||
bool32 HasAtLeastOneBerry(void);
|
||||
bool32 HasAtLeastOnePokeBall(void);
|
||||
|
||||
bool32 IsItemTM(u16 itemId);
|
||||
bool32 IsItemHM(u16 itemId);
|
||||
bool32 IsItemTMHM(u16 itemId);
|
||||
|
||||
bool32 IsItemBall(u16 itemId);
|
||||
|
||||
const u8 *GetItemEffect(u32 itemId);
|
||||
u32 GetItemStatus1Mask(u16 itemId);
|
||||
bool32 ItemHasVolatileFlag(u16 itemId, enum Volatile volatile);
|
||||
u32 GetItemSellPrice(u32 itemId);
|
||||
bool32 IsHoldEffectChoice(enum HoldEffect holdEffect);
|
||||
|
||||
|
||||
#endif // GUARD_ITEM_H
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@ extern const struct SpriteTemplate gItemIconSpriteTemplate;
|
|||
bool8 AllocItemIconTemporaryBuffers(void);
|
||||
void FreeItemIconTemporaryBuffers(void);
|
||||
void CopyItemIconPicTo4x4Buffer(const void *src, void *dest);
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId);
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId);
|
||||
const void *GetItemIconPic(u16 itemId);
|
||||
const void *GetItemIconPalette(u16 itemId);
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, enum Item itemId);
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, enum Item itemId);
|
||||
const void *GetItemIconPic(enum Item itemId);
|
||||
const void *GetItemIconPalette(enum Item itemId);
|
||||
|
||||
#endif // GUARD_ITEM_MENU_ICONS
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ extern const struct SpritePalette gSpritePalette_Bag;
|
|||
void AddBagVisualSprite(u8 bagPocketId);
|
||||
void SetBagVisualPocketId(u8 bagPocketId);
|
||||
void ShakeBagSprite(void);
|
||||
void AddBagItemIconSprite(u16 itemId, u8 id);
|
||||
void AddBagItemIconSprite(enum Item itemId, u8 id);
|
||||
void RemoveBagItemIconSprite(u8 id);
|
||||
void CreateItemMenuSwapLine(void);
|
||||
void SetItemMenuSwapLineInvisibility(bool8 invisible);
|
||||
|
|
|
|||
|
|
@ -46,9 +46,9 @@ void ItemUseInBattle_PartyMenu(u8 taskId);
|
|||
void ItemUseInBattle_PartyMenuChooseMove(u8 taskId);
|
||||
void Task_UseDigEscapeRopeOnField(u8 taskId);
|
||||
u8 CanUseEscapeRopeOnCurrMap(void);
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId);
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(enum Item itemId);
|
||||
void Task_ItemUse_CloseMessageBoxAndReturnToField_VsSeeker(u8);
|
||||
void ItemUse_SetQuestLogEvent(u8, struct Pokemon *, u16, u16);
|
||||
void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon *pokemon, enum Item itemId, u16 param);
|
||||
void FieldCB_UseItemOnField(void);
|
||||
|
||||
enum {
|
||||
|
|
@ -60,7 +60,7 @@ enum {
|
|||
};
|
||||
|
||||
bool32 CanThrowBall(void);
|
||||
bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon);
|
||||
bool32 CannotUseItemsInBattle(enum Item itemId, struct Pokemon *mon);
|
||||
|
||||
extern void (*sItemUseOnFieldCB)(u8 taskId);
|
||||
|
||||
|
|
|
|||
|
|
@ -29,14 +29,14 @@ void ReadMail(struct Mail * mail, void (*savedCallback)(void), bool8 messageExis
|
|||
void ClearMailData(void);
|
||||
void ClearMailStruct(struct Mail *mail);
|
||||
bool8 MonHasMail(struct Pokemon *mon);
|
||||
u8 GiveMailToMon(struct Pokemon *mon, u16 itemId);
|
||||
u16 SpeciesToMailSpecies(u16 species, u32 personality);
|
||||
u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer);
|
||||
u8 GiveMailToMon(struct Pokemon *mon, enum Item itemId);
|
||||
u16 SpeciesToMailSpecies(enum Species species, u32 personality);
|
||||
enum Species MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer);
|
||||
u8 GiveMailToMon2(struct Pokemon *mon, struct Mail *mail);
|
||||
void TakeMailFromMon(struct Pokemon *mon);
|
||||
void ClearMailItemId(u8 mailId);
|
||||
u8 SaveMailToPC(struct Mail *mail);
|
||||
u8 TakeMailFromMonAndSave(struct Pokemon *mon);
|
||||
bool8 ItemIsMail(u16 itemId);
|
||||
bool8 ItemIsMail(enum Item itemId);
|
||||
|
||||
#endif // GUARD_MAIL_H
|
||||
|
|
|
|||
|
|
@ -49,12 +49,12 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 x, u
|
|||
void PrintPlayerNameOnWindow(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 Menu2_GetMonPosAttribute(u16 species, u32 personality, u8 attributeId);
|
||||
s8 Menu2_GetStarSpritePosAttribute(u16 species, u32 personality, u8 attributeId);
|
||||
u8 Menu2_GetMonPosAttribute(enum Species species, u32 personality, u8 attributeId);
|
||||
s8 Menu2_GetStarSpritePosAttribute(enum Species species, u32 personality, u8 attributeId);
|
||||
|
||||
// list_menu
|
||||
void LoadMonIconPalAtOffset(u8 palOffset, u16 speciesId);
|
||||
void DrawMonIconAtPos(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y);
|
||||
void LoadMonIconPalAtOffset(u8 palOffset, enum Species speciesId);
|
||||
void DrawMonIconAtPos(u8 windowId, enum Species speciesId, u32 personality, u16 x, u16 y);
|
||||
void ListMenuLoadStdPalAt(u8 palOffset, u8 palId);
|
||||
void BlitMenuInfoIcon(u8 windowId, u8 iconId, u16 x, u16 y);
|
||||
|
||||
|
|
|
|||
|
|
@ -37,8 +37,8 @@ void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 palet
|
|||
void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 fontId, u8 left, u8 top, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo);
|
||||
u8 GetLRKeysPressed(void);
|
||||
u8 GetLRKeysPressedAndHeld(void);
|
||||
bool8 IsHoldingItemAllowed(u16 itemId);
|
||||
bool8 IsWritingMailAllowed(u16 itemId);
|
||||
bool8 IsHoldingItemAllowed(enum Item itemId);
|
||||
bool8 IsWritingMailAllowed(enum Item itemId);
|
||||
void ResetVramOamAndBgCntRegs(void);
|
||||
void LoadListMenuSwapLineGfx(void);
|
||||
void CreateSwapLineSprites(u8 *spriteIds, u8 count);
|
||||
|
|
|
|||
|
|
@ -206,6 +206,6 @@ enum ItemObtainFlags
|
|||
FLAG_GET_ITEM_OBTAINED,
|
||||
FLAG_SET_ITEM_OBTAINED,
|
||||
};
|
||||
bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId);
|
||||
bool8 GetSetItemObtained(enum Item item, enum ItemObtainFlags caseId);
|
||||
|
||||
#endif //GUARD_OVERWORLD_H
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ struct PartyMenu
|
|||
s8 slotId;
|
||||
s8 slotId2;
|
||||
u8 action;
|
||||
u16 bagItem;
|
||||
enum Item bagItem;
|
||||
s16 data[2];
|
||||
};
|
||||
|
||||
|
|
@ -32,76 +32,76 @@ extern const u16 gHeldItemPalette[];
|
|||
extern void (*gItemUseCB)(u8, TaskFunc);
|
||||
extern const struct SpriteTemplate gSpriteTemplate_StatusIcons;
|
||||
|
||||
void InitPartyMenu(u8 menuType, u8 layout, u8 partyAction, bool8 keepCursorPos, u8 messageId, TaskFunc task, MainCallback callback);
|
||||
void AnimatePartySlot(u8 slot, u8 animNum);
|
||||
bool32 BoxMonKnowsMove(struct BoxPokemon *boxMon, enum Move move);
|
||||
bool32 MonKnowsMove(struct Pokemon *mon, enum Move move);
|
||||
bool8 CB2_FadeFromPartyMenu(void);
|
||||
bool8 FieldCallback_PrepareFadeInFromMenu(void);
|
||||
bool8 IsMultiBattle(void);
|
||||
u8 GetCursorSelectionMonId(void);
|
||||
u8 GetPartyMenuType(void);
|
||||
void Task_HandleChooseMonInput(u8 taskId);
|
||||
bool8 IsPartyMenuTextPrinterActive(void);
|
||||
enum Move ItemIdToBattleMoveId(enum Item item);
|
||||
u32 Party_FirstMonWithMove(enum Move moveId);
|
||||
u8 *GetMonNickname(struct Pokemon *mon, u8 *dest);
|
||||
u8 DisplayPartyMenuMessage(const u8 *str, bool8 keepOpen);
|
||||
bool8 IsPartyMenuTextPrinterActive(void);
|
||||
void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 hpDifference, TaskFunc task);
|
||||
u8 GetAilmentFromStatus(u32 status);
|
||||
u8 GetCursorSelectionMonId(void);
|
||||
u8 GetItemEffectType(enum Item item);
|
||||
u8 GetMonAilment(struct Pokemon *mon);
|
||||
void DisplayPartyMenuStdMessage(u32 stringId);
|
||||
void LoadHeldItemIcons(void);
|
||||
void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty);
|
||||
void LoadPartyMenuAilmentGfx(void);
|
||||
void SpriteCB_BounceConfirmCancelButton(u8 spriteId, u8 spriteId2, u8 animNum);
|
||||
void CB2_SelectBagItemToGive(void);
|
||||
void CB2_GiveHoldItem(void);
|
||||
bool8 FieldCallback_PrepareFadeInFromMenu(void);
|
||||
void CB2_ReturnToPartyMenuFromFlyMap(void);
|
||||
void SetUsedFlyQuestLogEvent(const u8 *healLocCtrlData);
|
||||
void CB2_ShowPartyMenuForItemUse(void);
|
||||
void ItemUseCB_AbilityCapsule(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_AbilityPatch(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_BattleScript(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_Medicine(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_Mint(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_PPUp(u8 taskId, TaskFunc func);
|
||||
enum Move ItemIdToBattleMoveId(enum Item item);
|
||||
bool8 MonKnowsMove(struct Pokemon *mon, u16 move);
|
||||
bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move);
|
||||
void ItemUseCB_TMHM(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_RareCandy(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_DynamaxCandy(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_SacredAsh(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc func);
|
||||
u8 GetItemEffectType(u16 item);
|
||||
void CB2_PartyMenuFromStartMenu(void);
|
||||
void CB2_ChooseMonToGiveItem(void);
|
||||
void ChooseMonToGiveMailFromMailbox(void);
|
||||
void InitChooseMonsForBattle(u8 unused);
|
||||
void ClearSelectedPartyOrder(void);
|
||||
void ChooseMonForTradingBoard(u8 menuType, MainCallback callback);
|
||||
void ChooseMonForMoveTutor(void);
|
||||
void ChooseMonForWirelessMinigame(void);
|
||||
void OpenPartyMenuInBattle(u8 partyAction);
|
||||
void Pokedude_OpenPartyMenuInBattle(void);
|
||||
void Pokedude_ChooseMonForInBattleItem(void);
|
||||
void ChooseMonForInBattleItem(void);
|
||||
u8 GetPartyIdFromBattlePartyId(u8 battlePartyId);
|
||||
u8 GetPartyMenuType(void);
|
||||
void AnimatePartySlot(u8 slot, u8 animNum);
|
||||
void BufferBattlePartyCurrentOrder(void);
|
||||
void BufferBattlePartyCurrentOrderBySide(u8 battlerId, u8 flankId);
|
||||
void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2);
|
||||
void SwitchPartyMonSlots(u8 slot, u8 slot2);
|
||||
u8 GetPartyIdFromBattlePartyId(u8 battlePartyId);
|
||||
void ShowPartyMenuToShowcaseMultiBattleParty(void);
|
||||
void ChooseMonForDaycare(void);
|
||||
void ItemUseCB_BattleChooseMove(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_FormChange(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_FormChange_ConsumedOnUse(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_RotomCatalog(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ZygardeCube(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_Fusion(u8 taskId, TaskFunc task);
|
||||
u32 Party_FirstMonWithMove(u16 moveId);
|
||||
void ChoosePartyMon(void);
|
||||
bool8 CB2_FadeFromPartyMenu(void);
|
||||
void ChooseMonForMoveRelearner(void);
|
||||
void CB2_ChooseMonToGiveItem(void);
|
||||
void CB2_GiveHoldItem(void);
|
||||
void CB2_PartyMenuFromStartMenu(void);
|
||||
void CB2_ReturnToPartyMenuFromFlyMap(void);
|
||||
void CB2_ReturnToPartyMenuFromSummaryScreen(void);
|
||||
void CB2_SelectBagItemToGive(void);
|
||||
void CB2_ShowPartyMenuForItemUse(void);
|
||||
void ChooseMonForDaycare(void);
|
||||
void ChooseMonForInBattleItem(void);
|
||||
void ChooseMonForMoveRelearner(void);
|
||||
void ChooseMonForMoveTutor(void);
|
||||
void ChooseMonForTradingBoard(u8 menuType, MainCallback callback);
|
||||
void ChooseMonForWirelessMinigame(void);
|
||||
void ChooseMonToGiveMailFromMailbox(void);
|
||||
void ChoosePartyMon(void);
|
||||
void ClearSelectedPartyOrder(void);
|
||||
void DisplayPartyMenuStdMessage(u32 stringId);
|
||||
void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty);
|
||||
void InitChooseMonsForBattle(u8 unused);
|
||||
void InitPartyMenu(u8 menuType, u8 layout, u8 partyAction, bool8 keepCursorPos, u8 messageId, TaskFunc task, MainCallback callback);
|
||||
void ItemUseCB_AbilityCapsule(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_AbilityPatch(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_BattleChooseMove(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_BattleScript(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_DynamaxCandy(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_EvolutionStone(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_FormChange_ConsumedOnUse(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_FormChange(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_Fusion(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_Medicine(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_Mint(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_PPRecovery(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_PPUp(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_RareCandy(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_RotomCatalog(u8 taskId, TaskFunc task);
|
||||
void ItemUseCB_SacredAsh(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_TMHM(u8 taskId, TaskFunc func);
|
||||
void ItemUseCB_ZygardeCube(u8 taskId, TaskFunc task);
|
||||
void LoadHeldItemIcons(void);
|
||||
void LoadPartyMenuAilmentGfx(void);
|
||||
void OpenPartyMenuInBattle(u8 partyAction);
|
||||
void PartyMenuModifyHP(u8 taskId, u8 slot, s8 hpIncrement, s16 hpDifference, TaskFunc task);
|
||||
void Pokedude_ChooseMonForInBattleItem(void);
|
||||
void Pokedude_OpenPartyMenuInBattle(void);
|
||||
void SetUsedFlyQuestLogEvent(const u8 *healLocCtrlData);
|
||||
void ShowPartyMenuToShowcaseMultiBattleParty(void);
|
||||
void SpriteCB_BounceConfirmCancelButton(u8 spriteId, u8 spriteId2, u8 animNum);
|
||||
void SwitchPartyMonSlots(u8 slot, u8 slot2);
|
||||
void SwitchPartyOrderLinkMulti(u8 battlerId, u8 slot, u8 slot2);
|
||||
void Task_HandleChooseMonInput(u8 taskId);
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ struct PokeBallSprite
|
|||
struct CompressedSpriteSheet pic;
|
||||
struct SpritePalette palette;
|
||||
struct SpriteTemplate spriteTemplate;
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
};
|
||||
|
||||
extern const struct PokeBallSprite gPokeBalls[];
|
||||
|
|
@ -26,7 +26,7 @@ extern const struct PokeBallSprite gPokeBalls[];
|
|||
#define POKEBALL_PLAYER_SLIDEIN 0xFD
|
||||
|
||||
u8 DoPokeballSendOutAnimation(enum BattlerId battler, s16 pan, u8 kindOfThrow);
|
||||
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, u16 species);
|
||||
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, enum Species species);
|
||||
u8 CreateTradePokeballSprite(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 delay, u32 fadePalettes);
|
||||
void StartHealthboxSlideIn(enum BattlerId battler);
|
||||
void DoHitAnimHealthboxEffect(enum BattlerId battler);
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ bool16 HasAllKantoMons(void);
|
|||
bool16 HasAllMons(void);
|
||||
u8* ConvertMonHeightToString(u32 height);
|
||||
u8* ConvertMonWeightToString(u32 weight);
|
||||
u8 DisplayCaughtMonDexPage(u16 species, bool32 isShiny, u32 personality);
|
||||
u8 DexScreen_RegisterMonToPokedex(u16 species);
|
||||
u8 DisplayCaughtMonDexPage(enum Species species, bool32 isShiny, u32 personality);
|
||||
u8 DexScreen_RegisterMonToPokedex(enum Species species);
|
||||
|
||||
#endif // GUARD_POKEDEX_H
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
void GetAreaMarkerSubsprite(s32 i, s32 dexArea, struct Subsprite * subsprites);
|
||||
void DestroyPokedexAreaMarkers(u8 taskId);
|
||||
u8 CreatePokedexAreaMarkers(u16 species, u16 tilesTag, u8 palIdx, u8 y);
|
||||
u8 CreatePokedexAreaMarkers(enum Species species, u16 tilesTag, u8 palIdx, u8 y);
|
||||
u8 GetNumPokedexAreaMarkers(u8 taskId);
|
||||
|
||||
#endif //GUARD_POKEDEX_AREA_MARKERS_H
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ u16 GetNationalPokedexCount(u8 caseID);
|
|||
u16 GetHoennPokedexCount(u8 caseID);
|
||||
u16 GetKantoPokedexCount(u8 caseID);
|
||||
u32 Pokedex_CreateCaughtMonSprite(u32 species, s32 x, s32 y);
|
||||
void DrawFootprint(u8 windowId, u16 species);
|
||||
void DrawFootprint(u8 windowId, enum Species species);
|
||||
u16 CreateMonSpriteFromNationalDexNumber(enum NationalDexOrder nationalNum, s16 x, s16 y, u16 paletteSlot);
|
||||
bool16 HasAllRegionalMons(void);
|
||||
bool16 HasAllHoennMons(void);
|
||||
|
|
@ -17,7 +17,7 @@ bool16 HasAllKantoMons(void);
|
|||
void ResetPokedexScrollPositions(void);
|
||||
bool16 HasAllMons(void);
|
||||
void CB2_OpenPokedex(void);
|
||||
void PrintMonMeasurements(u16 species, u32 owned);
|
||||
void PrintMonMeasurements(enum Species species, u32 owned);
|
||||
u8* ConvertMonHeightToString(u32 height);
|
||||
u8* ConvertMonWeightToString(u32 weight);
|
||||
void Task_DisplayCaughtMonDexPage(u8);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ enum PokedexAreaScreenState
|
|||
DEX_UPDATE_AREA_SCREEN
|
||||
};
|
||||
|
||||
void DisplayPokedexAreaScreen(u16 species, u8 *screenSwitchState, enum TimeOfDay timeOfDay, enum PokedexAreaScreenState areaState);
|
||||
void ShowPokedexAreaScreen(u16 species, u8 *screenSwitchState);
|
||||
void DisplayPokedexAreaScreen(enum Species species, u8 *screenSwitchState, enum TimeOfDay timeOfDay, enum PokedexAreaScreenState areaState);
|
||||
|
||||
#endif // GUARD_POKEDEX_AREA_SCREEN_H
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ extern u8 gDexCryScreenState;
|
|||
|
||||
bool8 LoadCryWaveformWindow(struct CryScreenWindow *window, u8 windowId);
|
||||
void UpdateCryWaveformWindow(u8 windowId);
|
||||
void CryScreenPlayButton(u16 species);
|
||||
void CryScreenPlayButton(enum Species species);
|
||||
bool8 LoadCryMeter(struct CryScreenWindow *window, u8 windowId);
|
||||
void FreeCryScreen(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ enum MonData {
|
|||
|
||||
struct PokemonSubstruct0
|
||||
{
|
||||
u16 species:11; // 2047 species.
|
||||
enum Species species:11; // 2047 species.
|
||||
enum Type teraType:5; // 30 types.
|
||||
u16 heldItem:10; // 1023 items.
|
||||
u16 unused_02:6;
|
||||
|
|
@ -336,7 +336,7 @@ struct Volatiles
|
|||
|
||||
struct BattlePokemon
|
||||
{
|
||||
/*0x00*/ u16 species;
|
||||
/*0x00*/ enum Species species;
|
||||
/*0x02*/ u16 attack;
|
||||
/*0x04*/ u16 defense;
|
||||
/*0x06*/ u16 speed;
|
||||
|
|
@ -622,7 +622,7 @@ struct LevelUpMove
|
|||
struct FormChange
|
||||
{
|
||||
u16 method;
|
||||
u16 targetSpecies;
|
||||
enum Species targetSpecies;
|
||||
u16 param1;
|
||||
u16 param2;
|
||||
u16 param3;
|
||||
|
|
@ -632,7 +632,7 @@ struct FormChange
|
|||
struct FormChangeContext
|
||||
{
|
||||
enum FormChanges method:16;
|
||||
u16 currentSpecies;
|
||||
enum Species currentSpecies;
|
||||
u16 partyItemUsed;
|
||||
u16 multichoiceSelection;
|
||||
u16 heldItem;
|
||||
|
|
@ -729,15 +729,15 @@ void ZeroBoxMonData(struct BoxPokemon *boxMon);
|
|||
void ZeroMonData(struct Pokemon *mon);
|
||||
void ZeroPlayerPartyMons(void);
|
||||
void ZeroEnemyPartyMons(void);
|
||||
u32 GetMonPersonality(u16 species, u8 gender, u8 nature, u8 unownLetter);
|
||||
void CreateMon(struct Pokemon *mon, u16 species, u8 level, u32 personality, struct OriginalTrainerId);
|
||||
void CreateRandomMon(struct Pokemon *mon, u16 species, u8 level);
|
||||
void CreateRandomMonWithIVs(struct Pokemon *mon, u16 species, u8 level, u8 fixedIv);
|
||||
void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u32 personality, struct OriginalTrainerId);
|
||||
void CreateMonWithIVs(struct Pokemon *mon, u16 species, u8 level, u32 personality, struct OriginalTrainerId trainerId, u8 fixedIV);
|
||||
u32 GetMonPersonality(enum Species species, u8 gender, u8 nature, u8 unownLetter);
|
||||
void CreateMon(struct Pokemon *mon, enum Species species, u8 level, u32 personality, struct OriginalTrainerId);
|
||||
void CreateRandomMon(struct Pokemon *mon, enum Species species, u8 level);
|
||||
void CreateRandomMonWithIVs(struct Pokemon *mon, enum Species species, u8 level, u8 fixedIv);
|
||||
void CreateBoxMon(struct BoxPokemon *boxMon, enum Species species, u8 level, u32 personality, struct OriginalTrainerId);
|
||||
void CreateMonWithIVs(struct Pokemon *mon, enum Species species, u8 level, u32 personality, struct OriginalTrainerId trainerId, u8 fixedIV);
|
||||
void SetBoxMonIVs(struct BoxPokemon *mon, u8 fixedIV);
|
||||
void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level);
|
||||
void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality);
|
||||
void CreateMaleMon(struct Pokemon *mon, enum Species species, u8 level);
|
||||
void CreateMonWithIVsPersonality(struct Pokemon *mon, enum Species species, u8 level, u32 ivs, u32 personality);
|
||||
void CreateBattleTowerMon(struct Pokemon *mon, struct BattleTowerPokemon *src);
|
||||
void CreateBattleTowerMon_HandleLevel(struct Pokemon *mon, struct BattleTowerPokemon *src, bool8 lvl50);
|
||||
void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId);
|
||||
|
|
@ -767,9 +767,9 @@ u8 CountAliveMonsInBattle(u8 caseId, enum BattlerId battler);
|
|||
u8 GetDefaultMoveTarget(enum BattlerId battler);
|
||||
u8 GetMonGender(struct Pokemon *mon);
|
||||
u8 GetBoxMonGender(struct BoxPokemon *boxMon);
|
||||
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality);
|
||||
bool32 IsPersonalityFemale(u16 species, u32 personality);
|
||||
u32 GetUnownSpeciesId(u32 personality);
|
||||
u8 GetGenderFromSpeciesAndPersonality(enum Species species, u32 personality);
|
||||
bool32 IsPersonalityFemale(enum Species species, u32 personality);
|
||||
enum Species GetUnownSpeciesId(u32 personality);
|
||||
void SetMultiuseSpriteTemplateToPokemon(u16 speciesTag, enum BattlerPosition battlerPosition);
|
||||
void SetMultiuseSpriteTemplateToTrainerBack(enum TrainerPicID trainerPicId, enum BattlerPosition battlerPosition);
|
||||
void SetMultiuseSpriteTemplateToTrainerFront(enum TrainerPicID trainerPicId, enum BattlerPosition battlerPosition);
|
||||
|
|
@ -796,33 +796,33 @@ u8 CalculateEnemyPartyCount(void);
|
|||
u8 CalculateEnemyPartyCountInSide(enum BattlerId battler);
|
||||
u8 GetMonsStateToDoubles(void);
|
||||
u8 GetMonsStateToDoubles_2(void);
|
||||
enum Ability GetAbilityBySpecies(u16 species, u8 abilityNum);
|
||||
enum Ability GetAbilityBySpecies(enum Species species, u8 abilityNum);
|
||||
enum Ability GetMonAbility(struct Pokemon *mon);
|
||||
void CreateSecretBaseEnemyParty(struct SecretBase *secretBaseRecord);
|
||||
enum TrainerPicID GetSecretBaseTrainerPicIndex(void);
|
||||
enum TrainerClassID GetSecretBaseTrainerClass(void);
|
||||
bool8 IsPlayerPartyAndPokemonStorageFull(void);
|
||||
bool8 IsPokemonStorageFull(void);
|
||||
const u8 *GetSpeciesName(u16 species);
|
||||
const u8 *GetSpeciesCategory(u16 species);
|
||||
const u8 *GetSpeciesPokedexDescription(u16 species);
|
||||
u32 GetSpeciesHeight(u16 species);
|
||||
u32 GetSpeciesWeight(u16 species);
|
||||
enum Type GetSpeciesType(u16 species, u8 slot);
|
||||
enum Ability GetSpeciesAbility(u16 species, u8 slot);
|
||||
u32 GetSpeciesBaseHP(u16 species);
|
||||
u32 GetSpeciesBaseAttack(u16 species);
|
||||
u32 GetSpeciesBaseDefense(u16 species);
|
||||
u32 GetSpeciesBaseSpAttack(u16 species);
|
||||
u32 GetSpeciesBaseSpDefense(u16 species);
|
||||
u32 GetSpeciesBaseSpeed(u16 species);
|
||||
u32 GetSpeciesBaseStat(u16 species, u32 statIndex);
|
||||
const struct LevelUpMove *GetSpeciesLevelUpLearnset(u16 species);
|
||||
const u16 *GetSpeciesTeachableLearnset(u16 species);
|
||||
const u16 *GetSpeciesEggMoves(u16 species);
|
||||
const struct Evolution *GetSpeciesEvolutions(u16 species);
|
||||
const u16 *GetSpeciesFormTable(u16 species);
|
||||
const struct FormChange *GetSpeciesFormChanges(u16 species);
|
||||
const u8 *GetSpeciesName(enum Species species);
|
||||
const u8 *GetSpeciesCategory(enum Species species);
|
||||
const u8 *GetSpeciesPokedexDescription(enum Species species);
|
||||
u32 GetSpeciesHeight(enum Species species);
|
||||
u32 GetSpeciesWeight(enum Species species);
|
||||
enum Type GetSpeciesType(enum Species species, u8 slot);
|
||||
enum Ability GetSpeciesAbility(enum Species species, u8 slot);
|
||||
u32 GetSpeciesBaseHP(enum Species species);
|
||||
u32 GetSpeciesBaseAttack(enum Species species);
|
||||
u32 GetSpeciesBaseDefense(enum Species species);
|
||||
u32 GetSpeciesBaseSpAttack(enum Species species);
|
||||
u32 GetSpeciesBaseSpDefense(enum Species species);
|
||||
u32 GetSpeciesBaseSpeed(enum Species species);
|
||||
u32 GetSpeciesBaseStat(enum Species species, u32 statIndex);
|
||||
const struct LevelUpMove *GetSpeciesLevelUpLearnset(enum Species species);
|
||||
const u16 *GetSpeciesTeachableLearnset(enum Species species);
|
||||
const u16 *GetSpeciesEggMoves(enum Species species);
|
||||
const struct Evolution *GetSpeciesEvolutions(enum Species species);
|
||||
const u16 *GetSpeciesFormTable(enum Species species);
|
||||
const struct FormChange *GetSpeciesFormChanges(enum Species species);
|
||||
u8 CalculatePPWithBonus(enum Move move, u8 ppBonuses, u8 moveIndex);
|
||||
void RemoveMonPPBonus(struct Pokemon *mon, u8 moveIndex);
|
||||
void RemoveBoxMonPPBonus(struct BoxPokemon *mon, u8 moveIndex);
|
||||
|
|
@ -840,16 +840,16 @@ u32 GetGMaxTargetSpecies(u32 species);
|
|||
bool32 DoesMonMeetAdditionalConditions(struct Pokemon *mon, const struct EvolutionParam *params, struct Pokemon *tradePartner, u32 partyId, bool32 *canStopEvo, enum EvoState evoState);
|
||||
u32 GetEvolutionTargetSpecies(struct Pokemon *mon, enum EvolutionMode mode, u16 evolutionItem, struct Pokemon *tradePartner, bool32 *canStopEvo, enum EvoState evoState);
|
||||
bool8 IsMonPastEvolutionLevel(struct Pokemon *mon);
|
||||
u16 NationalPokedexNumToSpecies(enum NationalDexOrder nationalNum);
|
||||
enum Species NationalPokedexNumToSpecies(enum NationalDexOrder nationalNum);
|
||||
u32 NationalToRegionalOrder(enum NationalDexOrder nationalNum);
|
||||
enum HoennDexOrder NationalToHoennOrder(enum NationalDexOrder nationalNum);
|
||||
enum NationalDexOrder SpeciesToNationalPokedexNum(u16 species);
|
||||
u32 SpeciesToRegionalPokedexNum(u16 species);
|
||||
enum HoennDexOrder SpeciesToHoennPokedexNum(u16 species);
|
||||
enum NationalDexOrder SpeciesToNationalPokedexNum(enum Species species);
|
||||
u32 SpeciesToRegionalPokedexNum(enum Species species);
|
||||
enum HoennDexOrder SpeciesToHoennPokedexNum(enum Species species);
|
||||
enum NationalDexOrder RegionalToNationalOrder(u32 regionNum);
|
||||
enum NationalDexOrder HoennToNationalOrder(enum HoennDexOrder hoennNum);
|
||||
enum KantoDexOrder SpeciesToKantoDexNum(u16 species);
|
||||
bool32 IsSpeciesInKantoDex(u16 species);
|
||||
enum KantoDexOrder SpeciesToKantoDexNum(enum Species species);
|
||||
bool32 IsSpeciesInKantoDex(enum Species species);
|
||||
enum NationalDexOrder KantoToNationalDexNum(enum KantoDexOrder kantoNum);
|
||||
enum KantoDexOrder NationalToKantoDexNum(enum NationalDexOrder natDexNum);
|
||||
enum NationalDexOrder HoennToNationalDexNum(enum HoennDexOrder hoennNum);
|
||||
|
|
@ -867,22 +867,22 @@ u8 CalculateFriendshipBonuses(struct Pokemon *mon, u32 modifier, enum HoldEffect
|
|||
void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies);
|
||||
u16 GetMonEVCount(struct Pokemon *mon);
|
||||
bool8 TryIncrementMonLevel(struct Pokemon *mon);
|
||||
u8 CanLearnTeachableMove(u16 species, enum Move move);
|
||||
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves);
|
||||
u16 SpeciesToPokedexNum(u16 species);
|
||||
bool32 IsSpeciesInHoennDex(u16 species);
|
||||
u8 CanLearnTeachableMove(enum Species species, enum Move move);
|
||||
u8 GetLevelUpMovesBySpecies(enum Species species, u16 *moves);
|
||||
u16 SpeciesToPokedexNum(enum Species species);
|
||||
bool32 IsSpeciesInHoennDex(enum Species species);
|
||||
u16 GetBattleBGM(void);
|
||||
void PlayBattleBGM(void);
|
||||
void PlayMapChosenOrBattleBGM(u16 songId);
|
||||
void CreateTask_PlayMapChosenOrBattleBGM(u16 songId);
|
||||
const u16 *GetMonFrontSpritePal(struct Pokemon *mon);
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, bool32 isShiny, u32 personality);
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonalityIsEgg(u16 species, bool32 isShiny, u32 personality, bool32 isEgg);
|
||||
const u16 *GetMonSpritePalFromSpecies(u16 species, bool32 isShiny, bool32 isFemale);
|
||||
const u16 *GetMonSpritePalFromSpeciesIsEgg(u16 species, bool32 isShiny, bool32 isFemale, bool32 isEgg);
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonality(enum Species species, bool32 isShiny, u32 personality);
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonalityIsEgg(enum Species species, bool32 isShiny, u32 personality, bool32 isEgg);
|
||||
const u16 *GetMonSpritePalFromSpecies(enum Species species, bool32 isShiny, bool32 isFemale);
|
||||
const u16 *GetMonSpritePalFromSpeciesIsEgg(enum Species species, bool32 isShiny, bool32 isFemale, bool32 isEgg);
|
||||
bool32 IsMoveHM(enum Move move);
|
||||
bool32 CannotForgetMove(enum Move move);
|
||||
bool8 IsMonSpriteNotFlipped(u16 species);
|
||||
bool8 IsMonSpriteNotFlipped(enum Species species);
|
||||
s8 GetMonFlavorRelation(struct Pokemon *mon, enum Flavor flavor);
|
||||
s8 GetFlavorRelationByPersonality(u32 personality, enum Flavor flavor);
|
||||
bool8 IsTradedMon(struct Pokemon *mon);
|
||||
|
|
@ -893,28 +893,28 @@ void SetMonPreventsSwitchingString(void);
|
|||
void SetWildMonHeldItem(void);
|
||||
bool8 IsMonShiny(struct Pokemon *mon);
|
||||
const u8 *GetTrainerPartnerName(void);
|
||||
void BattleAnimateFrontSprite(struct Sprite *sprite, u16 species, bool8 noCry, u8 panMode);
|
||||
void DoMonFrontSpriteAnimation(struct Sprite *sprite, u16 species, bool8 noCry, u8 panModeAnimFlag);
|
||||
void PokemonSummaryDoMonAnimation(struct Sprite *sprite, u16 species, bool8 oneFrame);
|
||||
void BattleAnimateFrontSprite(struct Sprite *sprite, enum Species species, bool8 noCry, u8 panMode);
|
||||
void DoMonFrontSpriteAnimation(struct Sprite *sprite, enum Species species, bool8 noCry, u8 panModeAnimFlag);
|
||||
void PokemonSummaryDoMonAnimation(struct Sprite *sprite, enum Species species, bool8 oneFrame);
|
||||
void StopPokemonAnimationDelayTask(void);
|
||||
void BattleAnimateBackSprite(struct Sprite *sprite, u16 species);
|
||||
void BattleAnimateBackSprite(struct Sprite *sprite, enum Species species);
|
||||
u8 GetOpposingLinkMultiBattlerId(bool8 rightSide, u8 multiplayerId);
|
||||
enum TrainerPicID FacilityClassToPicIndex(u16 facilityClass);
|
||||
enum TrainerPicID PlayerGenderToFrontTrainerPicId(enum Gender playerGender);
|
||||
void HandleSetPokedexFlag(enum NationalDexOrder nationalNum, u8 caseId, u32 personality);
|
||||
void HandleSetPokedexFlagFromMon(struct Pokemon *mon, u32 caseId);
|
||||
bool8 HasTwoFramesAnimation(u16 species);
|
||||
bool8 HasTwoFramesAnimation(enum Species species);
|
||||
struct MonSpritesGfxManager *CreateMonSpritesGfxManager(u8 managerId, u8 mode);
|
||||
void DestroyMonSpritesGfxManager(u8 managerId);
|
||||
u8 *MonSpritesGfxManager_GetSpritePtr(u8 managerId, u8 spriteNum);
|
||||
u16 GetFormSpeciesId(u16 speciesId, u8 formId);
|
||||
u16 GetFormSpeciesId(enum Species speciesId, u8 formId);
|
||||
u8 GetFormIdFromFormSpeciesId(u16 formSpeciesId);
|
||||
u32 GetFormChangeTargetSpecies_Internal(struct FormChangeContext ctx);
|
||||
bool32 DoesSpeciesHaveFormChangeMethod(u16 species, enum FormChanges method);
|
||||
bool32 DoesSpeciesHaveFormChangeMethod(enum Species species, enum FormChanges method);
|
||||
u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove);
|
||||
void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv);
|
||||
void TrySpecialOverworldEvo(void);
|
||||
bool32 SpeciesHasGenderDifferences(u16 species);
|
||||
bool32 SpeciesHasGenderDifferences(enum Species species);
|
||||
bool32 TryFormChange(struct Pokemon *mon, enum FormChanges method);
|
||||
bool32 TryBoxMonFormChange(struct BoxPokemon *boxMon, enum FormChanges method);
|
||||
void TryToSetBattleFormChangeMoves(struct Pokemon *mon, enum FormChanges method);
|
||||
|
|
@ -922,10 +922,10 @@ u32 GetMonFriendshipScore(struct Pokemon *pokemon);
|
|||
u32 GetMonAffectionHearts(struct Pokemon *pokemon);
|
||||
void UpdateMonPersonality(struct BoxPokemon *boxMon, u32 personality);
|
||||
u8 CalculatePartyCount(struct Pokemon *party);
|
||||
u16 SanitizeSpeciesId(u16 species);
|
||||
bool32 IsSpeciesEnabled(u16 species);
|
||||
enum PokemonCry GetCryIdBySpecies(u16 species);
|
||||
u16 GetSpeciesPreEvolution(u16 species);
|
||||
u16 SanitizeSpeciesId(enum Species species);
|
||||
bool32 IsSpeciesEnabled(enum Species species);
|
||||
enum PokemonCry GetCryIdBySpecies(enum Species species);
|
||||
u16 GetSpeciesPreEvolution(enum Species species);
|
||||
void HealPokemon(struct Pokemon *mon);
|
||||
void HealBoxPokemon(struct BoxPokemon *boxMon);
|
||||
void UpdateDaysPassedSinceFormChange(u16 days);
|
||||
|
|
@ -945,8 +945,8 @@ u32 GiveScriptedMonToPlayer(struct Pokemon *mon, u8 slot);
|
|||
void ChangePokemonNicknameWithCallback(void (*callback)(void));
|
||||
|
||||
// pokefirered
|
||||
u16 GetFirstPartnerMove(u16 species);
|
||||
enum Move GetFirstPartnerMove(enum Species species);
|
||||
u8 GetPlayerPartyHighestLevel(void);
|
||||
bool8 CheckBattleTypeGhost(struct Pokemon *mon, enum BattlerId battler);
|
||||
bool32 CheckBattleTypeGhost(struct Pokemon *mon, enum BattlerId battler);
|
||||
|
||||
#endif // GUARD_POKEMON_H
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ enum AnimFunctionIDs
|
|||
ANIM_COUNT,
|
||||
};
|
||||
|
||||
enum BackAnim GetSpeciesBackAnimSet(u16 species);
|
||||
enum BackAnim GetSpeciesBackAnimSet(enum Species species);
|
||||
void LaunchAnimationTaskForFrontSprite(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId);
|
||||
void StartMonSummaryAnimation(struct Sprite *sprite, enum AnimFunctionIDs frontAnimId);
|
||||
void LaunchAnimationTaskForBackSprite(struct Sprite *sprite, enum BackAnim backAnimSet);
|
||||
|
|
|
|||
|
|
@ -8,30 +8,30 @@ extern const struct SpritePalette gMonIconPaletteTable[];
|
|||
extern const u16 gMonIconPalettes[][16];
|
||||
// extern const u8 gMonIconPaletteIndices[];
|
||||
|
||||
const u8 *GetMonIconPtr(u16 speciesId, u32 personality);
|
||||
const u8 *GetMonIconPtrIsEgg(u16 species, u32 personality, bool32 isEgg);
|
||||
const u8 *GetMonIconTiles(u16 iconSpecies, bool32 extra);
|
||||
const u8 *GetMonIconTilesIsEgg(u16 species, u32 personality, bool32 isEgg);
|
||||
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
|
||||
const u8 *GetMonIconPtr(enum Species species, u32 personality);
|
||||
const u8 *GetMonIconPtrIsEgg(enum Species species, u32 personality, bool32 isEgg);
|
||||
const u8 *GetMonIconTiles(enum Species species, bool32 extra);
|
||||
const u8 *GetMonIconTilesIsEgg(enum Species species, u32 personality, bool32 isEgg);
|
||||
const u16 *GetValidMonIconPalettePtr(enum Species species);
|
||||
void LoadMonIconPalettes(void);
|
||||
void FreeMonIconPalettes(void);
|
||||
u16 GetIconSpeciesNoPersonality(u16);
|
||||
u8 CreateMonIconNoPersonality(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority);
|
||||
u16 GetIconSpeciesNoPersonality(enum Species species);
|
||||
u8 CreateMonIconNoPersonality(enum Species species, SpriteCallback callback, s16 x, s16 y, u8 subpriority);
|
||||
void FreeAndDestroyMonIconSprite(struct Sprite *);
|
||||
u16 GetUnownLetterByPersonality(u32 personality);
|
||||
void SpriteCB_MonIcon(struct Sprite *);
|
||||
u8 CreateMonIcon(u16 species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality);
|
||||
u8 CreateMonIconIsEgg(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 isEgg);
|
||||
u8 CreateMonIcon(enum Species species, SpriteCallback callback, s16 x, s16 y, u8 subpriority, u32 personality);
|
||||
u8 CreateMonIconIsEgg(enum Species species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 isEgg);
|
||||
u8 UpdateMonIconFrame(struct Sprite *sprite);
|
||||
void LoadMonIconPalette(u16 iconId);
|
||||
void LoadMonIconPalettePersonality(u16 species, u32 personality);
|
||||
void FreeMonIconPalette(u16 iconId);
|
||||
void LoadMonIconPalette(enum Species species);
|
||||
void LoadMonIconPalettePersonality(enum Species species, u32 personality);
|
||||
void FreeMonIconPalette(enum Species species);
|
||||
void SetPartyHPBarSprite(struct Sprite *sprite, u8 animNum);
|
||||
u8 GetMonIconPaletteIndexFromSpecies(u16 species);
|
||||
u16 GetIconSpecies(u16 species, u32 personality);
|
||||
u8 GetMonIconPaletteIndexFromSpecies(enum Species species);
|
||||
enum Species GetIconSpecies(enum Species species, u32 personality);
|
||||
void TryLoadAllMonIconPalettesAtOffset(u16 offset);
|
||||
u8 GetValidMonIconPalIndex(u16 species);
|
||||
void SafeLoadMonIconPalette(u16 species);
|
||||
void SafeFreeMonIconPalette(u16 species);
|
||||
u8 GetValidMonIconPalIndex(enum Species species);
|
||||
void SafeLoadMonIconPalette(enum Species species);
|
||||
void SafeFreeMonIconPalette(enum Species species);
|
||||
|
||||
#endif // GUARD_POKEMON_ICON_H
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
#include "main.h"
|
||||
|
||||
void ResetPokemonJumpRecords(void);
|
||||
bool32 IsSpeciesAllowedInPokemonJump(u16 species);
|
||||
void StartPokemonJump(u16 species, MainCallback callback);
|
||||
bool32 IsSpeciesAllowedInPokemonJump(enum Species species);
|
||||
void StartPokemonJump(u16 partyId, MainCallback callback);
|
||||
|
||||
#endif // GUARD_POKEMON_JUMP_H
|
||||
|
|
|
|||
|
|
@ -8,9 +8,9 @@ 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 StartUseItemAnim_Normal(u8 slotId, u16 itemId, MainCallback callback);
|
||||
void StartUseItemAnim_CantEvolve(u8 slotId, u16 itemId, MainCallback callback);
|
||||
void StartUseItemAnim_Normal(u8 slotId, enum Item itemId, MainCallback callback);
|
||||
void StartUseItemAnim_CantEvolve(u8 slotId, enum Item itemId, MainCallback callback);
|
||||
bool32 PSA_IsCancelDisabled(void);
|
||||
void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, u16 itemId, u16 moveId, MainCallback callback);
|
||||
void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, enum Item itemId, enum Move moveId, MainCallback callback);
|
||||
|
||||
#endif // GUARD_POKEMON_SPECIAL_ANIM_H
|
||||
|
|
|
|||
|
|
@ -31,8 +31,8 @@ struct PokemonSpecialAnim
|
|||
/*0x0084*/ u8 nameOfMoveToTeach[MOVE_NAME_LENGTH + 1];
|
||||
/*0x0091*/ bool8 cancelDisabled;
|
||||
/*0x0092*/ u16 state;
|
||||
/*0x0094*/ u16 species;
|
||||
/*0x0096*/ u16 itemId;
|
||||
/*0x0094*/ enum Species species;
|
||||
/*0x0096*/ enum Item itemId;
|
||||
/*0x0098*/ u16 animType;
|
||||
/*0x009a*/ u16 slotId;
|
||||
/*0x009c*/ u16 closeness;
|
||||
|
|
@ -45,13 +45,13 @@ struct PokemonSpecialAnim
|
|||
struct PokemonSpecialAnim * GetPSAStruct(void);
|
||||
struct Pokemon * PSA_GetPokemon(void);
|
||||
struct PokemonSpecialAnimScene * PSA_GetSceneWork(void);
|
||||
u16 PSA_GetItemId(void);
|
||||
enum Item 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);
|
||||
enum Species PSA_GetMonSpecies(void);
|
||||
u32 PSA_GetMonPersonality(void);
|
||||
|
||||
void InitPokemonSpecialAnimScene(struct PokemonSpecialAnimScene * buffer, u16 animType);
|
||||
|
|
@ -73,8 +73,8 @@ 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);
|
||||
void PSA_SetUpItemUseOnMonAnim(enum Item itemId, u8 closeness, bool32 a2);
|
||||
void CreateItemIconSpriteAtMaxCloseness(enum Item itemId);
|
||||
bool8 PSA_IsItemUseOnMonAnimActive(void);
|
||||
void PSA_UseItem_CleanUpForCancel(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ struct PokemonShadowSettings
|
|||
|
||||
struct PokemonSpriteVisualizer
|
||||
{
|
||||
u16 currentmonId;
|
||||
enum Species currentmonId;
|
||||
u8 currentmonWindowId;
|
||||
u8 InstructionsWindowId;
|
||||
u8 frontspriteId;
|
||||
|
|
|
|||
|
|
@ -28,44 +28,41 @@ struct PokemonStorage
|
|||
|
||||
extern struct PokemonStorage *gPokemonStoragePtr;
|
||||
|
||||
void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 bytesToBuffer);
|
||||
u8 CountMonsInBox(u8 boxId);
|
||||
s16 GetFirstFreeBoxSpot(u8 boxId);
|
||||
u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore);
|
||||
u16 CountPartyAliveNonEggMons_IgnoreVar0x8004Slot(void);
|
||||
u8 CountPartyMons(void);
|
||||
u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n);
|
||||
void ShowPokemonStorageSystemPC(void);
|
||||
void ResetPokemonStorageSystem(void);
|
||||
bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition);
|
||||
bool8 CheckFreePokemonStorageSpace(void);
|
||||
s16 AdvanceStorageMonIndex(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 mode);
|
||||
s16 CompactPartySlots(void);
|
||||
u8 StorageGetCurrentBox(void);
|
||||
u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request);
|
||||
void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value);
|
||||
u32 GetCurrentBoxMonData(u8 boxPosition, s32 request);
|
||||
void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value);
|
||||
void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst);
|
||||
u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition);
|
||||
void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick);
|
||||
s16 GetFirstFreeBoxSpot(u8 boxId);
|
||||
struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition);
|
||||
u16 CountPartyAliveNonEggMons_IgnoreVar0x8004Slot(void);
|
||||
u32 CountAllStorageMons(void);
|
||||
u32 CountPartyNonEggMons(void);
|
||||
u32 CountStorageNonEggMons(void);
|
||||
u32 GetAndCopyBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, void *dst);
|
||||
void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src);
|
||||
u32 GetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request);
|
||||
u32 GetBoxMonLevelAt(u8 boxId, u8 boxPosition);
|
||||
u32 GetCurrentBoxMonData(u8 boxPosition, s32 request);
|
||||
u8 *GetBoxNamePtr(u8 boxId);
|
||||
u8 *StringCopyAndFillWithSpaces(u8 *dst, const u8 *src, u16 n);
|
||||
u8 CountMonsInBox(u8 boxId);
|
||||
u8 CountPartyAliveNonEggMonsExcept(u8 slotToIgnore);
|
||||
u8 CountPartyMons(void);
|
||||
u8 StorageGetCurrentBox(void);
|
||||
void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst);
|
||||
void CB2_ReturnToPokeStorage(void);
|
||||
void ChooseMonFromStorage();
|
||||
void CopyBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *dst);
|
||||
void CreateBoxMonAt(u8 boxId, u8 boxPosition, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 personality, u8 otIDType, u32 otID);
|
||||
void ZeroBoxMonAt(u8 boxId, u8 boxPosition);
|
||||
void BoxMonAtToMon(u8 boxId, u8 boxPosition, struct Pokemon *dst);
|
||||
struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 boxPosition);
|
||||
u8 *GetBoxNamePtr(u8 boxId);
|
||||
s16 AdvanceStorageMonIndex(struct BoxPokemon *boxMons, u8 currIndex, u8 maxIndex, u8 mode);
|
||||
bool8 CheckFreePokemonStorageSpace(void);
|
||||
bool32 CheckBoxMonSanityAt(u32 boxId, u32 boxPosition);
|
||||
u32 CountStorageNonEggMons(void);
|
||||
u32 CountAllStorageMons(void);
|
||||
bool32 AnyStorageMonWithMove(u16 moveId);
|
||||
|
||||
void CB2_ReturnToPokeStorage(void);
|
||||
|
||||
void DrawTextWindowAndBufferTiles(const u8 *string, void *dst, u8 zero1, u8 zero2, s32 bytesToBuffer);
|
||||
void EnterPokeStorage(u8 boxOption);
|
||||
u32 CountPartyNonEggMons(void);
|
||||
void ChooseMonFromStorage();
|
||||
void GetBoxMonNickAt(u8 boxId, u8 boxPosition, u8 *dst);
|
||||
void RemoveSelectedPcMon(struct Pokemon *mon);
|
||||
void ResetPokemonStorageSystem(void);
|
||||
void SetBoxMonAt(u8 boxId, u8 boxPosition, struct BoxPokemon *src);
|
||||
void SetBoxMonDataAt(u8 boxId, u8 boxPosition, s32 request, const void *value);
|
||||
void SetBoxMonNickAt(u8 boxId, u8 boxPosition, const u8 *nick);
|
||||
void SetCurrentBoxMonData(u8 boxPosition, s32 request, const void *value);
|
||||
void ShowPokemonStorageSystemPC(void);
|
||||
void ZeroBoxMonAt(u8 boxId, u8 boxPosition);
|
||||
|
||||
#endif // GUARD_POKEMON_STORAGE_SYSTEM_H
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ extern const struct SpritePalette gSpritePal_CategoryIcons;
|
|||
extern const struct SpriteTemplate gSpriteTemplate_CategoryIcons;
|
||||
extern MainCallback gInitialSummaryScreenCallback;
|
||||
|
||||
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, void (*callback)(void), u16 newMove);
|
||||
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *mons, u8 monIndex, void (*callback)(void), enum Move newMove);
|
||||
u8 GetMoveSlotToReplace(void);
|
||||
void SummaryScreen_SetUnknownTaskId(u8 a0);
|
||||
void SummaryScreen_DestroyUnknownTask(void);
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ struct QuestLogEvent_SwitchedPartyOrder
|
|||
// QL_EVENT_WITHDREW_ITEM_PC
|
||||
struct QuestLogEvent_Item
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u16 unused;
|
||||
u16 species;
|
||||
u16 itemParam;
|
||||
|
|
@ -154,7 +154,7 @@ struct QuestLogEvent_FieldMove
|
|||
struct QuestLogEvent_Shop
|
||||
{
|
||||
u32 totalMoney; // Total amount of money spent buying or earned selling
|
||||
u16 lastItemId;
|
||||
enum Item lastItemId;
|
||||
u16 itemQuantity; // Total number of items bought or sold
|
||||
u8 mapSec;
|
||||
bool8 hasMultipleTransactions;
|
||||
|
|
@ -164,7 +164,7 @@ struct QuestLogEvent_Shop
|
|||
// QL_EVENT_OBTAINED_STORY_ITEM
|
||||
struct QuestLogEvent_StoryItem
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u8 mapSec;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ bool8 (*ScriptMenu_HidePokemonPic(void))(void);
|
|||
bool8 ScriptMenu_Multichoice(u8 left, u8 top, enum MultichoiceID multichoiceId, bool8 ignoreBPress);
|
||||
bool8 ScriptMenu_MultichoiceDynamic(u8 left, u8 top, u8 argc, struct ListMenuItem *items, bool8 ignoreBPress, u8 maxBeforeScroll, u32 initialRow, u32 callbackSet);
|
||||
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, enum MultichoiceID multichoiceId, bool8 ignoreBpress, u8 columnCount);
|
||||
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
|
||||
bool8 ScriptMenu_ShowPokemonPic(enum Species species, u8 x, u8 y);
|
||||
bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
|
||||
int ConvertPixelWidthToTileWidth(int width);
|
||||
int DisplayTextAndGetWidth(const u8 *str, int width);
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
#ifndef GUARD_SCRIPT_POKEMON_UTIL_H
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL_H
|
||||
|
||||
u32 ScriptGiveMon(u16 species, u8 level, enum Item item);
|
||||
bool8 ScriptGiveEgg(u16 species);
|
||||
void ScriptSetMonMoveSlot(u8 partyIdx, u16 move, u8 slot);
|
||||
u32 ScriptGiveMon(enum Species species, u8 level, enum Item item);
|
||||
bool8 ScriptGiveEgg(enum Species species);
|
||||
void ScriptSetMonMoveSlot(u8 partyIdx, enum Move move, u8 slot);
|
||||
void HealPlayerParty(void);
|
||||
void ReducePlayerPartyToSelectedMons(void);
|
||||
void CreateScriptedWildMon(u16 species, u8 level, u16 item);
|
||||
void CreateScriptedDoubleWildMon(u16 species1, u8 level1, enum Item item1, u16 species2, u8 level2, enum Item item2);
|
||||
void CreateScriptedWildMon(enum Species species, u8 level, enum Item item);
|
||||
void CreateScriptedDoubleWildMon(enum Species species1, u8 level1, enum Item item1, enum Species species2, u8 level2, enum Item item2);
|
||||
|
||||
#endif //GUARD_SCRIPT_POKEMON_UTIL_H
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@ void CreatePokemartMenu(const u16 *itemsForSale);
|
|||
void CreateDecorationShop1Menu(const u16 *);
|
||||
void CreateDecorationShop2Menu(const u16 *);
|
||||
u8 GetMartFontId(void);
|
||||
void RecordItemTransaction(u16 itemId, u16 quantity, u8 logEventId);
|
||||
void RecordItemTransaction(enum Item itemId, u16 quantity, u8 logEventId);
|
||||
|
||||
#endif // GUARD_SHOP_H
|
||||
|
|
|
|||
|
|
@ -24,13 +24,13 @@ bool8 IsBGMPausedOrStopped(void);
|
|||
void FadeInBGM(u8 speed);
|
||||
void FadeOutBGM(u8 speed);
|
||||
bool8 IsBGMStopped(void);
|
||||
void PlayCry_Normal(u16 species, s8 pan);
|
||||
void PlayCry_NormalNoDucking(u16 species, s8 pan, s8 volume, u8 priority);
|
||||
void PlayCry_ByMode(u16 species, s8 pan, u8 mode);
|
||||
void PlayCry_ReleaseDouble(u16 species, s8 pan, u8 mode);
|
||||
void PlayCry_Script(u16 species, u8 mode);
|
||||
void PlayCry_DuckNoRestore(u16 species, s8 pan, u8 mode);
|
||||
void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode);
|
||||
void PlayCry_Normal(enum Species species, s8 pan);
|
||||
void PlayCry_NormalNoDucking(enum Species species, s8 pan, s8 volume, u8 priority);
|
||||
void PlayCry_ByMode(enum Species species, s8 pan, u8 mode);
|
||||
void PlayCry_ReleaseDouble(enum Species species, s8 pan, u8 mode);
|
||||
void PlayCry_Script(enum Species species, u8 mode);
|
||||
void PlayCry_DuckNoRestore(enum Species species, s8 pan, u8 mode);
|
||||
void PlayCryInternal(enum Species species, s8 pan, s8 volume, u8 priority, u8 mode);
|
||||
bool8 IsCryFinished(void);
|
||||
void StopCryAndClearCrySongs(void);
|
||||
void StopCry(void);
|
||||
|
|
|
|||
|
|
@ -7,15 +7,15 @@
|
|||
#define MON_PIC_AFFINE_NONE 3
|
||||
#define F_MON_PIC_NO_AFFINE (1 << 7)
|
||||
|
||||
u16 CreateMonFrontPicSprite(u16 species, bool32 isShiny, u32 personality, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 CreateMonPicSprite_Affine(u16 species, bool8 isShiny, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 CreateMonFrontPicSprite(enum Species species, bool32 isShiny, u32 personality, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 CreateMonPicSprite_Affine(enum Species species, bool8 isShiny, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 CreateTrainerFrontPicSprite(enum TrainerPicID trainerPicId, s16 x, s16 y, u8 paletteSlot);
|
||||
u8 CreateTrainerSprite(enum TrainerPicID trainerPicId, s16 x, s16 y, u8 subpriority, u8 *buffer);
|
||||
void CopyTrainerBackspriteFramesToDest(u8 trainerPicId, u8 *dest);
|
||||
void FreeAndDestroyMonPicSprite(u16 spriteId);
|
||||
void FreeAndDestroyMonPicSpriteNoPalette(u16 spriteId);
|
||||
void FreeAndDestroyTrainerPicSprite(u16);
|
||||
void LoadMonFrontPicInWindow(u16 species, bool32 isShiny, u32 personality, u8 paletteSlot, u8 windowId);
|
||||
void LoadMonFrontPicInWindow(enum Species species, bool32 isShiny, u32 personality, u8 paletteSlot, u8 windowId);
|
||||
void LoadTrainerFrontPicInWindow(enum TrainerPicID trainerPicID, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
|
||||
void ResetAllPicSprites(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ struct WildPokemon
|
|||
{
|
||||
u8 minLevel;
|
||||
u8 maxLevel;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
};
|
||||
|
||||
struct WildPokemonInfo
|
||||
|
|
@ -72,7 +72,7 @@ void SeedWildEncounterRng(u16 randVal);
|
|||
void ResetEncounterRateModifiers(void);
|
||||
bool8 TryStandardWildEncounter(u32 currMetatileAttrs);
|
||||
bool8 TryDoDoubleWildBattle(void);
|
||||
void CreateWildMon(u16 species, u8 level, u8 unownSlot);
|
||||
void CreateWildMon(enum Species species, u8 level, u8 unownSlot);
|
||||
u16 GetCurrentMapWildMonHeaderId(void);
|
||||
u8 ChooseWildMonIndex_Land(void);
|
||||
u8 ChooseWildMonIndex_WaterRock(void);
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ static void OakOldManBufferRunCommand(enum BattlerId battler)
|
|||
static void HandleInputChooseAction(enum BattlerId battler)
|
||||
{
|
||||
// Like player, but specifically for Rival in Oak's Lab
|
||||
u16 itemId = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8);
|
||||
enum Item itemId = gBattleResources->bufferA[battler][2] | (gBattleResources->bufferA[battler][3] << 8);
|
||||
|
||||
DoBounceEffect(battler, BOUNCE_HEALTHBOX, 7, 1);
|
||||
DoBounceEffect(battler, BOUNCE_MON, 7, 1);
|
||||
|
|
|
|||
17
src/berry.c
17
src/berry.c
|
|
@ -15,7 +15,7 @@
|
|||
#include "constants/event_object_movement.h"
|
||||
#include "constants/items.h"
|
||||
|
||||
static u16 BerryTypeToItemId(u16 berry);
|
||||
static enum Item BerryTypeToItemId(u16 berry);
|
||||
static u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree);
|
||||
static u8 GetNumStagesWateredByBerryTreeId(u8 id);
|
||||
static u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water);
|
||||
|
|
@ -28,7 +28,7 @@ static u8 GetWeedingBonusByBerryType(u8);
|
|||
static u8 GetPestsBonusByBerryType(u8);
|
||||
static void SetTreeMutations(u8 id, u8 berry);
|
||||
static u8 GetTreeMutationValue(u8 id);
|
||||
static u16 GetBerryPestSpecies(u8 berryId);
|
||||
static enum Species GetBerryPestSpecies(u8 berryId);
|
||||
static void TryForWeeds(struct BerryTree *tree);
|
||||
static void TryForPests(struct BerryTree *tree);
|
||||
static void AddTreeBonus(struct BerryTree *tree, u8 bonus);
|
||||
|
|
@ -1969,7 +1969,7 @@ u8 GetMulchByBerryTreeId(u8 id)
|
|||
return gSaveBlock3Ptr->berryTrees[id].mulch;
|
||||
}
|
||||
|
||||
u8 ItemIdToBerryType(u16 item)
|
||||
u8 ItemIdToBerryType(enum Item item)
|
||||
{
|
||||
u16 berry = item - FIRST_BERRY_INDEX;
|
||||
|
||||
|
|
@ -1979,9 +1979,9 @@ u8 ItemIdToBerryType(u16 item)
|
|||
return ITEM_TO_BERRY(item);
|
||||
}
|
||||
|
||||
static u16 BerryTypeToItemId(u16 berry)
|
||||
static enum Item BerryTypeToItemId(u16 berry)
|
||||
{
|
||||
u16 item = berry - 1;
|
||||
enum Item item = berry - 1;
|
||||
|
||||
if (item > LAST_BERRY_INDEX - FIRST_BERRY_INDEX)
|
||||
return FIRST_BERRY_INDEX;
|
||||
|
|
@ -2235,12 +2235,15 @@ bool8 ObjectEventInteractionBerryHasWeed(void)
|
|||
|
||||
bool8 ObjectEventInteractionBerryHasPests(void)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
if (!OW_BERRY_PESTS || !gSaveBlock3Ptr->berryTrees[GetObjectEventBerryTreeId(gSelectedObjectEvent)].pests)
|
||||
return FALSE;
|
||||
|
||||
species = GetBerryPestSpecies(gSaveBlock3Ptr->berryTrees[GetObjectEventBerryTreeId(gSelectedObjectEvent)].berry);
|
||||
if (species == SPECIES_NONE)
|
||||
return FALSE;
|
||||
|
||||
CreateScriptedWildMon(species, 14 + Random() % 3, ITEM_NONE);
|
||||
gSaveBlock3Ptr->berryTrees[GetObjectEventBerryTreeId(gSelectedObjectEvent)].pests = FALSE;
|
||||
return TRUE;
|
||||
|
|
@ -2408,7 +2411,7 @@ static void SetTreeMutations(u8 id, u8 berry)
|
|||
#endif
|
||||
}
|
||||
|
||||
static u16 GetBerryPestSpecies(u8 berryId)
|
||||
static enum Species GetBerryPestSpecies(u8 berryId)
|
||||
{
|
||||
#if OW_BERRY_PESTS == TRUE
|
||||
const struct Berry *berry = GetBerryInfo(berryId);
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ static void BerryPouchInitBgs(void);
|
|||
static bool8 BerryPouchLoadGfx(void);
|
||||
static bool8 AllocateListMenuBuffers(void);
|
||||
static void SetUpListMenuTemplate(void);
|
||||
static void GetBerryNameAndIndexForMenu(u8 * dest, u16 itemId);
|
||||
static void GetBerryNameAndIndexForMenu(u8 * dest, enum Item itemId);
|
||||
static void BerryPouchMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list);
|
||||
static void BerryPouchItemPrintFunc(u8 windowId, u32 itemId, u8 y);
|
||||
static void BerryPouchSetArrowCursorAt(u8 y, u8 colorIdx);
|
||||
|
|
@ -706,7 +706,7 @@ static void SetUpListMenuTemplate(void)
|
|||
gMultiuseListMenuTemplate.scrollMultiple = 0;
|
||||
}
|
||||
|
||||
static void GetBerryNameAndIndexForMenu(u8 * dest, u16 itemId)
|
||||
static void GetBerryNameAndIndexForMenu(u8 * dest, enum Item itemId)
|
||||
{
|
||||
StringCopy(gStringVar4, gText_FontSmall);
|
||||
StringAppend(gStringVar4, gText_NumberClear01);
|
||||
|
|
@ -724,7 +724,7 @@ static void CopySelectedListMenuItemName(s16 itemIdx, u8 * dest)
|
|||
StringCopy(dest, &sListMenuStrbuf[itemIdx * 27]);
|
||||
}
|
||||
|
||||
static void CreateBerryPouchItemIcon(u16 item, u8 iconSlot)
|
||||
static void CreateBerryPouchItemIcon(enum Item item, u8 iconSlot)
|
||||
{
|
||||
u8 *spriteIdPtr = &sResources->itemSpriteIds[iconSlot];
|
||||
|
||||
|
|
|
|||
144
src/daycare.c
144
src/daycare.c
|
|
@ -58,16 +58,16 @@ struct EggHatchData
|
|||
u8 windowId;
|
||||
u8 unused_9;
|
||||
u8 unused_A;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 textColor[3];
|
||||
};
|
||||
|
||||
// this file's functions
|
||||
static void ClearDaycareMonMail(struct DayCareMail *mail);
|
||||
static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare);
|
||||
static void SetInitialEggData(struct Pokemon *mon, enum Species species, struct DayCare *daycare);
|
||||
static void DaycarePrintMonInfo(u8 windowId, u32 daycareSlotId, u8 y);
|
||||
static u8 ModifyBreedingScoreForOvalCharm(u8 score);
|
||||
static u16 GetEggSpecies(u16 species);
|
||||
static enum Species GetEggSpecies(enum Species species);
|
||||
|
||||
static void Task_EggHatch(u8 taskID);
|
||||
static void CB2_EggHatch_0(void);
|
||||
|
|
@ -87,11 +87,11 @@ static void CreateEggShardSprite(u8 x, u8 y, s16 data1, s16 data2, s16 data3, u8
|
|||
static struct EggHatchData *sEggHatchData;
|
||||
|
||||
// RAM buffers used to assist with BuildEggMoveset()
|
||||
EWRAM_DATA static u16 sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0};
|
||||
EWRAM_DATA static u16 sHatchedEggFatherMoves[MAX_MON_MOVES] = {0};
|
||||
EWRAM_DATA static u16 sHatchedEggFinalMoves[MAX_MON_MOVES] = {0};
|
||||
EWRAM_DATA static u16 sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {0};
|
||||
EWRAM_DATA static u16 sHatchedEggMotherMoves[MAX_MON_MOVES] = {0};
|
||||
EWRAM_DATA static enum Move sHatchedEggLevelUpMoves[EGG_LVL_UP_MOVES_ARRAY_COUNT] = {0};
|
||||
EWRAM_DATA static enum Move sHatchedEggFatherMoves[MAX_MON_MOVES] = {0};
|
||||
EWRAM_DATA static enum Move sHatchedEggFinalMoves[MAX_MON_MOVES] = {0};
|
||||
EWRAM_DATA static enum Move sHatchedEggEggMoves[EGG_MOVES_ARRAY_COUNT] = {0};
|
||||
EWRAM_DATA static enum Move sHatchedEggMotherMoves[MAX_MON_MOVES] = {0};
|
||||
|
||||
static const struct WindowTemplate sDaycareLevelMenuWindowTemplate =
|
||||
{
|
||||
|
|
@ -134,9 +134,9 @@ static const struct ListMenuTemplate sDaycareListMenuLevelTemplate =
|
|||
};
|
||||
|
||||
static const struct {
|
||||
u16 currSpecies;
|
||||
u16 item;
|
||||
u16 babySpecies;
|
||||
enum Species currSpecies;
|
||||
enum Item item;
|
||||
enum Species babySpecies;
|
||||
} sIncenseBabyTable[] =
|
||||
{
|
||||
// Regular offspring, Item, Incense Offspring
|
||||
|
|
@ -479,8 +479,8 @@ static void TransferEggMoves(void)
|
|||
|
||||
for (i = 0; i < DAYCARE_MON_COUNT; i++)
|
||||
{
|
||||
u16 moveLearnerSpecies = GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[i].mon, MON_DATA_SPECIES);
|
||||
u16 eggSpecies = GetEggSpecies(moveLearnerSpecies);
|
||||
enum Species moveLearnerSpecies = GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[i].mon, MON_DATA_SPECIES);
|
||||
enum Species eggSpecies = GetEggSpecies(moveLearnerSpecies);
|
||||
|
||||
if (!GetBoxMonData(&gSaveBlock1Ptr->daycare.mons[i].mon, MON_DATA_SANITY_HAS_SPECIES))
|
||||
continue;
|
||||
|
|
@ -614,9 +614,9 @@ static void ApplyDaycareExperience(struct Pokemon *mon)
|
|||
CalculateMonStats(mon);
|
||||
}
|
||||
|
||||
static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon)
|
||||
static enum Species TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 experience;
|
||||
struct Pokemon pokemon;
|
||||
|
||||
|
|
@ -645,14 +645,14 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon)
|
|||
return species;
|
||||
}
|
||||
|
||||
static u16 TakeSelectedPokemonMonFromDaycareShiftSlots(struct DayCare *daycare, u8 slotId)
|
||||
static enum Species TakeSelectedPokemonMonFromDaycareShiftSlots(struct DayCare *daycare, u8 slotId)
|
||||
{
|
||||
u16 species = TakeSelectedPokemonFromDaycare(&daycare->mons[slotId]);
|
||||
enum Species species = TakeSelectedPokemonFromDaycare(&daycare->mons[slotId]);
|
||||
ShiftDaycareSlots(daycare);
|
||||
return species;
|
||||
}
|
||||
|
||||
u16 TakePokemonFromDaycare(void)
|
||||
enum Species TakePokemonFromDaycare(void)
|
||||
{
|
||||
return TakeSelectedPokemonMonFromDaycareShiftSlots(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004);
|
||||
}
|
||||
|
|
@ -755,7 +755,7 @@ static void UNUSED ClearAllDaycareData(struct DayCare *daycare)
|
|||
// Determines what the species of an Egg would be based on the given species.
|
||||
// It determines this by working backwards through the evolution chain of the
|
||||
// given species.
|
||||
static u16 GetEggSpecies(u16 species)
|
||||
static enum Species GetEggSpecies(enum Species species)
|
||||
{
|
||||
int i, j, k;
|
||||
bool8 found;
|
||||
|
|
@ -1032,7 +1032,7 @@ static void InheritAbility(struct Pokemon *egg, struct BoxPokemon *father, struc
|
|||
u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves)
|
||||
{
|
||||
u16 numEggMoves;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 i;
|
||||
const u16 *eggMoveLearnset;
|
||||
|
||||
|
|
@ -1049,7 +1049,7 @@ u8 GetEggMoves(struct Pokemon *pokemon, u16 *eggMoves)
|
|||
return numEggMoves;
|
||||
}
|
||||
|
||||
u8 GetEggMovesBySpecies(u16 species, u16 *eggMoves)
|
||||
u8 GetEggMovesBySpecies(enum Species species, u16 *eggMoves)
|
||||
{
|
||||
u16 numEggMoves;
|
||||
const u16 *eggMoveLearnset;
|
||||
|
|
@ -1145,7 +1145,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
|
|||
{
|
||||
for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++)
|
||||
{
|
||||
u16 moveId = ItemIdToBattleMoveId(ITEM_TM01 + j);
|
||||
enum Move moveId = ItemIdToBattleMoveId(ITEM_TM01 + j);
|
||||
if (sHatchedEggFatherMoves[i] == moveId && CanLearnTeachableMove(GetMonData(egg, MON_DATA_SPECIES_OR_EGG), moveId))
|
||||
{
|
||||
if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES)
|
||||
|
|
@ -1194,14 +1194,12 @@ void RejectEggFromDayCare(void)
|
|||
RemoveEggFromDayCare(&gSaveBlock1Ptr->daycare);
|
||||
}
|
||||
|
||||
static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare)
|
||||
static void AlterEggSpeciesWithIncenseItem(enum Species *species, struct DayCare *daycare)
|
||||
{
|
||||
u32 i;
|
||||
u16 motherItem, fatherItem;
|
||||
motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM);
|
||||
fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM);
|
||||
enum Item motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM);
|
||||
enum Item fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sIncenseBabyTable); i++)
|
||||
for (u32 i = 0; i < ARRAY_COUNT(sIncenseBabyTable); i++)
|
||||
{
|
||||
if (sIncenseBabyTable[i].babySpecies == *species && motherItem != sIncenseBabyTable[i].item && fatherItem != sIncenseBabyTable[i].item)
|
||||
{
|
||||
|
|
@ -1212,9 +1210,9 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare
|
|||
}
|
||||
|
||||
static const struct {
|
||||
u16 offspring;
|
||||
u16 item;
|
||||
u16 move;
|
||||
enum Species offspring;
|
||||
enum Item item;
|
||||
enum Move move;
|
||||
} sBreedingSpecialMoveItemTable[] =
|
||||
{
|
||||
// Offspring, Item, Move
|
||||
|
|
@ -1223,11 +1221,11 @@ static const struct {
|
|||
|
||||
static void GiveMoveIfItem(struct Pokemon *mon, struct DayCare *daycare)
|
||||
{
|
||||
u16 i, species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
u32 motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM);
|
||||
u32 fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Item motherItem = GetBoxMonData(&daycare->mons[0].mon, MON_DATA_HELD_ITEM);
|
||||
enum Item fatherItem = GetBoxMonData(&daycare->mons[1].mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(sBreedingSpecialMoveItemTable); i++)
|
||||
for (u32 i = 0; i < ARRAY_COUNT(sBreedingSpecialMoveItemTable); i++)
|
||||
{
|
||||
if (sBreedingSpecialMoveItemTable[i].offspring == species
|
||||
&& (motherItem == sBreedingSpecialMoveItemTable[i].item ||
|
||||
|
|
@ -1241,13 +1239,13 @@ static void GiveMoveIfItem(struct Pokemon *mon, struct DayCare *daycare)
|
|||
|
||||
STATIC_ASSERT(P_SCATTERBUG_LINE_FORM_BREED == SPECIES_SCATTERBUG_ICY_SNOW || (P_SCATTERBUG_LINE_FORM_BREED >= SPECIES_SCATTERBUG_POLAR && P_SCATTERBUG_LINE_FORM_BREED <= SPECIES_SCATTERBUG_POKEBALL), ScatterbugLineFormBreedMustBeAValidScatterbugForm);
|
||||
|
||||
static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots)
|
||||
static enum Species DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots)
|
||||
{
|
||||
u32 i;
|
||||
u32 species[DAYCARE_MON_COUNT];
|
||||
u32 eggSpecies, parentSpecies;
|
||||
enum Species species[DAYCARE_MON_COUNT];
|
||||
enum Species eggSpecies, parentSpecies;
|
||||
enum Species motherEggSpecies, fatherEggSpecies;
|
||||
bool32 hasMotherEverstone, hasFatherEverstone, motherIsForeign, fatherIsForeign;
|
||||
bool32 motherEggSpecies, fatherEggSpecies;
|
||||
u32 currentRegion = GetCurrentRegion();
|
||||
|
||||
for (i = 0; i < DAYCARE_MON_COUNT; i++)
|
||||
|
|
@ -1323,7 +1321,7 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent
|
|||
static void _GiveEggFromDaycare(struct DayCare *daycare)
|
||||
{
|
||||
struct Pokemon egg;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 parentSlots[DAYCARE_MON_COUNT] = {0};
|
||||
bool8 isEgg;
|
||||
|
||||
|
|
@ -1350,7 +1348,7 @@ static void _GiveEggFromDaycare(struct DayCare *daycare)
|
|||
RemoveEggFromDayCare(daycare);
|
||||
}
|
||||
|
||||
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation)
|
||||
void CreateEgg(struct Pokemon *mon, enum Species species, bool8 setHotSpringsLocation)
|
||||
{
|
||||
u8 metLevel;
|
||||
enum PokeBall ball;
|
||||
|
|
@ -1377,7 +1375,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation)
|
|||
SetMonData(mon, MON_DATA_IS_EGG, &isEgg);
|
||||
}
|
||||
|
||||
static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare *daycare)
|
||||
static void SetInitialEggData(struct Pokemon *mon, enum Species species, struct DayCare *daycare)
|
||||
{
|
||||
u32 personality;
|
||||
u16 ball;
|
||||
|
|
@ -1543,7 +1541,7 @@ u8 GetDaycareCompatibilityScore(struct DayCare *daycare)
|
|||
{
|
||||
u32 i;
|
||||
u16 eggGroups[DAYCARE_MON_COUNT][EGG_GROUPS_PER_MON];
|
||||
u16 species[DAYCARE_MON_COUNT];
|
||||
enum Species species[DAYCARE_MON_COUNT];
|
||||
u32 trainerIds[DAYCARE_MON_COUNT];
|
||||
u32 genders[DAYCARE_MON_COUNT];
|
||||
|
||||
|
|
@ -1860,7 +1858,7 @@ u16 TakePokemonFromRoute5Daycare(void)
|
|||
|
||||
static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 personality, pokerus;
|
||||
u8 i, friendship, language, gameMet, markings, isModernFatefulEncounter, ball;
|
||||
u16 moves[MAX_MON_MOVES];
|
||||
|
|
@ -1906,8 +1904,9 @@ static void CreateHatchedMon(struct Pokemon *egg, struct Pokemon *temp)
|
|||
|
||||
static void AddHatchedMonToParty(u8 id)
|
||||
{
|
||||
u8 isEgg = 0x46; // ?
|
||||
u16 species, natDexNum;
|
||||
bool8 isEgg = 0x46; // ?
|
||||
enum Species species;
|
||||
enum NationalDexOrder natDexNum;
|
||||
u8 name[POKEMON_NAME_LENGTH + 1];
|
||||
u16 metLevel;
|
||||
u8 metLocation;
|
||||
|
|
@ -1965,46 +1964,47 @@ bool8 DaycareMonReceivedMail(void)
|
|||
return BufferDayCareMonReceivedMail(&gSaveBlock1Ptr->daycare, gSpecialVar_0x8004);
|
||||
}
|
||||
|
||||
// extern const struct CompressedSpriteSheet gMonFrontPicTable[];
|
||||
|
||||
static u8 EggHatchCreateMonSprite(u8 a0, u8 switchID, u8 pokeID, u16 *speciesLoc)
|
||||
static u8 EggHatchCreateMonSprite(bool32 useAlt, u8 state, u8 partyId, enum Species *speciesLoc)
|
||||
{
|
||||
u8 r4 = 0;
|
||||
u8 spriteID = 0; // r7
|
||||
struct Pokemon* mon = NULL; // r5
|
||||
enum BattlerPosition position = 0;
|
||||
u8 spriteId = 0;
|
||||
struct Pokemon *mon = NULL;
|
||||
|
||||
if (a0 == 0)
|
||||
if (useAlt == FALSE)
|
||||
{
|
||||
mon = &gPlayerParty[pokeID];
|
||||
r4 = 1;
|
||||
mon = &gPlayerParty[partyId];
|
||||
position = B_POSITION_OPPONENT_LEFT;
|
||||
}
|
||||
if (a0 == 1)
|
||||
if (useAlt == TRUE)
|
||||
{
|
||||
mon = &gPlayerParty[pokeID];
|
||||
r4 = 3;
|
||||
mon = &gPlayerParty[partyId];
|
||||
position = B_POSITION_OPPONENT_RIGHT;
|
||||
}
|
||||
switch (switchID)
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case 0:
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
u32 pid = GetMonData(mon, MON_DATA_PERSONALITY);
|
||||
HandleLoadSpecialPokePic(TRUE, gMonSpritesGfxPtr->spritesGfx[(a0 * 2) + 1], species, pid);
|
||||
|
||||
HandleLoadSpecialPokePic(TRUE, gMonSpritesGfxPtr->spritesGfx[(useAlt * 2) + 1], species, pid);
|
||||
LoadSpritePaletteWithTag(GetMonFrontSpritePal(mon), species);
|
||||
*speciesLoc = species;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
SetMultiuseSpriteTemplateToPokemon(species, r4);
|
||||
spriteID = CreateSprite(&gMultiuseSpriteTemplate, 120, 70, 6);
|
||||
gSprites[spriteID].invisible = TRUE;
|
||||
gSprites[spriteID].callback = SpriteCallbackDummy;
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
|
||||
SetMultiuseSpriteTemplateToPokemon(species, position);
|
||||
spriteId = CreateSprite(&gMultiuseSpriteTemplate, 120, 70, 6);
|
||||
gSprites[spriteId].invisible = TRUE;
|
||||
gSprites[spriteId].callback = SpriteCallbackDummy;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return spriteID;
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
static void VBlankCB_EggHatch(void)
|
||||
|
|
@ -2093,11 +2093,11 @@ static void CB2_EggHatch_0(void)
|
|||
gMain.state++;
|
||||
break;
|
||||
case 5:
|
||||
EggHatchCreateMonSprite(0, 0, sEggHatchData->eggPartyID, &sEggHatchData->species);
|
||||
EggHatchCreateMonSprite(FALSE, 0, sEggHatchData->eggPartyID, &sEggHatchData->species);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 6:
|
||||
sEggHatchData->pokeSpriteID = EggHatchCreateMonSprite(0, 1, sEggHatchData->eggPartyID, &sEggHatchData->species);
|
||||
sEggHatchData->pokeSpriteID = EggHatchCreateMonSprite(FALSE, 1, sEggHatchData->eggPartyID, &sEggHatchData->species);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 7:
|
||||
|
|
@ -2148,7 +2148,7 @@ static void Task_EggHatchPlayBGM(u8 taskID)
|
|||
|
||||
static void CB2_EggHatch_1(void)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 gender;
|
||||
u32 personality;
|
||||
|
||||
|
|
@ -2309,7 +2309,7 @@ static void SpriteCB_Egg_2(struct Sprite* sprite)
|
|||
{
|
||||
if (++sprite->data[0] > 38)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
sprite->callback = SpriteCB_Egg_3;
|
||||
sprite->data[0] = 0;
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ struct DebugMenuOption
|
|||
|
||||
struct DebugMonData
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 level;
|
||||
bool8 isShiny:1;
|
||||
u8 nature:5;
|
||||
|
|
@ -2401,7 +2401,7 @@ static void DebugAction_FlagsVars_PokedexFlags_All(u8 taskId)
|
|||
static void DebugAction_FlagsVars_PokedexFlags_Reset(u8 taskId)
|
||||
{
|
||||
int boxId, boxPosition, partyId;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
// Reset Pokedex to emtpy
|
||||
memset(&gSaveBlock1Ptr->dexCaught, 0, sizeof(gSaveBlock1Ptr->dexCaught));
|
||||
|
|
@ -3480,7 +3480,7 @@ static void DebugAction_Give_Pokemon_ComplexCreateMon(u8 taskId) //https://githu
|
|||
u8 iv_val;
|
||||
u8 EVs[NUM_STATS];
|
||||
u8 ev_val;
|
||||
u16 species = sDebugMonData->species;
|
||||
enum Species species = sDebugMonData->species;
|
||||
u8 level = sDebugMonData->level;
|
||||
bool8 isShiny = sDebugMonData->isShiny;
|
||||
u8 nature = sDebugMonData->nature;
|
||||
|
|
@ -3723,7 +3723,7 @@ static void DebugAction_PCBag_Fill_PCBoxes_Fast(u8 taskId) //Credit: Sierraffini
|
|||
{
|
||||
int boxId, boxPosition;
|
||||
struct BoxPokemon boxMon;
|
||||
u16 species = SPECIES_BULBASAUR;
|
||||
enum Species species = SPECIES_BULBASAUR;
|
||||
u8 speciesName[POKEMON_NAME_LENGTH + 1];
|
||||
|
||||
CreateBoxMon(&boxMon, species, 100, Random32(), OTID_STRUCT_PLAYER_ID);
|
||||
|
|
|
|||
|
|
@ -244,12 +244,12 @@ u32 LoadCompressedSpriteSheetByTemplate(const struct SpriteTemplate *template, s
|
|||
|
||||
}
|
||||
|
||||
void HandleLoadSpecialPokePic(bool32 isFrontPic, void *dest, s32 species, u32 personality)
|
||||
void HandleLoadSpecialPokePic(bool32 isFrontPic, void *dest, enum Species species, u32 personality)
|
||||
{
|
||||
LoadSpecialPokePicIsEgg(dest, species, personality, isFrontPic, FALSE);
|
||||
}
|
||||
|
||||
void HandleLoadSpecialPokePicIsEgg(bool32 isFrontPic, void *dest, s32 species, u32 personality, bool32 isEgg)
|
||||
void HandleLoadSpecialPokePicIsEgg(bool32 isFrontPic, void *dest, enum Species species, u32 personality, bool32 isEgg)
|
||||
{
|
||||
LoadSpecialPokePicIsEgg(dest, species, personality, isFrontPic, isEgg);
|
||||
}
|
||||
|
|
@ -1124,12 +1124,12 @@ static bool32 isModeSymDelta(enum CompressionMode mode)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
void LoadSpecialPokePic(void *dest, s32 species, u32 personality, bool8 isFrontPic)
|
||||
void LoadSpecialPokePic(void *dest, enum Species species, u32 personality, bool8 isFrontPic)
|
||||
{
|
||||
LoadSpecialPokePicIsEgg(dest, species, personality, isFrontPic, FALSE);
|
||||
}
|
||||
|
||||
void LoadSpecialPokePicIsEgg(void *dest, s32 species, u32 personality, bool8 isFrontPic, bool32 isEgg)
|
||||
void LoadSpecialPokePicIsEgg(void *dest, enum Species species, u32 personality, bool8 isFrontPic, bool32 isEgg)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (species == SPECIES_UNOWN)
|
||||
|
|
|
|||
84
src/dexnav.c
84
src/dexnav.c
|
|
@ -87,7 +87,7 @@ enum Statuses
|
|||
|
||||
struct DexNavSearch
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u16 moves[MAX_MON_MOVES];
|
||||
u16 heldItem;
|
||||
u8 abilityNum;
|
||||
|
|
@ -144,13 +144,13 @@ static void Task_DexNavMain(u8 taskId);
|
|||
static void PrintCurrentSpeciesInfo(void);
|
||||
// SEARCH
|
||||
static bool8 TryStartHiddenMonFieldEffect(u8 environment, u8 xSize, u8 ySize, bool8 smallScan);
|
||||
static void DexNavGenerateMoveset(u16 species, u8 searchLevel, u8 encounterLevel, u16* moveDst);
|
||||
static u16 DexNavGenerateHeldItem(u16 species, u8 searchLevel);
|
||||
static u8 DexNavGetAbilityNum(u16 species, u8 searchLevel);
|
||||
static void DexNavGenerateMoveset(enum Species species, u8 searchLevel, u8 encounterLevel, u16* moveDst);
|
||||
static u16 DexNavGenerateHeldItem(enum Species species, u8 searchLevel);
|
||||
static u8 DexNavGetAbilityNum(enum Species species, u8 searchLevel);
|
||||
static u8 DexNavGeneratePotential(u8 searchLevel);
|
||||
static u8 DexNavTryGenerateMonLevel(u16 species, u8 environment);
|
||||
static u8 GetEncounterLevelFromMapData(u16 species, u8 environment);
|
||||
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16 item, u16* moves);
|
||||
static u8 DexNavTryGenerateMonLevel(enum Species species, u8 environment);
|
||||
static u8 GetEncounterLevelFromMapData(enum Species species, u8 environment);
|
||||
static void CreateDexNavWildMon(enum Species species, u8 potential, u8 level, u8 abilityNum, enum Item item, enum Move* moves);
|
||||
static u8 GetPlayerDistance(s16 x, s16 y);
|
||||
static u8 DexNavPickTile(u8 environment, u8 xSize, u8 ySize, bool8 smallScan);
|
||||
static void DexNavProximityUpdate(void);
|
||||
|
|
@ -439,7 +439,7 @@ static s16 GetSearchWindowY(void)
|
|||
}
|
||||
|
||||
#define SPECIES_ICON_X 28
|
||||
static void DrawDexNavSearchMonIcon(u16 species, u8 *dst, bool8 owned)
|
||||
static void DrawDexNavSearchMonIcon(enum Species species, u8 *dst, bool8 owned)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
|
|
@ -478,7 +478,7 @@ static void AddSearchWindow(u8 width)
|
|||
#define SEARCH_ARROW_X (WINDOW_MOVE_NAME_X + 90)
|
||||
#define SEARCH_ARROW_Y 0
|
||||
|
||||
static void AddSearchWindowText(u16 species, u8 proximity, u8 searchLevel, bool8 hidden)
|
||||
static void AddSearchWindowText(enum Species species, u8 proximity, u8 searchLevel, bool8 hidden)
|
||||
{
|
||||
u8 windowId = sDexNavSearchDataPtr->windowId;
|
||||
|
||||
|
|
@ -540,7 +540,7 @@ static void AddSearchWindowText(u16 species, u8 proximity, u8 searchLevel, bool8
|
|||
|
||||
#define SEARCH_WINDOW_WIDTH 28
|
||||
|
||||
static void DrawSearchWindow(u16 species, u8 potential, bool8 hidden)
|
||||
static void DrawSearchWindow(enum Species species, u8 potential, bool8 hidden)
|
||||
{
|
||||
u8 searchLevel = sDexNavSearchDataPtr->searchLevel;
|
||||
|
||||
|
|
@ -829,7 +829,7 @@ static void Task_SetUpDexNavSearch(u8 taskId)
|
|||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
|
||||
u16 species = sDexNavSearchDataPtr->species;
|
||||
enum Species species = sDexNavSearchDataPtr->species;
|
||||
u8 searchLevel = GetSearchLevel(species);
|
||||
|
||||
// init sprites
|
||||
|
|
@ -879,7 +879,7 @@ static void DexNavSearchBail(u8 taskId, const u8 *script)
|
|||
static void Task_InitDexNavSearch(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
u16 species = task->tSpecies;
|
||||
enum Species species = (enum Species)task->tSpecies;
|
||||
u8 environment = task->tEnvironment;
|
||||
|
||||
sDexNavSearchDataPtr = AllocZeroed(sizeof(struct DexNavSearch));
|
||||
|
|
@ -966,7 +966,7 @@ static void DexNavUpdateDirectionArrow(void)
|
|||
|
||||
static void DexNavDrawIcons(void)
|
||||
{
|
||||
u16 species = sDexNavSearchDataPtr->species;
|
||||
enum Species species = sDexNavSearchDataPtr->species;
|
||||
|
||||
DrawSearchWindow(species, sDexNavSearchDataPtr->potential, FALSE);
|
||||
DrawDexNavSearchMonIcon(species, &sDexNavSearchDataPtr->iconSpriteId, GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), FLAG_GET_CAUGHT));
|
||||
|
|
@ -1024,7 +1024,7 @@ static u8 GetMovementProximityBySearchLevel(void)
|
|||
static void Task_RevealHiddenMon(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
u16 species = sDexNavSearchDataPtr->species;
|
||||
enum Species species = sDexNavSearchDataPtr->species;
|
||||
|
||||
// remove owned icon if it exists
|
||||
if (sDexNavSearchDataPtr->ownedIconSpriteId != MAX_SPRITES)
|
||||
|
|
@ -1213,7 +1213,7 @@ static void DexNavUpdateSearchWindow(u8 proximity, u8 searchLevel)
|
|||
//////////////////////////////
|
||||
//// DEXNAV MON GENERATOR ////
|
||||
//////////////////////////////
|
||||
static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityNum, u16 item, u16* moves)
|
||||
static void CreateDexNavWildMon(enum Species species, u8 potential, u8 level, u8 abilityNum, enum Item item, enum Move* moves)
|
||||
{
|
||||
struct Pokemon* mon = &gEnemyParty[0];
|
||||
u8 iv[3] = {NUM_STATS};
|
||||
|
|
@ -1253,7 +1253,7 @@ static void CreateDexNavWildMon(u16 species, u8 potential, u8 level, u8 abilityN
|
|||
|
||||
// gets a random level of the species based on map data.
|
||||
//if it was a hidden encounter, updates the environment it is to be found from the wildheader encounterRate
|
||||
static u8 DexNavTryGenerateMonLevel(u16 species, u8 environment)
|
||||
static u8 DexNavTryGenerateMonLevel(enum Species species, u8 environment)
|
||||
{
|
||||
u8 levelBase = GetEncounterLevelFromMapData(species, environment);
|
||||
u8 levelBonus = gSaveBlock3Ptr->dexNavChain / 5;
|
||||
|
|
@ -1270,7 +1270,7 @@ static u8 DexNavTryGenerateMonLevel(u16 species, u8 environment)
|
|||
return levelBase + levelBonus;
|
||||
}
|
||||
|
||||
static void DexNavGenerateMoveset(u16 species, u8 searchLevel, u8 encounterLevel, u16* moveDst)
|
||||
static void DexNavGenerateMoveset(enum Species species, u8 searchLevel, u8 encounterLevel, u16* moveDst)
|
||||
{
|
||||
bool8 genMove = FALSE;
|
||||
u16 randVal = Random() % 100;
|
||||
|
|
@ -1325,12 +1325,12 @@ static void DexNavGenerateMoveset(u16 species, u8 searchLevel, u8 encounterLevel
|
|||
}
|
||||
}
|
||||
|
||||
static u16 DexNavGenerateHeldItem(u16 species, u8 searchLevel)
|
||||
static u16 DexNavGenerateHeldItem(enum Species species, u8 searchLevel)
|
||||
{
|
||||
u16 randVal = Random() % 100;
|
||||
u8 searchLevelInfluence = searchLevel >> 1;
|
||||
u16 item1 = gSpeciesInfo[species].itemCommon;
|
||||
u16 item2 = gSpeciesInfo[species].itemRare;
|
||||
enum Item item1 = gSpeciesInfo[species].itemCommon;
|
||||
enum Item item2 = gSpeciesInfo[species].itemRare;
|
||||
|
||||
// if both are the same, 100% to hold
|
||||
if (item1 == item2)
|
||||
|
|
@ -1353,7 +1353,7 @@ static u16 DexNavGenerateHeldItem(u16 species, u8 searchLevel)
|
|||
return ITEM_NONE;
|
||||
}
|
||||
|
||||
static u8 DexNavGetAbilityNum(u16 species, u8 searchLevel)
|
||||
static u8 DexNavGetAbilityNum(enum Species species, u8 searchLevel)
|
||||
{
|
||||
bool8 genAbility = FALSE;
|
||||
u16 randVal = Random() % 100;
|
||||
|
|
@ -1514,7 +1514,7 @@ static u8 DexNavGeneratePotential(u8 searchLevel)
|
|||
return 0; // No potential
|
||||
}
|
||||
|
||||
static u8 GetEncounterLevelFromMapData(u16 species, u8 environment)
|
||||
static u8 GetEncounterLevelFromMapData(enum Species species, u8 environment)
|
||||
{
|
||||
u16 headerId = GetCurrentMapWildMonHeaderId();
|
||||
enum Season season;
|
||||
|
|
@ -1770,7 +1770,7 @@ static bool8 CapturedAllLandMons(u16 headerId)
|
|||
static bool8 CapturedAllWaterMons(u16 headerId)
|
||||
{
|
||||
u32 i;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 count = 0;
|
||||
enum Season season;
|
||||
enum TimeOfDay timeOfDay;
|
||||
|
|
@ -1804,7 +1804,7 @@ static bool8 CapturedAllWaterMons(u16 headerId)
|
|||
static bool8 CapturedAllHiddenMons(u16 headerId)
|
||||
{
|
||||
u32 i;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 count = 0;
|
||||
enum Season season;
|
||||
enum TimeOfDay timeOfDay;
|
||||
|
|
@ -1910,29 +1910,28 @@ static void DexNavFadeAndExit(void)
|
|||
SetMainCallback2(DexNav_MainCB);
|
||||
}
|
||||
|
||||
static bool8 SpeciesInArray(u16 species, u8 section)
|
||||
static bool8 SpeciesInArray(enum Species species, u8 section)
|
||||
{
|
||||
u32 i;
|
||||
u16 dexNum = SpeciesToNationalPokedexNum(species);
|
||||
|
||||
switch (section)
|
||||
{
|
||||
case 0: //land
|
||||
for (i = 0; i < LAND_WILD_COUNT; i++)
|
||||
for (u32 i = 0; i < LAND_WILD_COUNT; i++)
|
||||
{
|
||||
if (SpeciesToNationalPokedexNum(sDexNavUiDataPtr->landSpecies[i]) == dexNum)
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
case 1: //water
|
||||
for (i = 0; i < WATER_WILD_COUNT; i++)
|
||||
for (u32 i = 0; i < WATER_WILD_COUNT; i++)
|
||||
{
|
||||
if (SpeciesToNationalPokedexNum(sDexNavUiDataPtr->waterSpecies[i]) == dexNum)
|
||||
return TRUE;
|
||||
}
|
||||
break;
|
||||
case 2: //hidden
|
||||
for (i = 0; i < HIDDEN_WILD_COUNT; i++)
|
||||
for (u32 i = 0; i < HIDDEN_WILD_COUNT; i++)
|
||||
{
|
||||
if (SpeciesToNationalPokedexNum(sDexNavUiDataPtr->hiddenSpecies[i]) == dexNum)
|
||||
return TRUE;
|
||||
|
|
@ -1951,7 +1950,7 @@ static void DexNavLoadEncounterData(void)
|
|||
u8 grassIndex = 0;
|
||||
u8 waterIndex = 0;
|
||||
u8 hiddenIndex = 0;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 i;
|
||||
u16 headerId = GetCurrentMapWildMonHeaderId();
|
||||
enum Season season;
|
||||
|
|
@ -2003,7 +2002,7 @@ static void DexNavLoadEncounterData(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void TryDrawIconInSlot(u16 species, s16 x, s16 y)
|
||||
static void TryDrawIconInSlot(enum Species species, s16 x, s16 y)
|
||||
{
|
||||
if (species == SPECIES_NONE || species > NUM_SPECIES)
|
||||
CreateNoDataIcon(x, y); //'X' in slot
|
||||
|
|
@ -2016,11 +2015,10 @@ static void TryDrawIconInSlot(u16 species, s16 x, s16 y)
|
|||
static void DrawSpeciesIcons(void)
|
||||
{
|
||||
s16 x, y;
|
||||
u32 i;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
LoadCompressedSpriteSheetUsingHeap(&sNoDataIconSpriteSheet);
|
||||
for (i = 0; i < LAND_WILD_COUNT; i++)
|
||||
for (u32 i = 0; i < LAND_WILD_COUNT; i++)
|
||||
{
|
||||
species = sDexNavUiDataPtr->landSpecies[i];
|
||||
x = ROW_LAND_ICON_X + (24 * (i % COL_LAND_COUNT));
|
||||
|
|
@ -2028,7 +2026,7 @@ static void DrawSpeciesIcons(void)
|
|||
TryDrawIconInSlot(species, x, y);
|
||||
}
|
||||
|
||||
for (i = 0; i < WATER_WILD_COUNT; i++)
|
||||
for (u32 i = 0; i < WATER_WILD_COUNT; i++)
|
||||
{
|
||||
species = sDexNavUiDataPtr->waterSpecies[i];
|
||||
x = ROW_WATER_ICON_X + 24 * i;
|
||||
|
|
@ -2036,7 +2034,7 @@ static void DrawSpeciesIcons(void)
|
|||
TryDrawIconInSlot(species, x, y);
|
||||
}
|
||||
|
||||
for (i = 0; i < HIDDEN_WILD_COUNT; i++)
|
||||
for (u32 i = 0; i < HIDDEN_WILD_COUNT; i++)
|
||||
{
|
||||
species = sDexNavUiDataPtr->hiddenSpecies[i];
|
||||
x = ROW_HIDDEN_ICON_X + 24 * i;
|
||||
|
|
@ -2050,9 +2048,9 @@ static void DrawSpeciesIcons(void)
|
|||
}
|
||||
}
|
||||
|
||||
static u16 DexNavGetSpecies(void)
|
||||
static enum Species DexNavGetSpecies(void)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
switch (sDexNavUiDataPtr->cursorRow)
|
||||
{
|
||||
|
|
@ -2126,7 +2124,7 @@ static void SetTypeIconPosAndPal(u8 typeId, u8 x, u8 y, u8 spriteArrayId)
|
|||
|
||||
static void PrintCurrentSpeciesInfo(void)
|
||||
{
|
||||
u16 species = DexNavGetSpecies();
|
||||
enum Species species = DexNavGetSpecies();
|
||||
u16 dexNum = SpeciesToNationalPokedexNum(species);
|
||||
u8 type1, type2;
|
||||
|
||||
|
|
@ -2205,7 +2203,7 @@ static void PrintMapName(void)
|
|||
CopyWindowToVram(WINDOW_REGISTERED, 3);
|
||||
}
|
||||
|
||||
static void PrintSearchableSpecies(u16 species)
|
||||
static void PrintSearchableSpecies(enum Species species)
|
||||
{
|
||||
FillWindowPixelBuffer(WINDOW_REGISTERED, PIXEL_FILL(TEXT_COLOR_TRANSPARENT));
|
||||
PutWindowTilemap(WINDOW_REGISTERED);
|
||||
|
|
@ -2371,7 +2369,7 @@ static void Task_DexNavWaitFadeIn(u8 taskId)
|
|||
static void Task_DexNavMain(u8 taskId)
|
||||
{
|
||||
struct Task *task = &gTasks[taskId];
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
if (IsSEPlaying())
|
||||
return;
|
||||
|
|
@ -2536,7 +2534,7 @@ bool8 TryFindHiddenPokemon(void)
|
|||
// hidden pokemon
|
||||
u16 headerId = GetCurrentMapWildMonHeaderId();
|
||||
u8 index;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 environment;
|
||||
u8 taskId;
|
||||
enum Season season;
|
||||
|
|
@ -2669,7 +2667,7 @@ static void DrawHiddenSearchWindow(u8 width)
|
|||
|
||||
static void DexNavDrawHiddenIcons(void)
|
||||
{
|
||||
u16 species = sDexNavSearchDataPtr->species;
|
||||
enum Species species = sDexNavSearchDataPtr->species;
|
||||
|
||||
DrawHiddenSearchWindow(12);
|
||||
DrawSearchIcon();
|
||||
|
|
|
|||
|
|
@ -2700,7 +2700,7 @@ static void ResetPickState(void)
|
|||
sGame->players[sGame->multiplayerId].comm.pickState = PICK_NONE;
|
||||
}
|
||||
|
||||
static u16 GetPrizeItemId(void)
|
||||
static enum Item GetPrizeItemId(void)
|
||||
{
|
||||
return sGame->berryResults[sGame->multiplayerId][BERRY_PRIZE] + FIRST_BERRY_INDEX;
|
||||
}
|
||||
|
|
@ -2857,7 +2857,7 @@ enum {
|
|||
static u8 TryGivePrize(void)
|
||||
{
|
||||
u8 multiplayerId = sGame->multiplayerId;
|
||||
u16 itemId = GetPrizeItemId();
|
||||
enum Item itemId = GetPrizeItemId();
|
||||
|
||||
if (GetScore(multiplayerId) != GetHighestScore())
|
||||
return NO_PRIZE;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ static void PopulateAlphabeticalGroups(void);
|
|||
static u16 GetUnlockedWordsInECGroup(u16);
|
||||
static u16 GetUnlockedWordsInAlphabeticalGroup(u16);
|
||||
static bool8 UnlockedECMonOrMove(u16, u8);
|
||||
static bool32 EC_IsDeoxys(u16 species);
|
||||
static bool32 EC_IsDeoxys(enum Species species);
|
||||
static bool8 IsWordUnlocked(u16 word);
|
||||
|
||||
#include "data/easy_chat/easy_chat_groups.h"
|
||||
|
|
@ -81,8 +81,11 @@ static const u16 sDefaultBattleStartWords[] = {
|
|||
EC_WORD_EXCL,
|
||||
};
|
||||
|
||||
static const u16 sDeoxysValue[] = {
|
||||
static const enum Species sDeoxysValue[] = {
|
||||
SPECIES_DEOXYS,
|
||||
SPECIES_DEOXYS_ATTACK,
|
||||
SPECIES_DEOXYS_DEFENSE,
|
||||
SPECIES_DEOXYS_SPEED,
|
||||
};
|
||||
|
||||
static bool8 IsECGroupUnlocked(u8 groupId)
|
||||
|
|
@ -623,7 +626,7 @@ static bool8 UnlockedECMonOrMove(u16 wordIndex, u8 groupId)
|
|||
}
|
||||
}
|
||||
|
||||
static bool32 EC_IsDeoxys(u16 species)
|
||||
static bool32 EC_IsDeoxys(enum Species species)
|
||||
{
|
||||
u32 i;
|
||||
for (i = 0; i < ARRAY_COUNT(sDeoxysValue); i++)
|
||||
|
|
|
|||
|
|
@ -115,7 +115,7 @@ static u8 MovementType_RaiseHandAndJump_Callback(struct ObjectEvent *, struct Sp
|
|||
static u8 MovementType_RaiseHandAndSwim_Callback(struct ObjectEvent *, struct Sprite *);
|
||||
static void QuestLogObjectEventExecHeldMovementAction(struct ObjectEvent *, struct Sprite *);
|
||||
static void VirtualObject_UpdateAnim(struct Sprite *sprite);
|
||||
static u32 LoadDynamicFollowerPalette(u32 species, bool32 shiny, bool32 female);
|
||||
static u32 LoadDynamicFollowerPalette(enum Species species, bool32 shiny, bool32 female);
|
||||
static void CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(u16 graphicsId, u16 movementType, struct SpriteTemplate *spriteTemplate, const struct SubspriteTable **subspriteTables);
|
||||
|
||||
static u16 GetGraphicsIdForMon(u32 species, bool32 shiny, bool32 female);
|
||||
|
|
@ -1960,7 +1960,7 @@ static void CopyObjectGraphicsInfoToSpriteTemplate_WithMovementType(u16 graphics
|
|||
// also can write palette tag to the template
|
||||
static u32 LoadDynamicFollowerPaletteFromGraphicsId(u16 graphicsId, struct SpriteTemplate *template)
|
||||
{
|
||||
u16 species = graphicsId & OBJ_EVENT_MON_SPECIES_MASK;
|
||||
enum Species species = graphicsId & OBJ_EVENT_MON_SPECIES_MASK;
|
||||
bool32 shiny = graphicsId & OBJ_EVENT_MON_SHINY;
|
||||
bool32 female = graphicsId & OBJ_EVENT_MON_FEMALE;
|
||||
u8 paletteNum = LoadDynamicFollowerPalette(species, shiny, female);
|
||||
|
|
@ -2137,7 +2137,7 @@ const struct ObjectEventGraphicsInfo *SpeciesToGraphicsInfo(u32 species, bool32
|
|||
}
|
||||
|
||||
// Find, or load, the palette for the specified pokemon info
|
||||
static u32 LoadDynamicFollowerPalette(u32 species, bool32 shiny, bool32 female)
|
||||
static u32 LoadDynamicFollowerPalette(enum Species species, bool32 shiny, bool32 female)
|
||||
{
|
||||
u32 paletteNum;
|
||||
// Use standalone palette, unless entry is OOB or NULL (fallback to front-sprite-based)
|
||||
|
|
@ -2271,7 +2271,7 @@ static void RefreshFollowerGraphics(struct ObjectEvent *objEvent)
|
|||
}
|
||||
}
|
||||
|
||||
u16 GetOverworldWeatherSpecies(u16 species)
|
||||
enum Species GetOverworldWeatherSpecies(enum Species species)
|
||||
{
|
||||
u32 i;
|
||||
u32 weather = GetCurrentWeather();
|
||||
|
|
@ -2400,7 +2400,7 @@ bool32 IsFollowerVisible(void)
|
|||
|| MetatileBehavior_IsForcedMovementTile(gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior));
|
||||
}
|
||||
|
||||
static bool8 SpeciesHasType(u16 species, u8 type)
|
||||
static bool8 SpeciesHasType(enum Species species, enum Type type)
|
||||
{
|
||||
return gSpeciesInfo[species].types[0] == type || gSpeciesInfo[species].types[1] == type;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -386,7 +386,7 @@ static void EvoTask_PostEvoSparklesSet1Teardown(u8 taskId)
|
|||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
u8 EvolutionSparkles_SprayAndFlash(u16 species)
|
||||
u8 EvolutionSparkles_SprayAndFlash(enum Species species)
|
||||
{
|
||||
u8 taskId = CreateTask(EvoTask_PostEvoSparklesSet2Init, 0);
|
||||
gTasks[taskId].data[2] = species;
|
||||
|
|
@ -437,7 +437,7 @@ static void EvoTask_PostEvoSparklesSet2Teardown(u8 taskId)
|
|||
DestroyTask(taskId);
|
||||
}
|
||||
|
||||
u8 EvolutionSparkles_SprayAndFlash_Trade(u16 species)
|
||||
u8 EvolutionSparkles_SprayAndFlash_Trade(enum Species species)
|
||||
{
|
||||
u8 taskId = CreateTask(EvoTask_PostEvoSparklesSet2TradeInit, 0);
|
||||
gTasks[taskId].data[2] = species;
|
||||
|
|
|
|||
|
|
@ -1004,7 +1004,7 @@ static void Task_EvolutionScene(u8 taskId)
|
|||
else
|
||||
{
|
||||
// Selected move to forget
|
||||
u16 move = GetMonData(mon, var + MON_DATA_MOVE1);
|
||||
enum Move move = GetMonData(mon, var + MON_DATA_MOVE1);
|
||||
if (CannotForgetMove(move))
|
||||
{
|
||||
// Can't forget HMs
|
||||
|
|
@ -1403,7 +1403,7 @@ static void Task_TradeEvolutionScene(u8 taskId)
|
|||
else
|
||||
{
|
||||
// Selected move to forget
|
||||
u16 move = GetMonData(mon, var + MON_DATA_MOVE1);
|
||||
enum Move move = GetMonData(mon, var + MON_DATA_MOVE1);
|
||||
if (CannotForgetMove(move))
|
||||
{
|
||||
// Can't forget HMs
|
||||
|
|
|
|||
|
|
@ -819,9 +819,10 @@ bool8 FieldEffectActiveListContains(enum FieldEffect fldeff)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority)
|
||||
u8 CreateMonSprite_PicBox(enum Species species, s16 x, s16 y, u8 subpriority)
|
||||
{
|
||||
u16 spriteId = CreateMonFrontPicSprite(species, FALSE, 0x8000, x, y, 0, species);
|
||||
|
||||
PreservePaletteInWeather(IndexOfSpritePaletteTag(species) + 0x10);
|
||||
if (spriteId == 0xFFFF)
|
||||
return MAX_SPRITES;
|
||||
|
|
@ -829,7 +830,7 @@ u8 CreateMonSprite_PicBox(u16 species, s16 x, s16 y, u8 subpriority)
|
|||
return spriteId;
|
||||
}
|
||||
|
||||
static u8 CreateMonSprite_FieldMove(u16 species, bool32 isShiny, u32 personality, s16 x, s16 y, u8 subpriority)
|
||||
static u8 CreateMonSprite_FieldMove(enum Species species, bool32 isShiny, u32 personality, s16 x, s16 y, u8 subpriority)
|
||||
{
|
||||
u16 spriteId = CreateMonFrontPicSprite(species, isShiny, personality, x, y, 0, species);
|
||||
PreservePaletteInWeather(IndexOfSpritePaletteTag(species) + 0x10);
|
||||
|
|
@ -3030,7 +3031,7 @@ u32 FldEff_FieldMoveShowMonInit(void)
|
|||
|
||||
if (gFieldEffectArguments[0] & SHOW_MON_NOT_IN_PARTY)
|
||||
{
|
||||
u16 species = gFieldEffectArguments[0] & (~SHOW_MON_NOT_IN_PARTY);
|
||||
u32 species = gFieldEffectArguments[0] & (~SHOW_MON_NOT_IN_PARTY);
|
||||
|
||||
gFieldEffectArguments[0] = species;
|
||||
gFieldEffectArguments[1] = FALSE;
|
||||
|
|
|
|||
|
|
@ -187,7 +187,7 @@ const struct FieldMoveInfo gFieldMovesInfo[FIELD_MOVE_COUNT] =
|
|||
};
|
||||
|
||||
|
||||
u16 FieldMove_GetDefaultSpecies(enum FieldMove fieldMove)
|
||||
enum Species FieldMove_GetDefaultSpecies(enum FieldMove fieldMove)
|
||||
{
|
||||
if (fieldMove >= FIELD_MOVE_COUNT)
|
||||
return SPECIES_NONE;
|
||||
|
|
|
|||
|
|
@ -18,10 +18,9 @@
|
|||
|
||||
static bool32 IsMonValidSpecies(struct Pokemon *pokemon)
|
||||
{
|
||||
u16 species = GetMonData(pokemon, MON_DATA_SPECIES_OR_EGG);
|
||||
if (species == SPECIES_NONE || species == SPECIES_EGG)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
enum Species species = GetMonData(pokemon, MON_DATA_SPECIES_OR_EGG);
|
||||
|
||||
return species != SPECIES_NONE && species != SPECIES_EGG;
|
||||
}
|
||||
|
||||
static bool32 AllMonsFainted(void)
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ static void Task_AnimatePcTurnOn(u8 taskId);
|
|||
static void PcTurnOnUpdateMetatileId(bool16 flag);
|
||||
static void Task_ShakeScreen(u8 taskId);
|
||||
static void Task_EndScreenShake(u8 taskId);
|
||||
static u16 SampleResortGorgeousMon(void);
|
||||
static enum Species SampleResortGorgeousMon(void);
|
||||
static u16 SampleResortGorgeousReward(void);
|
||||
static void Task_ElevatorShake(u8 taskId);
|
||||
static void AnimateElevatorWindowView(u16 nfloors, bool8 direction);
|
||||
|
|
@ -102,7 +102,7 @@ static void Task_SuspendListMenu(u8 taskId);
|
|||
static void Task_RedrawScrollArrowsAndWaitInput(u8 taskId);
|
||||
static void Task_CreateMenuRemoveScrollIndicatorArrowPair(u8 taskId);
|
||||
static void Task_ListMenuRemoveScrollIndicatorArrowPair(u8 taskId);
|
||||
static u16 GetStarterSpeciesById(u16 starterIdx);
|
||||
static enum Species GetStarterSpeciesById(u16 starterIdx);
|
||||
static void ChangeBoxPokemonNickname_CB(void);
|
||||
static void ChangePokemonNickname_CB(void);
|
||||
static void Task_RunPokemonLeagueLightingEffect(u8 taskId);
|
||||
|
|
@ -387,16 +387,13 @@ bool8 PlayerHasGrassPokemonInParty(void)
|
|||
{
|
||||
u8 i;
|
||||
struct Pokemon * pokemon;
|
||||
u16 species;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
pokemon = &gPlayerParty[i];
|
||||
if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES)
|
||||
&& !GetMonData(pokemon, MON_DATA_IS_EGG)
|
||||
)
|
||||
if (GetMonData(pokemon, MON_DATA_SANITY_HAS_SPECIES) && !GetMonData(pokemon, MON_DATA_IS_EGG))
|
||||
{
|
||||
species = GetMonData(pokemon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(pokemon, MON_DATA_SPECIES);
|
||||
if (gSpeciesInfo[species].types[0] == TYPE_GRASS || gSpeciesInfo[species].types[1] == TYPE_GRASS)
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -646,7 +643,7 @@ bool8 AreLeadMonEVsMaxedOut(void)
|
|||
|
||||
bool8 IsStarterFirstStageInParty(void)
|
||||
{
|
||||
u16 species = GetStarterSpeciesById(VarGet(VAR_STARTER_MON));
|
||||
enum Species species = GetStarterSpeciesById(VarGet(VAR_STARTER_MON));
|
||||
u8 partyCount = CalculatePlayerPartyCount();
|
||||
u8 i;
|
||||
for (i = 0; i < partyCount; i++)
|
||||
|
|
@ -907,11 +904,11 @@ void SampleResortGorgeousMonAndReward(void)
|
|||
StringCopy(gStringVar1, gSpeciesInfo[VarGet(VAR_RESORT_GORGEOUS_REQUESTED_MON)].speciesName);
|
||||
}
|
||||
|
||||
static u16 SampleResortGorgeousMon(void)
|
||||
static enum Species SampleResortGorgeousMon(void)
|
||||
{
|
||||
u16 i;
|
||||
u16 species;
|
||||
for (i = 0; i < 100; i++)
|
||||
enum Species species;
|
||||
|
||||
for (u16 i = 0; i < 100; i++)
|
||||
{
|
||||
species = (Random() % (NUM_SPECIES - 1)) + 1;
|
||||
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(species), 0) == TRUE)
|
||||
|
|
@ -1730,20 +1727,20 @@ void ForcePlayerToStartSurfing(void)
|
|||
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_SURFING);
|
||||
}
|
||||
|
||||
static const u16 sStarterSpecies[] = {
|
||||
static const enum Species sStarterSpecies[] = {
|
||||
SPECIES_BULBASAUR,
|
||||
SPECIES_SQUIRTLE,
|
||||
SPECIES_CHARMANDER
|
||||
};
|
||||
|
||||
static u16 GetStarterSpeciesById(u16 idx)
|
||||
static enum Species GetStarterSpeciesById(u16 idx)
|
||||
{
|
||||
if (idx >= ARRAY_COUNT(sStarterSpecies))
|
||||
idx = 0;
|
||||
return sStarterSpecies[idx];
|
||||
}
|
||||
|
||||
u16 GetStarterSpecies(void)
|
||||
enum Species GetStarterSpecies(void)
|
||||
{
|
||||
return GetStarterSpeciesById(VarGet(VAR_STARTER_MON));
|
||||
}
|
||||
|
|
@ -1866,16 +1863,15 @@ bool8 NameRaterWasNicknameChanged(void)
|
|||
void ChangeBoxPokemonNickname(void)
|
||||
{
|
||||
struct BoxPokemon * pokemon = GetBoxedMonPtr(gSpecialVar_MonBoxId, gSpecialVar_MonBoxPos);
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 gender;
|
||||
u32 personality;
|
||||
|
||||
|
||||
GetBoxMonData(pokemon, MON_DATA_NICKNAME, gStringVar3);
|
||||
GetBoxMonData(pokemon, MON_DATA_NICKNAME, gStringVar2);
|
||||
species = GetBoxMonData(pokemon, MON_DATA_SPECIES, NULL);
|
||||
species = GetBoxMonData(pokemon, MON_DATA_SPECIES);
|
||||
gender = GetBoxMonGender(pokemon);
|
||||
personality = GetBoxMonData(pokemon, MON_DATA_PERSONALITY, NULL);
|
||||
personality = GetBoxMonData(pokemon, MON_DATA_PERSONALITY);
|
||||
DoNamingScreen(NAMING_SCREEN_NICKNAME, gStringVar2, species, gender, personality, ChangeBoxPokemonNickname_CB);
|
||||
}
|
||||
|
||||
|
|
@ -1887,15 +1883,15 @@ static void ChangeBoxPokemonNickname_CB(void)
|
|||
|
||||
void ChangePokemonNickname(void)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 gender;
|
||||
u32 personality;
|
||||
|
||||
GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar3);
|
||||
GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_NICKNAME, gStringVar2);
|
||||
species = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES, NULL);
|
||||
species = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_SPECIES);
|
||||
gender = GetMonGender(&gPlayerParty[gSpecialVar_0x8004]);
|
||||
personality = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_PERSONALITY, NULL);
|
||||
personality = GetMonData(&gPlayerParty[gSpecialVar_0x8004], MON_DATA_PERSONALITY);
|
||||
DoNamingScreen(NAMING_SCREEN_NICKNAME, gStringVar2, species, gender, personality, ChangePokemonNickname_CB);
|
||||
}
|
||||
|
||||
|
|
@ -1946,18 +1942,21 @@ u8 GetUnlockedSeviiAreas(void)
|
|||
|
||||
void UpdateTrainerCardPhotoIcons(void)
|
||||
{
|
||||
u16 species[PARTY_SIZE];
|
||||
enum Species species[PARTY_SIZE];
|
||||
u32 personality[PARTY_SIZE];
|
||||
u8 i;
|
||||
u8 partyCount;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
species[i] = SPECIES_NONE;
|
||||
|
||||
partyCount = CalculatePlayerPartyCount();
|
||||
for (i = 0; i < partyCount; i++)
|
||||
{
|
||||
species[i] = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG, NULL);
|
||||
personality[i] = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY, NULL);
|
||||
}
|
||||
|
||||
VarSet(VAR_TRAINER_CARD_MON_ICON_1, SpeciesToMailSpecies(species[0], personality[0]));
|
||||
VarSet(VAR_TRAINER_CARD_MON_ICON_2, SpeciesToMailSpecies(species[1], personality[1]));
|
||||
VarSet(VAR_TRAINER_CARD_MON_ICON_3, SpeciesToMailSpecies(species[2], personality[2]));
|
||||
|
|
@ -2467,7 +2466,8 @@ bool8 CapeBrinkGetMoveToTeachLeadPokemon(void)
|
|||
// 8007 = Index of lead mon
|
||||
// to specialvar = whether a move can be taught in the first place
|
||||
u8 i, leadMonSlot, moveCount = 0;
|
||||
u16 moveId, tutorFlag;
|
||||
enum Move moveId;
|
||||
u16 tutorFlag;
|
||||
struct Pokemon *leadMon;
|
||||
|
||||
leadMonSlot = GetLeadMonIndex();
|
||||
|
|
|
|||
|
|
@ -237,8 +237,8 @@ static void UpdateWeatherForms(void)
|
|||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[i];
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
u16 targetSpecies = GetOverworldWeatherSpecies(species);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species targetSpecies = GetOverworldWeatherSpecies(species);
|
||||
if (species != targetSpecies)
|
||||
{
|
||||
SetMonData(mon, MON_DATA_SPECIES, &targetSpecies);
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ int Intl_GetListMenuWidth(const struct ListMenuTemplate *listMenu)
|
|||
return finalWidth;
|
||||
}
|
||||
|
||||
void CopyMonCategoryText(u16 species, u8 *dest)
|
||||
void CopyMonCategoryText(enum Species species, u8 *dest)
|
||||
{
|
||||
u8 *str = StringCopy(dest, GetSpeciesCategory(species));
|
||||
*str = CHAR_SPACE;
|
||||
|
|
|
|||
96
src/item.c
96
src/item.c
|
|
@ -32,8 +32,8 @@ EWRAM_DATA struct BagPocket gBagPockets[POCKETS_COUNT] = {};
|
|||
|
||||
static bool32 CheckPyramidBagHasItem(enum Item itemId, u16 count);
|
||||
static bool32 CheckPyramidBagHasSpace(enum Item itemId, u16 count);
|
||||
static const u8 *ItemId_GetPluralName(u16);
|
||||
static bool32 DoesItemHavePluralName(u16);
|
||||
static const u8 *ItemId_GetPluralName(enum Item itemId);
|
||||
static bool32 DoesItemHavePluralName(enum Item itemId);
|
||||
static void NONNULL BagPocket_CompactItems(struct BagPocket *pocket);
|
||||
|
||||
// Item descriptions and data
|
||||
|
|
@ -142,7 +142,7 @@ static inline u16 GetBagItemQuantityPocket(struct BagPocket *pocket, u32 pocketP
|
|||
return pocket->itemSlots[pocketPos].quantity;
|
||||
}
|
||||
|
||||
static inline void SetBagItemIdPocket(struct BagPocket *pocket, u32 pocketPos, u16 itemId)
|
||||
static inline void SetBagItemIdPocket(struct BagPocket *pocket, u32 pocketPos, enum Item itemId)
|
||||
{
|
||||
pocket->itemSlots[pocketPos].itemId = itemId;
|
||||
}
|
||||
|
|
@ -152,7 +152,7 @@ static inline void SetBagItemQuantityPocket(struct BagPocket *pocket, u32 pocket
|
|||
pocket->itemSlots[pocketPos].quantity = newValue;
|
||||
}
|
||||
|
||||
// static void SetBagItemId(enum Pocket pocketId, u32 pocketPos, u16 itemId)
|
||||
// static void SetBagItemId(enum Pocket pocketId, u32 pocketPos, enum Item itemId)
|
||||
// {
|
||||
// SetBagItemIdPocket(&gBagPockets[pocketId], pocketPos, itemId);
|
||||
// }
|
||||
|
|
@ -195,14 +195,14 @@ void SetBagItemsPointers(void)
|
|||
gBagPockets[POCKET_BERRIES].id = POCKET_BERRIES;
|
||||
}
|
||||
|
||||
u8 *CopyItemName(u16 itemId, u8 * dest)
|
||||
u8 *CopyItemName(enum Item itemId, u8 * dest)
|
||||
{
|
||||
return StringCopy(dest, GetItemName(itemId));
|
||||
}
|
||||
|
||||
const u8 sText_s[] =_("s");
|
||||
|
||||
u8 *CopyItemNameHandlePlural(u16 itemId, u8 *dst, u32 quantity)
|
||||
u8 *CopyItemNameHandlePlural(enum Item itemId, u8 *dst, u32 quantity)
|
||||
{
|
||||
if (quantity == 1)
|
||||
{
|
||||
|
|
@ -232,7 +232,7 @@ s8 BagPocketGetFirstEmptySlot(u8 pocketId)
|
|||
return -1;
|
||||
}
|
||||
|
||||
bool8 IsBagPocketNonEmpty(u8 pocketId)
|
||||
bool32 IsBagPocketNonEmpty(u8 pocketId)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
|
|
@ -245,7 +245,7 @@ bool8 IsBagPocketNonEmpty(u8 pocketId)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 CheckBagHasItem(u16 itemId, u16 count)
|
||||
bool32 CheckBagHasItem(enum Item itemId, u16 count)
|
||||
{
|
||||
u8 i;
|
||||
enum Pocket pocket = GetItemPocket(itemId);
|
||||
|
|
@ -278,7 +278,7 @@ bool8 CheckBagHasItem(u16 itemId, u16 count)
|
|||
|
||||
bool32 HasAtLeastOneBerry(void)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
bool8 exists;
|
||||
|
||||
exists = CheckBagHasItem(ITEM_BERRY_POUCH, 1);
|
||||
|
|
@ -311,7 +311,7 @@ bool32 HasAtLeastOnePokeBall(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 CheckBagHasSpace(u16 itemId, u16 count)
|
||||
bool32 CheckBagHasSpace(enum Item itemId, u16 count)
|
||||
{
|
||||
if (GetItemPocket(itemId) == POCKET_NONE)
|
||||
return FALSE;
|
||||
|
|
@ -322,7 +322,7 @@ bool8 CheckBagHasSpace(u16 itemId, u16 count)
|
|||
return GetFreeSpaceForItemInBag(itemId) >= count;
|
||||
}
|
||||
|
||||
static u32 NONNULL BagPocket_GetFreeSpaceForItem(struct BagPocket *pocket, u16 itemId)
|
||||
static u32 NONNULL BagPocket_GetFreeSpaceForItem(struct BagPocket *pocket, enum Item itemId)
|
||||
{
|
||||
u32 spaceForItem = 0;
|
||||
struct ItemSlot tempItem;
|
||||
|
|
@ -338,7 +338,7 @@ static u32 NONNULL BagPocket_GetFreeSpaceForItem(struct BagPocket *pocket, u16 i
|
|||
return spaceForItem;
|
||||
}
|
||||
|
||||
u32 GetFreeSpaceForItemInBag(u16 itemId)
|
||||
u32 GetFreeSpaceForItemInBag(enum Item itemId)
|
||||
{
|
||||
u8 pocket = GetItemPocket(itemId);
|
||||
|
||||
|
|
@ -348,7 +348,7 @@ u32 GetFreeSpaceForItemInBag(u16 itemId)
|
|||
return BagPocket_GetFreeSpaceForItem(&gBagPockets[GetItemPocket(itemId)], itemId);
|
||||
}
|
||||
|
||||
static inline bool32 NONNULL CheckSlotAndUpdateCount(struct BagPocket *pocket, u16 itemId, u32 pocketPos, u32 *nextPocketPos, u16 *count, u16 *tempPocketSlotQuantities)
|
||||
static inline bool32 NONNULL CheckSlotAndUpdateCount(struct BagPocket *pocket, enum Item itemId, u32 pocketPos, u32 *nextPocketPos, u16 *count, u16 *tempPocketSlotQuantities)
|
||||
{
|
||||
struct ItemSlot tempItem = BagPocket_GetSlotData(pocket, pocketPos);
|
||||
if (tempItem.itemId == ITEM_NONE || tempItem.itemId == itemId)
|
||||
|
|
@ -371,7 +371,7 @@ static inline bool32 NONNULL CheckSlotAndUpdateCount(struct BagPocket *pocket, u
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 NONNULL BagPocket_AddItem(struct BagPocket *pocket, u16 itemId, u16 count)
|
||||
static bool32 NONNULL BagPocket_AddItem(struct BagPocket *pocket, enum Item itemId, u16 count)
|
||||
{
|
||||
u32 itemLookupIndex, itemAddIndex = 0;
|
||||
|
||||
|
|
@ -413,7 +413,7 @@ static bool32 NONNULL BagPocket_AddItem(struct BagPocket *pocket, u16 itemId, u1
|
|||
return count == 0;
|
||||
}
|
||||
|
||||
bool8 AddBagItem(u16 itemId, u16 count)
|
||||
bool32 AddBagItem(enum Item itemId, u16 count)
|
||||
{
|
||||
enum Pocket pocket = GetItemPocket(itemId);
|
||||
s8 idx;
|
||||
|
|
@ -453,7 +453,7 @@ bool8 AddBagItem(u16 itemId, u16 count)
|
|||
return BagPocket_AddItem(&gBagPockets[GetItemPocket(itemId)], itemId, count);
|
||||
}
|
||||
|
||||
static bool32 NONNULL BagPocket_RemoveItem(struct BagPocket *pocket, u16 itemId, u16 count)
|
||||
static bool32 NONNULL BagPocket_RemoveItem(struct BagPocket *pocket, enum Item itemId, u16 count)
|
||||
{
|
||||
u32 itemLookupIndex, itemRemoveIndex = 0, totalQuantity = 0;
|
||||
struct ItemSlot tempItem;
|
||||
|
|
@ -491,7 +491,7 @@ static bool32 NONNULL BagPocket_RemoveItem(struct BagPocket *pocket, u16 itemId,
|
|||
return totalQuantity >= count;
|
||||
}
|
||||
|
||||
bool8 RemoveBagItem(u16 itemId, u16 count)
|
||||
bool32 RemoveBagItem(enum Item itemId, u16 count)
|
||||
{
|
||||
enum Pocket pocket = GetItemPocket(itemId);
|
||||
|
||||
|
|
@ -516,7 +516,7 @@ void RemoveBagItemFromSlot(struct BagPocket *pocket, u16 slotId, u16 count)
|
|||
BagPocket_SetSlotItemIdAndCount(pocket, slotId, itemSlot.itemId, itemSlot.quantity - count);
|
||||
}
|
||||
|
||||
u8 GetPocketByItemId(u16 itemId)
|
||||
u8 GetPocketByItemId(enum Item itemId)
|
||||
{
|
||||
return GetItemPocket(itemId); // wow such important
|
||||
}
|
||||
|
|
@ -604,7 +604,7 @@ u8 CountItemsInPC(void)
|
|||
return BagPocket_CountUsedItemSlots(&dummyPocket);
|
||||
}
|
||||
|
||||
static bool32 NONNULL BagPocket_CheckPocketForItemCount(struct BagPocket *pocket, u16 itemId, u16 count)
|
||||
static bool32 NONNULL BagPocket_CheckPocketForItemCount(struct BagPocket *pocket, enum Item itemId, u16 count)
|
||||
{
|
||||
struct ItemSlot tempItem;
|
||||
|
||||
|
|
@ -617,13 +617,13 @@ static bool32 NONNULL BagPocket_CheckPocketForItemCount(struct BagPocket *pocket
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 CheckPCHasItem(u16 itemId, u16 count)
|
||||
bool32 CheckPCHasItem(enum Item itemId, u16 count)
|
||||
{
|
||||
struct BagPocket dummyPocket = DUMMY_PC_BAG_POCKET;
|
||||
return BagPocket_CheckPocketForItemCount(&dummyPocket, itemId, count);
|
||||
}
|
||||
|
||||
bool8 AddPCItem(u16 itemId, u16 count)
|
||||
bool32 AddPCItem(enum Item itemId, u16 count)
|
||||
{
|
||||
struct BagPocket dummyPocket = DUMMY_PC_BAG_POCKET;
|
||||
return BagPocket_AddItem(&dummyPocket, itemId, count);
|
||||
|
|
@ -683,7 +683,7 @@ void RegisteredItemHandleBikeSwap(void)
|
|||
}
|
||||
}
|
||||
|
||||
u16 CountTotalItemQuantityInBag(u16 itemId)
|
||||
u16 CountTotalItemQuantityInBag(enum Item itemId)
|
||||
{
|
||||
u16 i;
|
||||
u16 ownedCount = 0;
|
||||
|
|
@ -899,7 +899,7 @@ bool32 RemovePyramidBagItem(enum Item itemId, u16 count)
|
|||
}
|
||||
}
|
||||
|
||||
void TrySetObtainedItemQuestLogEvent(u16 itemId)
|
||||
void TrySetObtainedItemQuestLogEvent(enum Item itemId)
|
||||
{
|
||||
// Only some key items trigger this event
|
||||
if (itemId == ITEM_OAKS_PARCEL
|
||||
|
|
@ -934,7 +934,7 @@ void TrySetObtainedItemQuestLogEvent(u16 itemId)
|
|||
}
|
||||
}
|
||||
|
||||
u16 SanitizeItemId(u16 itemId)
|
||||
u16 SanitizeItemId(enum Item itemId)
|
||||
{
|
||||
assertf(itemId < ITEMS_COUNT, "invalid item: %d", itemId)
|
||||
{
|
||||
|
|
@ -944,70 +944,70 @@ u16 SanitizeItemId(u16 itemId)
|
|||
return itemId;
|
||||
}
|
||||
|
||||
const u8 * GetItemName(u16 itemId)
|
||||
const u8 *GetItemName(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].name;
|
||||
}
|
||||
|
||||
u32 GetItemPrice(u16 itemId)
|
||||
u32 GetItemPrice(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].price;
|
||||
}
|
||||
|
||||
static bool32 DoesItemHavePluralName(u16 itemId)
|
||||
static bool32 DoesItemHavePluralName(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].pluralName != NULL;
|
||||
}
|
||||
|
||||
static const u8 *ItemId_GetPluralName(u16 itemId)
|
||||
static const u8 *ItemId_GetPluralName(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].pluralName;
|
||||
}
|
||||
|
||||
u8 GetItemHoldEffect(u16 itemId)
|
||||
u8 GetItemHoldEffect(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].holdEffect;
|
||||
}
|
||||
|
||||
u8 GetItemHoldEffectParam(u16 itemId)
|
||||
u8 GetItemHoldEffectParam(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].holdEffectParam;
|
||||
}
|
||||
|
||||
const u8 * GetItemDescription(u16 itemId)
|
||||
const u8 *GetItemDescription(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].description;
|
||||
}
|
||||
|
||||
u8 GetItemImportance(u16 itemId)
|
||||
u8 GetItemImportance(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].importance;
|
||||
}
|
||||
|
||||
u8 GetItemConsumability(u16 itemId)
|
||||
u8 GetItemConsumability(enum Item itemId)
|
||||
{
|
||||
return !gItemsInfo[SanitizeItemId(itemId)].notConsumed;
|
||||
}
|
||||
|
||||
enum Pocket GetItemPocket(u16 itemId)
|
||||
enum Pocket GetItemPocket(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].pocket;
|
||||
}
|
||||
|
||||
u8 GetItemType(u16 itemId)
|
||||
u8 GetItemType(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].type;
|
||||
}
|
||||
|
||||
ItemUseFunc GetItemFieldFunc(u16 itemId)
|
||||
ItemUseFunc GetItemFieldFunc(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].fieldUseFunc;
|
||||
}
|
||||
|
||||
// Returns an item's battle effect script ID.
|
||||
u8 GetItemBattleUsage(u16 itemId)
|
||||
u8 GetItemBattleUsage(enum Item itemId)
|
||||
{
|
||||
u16 item = SanitizeItemId(itemId);
|
||||
enum Item item = SanitizeItemId(itemId);
|
||||
// Handle E-Reader berries.
|
||||
if (item == ITEM_ENIGMA_BERRY_E_READER)
|
||||
{
|
||||
|
|
@ -1036,17 +1036,17 @@ u8 GetItemBattleUsage(u16 itemId)
|
|||
return gItemsInfo[item].battleUsage;
|
||||
}
|
||||
|
||||
u16 GetItemSecondaryId(u16 itemId)
|
||||
u16 GetItemSecondaryId(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].secondaryId;
|
||||
}
|
||||
|
||||
u32 GetItemFlingPower(u32 itemId)
|
||||
u32 GetItemFlingPower(enum Item itemId)
|
||||
{
|
||||
return gItemsInfo[SanitizeItemId(itemId)].flingPower;
|
||||
}
|
||||
|
||||
const u8 *GetItemEffect(u32 itemId)
|
||||
const u8 *GetItemEffect(enum Item itemId)
|
||||
{
|
||||
if (itemId == ITEM_ENIGMA_BERRY_E_READER)
|
||||
#if FREE_ENIGMA_BERRY == FALSE
|
||||
|
|
@ -1059,7 +1059,7 @@ const u8 *GetItemEffect(u32 itemId)
|
|||
}
|
||||
|
||||
|
||||
u32 GetItemStatus1Mask(u16 itemId)
|
||||
u32 GetItemStatus1Mask(enum Item itemId)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(itemId);
|
||||
switch (effect[3])
|
||||
|
|
@ -1080,7 +1080,7 @@ u32 GetItemStatus1Mask(u16 itemId)
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool32 ItemHasVolatileFlag(u16 itemId, enum Volatile _volatile)
|
||||
bool32 ItemHasVolatileFlag(enum Item itemId, enum Volatile _volatile)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(itemId);
|
||||
switch (_volatile)
|
||||
|
|
@ -1094,7 +1094,7 @@ bool32 ItemHasVolatileFlag(u16 itemId, enum Volatile _volatile)
|
|||
}
|
||||
}
|
||||
|
||||
u32 GetItemSellPrice(u32 itemId)
|
||||
u32 GetItemSellPrice(enum Item itemId)
|
||||
{
|
||||
return GetItemPrice(itemId) / ITEM_SELL_FACTOR;
|
||||
}
|
||||
|
|
@ -1106,24 +1106,24 @@ bool32 IsHoldEffectChoice(enum HoldEffect holdEffect)
|
|||
|| holdEffect == HOLD_EFFECT_CHOICE_SPECS;
|
||||
}
|
||||
|
||||
bool32 IsItemTM(u16 itemId)
|
||||
bool32 IsItemTM(enum Item itemId)
|
||||
{
|
||||
enum TMHMIndex index = GetItemTMHMIndex(SanitizeItemId(itemId));
|
||||
return index > 0 && index <= NUM_TECHNICAL_MACHINES;
|
||||
}
|
||||
|
||||
bool32 IsItemHM(u16 itemId)
|
||||
bool32 IsItemHM(enum Item itemId)
|
||||
{
|
||||
return GetItemTMHMIndex(SanitizeItemId(itemId)) > NUM_TECHNICAL_MACHINES;
|
||||
}
|
||||
|
||||
bool32 IsItemTMHM(u16 itemId)
|
||||
bool32 IsItemTMHM(enum Item itemId)
|
||||
{
|
||||
enum TMHMIndex index = GetItemTMHMIndex(SanitizeItemId(itemId));
|
||||
return index > 0 && index <= NUM_ALL_MACHINES;
|
||||
}
|
||||
|
||||
bool32 IsItemBall(u16 itemId)
|
||||
bool32 IsItemBall(enum Item itemId)
|
||||
{
|
||||
return GetPocketByItemId(itemId) == POCKET_POKE_BALLS;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ void CopyItemIconPicTo4x4Buffer(const void *src, void *dest)
|
|||
CpuCopy16(src + i * 96, dest + i * 128, 0x60);
|
||||
}
|
||||
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId)
|
||||
u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, enum Item itemId)
|
||||
{
|
||||
struct SpriteTemplate *spriteTemplate;
|
||||
struct SpriteSheet spriteSheet;
|
||||
|
|
@ -75,7 +75,7 @@ u8 AddItemIconSprite(u16 tilesTag, u16 paletteTag, u16 itemId)
|
|||
return spriteId;
|
||||
}
|
||||
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId)
|
||||
u8 AddCustomItemIconSprite(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, enum Item itemId)
|
||||
{
|
||||
struct SpriteTemplate template;
|
||||
struct SpriteSheet spriteSheet;
|
||||
|
|
@ -106,7 +106,7 @@ u8 AddCustomItemIconSprite(const struct SpriteTemplate * origTemplate, u16 tiles
|
|||
return spriteId;
|
||||
}
|
||||
|
||||
const void *GetItemIconPic(u16 itemId)
|
||||
const void *GetItemIconPic(enum Item itemId)
|
||||
{
|
||||
if (itemId == ITEM_FIELD_ARROW)
|
||||
return gItemIcon_ReturnToFieldArrow; // Use last icon, the "return to field" arrow
|
||||
|
|
@ -122,7 +122,7 @@ const void *GetItemIconPic(u16 itemId)
|
|||
return gItemsInfo[itemId].iconPic;
|
||||
}
|
||||
|
||||
const void *GetItemIconPalette(u16 itemId)
|
||||
const void *GetItemIconPalette(enum Item itemId)
|
||||
{
|
||||
if (itemId == ITEM_FIELD_ARROW)
|
||||
return gItemIconPalette_ReturnToFieldArrow;
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ static void ConfirmSell(u8 taskId);
|
|||
static void CancelSell(u8 taskId);
|
||||
|
||||
// pokefirered functions
|
||||
static void BagListMenuGetItemNameColored(u8 *dest, u16 itemId);
|
||||
static void BagListMenuGetItemNameColored(u8 *dest, enum Item itemId);
|
||||
static void PrintPocketName(void);
|
||||
static void GoToTMCase_Give(void);
|
||||
static void GoToBerryPouch_Give(void);
|
||||
|
|
@ -1018,7 +1018,7 @@ static void LoadBagItemListBuffers(u8 pocketId)
|
|||
gMultiuseListMenuTemplate.maxShowed = gBagMenu->numShownItems[pocketId];
|
||||
}
|
||||
|
||||
static void BagListMenuGetItemNameColored(u8 *dest, u16 itemId)
|
||||
static void BagListMenuGetItemNameColored(u8 *dest, enum Item itemId)
|
||||
{
|
||||
u8* end;
|
||||
if (itemId == ITEM_TM_CASE || itemId == ITEM_BERRY_POUCH)
|
||||
|
|
@ -1052,10 +1052,9 @@ static void BagMenu_MoveCursorCallback(s32 itemIndex, bool8 onInit, struct ListM
|
|||
|
||||
static void BagMenu_ItemPrintCallback(u8 windowId, u32 itemIndex, u8 y)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u16 itemQuantity;
|
||||
|
||||
|
||||
if (itemIndex == LIST_CANCEL)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ static void SpriteCB_ShakeBagSprite(struct Sprite *sprite)
|
|||
}
|
||||
}
|
||||
|
||||
void AddBagItemIconSprite(u16 itemId, u8 id)
|
||||
void AddBagItemIconSprite(enum Item itemId, u8 id)
|
||||
{
|
||||
u8 *spriteIds = &gBagMenu->spriteIds[ITEMMENUSPRITE_ITEM];
|
||||
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ static void ItemPc_PlaceTopMenuScrollIndicatorArrows(void);
|
|||
static void ItemPc_SetCursorPosition(void);
|
||||
static void ItemPc_FreeResources(void);
|
||||
static void Task_ItemPcTurnOff2(u8 taskId);
|
||||
static u16 ItemPc_GetItemIdBySlotId(u16 itemIndex);
|
||||
static enum Item ItemPc_GetItemIdBySlotId(u16 itemIndex);
|
||||
static u16 ItemPc_GetItemQuantityBySlotId(u16 itemIndex);
|
||||
static void ItemPc_CountPcItems(void);
|
||||
static void ItemPc_SetScrollPosition(void);
|
||||
|
|
@ -516,7 +516,7 @@ static void ItemPc_BuildListMenuTemplate(void)
|
|||
gMultiuseListMenuTemplate.cursorKind = 0;
|
||||
}
|
||||
|
||||
static void AddPcItemIconSprite(u16 item, u8 iconSlot)
|
||||
static void AddPcItemIconSprite(enum Item item, u8 iconSlot)
|
||||
{
|
||||
u8 *spriteIdPtr = &sStateDataPtr->itemSpriteIds[iconSlot];
|
||||
|
||||
|
|
@ -537,7 +537,7 @@ static void AddPcItemIconSprite(u16 item, u8 iconSlot)
|
|||
}
|
||||
}
|
||||
|
||||
static void RemovePcItemIconSprite(u16 item, u8 iconSlot)
|
||||
static void RemovePcItemIconSprite(enum Item item, u8 iconSlot)
|
||||
{
|
||||
u8 *spriteIdPtr = &sStateDataPtr->itemSpriteIds[iconSlot];
|
||||
if (*spriteIdPtr == SPRITE_NONE)
|
||||
|
|
@ -549,9 +549,9 @@ static void RemovePcItemIconSprite(u16 item, u8 iconSlot)
|
|||
*spriteIdPtr = SPRITE_NONE;
|
||||
}
|
||||
|
||||
static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list)
|
||||
static void ItemPc_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
const u8 * desc;
|
||||
if (onInit != TRUE)
|
||||
PlaySE(SE_SELECT);
|
||||
|
|
@ -705,7 +705,7 @@ static u8 ItemPc_GetCursorPosition(void)
|
|||
return sListMenuState.scroll + sListMenuState.row;
|
||||
}
|
||||
|
||||
static u16 ItemPc_GetItemIdBySlotId(u16 idx)
|
||||
static enum Item ItemPc_GetItemIdBySlotId(u16 idx)
|
||||
{
|
||||
return gSaveBlock1Ptr->pcItems[idx].itemId;
|
||||
}
|
||||
|
|
@ -937,7 +937,7 @@ static void Task_ItemPcWithdraw(u8 taskId)
|
|||
static void ItemPc_DoWithdraw(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
u16 itemId = ItemPc_GetItemIdBySlotId(data[1]);
|
||||
enum Item itemId = ItemPc_GetItemIdBySlotId(data[1]);
|
||||
u8 windowId;
|
||||
|
||||
if (AddBagItem(itemId, tItemCount) == TRUE)
|
||||
|
|
@ -997,7 +997,7 @@ static void Task_ItemPcCleanUpWithdraw(u8 taskId)
|
|||
|
||||
static void ItemPc_WithdrawMultipleInitWindow(u16 slotId)
|
||||
{
|
||||
u16 itemId = ItemPc_GetItemIdBySlotId(slotId);
|
||||
enum Item itemId = ItemPc_GetItemIdBySlotId(slotId);
|
||||
|
||||
CopyItemName(itemId, gStringVar1);
|
||||
StringExpandPlaceholders(gStringVar4, gText_WithdrawHowMany);
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ static void Task_ItemUse_CloseMessageBoxAndReturnToField(u8 taskId)
|
|||
UnlockPlayerFieldControls();
|
||||
}
|
||||
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(u16 itemId)
|
||||
u8 CheckIfItemIsTMHMOrEvolutionStone(enum Item itemId)
|
||||
{
|
||||
if (GetItemPocket(itemId) == POCKET_TM_HM)
|
||||
return 1;
|
||||
|
|
@ -1059,7 +1059,7 @@ static const u8 sText_CantThrowPokeBall_TwoMons[] = _("Cannot throw a ball!\nThe
|
|||
static const u8 sText_CantThrowPokeBall_SemiInvulnerable[] = _("Cannot throw a ball!\nThere's no Pokémon in sight!\p");
|
||||
static const u8 sText_CantThrowPokeBall_Disabled[] = _("POKé BALLS cannot be used\nright now!\p");
|
||||
|
||||
static bool32 IteamHealsMonVolatile(u32 battler, u16 itemId)
|
||||
static bool32 IteamHealsMonVolatile(u32 battler, enum Item itemId)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(itemId);
|
||||
if (effect[3] & ITEM3_STATUS_ALL)
|
||||
|
|
@ -1072,7 +1072,7 @@ static bool32 IteamHealsMonVolatile(u32 battler, u16 itemId)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 SelectedMonHasVolatile(u16 itemId)
|
||||
static bool32 SelectedMonHasVolatile(enum Item itemId)
|
||||
{
|
||||
if (gPartyMenu.slotId == 0)
|
||||
return IteamHealsMonVolatile(0, itemId);
|
||||
|
|
@ -1082,7 +1082,7 @@ static bool32 SelectedMonHasVolatile(u16 itemId)
|
|||
}
|
||||
|
||||
// Returns whether an item can be used in battle and sets the fail text.
|
||||
bool32 CannotUseItemsInBattle(u16 itemId, struct Pokemon *mon)
|
||||
bool32 CannotUseItemsInBattle(enum Item itemId, struct Pokemon *mon)
|
||||
{
|
||||
u16 battleUsage = GetItemBattleUsage(itemId);
|
||||
bool8 cannotUse = FALSE;
|
||||
|
|
@ -1270,7 +1270,7 @@ void ItemUseOutOfBattle_CannotUse(u8 taskId)
|
|||
PrintNotTheTimeToUseThat(taskId, gTasks[taskId].data[3]);
|
||||
}
|
||||
|
||||
void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon *pokemon, u16 itemId, u16 param)
|
||||
void ItemUse_SetQuestLogEvent(u8 eventId, struct Pokemon *pokemon, enum Item itemId, u16 param)
|
||||
{
|
||||
struct QuestLogEvent_Item *data = Alloc(sizeof(*data));
|
||||
|
||||
|
|
|
|||
|
|
@ -440,7 +440,8 @@ static const struct MailAttrStruct sMessageLayouts_5x2[] = {
|
|||
void ReadMail(struct Mail * mail, void (*savedCallback)(void), bool8 messageExists)
|
||||
{
|
||||
u16 sp0;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
sMailViewResources = AllocZeroed(sizeof(struct MailViewResources));
|
||||
sMailViewResources->unused = 2;
|
||||
sMailViewResources->mailArrangementType = 1;
|
||||
|
|
|
|||
|
|
@ -30,25 +30,25 @@ void ClearMailStruct(struct Mail *mail)
|
|||
|
||||
bool8 MonHasMail(struct Pokemon *mon)
|
||||
{
|
||||
u16 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
if (ItemIsMail(heldItem) && GetMonData(mon, MON_DATA_MAIL) != 0xFF)
|
||||
enum Item heldItem = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
if (ItemIsMail(heldItem) && GetMonData(mon, MON_DATA_MAIL) != MAIL_NONE)
|
||||
return TRUE;
|
||||
else
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u8 GiveMailToMon(struct Pokemon *mon, u16 itemId)
|
||||
u8 GiveMailToMon(struct Pokemon *mon, enum Item itemId)
|
||||
{
|
||||
u8 heldItem[2];
|
||||
u8 id, i;
|
||||
u16 species;
|
||||
u8 i;
|
||||
enum Species species;
|
||||
u32 personality;
|
||||
|
||||
heldItem[0] = itemId;
|
||||
heldItem[1] = itemId >> 8;
|
||||
for (id = 0; id < PARTY_SIZE; id++)
|
||||
for (u8 id = 0; id < PARTY_SIZE; id++)
|
||||
{
|
||||
if (gSaveBlock1Ptr->mail[id].itemId == 0)
|
||||
if (gSaveBlock1Ptr->mail[id].itemId == ITEM_NONE)
|
||||
{
|
||||
for (i = 0; i < MAIL_WORDS_COUNT; i++)
|
||||
gSaveBlock1Ptr->mail[id].words[i] = 0xFFFF;
|
||||
|
|
@ -71,18 +71,17 @@ u8 GiveMailToMon(struct Pokemon *mon, u16 itemId)
|
|||
return 0xFF;
|
||||
}
|
||||
|
||||
u16 SpeciesToMailSpecies(u16 species, u32 personality)
|
||||
u16 SpeciesToMailSpecies(enum Species species, u32 personality)
|
||||
{
|
||||
if (species == SPECIES_UNOWN) {
|
||||
u32 mailSpecies = GetUnownLetterByPersonality(personality) + UNOWN_OFFSET;
|
||||
return mailSpecies;
|
||||
}
|
||||
if (species == SPECIES_UNOWN)
|
||||
return GetUnownLetterByPersonality(personality) + UNOWN_OFFSET;
|
||||
|
||||
return species;
|
||||
}
|
||||
|
||||
u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer)
|
||||
enum Species MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer)
|
||||
{
|
||||
u16 result;
|
||||
enum Species result;
|
||||
|
||||
if (mailSpecies >= UNOWN_OFFSET && mailSpecies < UNOWN_OFFSET + NUM_UNOWN_FORMS)
|
||||
{
|
||||
|
|
@ -100,7 +99,7 @@ u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer)
|
|||
u8 GiveMailToMon2(struct Pokemon *mon, struct Mail *mail)
|
||||
{
|
||||
u8 heldItem[2];
|
||||
u16 itemId = mail->itemId;
|
||||
enum Item itemId = mail->itemId;
|
||||
u8 mailId = GiveMailToMon(mon, itemId);
|
||||
|
||||
if (mailId == 0xFF)
|
||||
|
|
@ -169,7 +168,7 @@ u8 TakeMailFromMonAndSave(struct Pokemon *mon)
|
|||
return newMailId;
|
||||
}
|
||||
|
||||
bool8 ItemIsMail(u16 itemId)
|
||||
bool8 ItemIsMail(enum Item itemId)
|
||||
{
|
||||
switch (itemId)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1558,12 +1558,12 @@ void PrintPlayerNameOnWindow(u8 windowId, const u8 * src, u16 x, u16 y)
|
|||
}
|
||||
}
|
||||
|
||||
void LoadMonIconPalAtOffset(u8 palOffset, u16 speciesId)
|
||||
void LoadMonIconPalAtOffset(u8 palOffset, enum Species speciesId)
|
||||
{
|
||||
LoadPalette(GetValidMonIconPalettePtr(speciesId), palOffset, PLTT_SIZE_4BPP);
|
||||
}
|
||||
|
||||
void DrawMonIconAtPos(u8 windowId, u16 speciesId, u32 personality, u16 x, u16 y)
|
||||
void DrawMonIconAtPos(u8 windowId, enum Species speciesId, u32 personality, u16 x, u16 y)
|
||||
{
|
||||
BlitBitmapToWindow(windowId, GetMonIconPtr(speciesId, personality), x, y, 32, 32);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ static void Task_SmoothBlendLayers(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
u8 Menu2_GetMonPosAttribute(u16 species, u32 personality, u8 attributeId)
|
||||
u8 Menu2_GetMonPosAttribute(enum Species species, u32 personality, u8 attributeId)
|
||||
{
|
||||
// if (species == SPECIES_UNOWN)
|
||||
// {
|
||||
|
|
@ -97,7 +97,7 @@ u8 Menu2_GetMonPosAttribute(u16 species, u32 personality, u8 attributeId)
|
|||
return 32;
|
||||
}
|
||||
|
||||
s8 Menu2_GetStarSpritePosAttribute(u16 species, u32 personality, u8 attributeId)
|
||||
s8 Menu2_GetStarSpritePosAttribute(enum Species species, u32 personality, u8 attributeId)
|
||||
{
|
||||
return Menu2_GetMonPosAttribute(species, personality, attributeId) - 32;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ u8 GetLRKeysPressedAndHeld(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
bool8 IsHoldingItemAllowed(u16 itemId)
|
||||
bool8 IsHoldingItemAllowed(enum Item itemId)
|
||||
{
|
||||
// Enigma Berry can't be held in link areas
|
||||
if (itemId == ITEM_ENIGMA_BERRY_E_READER
|
||||
|
|
@ -164,7 +164,7 @@ bool8 IsHoldingItemAllowed(u16 itemId)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 IsWritingMailAllowed(u16 itemId)
|
||||
bool8 IsWritingMailAllowed(enum Item itemId)
|
||||
{
|
||||
if ((IsOverworldLinkActive() == TRUE || InUnionRoom() == TRUE) && ItemIsMail(itemId) == TRUE)
|
||||
return FALSE;
|
||||
|
|
|
|||
|
|
@ -851,7 +851,7 @@ const u8 *GetBufferedString(u8 *buffer, u16 value)
|
|||
return buffer;
|
||||
}
|
||||
|
||||
static void PrintMoveInfo(u16 move)
|
||||
static void PrintMoveInfo(enum Move move)
|
||||
{
|
||||
const u8 *colors = sTextColors[GENERAL_TEXT_COLOR];
|
||||
u8 buffer[50];
|
||||
|
|
|
|||
|
|
@ -237,8 +237,8 @@ bool8 MEScrCmd_givepokemon(struct ScriptContext *ctx)
|
|||
{
|
||||
struct Mail mail;
|
||||
struct Pokemon pokemon;
|
||||
u16 species;
|
||||
u16 heldItem;
|
||||
enum Species species;
|
||||
enum Item heldItem;
|
||||
u32 data = ScriptReadWord(ctx) - ctx->data[1] + ctx->data[0];
|
||||
void *pokemonPtr = (void *)data;
|
||||
void *mailPtr = (void *)(data + sizeof(struct Pokemon));
|
||||
|
|
|
|||
|
|
@ -3767,7 +3767,7 @@ static void SpriteCB_LinkPlayer(struct Sprite *sprite)
|
|||
#define ITEM_ICON_Y 24
|
||||
#define ITEM_TAG 0x2722 //same as money label
|
||||
|
||||
bool8 GetSetItemObtained(u16 item, enum ItemObtainFlags caseId)
|
||||
bool8 GetSetItemObtained(enum Item item, enum ItemObtainFlags caseId)
|
||||
{
|
||||
#if OW_SHOW_ITEM_DESCRIPTIONS == OW_ITEM_DESCRIPTIONS_FIRST_TIME
|
||||
u8 index = item / 8;
|
||||
|
|
@ -3791,10 +3791,10 @@ EWRAM_DATA static u8 sHeaderBoxWindowId = 0;
|
|||
EWRAM_DATA u8 sItemIconSpriteId = 0;
|
||||
EWRAM_DATA u8 sItemIconSpriteId2 = 0;
|
||||
|
||||
static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash);
|
||||
static void ShowItemIconSprite(enum Item item, bool8 firstTime, bool8 flash);
|
||||
static void DestroyItemIconSprite(void);
|
||||
|
||||
static u8 ReformatItemDescription(u16 item, u8 *dest)
|
||||
static u8 ReformatItemDescription(enum Item item, u8 *dest)
|
||||
{
|
||||
u8 count = 0;
|
||||
u8 numLines = 1;
|
||||
|
|
@ -3840,7 +3840,7 @@ void ScriptShowItemDescription(struct ScriptContext *ctx)
|
|||
{
|
||||
u8 headerType = ScriptReadByte(ctx);
|
||||
struct WindowTemplate template;
|
||||
u16 item = gSpecialVar_0x8006;
|
||||
enum Item item = gSpecialVar_0x8006;
|
||||
u8 textY;
|
||||
u8 *dst;
|
||||
bool8 handleFlash = FALSE;
|
||||
|
|
@ -3890,7 +3890,7 @@ void ScriptHideItemDescription(struct ScriptContext *ctx)
|
|||
}
|
||||
}
|
||||
|
||||
static void ShowItemIconSprite(u16 item, bool8 firstTime, bool8 flash)
|
||||
static void ShowItemIconSprite(enum Item item, bool8 firstTime, bool8 flash)
|
||||
{
|
||||
s16 x = 0, y = 0;
|
||||
u8 iconSpriteId;
|
||||
|
|
|
|||
200
src/party_menu.c
200
src/party_menu.c
|
|
@ -228,18 +228,18 @@ static void DisplayPartyPokemonHPBarCheck(struct Pokemon *mon, struct PartyMenuB
|
|||
static void DisplayPartyPokemonDescriptionText(u8 stringId, struct PartyMenuBox *menuBox, u8 drawMenuBoxOrText);
|
||||
static bool8 GetBattleEntryEligibility(struct Pokemon *mon);
|
||||
static bool8 IsMonAllowedInMinigame(u8 slot);
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 move);
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8 slot, enum Move move);
|
||||
static void DisplayPartyPokemonBarDetail(u8 windowId, const u8 *str, u8 color, const u8 *dimensions);
|
||||
static void DisplayPartyPokemonBarDetailToFit(u8 windowId, const u8 *str, u8 color, const u8 *align, u32 width);
|
||||
static void DisplayPartyPokemonLevel(u8 level, struct PartyMenuBox *menuBox);
|
||||
static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox);
|
||||
static void DisplayPartyPokemonGender(u8 gender, enum Species species, u8 *nickname, struct PartyMenuBox *menuBox);
|
||||
static void DisplayPartyPokemonHP(u16 hp, struct PartyMenuBox *menuBox);
|
||||
static void DisplayPartyPokemonMaxHP(u16 maxhp, struct PartyMenuBox *menuBox);
|
||||
static void DisplayPartyPokemonHPBar(u16 hp, u16 maxhp, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, bool32 isEgg, struct PartyMenuBox *menuBox, u8 priority);
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonIconSpriteParameterized(enum Species species, u32 pid, bool32 isEgg, struct PartyMenuBox *menuBox, u8 priority);
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(enum Species species, enum Item item, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonPokeballSpriteParameterized(enum Species species, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonStatusSpriteParameterized(enum Species species, u8 status, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox, u32 slot);
|
||||
static void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
|
||||
static void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
|
||||
|
|
@ -283,7 +283,7 @@ static void UpdatePartySelectionDoubleLayout(s8 *slotPtr, s8 movementDir);
|
|||
static s8 GetNewSlotDoubleLayout(s8 slotId, s8 movementDir);
|
||||
static void Task_PrintAndWaitForText(u8 taskId);
|
||||
static void PrintMessage(const u8 *text);
|
||||
static void SetSwappedHeldItemQuestLogEvent(struct Pokemon *mon, u16 item, u16 item2);
|
||||
static void SetSwappedHeldItemQuestLogEvent(struct Pokemon *mon, enum Item item, enum Item item2);
|
||||
static bool16 IsMonAllowedInPokemonJump(struct Pokemon *mon);
|
||||
static bool16 IsMonAllowedInDodrioBerryPicking(struct Pokemon *mon);
|
||||
static void Task_CancelParticipationYesNo(u8 taskId);
|
||||
|
|
@ -296,7 +296,7 @@ static void SpriteCB_UpdatePartyMonIcon(struct Sprite *sprite);
|
|||
static void SpriteCB_BouncePartyMonIcon(struct Sprite *sprite);
|
||||
static void SpriteCB_HeldItem(struct Sprite *sprite);
|
||||
static void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBox *menuBox);
|
||||
static void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox);
|
||||
static void ShowOrHideHeldItemSprite(enum Item item, struct PartyMenuBox *menuBox);
|
||||
static void CreateHeldItemSpriteForTrade(u8 spriteId, bool8 isMail);
|
||||
static void SetPartyMonAilmentGfx(struct Pokemon *mon, struct PartyMenuBox *menuBox);
|
||||
static void UpdatePartyMonAilmentGfx(u8 status, struct PartyMenuBox *menuBox);
|
||||
|
|
@ -368,7 +368,7 @@ static void DisplayLevelUpStatsPg2(u8 taskId);
|
|||
static void Task_TryLearnNewMoves(u8 taskId);
|
||||
static void PartyMenuTryEvolution(u8 taskId);
|
||||
static void DisplayMonNeedsToReplaceMove(u8 taskId);
|
||||
static void DisplayMonLearnedMove(u8 taskId, u16 move);
|
||||
static void DisplayMonLearnedMove(u8 taskId, enum Move move);
|
||||
static void Task_SacredAshDisplayHPRestored(u8 taskId);
|
||||
static void Task_SacredAshLoop(u8 taskId);
|
||||
static void UseSacredAsh(u8 taskId);
|
||||
|
|
@ -381,7 +381,7 @@ static void GiveItemToSelectedMon(u8 taskId);
|
|||
static void Task_UpdateHeldItemSpriteAndClosePartyMenu(u8 taskId);
|
||||
static void Task_SwitchItemsFromBagYesNo(u8 taskId);
|
||||
static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void);
|
||||
static bool8 ReturnGiveItemToBagOrPC(u16 item);
|
||||
static bool32 ReturnGiveItemToBagOrPC(enum Item item);
|
||||
static void Task_DisplayGaveMailFromBagMessage(u8 taskId);
|
||||
static void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId);
|
||||
static void Task_ValidateChosenMonsForBattle(u8 taskId);
|
||||
|
|
@ -423,7 +423,7 @@ static void ItemUseCB_ReplaceMoveWithTMHM(u8 taskId, TaskFunc func);
|
|||
static void Task_ReplaceMoveWithTMHM(u8 taskId);
|
||||
static void CB2_UseEvolutionStone(void);
|
||||
static bool8 MonCanEvolve(void);
|
||||
static u8 CanTeachMove(struct Pokemon *mon, u16 move);
|
||||
static u8 CanTeachMove(struct Pokemon *mon, enum Move move);
|
||||
static void TryItemHoldFormChange(struct Pokemon *mon, s8 slotId);
|
||||
static void Task_TossHeldItemYesNo(u8 taskId);
|
||||
static void Task_HandleTossHeldItemYesNoInput(u8);
|
||||
|
|
@ -1036,7 +1036,7 @@ static void DisplayPartyPokemonDataForBattlePyramidHeldItem(u8 slot)
|
|||
static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
||||
{
|
||||
struct Pokemon *currentPokemon = &gPlayerParty[slot];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
|
||||
if (gPartyMenu.action == PARTY_ACTION_MOVE_TUTOR)
|
||||
{
|
||||
|
|
@ -1064,7 +1064,7 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8 slot, u16 move)
|
||||
static void DisplayPartyPokemonDataToTeachMove(u8 slot, enum Move move)
|
||||
{
|
||||
switch (CanTeachMove(&gPlayerParty[slot], move))
|
||||
{
|
||||
|
|
@ -1476,7 +1476,7 @@ static bool8 DoesSelectedMonKnowHM(u8 *slotPtr)
|
|||
|
||||
for (u32 i = 0; i < MAX_MON_MOVES; i++)
|
||||
{
|
||||
u16 move = GetMonData(&gPlayerParty[*slotPtr], MON_DATA_MOVE1 + i);
|
||||
enum Move move = GetMonData(&gPlayerParty[*slotPtr], MON_DATA_MOVE1 + i);
|
||||
|
||||
if (IsMoveHM(move))
|
||||
return TRUE;
|
||||
|
|
@ -1840,7 +1840,7 @@ static void Task_ReturnToChooseMonAfterText(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
static void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen, bool8 fromBagMenu)
|
||||
static void DisplayGaveHeldItemMessage(struct Pokemon *mon, enum Item item, bool8 keepOpen, bool8 fromBagMenu)
|
||||
{
|
||||
if (!fromBagMenu) // Used Give option from party menu
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_GAVE_HELD_ITEM, mon, item, 0xFFFF);
|
||||
|
|
@ -1855,7 +1855,7 @@ static void DisplayGaveHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keep
|
|||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
|
||||
static void DisplayTookHeldItemMessage(struct Pokemon *mon, enum Item item, bool8 keepOpen)
|
||||
{
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_TOOK_HELD_ITEM, mon, item, 0xFFFF);
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
|
|
@ -1865,7 +1865,7 @@ static void DisplayTookHeldItemMessage(struct Pokemon *mon, u16 item, bool8 keep
|
|||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item, bool8 keepOpen)
|
||||
static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, enum Item item, bool8 keepOpen)
|
||||
{
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
CopyItemName(item, gStringVar2);
|
||||
|
|
@ -1874,7 +1874,7 @@ static void DisplayAlreadyHoldingItemSwitchMessage(struct Pokemon *mon, u16 item
|
|||
ScheduleBgCopyTilemapToVram(2);
|
||||
}
|
||||
|
||||
static void DisplaySwitchedHeldItemMessage(u16 item, u16 item2, bool8 keepOpen)
|
||||
static void DisplaySwitchedHeldItemMessage(enum Item item, enum Item item2, bool8 keepOpen)
|
||||
{
|
||||
SetSwappedHeldItemQuestLogEvent(&gPlayerParty[gPartyMenu.slotId], item2, item);
|
||||
CopyItemName(item, gStringVar1);
|
||||
|
|
@ -1914,7 +1914,7 @@ static u8 TryTakeMonItem(struct Pokemon *mon)
|
|||
return 2;
|
||||
}
|
||||
|
||||
static void BufferBagFullCantTakeItemMessage(u16 itemId)
|
||||
static void BufferBagFullCantTakeItemMessage(enum Item itemId)
|
||||
{
|
||||
const u8 *string;
|
||||
|
||||
|
|
@ -2136,16 +2136,20 @@ static void Task_HandleCancelParticipationYesNoInput(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
static u8 CanTeachMove(struct Pokemon *mon, u16 move)
|
||||
static u8 CanTeachMove(struct Pokemon *mon, enum Move move)
|
||||
{
|
||||
if (GetMonData(mon, MON_DATA_IS_EGG))
|
||||
return CANNOT_LEARN_MOVE_IS_EGG;
|
||||
if (MonKnowsMove(mon, move) == TRUE)
|
||||
|
||||
if (MonKnowsMove(mon, move))
|
||||
return ALREADY_KNOWS_MOVE;
|
||||
|
||||
if (GetFirstPartnerMove(GetMonData(mon, MON_DATA_SPECIES_OR_EGG)) == move)
|
||||
return CAN_LEARN_MOVE;
|
||||
|
||||
if (!CanLearnTeachableMove(GetMonData(mon, MON_DATA_SPECIES_OR_EGG), move))
|
||||
return CANNOT_LEARN_MOVE;
|
||||
|
||||
return CAN_LEARN_MOVE;
|
||||
}
|
||||
|
||||
|
|
@ -2577,7 +2581,7 @@ static void DisplayPartyPokemonGenderNidoranCheck(struct Pokemon *mon, struct Pa
|
|||
DisplayPartyPokemonGender(GetMonGender(mon), GetMonData(mon, MON_DATA_SPECIES), nickname, menuBox);
|
||||
}
|
||||
|
||||
static void DisplayPartyPokemonGender(u8 gender, u16 species, u8 *nickname, struct PartyMenuBox *menuBox)
|
||||
static void DisplayPartyPokemonGender(u8 gender, enum Species species, u8 *nickname, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
u8 palOffset = BG_PLTT_ID(GetWindowAttribute(menuBox->windowId, WINDOW_PALETTE_NUM));
|
||||
|
||||
|
|
@ -2905,7 +2909,7 @@ static void CreatePartyMonIconSprite(struct Pokemon *mon, struct PartyMenuBox *m
|
|||
UpdatePartyMonHPBar(menuBox->monSpriteId, mon);
|
||||
}
|
||||
|
||||
static void CreatePartyMonIconSpriteParameterized(u16 species, u32 pid, bool32 isEgg, struct PartyMenuBox *menuBox, u8 priority)
|
||||
static void CreatePartyMonIconSpriteParameterized(enum Species species, u32 pid, bool32 isEgg, struct PartyMenuBox *menuBox, u8 priority)
|
||||
{
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
|
|
@ -2993,7 +2997,7 @@ static void CreatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBo
|
|||
}
|
||||
}
|
||||
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(u16 species, u16 item, struct PartyMenuBox *menuBox)
|
||||
static void CreatePartyMonHeldItemSpriteParameterized(enum Species species, enum Item item, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
|
|
@ -3008,7 +3012,7 @@ static void UpdatePartyMonHeldItemSprite(struct Pokemon *mon, struct PartyMenuBo
|
|||
ShowOrHideHeldItemSprite(GetMonData(mon, MON_DATA_HELD_ITEM), menuBox);
|
||||
}
|
||||
|
||||
static void ShowOrHideHeldItemSprite(u16 item, struct PartyMenuBox *menuBox)
|
||||
static void ShowOrHideHeldItemSprite(enum Item item, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
if (item == ITEM_NONE)
|
||||
{
|
||||
|
|
@ -3032,23 +3036,20 @@ void LoadHeldItemIcons(void)
|
|||
|
||||
void DrawHeldItemIconsForTrade(u8 *partyCounts, u8 *partySpriteIds, u8 whichParty)
|
||||
{
|
||||
u16 i;
|
||||
u16 item;
|
||||
|
||||
switch (whichParty)
|
||||
{
|
||||
case TRADE_PLAYER:
|
||||
for (i = 0; i < partyCounts[TRADE_PLAYER]; ++i)
|
||||
for (u32 i = 0; i < partyCounts[TRADE_PLAYER]; ++i)
|
||||
{
|
||||
item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
|
||||
if (item != ITEM_NONE)
|
||||
CreateHeldItemSpriteForTrade(partySpriteIds[i], ItemIsMail(item));
|
||||
}
|
||||
break;
|
||||
case TRADE_PARTNER:
|
||||
for (i = 0; i < partyCounts[TRADE_PARTNER]; ++i)
|
||||
for (u32 i = 0; i < partyCounts[TRADE_PARTNER]; ++i)
|
||||
{
|
||||
item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM);
|
||||
if (item != ITEM_NONE)
|
||||
CreateHeldItemSpriteForTrade(partySpriteIds[i + PARTY_SIZE], ItemIsMail(item));
|
||||
}
|
||||
|
|
@ -3091,7 +3092,7 @@ static void CreatePartyMonPokeballSprite(struct Pokemon *mon, struct PartyMenuBo
|
|||
menuBox->pokeballSpriteId = CreateSprite(&sSpriteTemplate_MenuPokeball, menuBox->spriteCoords[6], menuBox->spriteCoords[7], 8);
|
||||
}
|
||||
|
||||
static void CreatePartyMonPokeballSpriteParameterized(u16 species, struct PartyMenuBox *menuBox)
|
||||
static void CreatePartyMonPokeballSpriteParameterized(enum Species species, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
|
|
@ -3156,7 +3157,7 @@ static void CreatePartyMonStatusSprite(struct Pokemon *mon, struct PartyMenuBox
|
|||
}
|
||||
}
|
||||
|
||||
static void CreatePartyMonStatusSpriteParameterized(u16 species, u8 status, struct PartyMenuBox *menuBox)
|
||||
static void CreatePartyMonStatusSpriteParameterized(enum Species species, u8 status, struct PartyMenuBox *menuBox)
|
||||
{
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
|
|
@ -3230,7 +3231,7 @@ static void SetPartyMonFieldSelectionActions(struct Pokemon *mons, u8 slotId)
|
|||
// Add field moves to action list
|
||||
for (i = 0; i < MAX_MON_MOVES; ++i)
|
||||
{
|
||||
u16 moveId = GetMonData(&mons[slotId], i + MON_DATA_MOVE1);
|
||||
enum Move moveId = GetMonData(&mons[slotId], i + MON_DATA_MOVE1);
|
||||
if (moveId == MOVE_NONE)
|
||||
continue;
|
||||
for (j = 0; j < FIELD_MOVE_COUNT; ++j)
|
||||
|
|
@ -3777,16 +3778,16 @@ void CB2_GiveHoldItem(void)
|
|||
|
||||
static void Task_GiveHoldItem(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
item = gSpecialVar_ItemId;
|
||||
DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], item, FALSE, FALSE);
|
||||
GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item);
|
||||
RemoveBagItem(item, 1);
|
||||
gTasks[taskId].func = Task_UpdateHeldItemSprite;
|
||||
}
|
||||
if (gPaletteFade.active)
|
||||
return;
|
||||
|
||||
item = gSpecialVar_ItemId;
|
||||
DisplayGaveHeldItemMessage(&gPlayerParty[gPartyMenu.slotId], item, FALSE, FALSE);
|
||||
GiveItemToMon(&gPlayerParty[gPartyMenu.slotId], item);
|
||||
RemoveBagItem(item, 1);
|
||||
gTasks[taskId].func = Task_UpdateHeldItemSprite;
|
||||
}
|
||||
|
||||
static void Task_SwitchHoldItemsPrompt(u8 taskId)
|
||||
|
|
@ -3865,12 +3866,12 @@ static void CB2_WriteMailToGiveMon(void)
|
|||
|
||||
static void CB2_ReturnToPartyMenuFromWritingMail(void)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
// Canceled writing mail
|
||||
if (gSpecialVar_Result == FALSE)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
TakeMailFromMon(mon);
|
||||
SetMonData(mon, MON_DATA_HELD_ITEM, &sPartyMenuItemId);
|
||||
RemoveBagItem(sPartyMenuItemId, 1);
|
||||
|
|
@ -3918,7 +3919,7 @@ static void Task_UpdateHeldItemSprite(u8 taskId)
|
|||
static void CursorCB_TakeItem(u8 taskId)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
PlaySE(SE_SELECT);
|
||||
PartyMenuRemoveWindow(&sPartyMenuInternal->windowId[0]);
|
||||
|
|
@ -4096,7 +4097,7 @@ static void Task_LoseMailMessageYesNo(u8 taskId)
|
|||
|
||||
static void Task_HandleLoseMailMessageYesNoInput(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
switch (Menu_ProcessInputNoWrapClearOnChoose())
|
||||
{
|
||||
|
|
@ -4246,8 +4247,8 @@ static void CursorCB_Store(u8 taskId)
|
|||
// Register mon for the Trading Board in Union Room
|
||||
static void CursorCB_Register(u8 taskId)
|
||||
{
|
||||
u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES_OR_EGG);
|
||||
u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
|
||||
enum Species species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
|
||||
u8 isModernFatefulEncounter = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MODERN_FATEFUL_ENCOUNTER);
|
||||
|
||||
switch (CanRegisterMonForTradingBoard(*(struct RfuGameCompatibilityData *)GetHostRfuGameData(), species2, species, isModernFatefulEncounter))
|
||||
|
|
@ -4273,8 +4274,8 @@ static void CursorCB_Register(u8 taskId)
|
|||
|
||||
static void CursorCB_Trade1(u8 taskId)
|
||||
{
|
||||
u16 species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES_OR_EGG);
|
||||
u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
|
||||
enum Species species2 = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
|
||||
u8 isModernFatefulEncounter = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_MODERN_FATEFUL_ENCOUNTER);
|
||||
u32 stringId = GetUnionRoomTradeMessageId(*(struct RfuGameCompatibilityData *)GetHostRfuGameData(), gRfuPartnerCompatibilityData, species2, gUnionRoomOfferedSpecies, gUnionRoomRequestedMonType, species, isModernFatefulEncounter);
|
||||
|
||||
|
|
@ -4596,7 +4597,7 @@ bool32 SetUpFieldMove_RockClimb(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static void SetSwappedHeldItemQuestLogEvent(struct Pokemon *mon, u16 item, u16 item2)
|
||||
static void SetSwappedHeldItemQuestLogEvent(struct Pokemon *mon, enum Item item, enum Item item2)
|
||||
{
|
||||
struct QuestLogEvent_SwappedHeldItem *data = Alloc(sizeof(*data));
|
||||
|
||||
|
|
@ -4776,7 +4777,7 @@ static void CB2_UseTMHMAfterForgettingMove(void)
|
|||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u8 moveIdx = GetMoveSlotToReplace();
|
||||
u16 move = GetMonData(mon, moveIdx + MON_DATA_MOVE1);
|
||||
enum Move move = GetMonData(mon, moveIdx + MON_DATA_MOVE1);
|
||||
|
||||
RemoveMonPPBonus(mon, moveIdx);
|
||||
SetMonMoveSlot(mon, ItemIdToBattleMoveId(gSpecialVar_ItemId), moveIdx);
|
||||
|
|
@ -4800,7 +4801,7 @@ static void Task_SetSacredAshCB(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
static bool8 IsHPRecoveryItem(u16 item)
|
||||
static bool8 IsHPRecoveryItem(enum Item item)
|
||||
{
|
||||
const u8 *effect = GetItemEffect(item);
|
||||
|
||||
|
|
@ -4813,7 +4814,7 @@ static bool8 IsHPRecoveryItem(u16 item)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static void GetMedicineItemEffectMessage(u16 item, u32 statusCured)
|
||||
static void GetMedicineItemEffectMessage(enum Item item, u32 statusCured)
|
||||
{
|
||||
switch (GetItemEffectType(item))
|
||||
{
|
||||
|
|
@ -4881,14 +4882,14 @@ static void GetMedicineItemEffectMessage(u16 item, u32 statusCured)
|
|||
}
|
||||
}
|
||||
|
||||
static bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, u16 item)
|
||||
static bool8 NotUsingHPEVItemOnShedinja(struct Pokemon *mon, enum Item item)
|
||||
{
|
||||
if (GetItemEffectType(item) == ITEM_EFFECT_HP_EV && GetMonData(mon, MON_DATA_SPECIES) == SPECIES_SHEDINJA)
|
||||
return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static bool8 IsItemFlute(u16 item)
|
||||
static bool8 IsItemFlute(enum Item item)
|
||||
{
|
||||
if (item == ITEM_BLUE_FLUTE || item == ITEM_RED_FLUTE || item == ITEM_YELLOW_FLUTE)
|
||||
return TRUE;
|
||||
|
|
@ -5270,7 +5271,7 @@ void ItemUseCB_BattleChooseMove(u8 taskId, TaskFunc task)
|
|||
gTasks[taskId].func = Task_HandleRestoreWhichMoveInput;
|
||||
}
|
||||
|
||||
static bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, u16 item, u8 monMoveIndex)
|
||||
static bool8 ExecuteTableBasedItemEffect_(u8 partyMonIndex, enum Item item, u8 monMoveIndex)
|
||||
{
|
||||
if (gMain.inBattle)
|
||||
return ExecuteTableBasedItemEffect(&gPlayerParty[partyMonIndex], item, GetPartyIdFromBattleSlot(partyMonIndex), monMoveIndex);
|
||||
|
|
@ -5282,7 +5283,7 @@ void ItemUseCB_Medicine(u8 taskId, TaskFunc func)
|
|||
{
|
||||
u16 hp = 0;
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
bool8 canHeal, cannotUse;
|
||||
u32 oldStatus = GetMonData(mon, MON_DATA_STATUS);
|
||||
|
||||
|
|
@ -5438,7 +5439,7 @@ void ItemUseCB_ReduceEVStep(u8 taskId, TaskFunc task)
|
|||
void ItemUseCB_ReduceEV(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
u8 effectType = GetItemEffectType(item);
|
||||
bool8 cannotUseEffect;
|
||||
|
||||
|
|
@ -5478,7 +5479,7 @@ void ItemUseCB_ResetEVsStep(u8 taskId, TaskFunc task)
|
|||
void ItemUseCB_ResetEVs(u8 taskId, TaskFunc task)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
bool8 cannotUseEffect = ExecuteTableBasedItemEffect(mon, item, gPartyMenu.slotId, 0);
|
||||
|
||||
if (cannotUseEffect)
|
||||
|
|
@ -5502,7 +5503,7 @@ static void ShowMoveSelectWindow(u8 slot)
|
|||
u8 moveCount = 0;
|
||||
u8 fontId = FONT_NORMAL;
|
||||
u8 windowId = DisplaySelectionWindow(SELECTWINDOW_MOVES);
|
||||
u16 move;
|
||||
enum Move move;
|
||||
|
||||
for (i = 0; i < MAX_MON_MOVES; ++i)
|
||||
{
|
||||
|
|
@ -5616,7 +5617,7 @@ static void ReturnToUseOnWhichMon(u8 taskId)
|
|||
|
||||
static void ItemUseCB_RestorePP(u8 taskId, TaskFunc func)
|
||||
{
|
||||
u16 move = MOVE_NONE;
|
||||
enum Move move = MOVE_NONE;
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
|
||||
gPartyMenuUseExitCallback = TRUE;
|
||||
|
|
@ -5646,7 +5647,7 @@ enum Move ItemIdToBattleMoveId(enum Item item)
|
|||
return (GetItemPocket(item) == POCKET_TM_HM) ? GetItemTMHMMoveId(item) : MOVE_NONE;
|
||||
}
|
||||
|
||||
bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
|
||||
bool32 MonKnowsMove(struct Pokemon *mon, enum Move move)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
|
|
@ -5658,7 +5659,7 @@ bool8 MonKnowsMove(struct Pokemon *mon, u16 move)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 BoxMonKnowsMove(struct BoxPokemon *boxMon, u16 move)
|
||||
bool32 BoxMonKnowsMove(struct BoxPokemon *boxMon, enum Move move)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
|
|
@ -5690,7 +5691,7 @@ void ItemUseCB_TMHM(u8 taskId, TaskFunc func)
|
|||
{
|
||||
struct Pokemon *mon;
|
||||
s16 *data;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
PlaySE(SE_SELECT);
|
||||
mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
|
|
@ -5731,7 +5732,7 @@ static void Task_LearnedMove(u8 taskId)
|
|||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
s16 *data = gPartyMenu.data;
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
|
||||
if (learnMoveMethod == LEARN_VIA_TMHM)
|
||||
{
|
||||
|
|
@ -5814,7 +5815,7 @@ static void CB2_ShowSummaryScreenToForgetMove(void)
|
|||
static void CB2_ReturnToPartyMenuWhileLearningMove(void)
|
||||
{
|
||||
u8 moveIdx = GetMoveSlotToReplace();
|
||||
u16 move;
|
||||
enum Move move;
|
||||
s32 learnMethod = gPartyMenu.learnMoveMethod;
|
||||
|
||||
if (learnMethod == LEARN_VIA_TMHM && moveIdx != MAX_MON_MOVES)
|
||||
|
|
@ -5852,7 +5853,7 @@ static void Task_ReplaceMoveWithTMHM(u8 taskId)
|
|||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u8 moveIdx = GetMoveSlotToReplace();
|
||||
u16 move = GetMonData(mon, moveIdx + MON_DATA_MOVE1);
|
||||
enum Move move = GetMonData(mon, moveIdx + MON_DATA_MOVE1);
|
||||
|
||||
ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, mon, gSpecialVar_ItemId, move);
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
|
|
@ -5865,7 +5866,7 @@ static void Task_ReplaceMoveWithTMHM(u8 taskId)
|
|||
static void DisplayPartyMenuForgotMoveMessage(u8 taskId)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 move = GetMonData(mon, MON_DATA_MOVE1 + GetMoveSlotToReplace());
|
||||
enum Move move = GetMonData(mon, MON_DATA_MOVE1 + GetMoveSlotToReplace());
|
||||
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
StringCopy(gStringVar2, gMovesInfo[move].name);
|
||||
|
|
@ -5876,16 +5877,16 @@ static void DisplayPartyMenuForgotMoveMessage(u8 taskId)
|
|||
static void Task_PartyMenuReplaceMove(u8 taskId)
|
||||
{
|
||||
struct Pokemon *mon;
|
||||
u16 move;
|
||||
enum Move move;
|
||||
|
||||
if (IsPartyMenuTextPrinterActive() != TRUE)
|
||||
{
|
||||
mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
RemoveMonPPBonus(mon, GetMoveSlotToReplace());
|
||||
move = gPartyMenu.learnMoveId;
|
||||
SetMonMoveSlot(mon, move, GetMoveSlotToReplace());
|
||||
Task_LearnedMove(taskId);
|
||||
}
|
||||
if (IsPartyMenuTextPrinterActive())
|
||||
return;
|
||||
|
||||
mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
RemoveMonPPBonus(mon, GetMoveSlotToReplace());
|
||||
move = gPartyMenu.learnMoveId;
|
||||
SetMonMoveSlot(mon, move, GetMoveSlotToReplace());
|
||||
Task_LearnedMove(taskId);
|
||||
}
|
||||
|
||||
static void StopLearningMovePrompt(u8 taskId)
|
||||
|
|
@ -6210,7 +6211,7 @@ static void DisplayMonNeedsToReplaceMove(u8 taskId)
|
|||
gTasks[taskId].func = Task_ReplaceMoveYesNo;
|
||||
}
|
||||
|
||||
static void DisplayMonLearnedMove(u8 taskId, u16 move)
|
||||
static void DisplayMonLearnedMove(u8 taskId, enum Move move)
|
||||
{
|
||||
GetMonNickname(&gPlayerParty[gPartyMenu.slotId], gStringVar1);
|
||||
StringCopy(gStringVar2, gMovesInfo[move].name);
|
||||
|
|
@ -6394,7 +6395,7 @@ static bool8 MonCanEvolve(void)
|
|||
return GetEvolutionTargetSpecies(&gPlayerParty[gPartyMenu.slotId], EVO_MODE_ITEM_USE, gSpecialVar_ItemId, NULL, NULL, CHECK_EVO) != SPECIES_NONE;
|
||||
}
|
||||
|
||||
u8 GetItemEffectType(u16 item)
|
||||
u8 GetItemEffectType(enum Item item)
|
||||
{
|
||||
u32 statusCure;
|
||||
const u8 *itemEffect = GetItemEffect(item);
|
||||
|
|
@ -6561,7 +6562,7 @@ static void GiveItemOrMailToSelectedMon(u8 taskId)
|
|||
|
||||
static void GiveItemToSelectedMon(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
|
|
@ -6595,12 +6596,12 @@ static void CB2_WriteMailToGiveMonFromBag(void)
|
|||
|
||||
static void CB2_ReturnToPartyOrBagMenuFromWritingMail(void)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
u16 item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
// Canceled writing mail
|
||||
if (gSpecialVar_Result == FALSE)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gPartyMenu.slotId];
|
||||
enum Item item = GetMonData(mon, MON_DATA_HELD_ITEM);
|
||||
|
||||
TakeMailFromMon(mon);
|
||||
SetMonData(mon, MON_DATA_HELD_ITEM, &sPartyMenuItemId);
|
||||
RemoveBagItem(sPartyMenuItemId, 1);
|
||||
|
|
@ -6637,7 +6638,7 @@ static void Task_SwitchItemsFromBagYesNo(u8 taskId)
|
|||
|
||||
static void Task_HandleSwitchItemsFromBagYesNoInput(u8 taskId)
|
||||
{
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
switch (Menu_ProcessInputNoWrapClearOnChoose())
|
||||
{
|
||||
|
|
@ -6681,7 +6682,7 @@ static void DisplayItemMustBeRemovedFirstMessage(u8 taskId)
|
|||
|
||||
// Returns FALSE if there was no space to return the item
|
||||
// but there always should be, and the return is ignored in all uses
|
||||
static bool8 ReturnGiveItemToBagOrPC(u16 item)
|
||||
static bool32 ReturnGiveItemToBagOrPC(enum Item item)
|
||||
{
|
||||
if (gPartyMenu.action == PARTY_ACTION_GIVE_ITEM)
|
||||
return AddBagItem(item, 1);
|
||||
|
|
@ -6790,7 +6791,7 @@ static u8 CheckBattleEntriesAndGetMessage(void)
|
|||
maxBattlers = GetMaxBattleEntries();
|
||||
for (i = 0; i < maxBattlers - 1; i++)
|
||||
{
|
||||
u16 species = GetMonData(&party[order[i] - 1], MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(&party[order[i] - 1], MON_DATA_SPECIES);
|
||||
enum Item item = GetMonData(&party[order[i] - 1], MON_DATA_HELD_ITEM);
|
||||
for (j = i + 1; j < maxBattlers; j++)
|
||||
{
|
||||
|
|
@ -7459,7 +7460,7 @@ static void Task_PartyMenuWaitForFade(u8 taskId)
|
|||
static void Task_TryItemUseFusionChange(u8 taskId);
|
||||
static void SpriteCB_FormChangeIconMosaic(struct Sprite *sprite);
|
||||
|
||||
u8 IsFusionMon(u16 species)
|
||||
u8 IsFusionMon(enum Species species)
|
||||
{
|
||||
u16 i;
|
||||
const struct Fusion *itemFusion = gFusionTablePointers[species];
|
||||
|
|
@ -7798,9 +7799,8 @@ static void Task_TryItemUseFusionChange(u8 taskId)
|
|||
|
||||
void ItemUseCB_Fusion(u8 taskId, TaskFunc taskFunc)
|
||||
{
|
||||
u16 i;
|
||||
struct Task *task = &gTasks[taskId];
|
||||
u16 species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(&gPlayerParty[gPartyMenu.slotId], MON_DATA_SPECIES);
|
||||
const struct Fusion *itemFusion = gFusionTablePointers[species];
|
||||
|
||||
PlaySE(SE_SELECT);
|
||||
|
|
@ -7819,7 +7819,7 @@ void ItemUseCB_Fusion(u8 taskId, TaskFunc taskFunc)
|
|||
task->func = taskFunc;
|
||||
return;
|
||||
}
|
||||
for (i = 0; itemFusion[i].fusionStorageIndex != FUSION_TERMINATOR; i++) // Loops through fusion table and checks if the mon can be unfused
|
||||
for (u32 i = 0; itemFusion[i].fusionStorageIndex != FUSION_TERMINATOR; i++) // Loops through fusion table and checks if the mon can be unfused
|
||||
{
|
||||
if (gPokemonStoragePtr->fusions[itemFusion[i].fusionStorageIndex].level == 0)
|
||||
continue;
|
||||
|
|
@ -7841,7 +7841,7 @@ void ItemUseCB_Fusion(u8 taskId, TaskFunc taskFunc)
|
|||
case FUSE_MON:
|
||||
if (task->fusionType == FUSE_MON) // Cancel If Second Mon is Another First Fusion Mon
|
||||
break;
|
||||
for (i = 0; itemFusion[i].fusionStorageIndex != FUSION_TERMINATOR; i++) // Run through the Fusion table for each species and check if the item matches one of the entries
|
||||
for (u32 i = 0; itemFusion[i].fusionStorageIndex != FUSION_TERMINATOR; i++) // Run through the Fusion table for each species and check if the item matches one of the entries
|
||||
{
|
||||
if (itemFusion[i].itemId == gSpecialVar_ItemId)
|
||||
{
|
||||
|
|
@ -7861,7 +7861,7 @@ void ItemUseCB_Fusion(u8 taskId, TaskFunc taskFunc)
|
|||
case SECOND_FUSE_MON:
|
||||
if (task->fusionType != FUSE_MON) // Cancel if Secondary Fusion Mon Chosen First
|
||||
break;
|
||||
for (i = 0; itemFusion[i].fusionStorageIndex != FUSION_TERMINATOR; i++) // run through fusion table and check if the fusion works
|
||||
for (u32 i = 0; itemFusion[i].fusionStorageIndex != FUSION_TERMINATOR; i++) // run through fusion table and check if the fusion works
|
||||
{
|
||||
if (gPokemonStoragePtr->fusions[itemFusion[i].fusionStorageIndex].level != 0)
|
||||
continue;
|
||||
|
|
@ -8164,11 +8164,9 @@ static void ShiftMoveSlot(struct Pokemon *mon, u8 slotTo, u8 slotFrom)
|
|||
SetMonData(mon, MON_DATA_PP_BONUSES, &ppBonuses);
|
||||
}
|
||||
|
||||
u32 Party_FirstMonWithMove(u16 moveId)
|
||||
u32 Party_FirstMonWithMove(enum Move moveId)
|
||||
{
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
for (u32 i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES) == SPECIES_NONE)
|
||||
break;
|
||||
|
|
@ -8244,7 +8242,7 @@ void GetNumMovesSelectedMonHas(void)
|
|||
void BufferMoveDeleterNicknameAndMove(void)
|
||||
{
|
||||
struct Pokemon *mon = &gPlayerParty[gSpecialVar_0x8004];
|
||||
u16 move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005);
|
||||
enum Move move = GetMonData(mon, MON_DATA_MOVE1 + gSpecialVar_0x8005);
|
||||
|
||||
GetMonNickname(mon, gStringVar1);
|
||||
StringCopy(gStringVar2, GetMoveName(move));
|
||||
|
|
|
|||
|
|
@ -732,7 +732,7 @@ static void Task_PlayCryWhenReleasedFromBall(u8 taskId)
|
|||
{
|
||||
u8 wantedCry = gTasks[taskId].tCryTaskWantedCry;
|
||||
s8 pan = gTasks[taskId].tCryTaskPan;
|
||||
u16 species = gTasks[taskId].tCryTaskSpecies;
|
||||
enum Species species = gTasks[taskId].tCryTaskSpecies;
|
||||
enum BattlerId battler = gTasks[taskId].tCryTaskBattler;
|
||||
u8 monSpriteId = gTasks[taskId].tCryTaskMonSpriteId;
|
||||
struct Pokemon *mon = (void *)(u32)((gTasks[taskId].tCryTaskMonPtr1 << 16) | (u16)(gTasks[taskId].tCryTaskMonPtr2));
|
||||
|
|
@ -1117,7 +1117,7 @@ static u8 LaunchBallFadeMonTaskForPokeball(bool8 unFadeLater, u8 spritePalNum, u
|
|||
#define sTrigIdx data[7]
|
||||
|
||||
// Poké Ball in Birch intro, and when receiving via trade
|
||||
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, u16 species)
|
||||
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 monPalNum, u8 x, u8 y, u8 oamPriority, u8 subpriority, u8 delay, u32 fadePalettes, enum Species species)
|
||||
{
|
||||
u8 spriteId;
|
||||
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ static void Task_ShowAreaMarkers(u8 taskId)
|
|||
gSprites[data->spriteId].invisible = FALSE;
|
||||
}
|
||||
|
||||
u8 CreatePokedexAreaMarkers(u16 species, u16 tilesTag, u8 palIdx, u8 y)
|
||||
u8 CreatePokedexAreaMarkers(enum Species species, u16 tilesTag, u8 palIdx, u8 y)
|
||||
{
|
||||
struct SpriteTemplate spriteTemplate;
|
||||
struct CompressedSpriteSheet spriteSheet;
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@ static u16 TryDoPokedexScroll(u16, u16);
|
|||
static void UpdateSelectedMonSpriteId(void);
|
||||
static bool8 TryDoInfoScreenScroll(void);
|
||||
static u8 ClearMonSprites(void);
|
||||
static u16 GetPokemonSpriteToDisplay(u16);
|
||||
static u16 GetPokemonSpriteToDisplay(enum NationalDexOrder natDexNum);
|
||||
static u32 CreatePokedexMonSprite(u16, s16, s16);
|
||||
static void CreateInterfaceSprites(u8);
|
||||
static void SpriteCB_MoveMonForInfoScreen(struct Sprite *sprite);
|
||||
|
|
@ -283,9 +283,9 @@ static void PrintUnknownMonMeasurements(void);
|
|||
static u8* GetUnknownMonHeightString(void);
|
||||
static u8* GetUnknownMonWeightString(void);
|
||||
static u8* ReplaceDecimalSeparator(const u8* originalString);
|
||||
static void PrintOwnedMonMeasurements(u16 species);
|
||||
static void PrintOwnedMonHeight(u16 species);
|
||||
static void PrintOwnedMonWeight(u16 species);
|
||||
static void PrintOwnedMonMeasurements(enum Species species);
|
||||
static void PrintOwnedMonHeight(enum Species species);
|
||||
static void PrintOwnedMonWeight(enum Species species);
|
||||
// static u8* ConvertMonHeightToImperialString(u32 height);
|
||||
// static u8* ConvertMonHeightToMetricString(u32 height);
|
||||
// static u8* ConvertMonWeightToImperialString(u32 weight);
|
||||
|
|
@ -298,7 +298,7 @@ static u16 GetPokemonScaleFromNationalDexNumber(u16 nationalNum);
|
|||
static u16 GetPokemonOffsetFromNationalDexNumber(u16 nationalNum);
|
||||
static u16 GetTrainerScaleFromNationalDexNumber(u16 nationalNum);
|
||||
static u16 GetTrainerOffsetFromNationalDexNumber(u16 nationalNum);
|
||||
static u16 CreateSizeScreenTrainerPic(u16, s16, s16, s8);
|
||||
static u16 CreateSizeScreenTrainerPic(enum TrainerPicID trainerPicId, s16 x, s16 y, s8 paletteSlot);
|
||||
static u16 GetNextPosition(u8, u16, u16, u16);
|
||||
static u8 LoadSearchMenu(void);
|
||||
static void Task_LoadSearchMenu(u8);
|
||||
|
|
@ -2772,12 +2772,12 @@ static u8 ClearMonSprites(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static u16 GetPokemonSpriteToDisplay(u16 species)
|
||||
static u16 GetPokemonSpriteToDisplay(enum NationalDexOrder natDexNum)
|
||||
{
|
||||
if (species >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[species].dexNum == 0xFFFF)
|
||||
if (natDexNum >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[natDexNum].dexNum == 0xFFFF)
|
||||
return 0xFFFF;
|
||||
else if (sPokedexView->pokedexList[species].seen)
|
||||
return sPokedexView->pokedexList[species].dexNum;
|
||||
else if (sPokedexView->pokedexList[natDexNum].seen)
|
||||
return sPokedexView->pokedexList[natDexNum].dexNum;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -4048,7 +4048,7 @@ u32 Pokedex_CreateCaughtMonSprite(u32 species, s32 x, s32 y)
|
|||
void Task_DisplayCaughtMonDexPage(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
u16 species = gTasks[taskId].tSpecies;
|
||||
enum Species species = gTasks[taskId].tSpecies;
|
||||
enum NationalDexOrder dexNum = SpeciesToNationalPokedexNum(species);
|
||||
|
||||
switch (gTasks[taskId].tState)
|
||||
|
|
@ -4189,7 +4189,7 @@ static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry)
|
|||
{
|
||||
u8 str[0x10];
|
||||
u8 str2[0x30];
|
||||
u16 species;
|
||||
enum Species species;
|
||||
const u8 *name;
|
||||
const u8 *category;
|
||||
const u8 *description;
|
||||
|
|
@ -4229,7 +4229,7 @@ static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry)
|
|||
PrintInfoScreenText(description, GetStringCenterAlignXOffset(FONT_NORMAL, description, DISPLAY_WIDTH), 95);
|
||||
}
|
||||
|
||||
void PrintMonMeasurements(u16 species, u32 owned)
|
||||
void PrintMonMeasurements(enum Species species, u32 owned)
|
||||
{
|
||||
u32 x = GetMeasurementTextPositions(DEX_HEADER_X);
|
||||
u32 yTop = GetMeasurementTextPositions(DEX_Y_TOP);
|
||||
|
|
@ -4316,13 +4316,13 @@ static u8* ReplaceDecimalSeparator(const u8* originalString)
|
|||
return modifiedString;
|
||||
}
|
||||
|
||||
static void PrintOwnedMonMeasurements(u16 species)
|
||||
static void PrintOwnedMonMeasurements(enum Species species)
|
||||
{
|
||||
PrintOwnedMonHeight(species);
|
||||
PrintOwnedMonWeight(species);
|
||||
}
|
||||
|
||||
static void PrintOwnedMonHeight(u16 species)
|
||||
static void PrintOwnedMonHeight(enum Species species)
|
||||
{
|
||||
u32 height = GetSpeciesHeight(species);
|
||||
u8* heightString;
|
||||
|
|
@ -4344,7 +4344,7 @@ static void PrintOwnedMonHeight(u16 species)
|
|||
// return ConvertMonHeightToMetricString(height);
|
||||
// }
|
||||
|
||||
static void PrintOwnedMonWeight(u16 species)
|
||||
static void PrintOwnedMonWeight(enum Species species)
|
||||
{
|
||||
u32 weight = GetSpeciesWeight(species);
|
||||
u8* weightString;
|
||||
|
|
@ -4662,7 +4662,7 @@ static void UNUSED PrintDecimalNum(u8 windowId, u16 num, u8 left, u8 top)
|
|||
|
||||
#define NUM_FOOTPRINT_TILES 4
|
||||
|
||||
void DrawFootprint(u8 windowId, u16 species)
|
||||
void DrawFootprint(u8 windowId, enum Species species)
|
||||
{
|
||||
u8 ALIGNED(4) footprint4bpp[TILE_SIZE_4BPP * NUM_FOOTPRINT_TILES];
|
||||
const u8 *footprintGfx = NULL;
|
||||
|
|
@ -4741,7 +4741,7 @@ static u16 GetNextPosition(u8 direction, u16 position, u16 min, u16 max)
|
|||
|
||||
// Unown and Spinda use the personality of the first seen individual of that species
|
||||
// All others use personality 0
|
||||
static u32 GetPokedexMonPersonality(u16 species)
|
||||
static u32 GetPokedexMonPersonality(enum Species species)
|
||||
{
|
||||
if (species == SPECIES_UNOWN || species == SPECIES_SPINDA)
|
||||
{
|
||||
|
|
@ -4758,42 +4758,47 @@ static u32 GetPokedexMonPersonality(u16 species)
|
|||
|
||||
u16 CreateMonSpriteFromNationalDexNumber(enum NationalDexOrder nationalNum, s16 x, s16 y, u16 paletteSlot)
|
||||
{
|
||||
nationalNum = NationalPokedexNumToSpecies(nationalNum);
|
||||
return CreateMonFrontPicSprite(nationalNum, FALSE, GetPokedexMonPersonality(nationalNum), x, y, paletteSlot, TAG_NONE);
|
||||
enum Species species = NationalPokedexNumToSpecies(nationalNum);
|
||||
|
||||
return CreateMonFrontPicSprite(species, FALSE, GetPokedexMonPersonality(species), x, y, paletteSlot, TAG_NONE);
|
||||
}
|
||||
|
||||
static u16 GetPokemonScaleFromNationalDexNumber(u16 nationalNum)
|
||||
{
|
||||
nationalNum = NationalPokedexNumToSpecies(nationalNum);
|
||||
return gSpeciesInfo[nationalNum].pokemonScale;
|
||||
enum Species species = NationalPokedexNumToSpecies(nationalNum);
|
||||
|
||||
return gSpeciesInfo[species].pokemonScale;
|
||||
}
|
||||
|
||||
static u16 GetPokemonOffsetFromNationalDexNumber(u16 nationalNum)
|
||||
{
|
||||
nationalNum = NationalPokedexNumToSpecies(nationalNum);
|
||||
return gSpeciesInfo[nationalNum].pokemonOffset;
|
||||
enum Species species = NationalPokedexNumToSpecies(nationalNum);
|
||||
|
||||
return gSpeciesInfo[species].pokemonOffset;
|
||||
}
|
||||
|
||||
static u16 GetTrainerScaleFromNationalDexNumber(u16 nationalNum)
|
||||
{
|
||||
nationalNum = NationalPokedexNumToSpecies(nationalNum);
|
||||
return gSpeciesInfo[nationalNum].trainerScale;
|
||||
enum Species species = NationalPokedexNumToSpecies(nationalNum);
|
||||
|
||||
return gSpeciesInfo[species].trainerScale;
|
||||
}
|
||||
|
||||
static u16 GetTrainerOffsetFromNationalDexNumber(u16 nationalNum)
|
||||
{
|
||||
nationalNum = NationalPokedexNumToSpecies(nationalNum);
|
||||
return gSpeciesInfo[nationalNum].trainerOffset;
|
||||
enum Species species = NationalPokedexNumToSpecies(nationalNum);
|
||||
|
||||
return gSpeciesInfo[species].trainerOffset;
|
||||
}
|
||||
|
||||
static u16 CreateSizeScreenTrainerPic(u16 species, s16 x, s16 y, s8 paletteSlot)
|
||||
static u16 CreateSizeScreenTrainerPic(enum TrainerPicID trainerPicId, s16 x, s16 y, s8 paletteSlot)
|
||||
{
|
||||
return CreateTrainerFrontPicSprite(species, x, y, paletteSlot);
|
||||
return CreateTrainerFrontPicSprite(trainerPicId, x, y, paletteSlot);
|
||||
}
|
||||
|
||||
static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, enum BodyColor bodyColor, enum Type type1, enum Type type2)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u16 i;
|
||||
u16 resultsCount;
|
||||
enum Type types[2];
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ struct
|
|||
/*0x004*/ MainCallback prev; // unused
|
||||
/*0x008*/ MainCallback next; // unused
|
||||
/*0x00C*/ u16 state; // unused
|
||||
/*0x00E*/ u16 species;
|
||||
/*0x00E*/ enum Species species;
|
||||
/*0x010*/ struct OverworldArea overworldAreasWithMons[MAX_AREA_HIGHLIGHTS];
|
||||
/*0x110*/ u16 numOverworldAreas;
|
||||
/*0x112*/ u16 numSpecialAreas;
|
||||
|
|
@ -113,13 +113,13 @@ struct
|
|||
|
||||
EWRAM_DATA u8 gAreaTimeOfDay = 0;
|
||||
|
||||
static void FindMapsWithMon(u16);
|
||||
static void FindMapsWithMon(enum Species species);
|
||||
static void BuildAreaGlowTilemap(void);
|
||||
static void SetAreaHasMon(u16, u16);
|
||||
static void SetSpecialMapHasMon(u16, u16);
|
||||
static mapsec_u16_t GetRegionMapSectionId(u8, u8);
|
||||
static bool8 MapHasSpecies(const struct WildEncounterTypes *, u16);
|
||||
static bool8 MonListHasSpecies(const struct WildPokemonInfo *, u16, u16);
|
||||
static bool8 MapHasSpecies(const struct WildEncounterTypes *info, enum Species species);
|
||||
static bool8 MonListHasSpecies(const struct WildPokemonInfo *info, enum Species species, u16 size);
|
||||
static void DoAreaGlow(void);
|
||||
static void Task_ShowPokedexAreaScreen(u8 taskId);
|
||||
static void Task_UpdatePokedexAreaScreen(u8 taskId);
|
||||
|
|
@ -143,7 +143,7 @@ static const u32 sAreaGlow_Gfx[] = INCBIN_U32("graphics/pokedex/emerald/area_glo
|
|||
static const u32 sPokedexPlusHGSS_ScreenSelectBarSubmenu_Tilemap[] = INCBIN_U32("graphics/pokedex/hgss/SelectBar.bin.smolTM");
|
||||
static void LoadHGSSScreenSelectBarSubmenu(void);
|
||||
|
||||
static const u16 sSpeciesHiddenFromAreaScreen[] = { SPECIES_WYNAUT };
|
||||
static const enum Species sSpeciesHiddenFromAreaScreen[] = { SPECIES_WYNAUT };
|
||||
|
||||
// static const mapsec_u16_t sMovingRegionMapSections[3] =
|
||||
// {
|
||||
|
|
@ -154,7 +154,7 @@ static const u16 sSpeciesHiddenFromAreaScreen[] = { SPECIES_WYNAUT };
|
|||
|
||||
static const u16 sFeebasData[][3] =
|
||||
{
|
||||
{NUM_SPECIES}
|
||||
{NUM_SPECIES, MAP_GROUP(MAP_UNDEFINED), MAP_GROUP(MAP_UNDEFINED)}
|
||||
};
|
||||
|
||||
#include "data/pokedex_emerald_area_glow.h"
|
||||
|
|
@ -286,7 +286,7 @@ static bool8 DrawAreaGlow(void)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static void FindMapsWithMon(u16 species)
|
||||
static void FindMapsWithMon(enum Species species)
|
||||
{
|
||||
enum RegionMapType currentRegionMapType;
|
||||
u16 i;
|
||||
|
|
@ -423,7 +423,7 @@ static mapsec_u16_t GetRegionMapSectionId(u8 mapGroup, u8 mapNum)
|
|||
return Overworld_GetMapHeaderByGroupAndId(mapGroup, mapNum)->regionMapSectionId;
|
||||
}
|
||||
|
||||
static bool8 MapHasSpecies(const struct WildEncounterTypes *info, u16 species)
|
||||
static bool8 MapHasSpecies(const struct WildEncounterTypes *info, enum Species species)
|
||||
{
|
||||
u32 headerId = GetCurrentMapWildMonHeaderId();
|
||||
u8 currentMapGroup = gWildMonHeaders[headerId].mapGroup;
|
||||
|
|
@ -453,7 +453,7 @@ static bool8 MapHasSpecies(const struct WildEncounterTypes *info, u16 species)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 MonListHasSpecies(const struct WildPokemonInfo *info, u16 species, u16 size)
|
||||
static bool8 MonListHasSpecies(const struct WildPokemonInfo *info, enum Species species, u16 size)
|
||||
{
|
||||
u16 i;
|
||||
if (info != NULL)
|
||||
|
|
@ -705,7 +705,7 @@ bool32 ShouldShowAreaUnknownLabel(void)
|
|||
|
||||
#define tState data[0]
|
||||
|
||||
void DisplayPokedexAreaScreen(u16 species, u8 *screenSwitchState, enum TimeOfDay timeOfDay, enum PokedexAreaScreenState areaState)
|
||||
void DisplayPokedexAreaScreen(enum Species species, u8 *screenSwitchState, enum TimeOfDay timeOfDay, enum PokedexAreaScreenState areaState)
|
||||
{
|
||||
u8 taskId;
|
||||
|
||||
|
|
|
|||
|
|
@ -44,12 +44,12 @@ struct PokedexCryScreen
|
|||
u8 waveformPreviousY;
|
||||
u16 unk; // Never read
|
||||
u8 playStartPos;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 cryOverrideCountdown;
|
||||
u8 cryRepeatDelay;
|
||||
};
|
||||
|
||||
static void PlayCryScreenCry(u16);
|
||||
static void PlayCryScreenCry(enum Species species);
|
||||
static void BufferCryWaveformSegment(void);
|
||||
static void DrawWaveformFlatline(void);
|
||||
static void AdvancePlayhead(u8);
|
||||
|
|
@ -324,7 +324,7 @@ void UpdateCryWaveformWindow(u8 windowId)
|
|||
sDexCryScreen->cryState++;
|
||||
}
|
||||
|
||||
void CryScreenPlayButton(u16 species)
|
||||
void CryScreenPlayButton(enum Species species)
|
||||
{
|
||||
if (gMPlayInfo_BGM.status & MUSICPLAYER_STATUS_PAUSE && !sDexCryScreen->cryOverrideCountdown)
|
||||
{
|
||||
|
|
@ -345,7 +345,7 @@ void CryScreenPlayButton(u16 species)
|
|||
}
|
||||
}
|
||||
|
||||
static void PlayCryScreenCry(u16 species)
|
||||
static void PlayCryScreenCry(enum Species species)
|
||||
{
|
||||
PlayCry_NormalNoDucking(species, 0, CRY_VOLUME_RS, CRY_PRIORITY_NORMAL);
|
||||
sDexCryScreen->cryState = 1;
|
||||
|
|
|
|||
|
|
@ -293,8 +293,8 @@ static EWRAM_DATA u8 sPokeBallRotation = 0;
|
|||
static EWRAM_DATA struct PokedexListItem *sPokedexListItem = NULL;
|
||||
//Pokedex Plus HGSS_Ui
|
||||
#define MOVES_COUNT_TOTAL (EGG_MOVES_ARRAY_COUNT + MAX_LEVEL_UP_MOVES + NUM_ALL_MACHINES)
|
||||
EWRAM_DATA static u16 sStatsMoves[MOVES_COUNT_TOTAL] = {0};
|
||||
EWRAM_DATA static u16 sStatsMovesTMHM_ID[NUM_ALL_MACHINES] = {0};
|
||||
EWRAM_DATA static enum Move sStatsMoves[MOVES_COUNT_TOTAL] = {0};
|
||||
EWRAM_DATA static enum Item sStatsMovesTMHM_ID[NUM_ALL_MACHINES] = {0};
|
||||
|
||||
|
||||
struct SearchOptionText
|
||||
|
|
@ -332,7 +332,7 @@ struct SearchMenuItem
|
|||
|
||||
struct PokedexListItem
|
||||
{
|
||||
u16 dexNum;
|
||||
enum NationalDexOrder dexNum;
|
||||
u16 seen:1;
|
||||
u16 owned:1;
|
||||
};
|
||||
|
|
@ -340,7 +340,7 @@ struct PokedexListItem
|
|||
|
||||
struct PokemonStats
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u8 genderRatio;
|
||||
u8 baseHP;
|
||||
u8 baseSpeed;
|
||||
|
|
@ -371,7 +371,7 @@ struct EvoScreenData
|
|||
{
|
||||
bool8 fromEvoPage;
|
||||
u8 numAllEvolutions;
|
||||
u16 targetSpecies[10];
|
||||
enum Species targetSpecies[10];
|
||||
u8 numSeen;
|
||||
bool8 seen[10];
|
||||
u8 menuPos;
|
||||
|
|
@ -417,7 +417,7 @@ struct PokedexView
|
|||
struct PokemonStats sPokemonStats;
|
||||
struct EvoScreenData sEvoScreenData;
|
||||
struct FromScreenData sFormScreenData;
|
||||
u16 formSpecies;
|
||||
enum Species formSpecies;
|
||||
u16 selectedMonSpriteId;
|
||||
u16 pokeBallRotationStep;
|
||||
u16 pokeBallRotationBackup;
|
||||
|
|
@ -478,7 +478,7 @@ static u16 TryDoPokedexScroll(u16, u16);
|
|||
static void UpdateSelectedMonSpriteId(void);
|
||||
static bool8 TryDoInfoScreenScroll(void);
|
||||
static u8 ClearMonSprites(void);
|
||||
static u16 GetPokemonSpriteToDisplay(u16);
|
||||
static u16 GetPokemonSpriteToDisplay(enum NationalDexOrder natDexNum);
|
||||
static u32 CreatePokedexMonSprite(u16, s16, s16);
|
||||
static void CreateInterfaceSprites(u8);
|
||||
static void SpriteCB_MoveMonForInfoScreen(struct Sprite *sprite);
|
||||
|
|
@ -518,7 +518,7 @@ static void ResetOtherVideoRegisters(u16);
|
|||
static u8 PrintCryScreenSpeciesName(u8, u16, u8, u8);
|
||||
static void PrintDecimalNum(u8 windowId, u16 num, u8 left, u8 top);
|
||||
static u16 CreateMonSpriteFromNationalDexNumberHGSS(u16 nationalNum, s16 x, s16 y, u16 paletteSlot);
|
||||
static u16 CreateSizeScreenTrainerPic(u16, s16, s16, s8);
|
||||
static u16 CreateSizeScreenTrainerPic(enum TrainerPicID trainerPicId, s16, s16, s8);
|
||||
static u16 GetNextPosition(u8, u16, u16, u16);
|
||||
static u8 LoadSearchMenu(void);
|
||||
static void Task_LoadSearchMenu(u8);
|
||||
|
|
@ -574,8 +574,8 @@ static void Task_LoadEvolutionScreen(u8 taskId);
|
|||
static void Task_HandleEvolutionScreenInput(u8 taskId);
|
||||
static void Task_SwitchScreensFromEvolutionScreen(u8 taskId);
|
||||
static void Task_ExitEvolutionScreen(u8 taskId);
|
||||
static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u32 *depth_i, u32 alreadyPrintedIcons[], u32 *icon_depth_i, u32 numLines);
|
||||
static u8 PrintPreEvolutions(u8 taskId, u16 species);
|
||||
static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, enum Species species, u8 depth, u32 *depth_i, u32 alreadyPrintedIcons[], u32 *icon_depth_i, u32 numLines);
|
||||
static u8 PrintPreEvolutions(u8 taskId, enum Species species);
|
||||
//Stat bars on scrolling screens
|
||||
static void TryDestroyStatBars(void);
|
||||
static void TryDestroyStatBarsBg(void);
|
||||
|
|
@ -587,7 +587,7 @@ static void SpriteCB_StatBarsBg(struct Sprite *sprite);
|
|||
//Forms screen
|
||||
static void Task_LoadFormsScreen(u8 taskId);
|
||||
static void Task_HandleFormsScreenInput(u8 taskId);
|
||||
static void PrintForms(u8 taskId, u16 species);
|
||||
static void PrintForms(u8 taskId, enum Species species);
|
||||
static void Task_SwitchScreensFromFormsScreen(u8 taskId);
|
||||
static void Task_ExitFormsScreen(u8 taskId);
|
||||
|
||||
|
|
@ -595,7 +595,7 @@ static void Task_ExitFormsScreen(u8 taskId);
|
|||
static u8 ShowCategoryIcon(enum DamageCategory category);
|
||||
static void DestroyCategoryIcon(void);
|
||||
|
||||
static u16 NationalPokedexNumToSpeciesHGSS(u16 nationalNum);
|
||||
static enum Species NationalPokedexNumToSpeciesHGSS(enum NationalDexOrder nationalNum);
|
||||
|
||||
//Evo screen
|
||||
u32 GetSpeciesNameFontId(u32 nameWidth);
|
||||
|
|
@ -3057,12 +3057,12 @@ static u8 ClearMonSprites(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static u16 GetPokemonSpriteToDisplay(u16 species)
|
||||
static u16 GetPokemonSpriteToDisplay(enum NationalDexOrder natDexNum)
|
||||
{
|
||||
if (species >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[species].dexNum == 0xFFFF)
|
||||
if (natDexNum >= NATIONAL_DEX_COUNT || sPokedexView->pokedexList[natDexNum].dexNum == 0xFFFF)
|
||||
return 0xFFFF;
|
||||
else if (sPokedexView->pokedexList[species].seen)
|
||||
return sPokedexView->pokedexList[species].dexNum;
|
||||
else if (sPokedexView->pokedexList[natDexNum].seen)
|
||||
return sPokedexView->pokedexList[natDexNum].dexNum;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -4093,7 +4093,7 @@ static void UNUSED HighlightScreenSelectBarItem(u8 selectedScreen, u16 unused)
|
|||
void Task_DisplayCaughtMonDexPageHGSS(u8 taskId)
|
||||
{
|
||||
u8 spriteId;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
enum NationalDexOrder dexNum;
|
||||
|
||||
if (!POKEDEX_PLUS_HGSS) return; // prevents the compiler from emitting static .rodata
|
||||
|
|
@ -4215,7 +4215,7 @@ static void Task_ExitCaughtMonPage(u8 taskId)
|
|||
{
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 otId;
|
||||
u32 personality;
|
||||
u8 paletteNum;
|
||||
|
|
@ -4351,7 +4351,7 @@ static void SetTypeIconPosAndPal(u8 typeId, u8 x, u8 y, u8 spriteArrayId)
|
|||
sprite->y = y + 8;
|
||||
SetSpriteInvisibility(spriteArrayId, FALSE);
|
||||
}
|
||||
static void PrintCurrentSpeciesTypeInfo(u8 newEntry, u16 species)
|
||||
static void PrintCurrentSpeciesTypeInfo(u8 newEntry, enum Species species)
|
||||
{
|
||||
enum Type type1, type2;
|
||||
|
||||
|
|
@ -4402,7 +4402,7 @@ static void PrintMonInfo(u32 num, u32 value, u32 owned, u32 newEntry)
|
|||
{
|
||||
u8 str[16];
|
||||
u8 str2[32];
|
||||
u16 species;
|
||||
enum Species species;
|
||||
const u8 *name;
|
||||
const u8 *category;
|
||||
const u8 *description;
|
||||
|
|
@ -4517,7 +4517,7 @@ static u8 PrintCryScreenSpeciesName(u8 windowId, u16 num, u8 left, u8 top)
|
|||
|
||||
// Unown and Spinda use the personality of the first seen individual of that species
|
||||
// All others use personality 0
|
||||
static u32 GetPokedexMonPersonality(u16 species)
|
||||
static u32 GetPokedexMonPersonality(enum Species species)
|
||||
{
|
||||
if (species == SPECIES_UNOWN || species == SPECIES_SPINDA)
|
||||
{
|
||||
|
|
@ -4562,9 +4562,9 @@ static u16 GetTrainerOffsetFromNationalDexNumber(u16 nationalNum)
|
|||
return gSpeciesInfo[nationalNum].trainerOffset;
|
||||
}
|
||||
|
||||
static u16 CreateSizeScreenTrainerPic(u16 species, s16 x, s16 y, s8 paletteSlot)
|
||||
static u16 CreateSizeScreenTrainerPic(enum TrainerPicID trainerPicId, s16 x, s16 y, s8 paletteSlot)
|
||||
{
|
||||
return CreateTrainerFrontPicSprite(species, x, y, paletteSlot);
|
||||
return CreateTrainerFrontPicSprite(trainerPicId, x, y, paletteSlot);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -4667,12 +4667,12 @@ static u16 GetNextPosition(u8 direction, u16 position, u16 min, u16 max)
|
|||
//* HGSS *
|
||||
//* *
|
||||
//************************************
|
||||
static u16 NationalPokedexNumToSpeciesHGSS(u16 nationalNum)
|
||||
static enum Species NationalPokedexNumToSpeciesHGSS(enum NationalDexOrder nationalNum)
|
||||
{
|
||||
if (!nationalNum)
|
||||
return 0;
|
||||
return SPECIES_NONE;
|
||||
|
||||
if (sPokedexView->formSpecies != 0)
|
||||
if (sPokedexView->formSpecies != SPECIES_NONE)
|
||||
return sPokedexView->formSpecies;
|
||||
else
|
||||
return NationalPokedexNumToSpecies(nationalNum);
|
||||
|
|
@ -4764,7 +4764,7 @@ static void ResetStatsWindows(void)
|
|||
|
||||
static void SaveMonDataInStruct(void)
|
||||
{
|
||||
u16 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
enum Species species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
u8 evs[NUM_STATS] =
|
||||
{
|
||||
[STAT_HP] = gSpeciesInfo[species].evYield_HP,
|
||||
|
|
@ -5054,16 +5054,16 @@ static void PrintStatsScreen_DestroyMoveItemIcon(u8 taskId)
|
|||
DestroySprite(&gSprites[gTasks[taskId].data[3]]); //Destroy item icon
|
||||
}
|
||||
|
||||
static u16 AddTMTutorMoves(u16 species, u16 movesTotal, u8 *numTMHMMoves, u8 *numTutorMoves)
|
||||
static u16 AddTMTutorMoves(enum Species species, u16 movesTotal, u8 *numTMHMMoves, u8 *numTutorMoves)
|
||||
{
|
||||
u16 i, move;
|
||||
enum Move move;
|
||||
bool8 isTMMove[MOVES_COUNT] = {0};
|
||||
const u16 *teachableLearnset = GetSpeciesTeachableLearnset(species);
|
||||
|
||||
// TM Moves
|
||||
if (HGSS_SORT_TMS_BY_NUM)
|
||||
{
|
||||
for (i = 0; i < NUM_ALL_MACHINES; i++)
|
||||
for (u32 i = 0; i < NUM_ALL_MACHINES; i++)
|
||||
{
|
||||
move = GetTMHMMoveId(i + 1);
|
||||
if (move != MOVE_NONE && CanLearnTeachableMove(species, move))
|
||||
|
|
@ -5078,7 +5078,7 @@ static u16 AddTMTutorMoves(u16 species, u16 movesTotal, u8 *numTMHMMoves, u8 *nu
|
|||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++)
|
||||
for (u32 i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++)
|
||||
{
|
||||
move = teachableLearnset[i];
|
||||
for (u16 j = 0; j < NUM_ALL_MACHINES; j++)
|
||||
|
|
@ -5098,7 +5098,7 @@ static u16 AddTMTutorMoves(u16 species, u16 movesTotal, u8 *numTMHMMoves, u8 *nu
|
|||
|
||||
// Tutor Moves
|
||||
#if P_TUTOR_MOVES_ARRAY
|
||||
for (i = 0; gTutorMoves[i] != MOVE_UNAVAILABLE; i++)
|
||||
for (u32 i = 0; gTutorMoves[i] != MOVE_UNAVAILABLE; i++)
|
||||
{
|
||||
move = gTutorMoves[i];
|
||||
if (!isTMMove[move] && CanLearnTeachableMove(species, move))
|
||||
|
|
@ -5109,7 +5109,7 @@ static u16 AddTMTutorMoves(u16 species, u16 movesTotal, u8 *numTMHMMoves, u8 *nu
|
|||
}
|
||||
}
|
||||
#else
|
||||
for (i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++)
|
||||
for (u32 i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++)
|
||||
{
|
||||
move = teachableLearnset[i];
|
||||
if (!isTMMove[move] && CanLearnTeachableMove(species, move))
|
||||
|
|
@ -5125,7 +5125,7 @@ static u16 AddTMTutorMoves(u16 species, u16 movesTotal, u8 *numTMHMMoves, u8 *nu
|
|||
|
||||
static bool8 CalculateMoves(void)
|
||||
{
|
||||
u16 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
enum Species species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
|
||||
u16 statsMovesEgg[EGG_MOVES_ARRAY_COUNT] = {0};
|
||||
u16 statsMovesLevelUp[MAX_LEVEL_UP_MOVES] = {0};
|
||||
|
|
@ -5193,10 +5193,9 @@ static void PrintStatsScreen_Moves_Top(u8 taskId)
|
|||
u8 level;
|
||||
u8 moves_x = 5;
|
||||
u8 moves_y = 3;
|
||||
u16 move;
|
||||
u16 item;
|
||||
|
||||
u16 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
enum Move move;
|
||||
enum Item item;
|
||||
enum Species species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
|
||||
//Move
|
||||
move = sStatsMoves[selected];
|
||||
|
|
@ -5266,7 +5265,7 @@ static void PrintStatsScreen_Moves_Top(u8 taskId)
|
|||
static void PrintStatsScreen_Moves_Description(u8 taskId)
|
||||
{
|
||||
u16 selected = sPokedexView->moveSelected;
|
||||
u16 move;
|
||||
enum Move move;
|
||||
u8 moves_x = 5;
|
||||
u8 moves_y = 5;
|
||||
|
||||
|
|
@ -5308,7 +5307,7 @@ static void PrintStatsScreen_Moves_Bottom(u8 taskId)
|
|||
u8 moves_x = 8;
|
||||
u8 moves_y = 3;
|
||||
u8 selected = sPokedexView->moveSelected;
|
||||
u16 move;
|
||||
enum Move move;
|
||||
//Contest
|
||||
u8 contest_effectValue;
|
||||
u8 contest_appeal = 0;
|
||||
|
|
@ -5364,7 +5363,7 @@ static void PrintStatsScreen_Moves_Bottom(u8 taskId)
|
|||
static void PrintStatsScreen_NameGender(u8 taskId, u32 num, u32 value)
|
||||
{
|
||||
u8 str[16];
|
||||
u16 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
enum Species species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum);
|
||||
|
||||
u8 base_x = 38;
|
||||
u8 base_y = 0;
|
||||
|
|
@ -6008,7 +6007,7 @@ static void ResetEvoScreenDataStruct(void)
|
|||
static void GetSeenFlagTargetSpecies(void)
|
||||
{
|
||||
u8 i;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
for (i = 0; i < sPokedexView->sEvoScreenData.numAllEvolutions; i++)
|
||||
{
|
||||
species = sPokedexView->sEvoScreenData.targetSpecies[i];
|
||||
|
|
@ -6188,7 +6187,7 @@ static void Task_HandleEvolutionScreenInput(u8 taskId)
|
|||
|
||||
if (JOY_NEW(A_BUTTON))
|
||||
{
|
||||
u16 targetSpecies = sPokedexView->sEvoScreenData.targetSpecies[sPokedexView->sEvoScreenData.menuPos];
|
||||
enum Species targetSpecies = sPokedexView->sEvoScreenData.targetSpecies[sPokedexView->sEvoScreenData.menuPos];
|
||||
enum NationalDexOrder dexNum = SpeciesToNationalPokedexNum(targetSpecies);
|
||||
if (sPokedexView->isSearchResults && sPokedexView->originalSearchSelectionNum == 0)
|
||||
sPokedexView->originalSearchSelectionNum = sPokedexListItem->dexNum;
|
||||
|
|
@ -6200,7 +6199,7 @@ static void Task_HandleEvolutionScreenInput(u8 taskId)
|
|||
if (GetSpeciesFormTable(targetSpecies) != NULL)
|
||||
sPokedexView->formSpecies = targetSpecies;
|
||||
else
|
||||
sPokedexView->formSpecies = 0;
|
||||
sPokedexView->formSpecies = SPECIES_NONE;
|
||||
|
||||
sPokedexView->sEvoScreenData.fromEvoPage = TRUE;
|
||||
PlaySE(SE_PIN);
|
||||
|
|
@ -6278,7 +6277,7 @@ static void CreateCaughtBallEvolutionScreen(u16 targetSpecies, u8 x, u8 y, u16 u
|
|||
}
|
||||
}
|
||||
|
||||
static void HandlePreEvolutionSpeciesPrint(u8 taskId, u16 preSpecies, u16 species, u8 base_x, u8 base_y, u8 base_y_offset, u8 base_i)
|
||||
static void HandlePreEvolutionSpeciesPrint(u8 taskId, enum Species preSpecies, enum Species species, u8 base_x, u8 base_y, u8 base_y_offset, u8 base_i)
|
||||
{
|
||||
bool8 seen = GetSetPokedexFlag(SpeciesToNationalPokedexNum(preSpecies), FLAG_GET_SEEN);
|
||||
|
||||
|
|
@ -6309,7 +6308,7 @@ static void HandlePreEvolutionSpeciesPrint(u8 taskId, u16 preSpecies, u16 specie
|
|||
}
|
||||
}
|
||||
|
||||
static bool32 HasTwoPreEvolutions(u32 species)
|
||||
static bool32 HasTwoPreEvolutions(enum Species species)
|
||||
{
|
||||
switch (species)
|
||||
{
|
||||
|
|
@ -6320,9 +6319,8 @@ static bool32 HasTwoPreEvolutions(u32 species)
|
|||
}
|
||||
}
|
||||
|
||||
static u8 PrintPreEvolutions(u8 taskId, u16 species)
|
||||
static u8 PrintPreEvolutions(u8 taskId, enum Species species)
|
||||
{
|
||||
u16 i;
|
||||
u16 j;
|
||||
|
||||
u8 base_x = 13+8;
|
||||
|
|
@ -6333,7 +6331,7 @@ static u8 PrintPreEvolutions(u8 taskId, u16 species)
|
|||
u16 preEvolutionTwo = 0;
|
||||
u8 numPreEvolutions = 0;
|
||||
|
||||
u16 baseFormSpecies;
|
||||
enum Species baseFormSpecies;
|
||||
sPokedexView->sEvoScreenData.isMega = FALSE;
|
||||
|
||||
//Check if it's a mega
|
||||
|
|
@ -6341,7 +6339,7 @@ static u8 PrintPreEvolutions(u8 taskId, u16 species)
|
|||
if (baseFormSpecies != species)
|
||||
{
|
||||
const struct FormChange *formChanges = GetSpeciesFormChanges(baseFormSpecies);
|
||||
for (i = 0; formChanges != NULL && formChanges[i].method != FORM_CHANGE_TERMINATOR; i++)
|
||||
for (u32 i = 0; formChanges != NULL && formChanges[i].method != FORM_CHANGE_TERMINATOR; i++)
|
||||
{
|
||||
if (formChanges[i].method == FORM_CHANGE_BATTLE_MEGA_EVOLUTION_ITEM
|
||||
&& formChanges[i].targetSpecies == species)
|
||||
|
|
@ -6361,7 +6359,7 @@ static u8 PrintPreEvolutions(u8 taskId, u16 species)
|
|||
}
|
||||
|
||||
//Calculate previous evolution
|
||||
for (i = 0; i < NUM_SPECIES; i++)
|
||||
for (enum Species i = 0; i < NUM_SPECIES; i++)
|
||||
{
|
||||
const struct Evolution *evolutions = GetSpeciesEvolutions(i);
|
||||
if (evolutions == NULL)
|
||||
|
|
@ -6407,7 +6405,7 @@ static u8 PrintPreEvolutions(u8 taskId, u16 species)
|
|||
//Calculate if previous evolution also has a previous evolution
|
||||
if (numPreEvolutions != 0)
|
||||
{
|
||||
for (i = 0; i < NUM_SPECIES; i++)
|
||||
for (enum Species i = 0; i < NUM_SPECIES; i++)
|
||||
{
|
||||
const struct Evolution *evolutions = GetSpeciesEvolutions(i);
|
||||
if (evolutions == NULL)
|
||||
|
|
@ -6486,7 +6484,7 @@ bool32 IsItemSweet(u32 item)
|
|||
return item >= ITEM_STRAWBERRY_SWEET && item <= ITEM_RIBBON_SWEET;
|
||||
}
|
||||
|
||||
static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u32 *depth_i, u32 alreadyPrintedIcons[], u32 *icon_depth_i, u32 numLines)
|
||||
static void PrintEvolutionTargetSpeciesAndMethod(u8 taskId, enum Species species, u8 depth, u32 *depth_i, u32 alreadyPrintedIcons[], u32 *icon_depth_i, u32 numLines)
|
||||
{
|
||||
int i;
|
||||
u32 depth_x = 4;
|
||||
|
|
@ -7136,7 +7134,7 @@ static void Task_HandleFormsScreenInput(u8 taskId)
|
|||
|
||||
#define FORM_SPECIES_END (0xffff)
|
||||
|
||||
static void PrintForms(u8 taskId, u16 species)
|
||||
static void PrintForms(u8 taskId, enum Species species)
|
||||
{
|
||||
u8 i;
|
||||
u8 j = 1;
|
||||
|
|
@ -7832,7 +7830,7 @@ static void Task_ClosePokedexFromSearchResultsStartMenu(u8 taskId)
|
|||
//************************************
|
||||
static int DoPokedexSearch(u8 dexMode, u8 order, u8 abcGroup, enum BodyColor bodyColor, enum Type type1, enum Type type2)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u16 i;
|
||||
u16 resultsCount;
|
||||
enum Type types[2];
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ struct PokedexScreenData
|
|||
u16 orderedDexCount;
|
||||
u8 windowIds[0x10];
|
||||
u16 dexSpecies;
|
||||
u16 * bgBufsMem;
|
||||
u16 *bgBufsMem;
|
||||
u8 scrollArrowsTaskId;
|
||||
u8 categoryPageCursorTaskId;
|
||||
u16 modeSelectCursorPosBak;
|
||||
|
|
@ -87,13 +87,13 @@ struct PokedexScreenData
|
|||
|
||||
struct PokedexScreenWindowGfx
|
||||
{
|
||||
const u32 * tiles;
|
||||
const u16 * pal;
|
||||
const u32 *tiles;
|
||||
const u16 *pal;
|
||||
};
|
||||
|
||||
struct PokedexCategoryPage
|
||||
{
|
||||
const u16 * species;
|
||||
const enum Species *species;
|
||||
u8 count;
|
||||
};
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ static void DexScreen_RemoveWindow(u8 *windowId_p);
|
|||
static void DexScreen_AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx);
|
||||
static void DexScreen_PrintNum3RightAlign(u8 windowId, u8 fontId, u16 num, u8 x, u8 y, u8 colorIdx);
|
||||
static void DexScreen_PrintNum4RightAlign(u8 windowId, u8 fontId, u16 num, u8 x, u8 y, u8 colorIdx);
|
||||
static void DexScreen_PrintMonDexNo(u8 windowId, u8 fontId, u16 species, u8 x, u8 y, bool32 allowNationalDex);
|
||||
static void DexScreen_PrintMonDexNo(u8 windowId, u8 fontId, enum Species species, u8 x, u8 y, bool32 allowNationalDex);
|
||||
static u16 DexScreen_GetDexCount(u8 caseId, bool8 whichDex);
|
||||
static void DexScreen_PrintControlInfo(const u8 *src);
|
||||
static void DexScreen_DestroyCategoryPageMonIconAndInfoWindows(void);
|
||||
|
|
@ -133,7 +133,7 @@ u8 DexScreen_DrawMonAreaPage(void);
|
|||
static bool8 DexScreen_IsPageUnlocked(u8 category, u8 pageNum);
|
||||
static bool8 DexScreen_IsCategoryUnlocked(u8 category);
|
||||
static u8 DexScreen_GetPageLimitsForCategory(u8 category);
|
||||
static bool8 DexScreen_LookUpCategoryBySpecies(u16 species);
|
||||
static bool8 DexScreen_LookUpCategoryBySpecies(enum Species species);
|
||||
u8 DexScreen_DestroyAreaScreenResources(void);
|
||||
void DexScreen_CreateCategoryPageSpeciesList(u8 category, u8 pageNum);
|
||||
static u8 DexScreen_PageNumberToRenderablePages(u16 page);
|
||||
|
|
@ -1598,16 +1598,9 @@ static u8 DexScreen_CreateDexOrderScrollArrows(void)
|
|||
return AddScrollIndicatorArrowPair(&template, &sPokedexScreenData->modeSelectCursorPosBak);
|
||||
}
|
||||
|
||||
struct PokedexListItem
|
||||
{
|
||||
u16 species;
|
||||
bool8 seen:1;
|
||||
bool8 caught:1;
|
||||
};
|
||||
|
||||
static void ItemPrintFunc_OrderedListMenu(u8 windowId, u32 itemId, u8 y)
|
||||
{
|
||||
u16 species = itemId;
|
||||
enum Species species = itemId;
|
||||
bool8 caught = (itemId >> 17) & 1;
|
||||
u8 type1;
|
||||
DexScreen_PrintMonDexNo(sPokedexScreenData->numericalOrderWindowId, FONT_SMALL, species, 12, y, sPokedexScreenData->dexOrderId != DEX_ORDER_NUMERICAL_KANTO);
|
||||
|
|
@ -2294,12 +2287,12 @@ static u32 DexScreen_GetDefaultPersonality(int species)
|
|||
}
|
||||
}
|
||||
|
||||
static void DexScreen_LoadMonPicInWindow(u8 windowId, u16 species, u16 paletteOffset)
|
||||
static void DexScreen_LoadMonPicInWindow(u8 windowId, enum Species species, u16 paletteOffset)
|
||||
{
|
||||
LoadMonFrontPicInWindow(species, FALSE, DexScreen_GetDefaultPersonality(species), paletteOffset >> 4, windowId);
|
||||
}
|
||||
|
||||
static void DexScreen_PrintMonDexNo(u8 windowId, u8 fontId, u16 species, u8 x, u8 y, bool32 allowNationalDex)
|
||||
static void DexScreen_PrintMonDexNo(u8 windowId, u8 fontId, enum Species species, u8 x, u8 y, bool32 allowNationalDex)
|
||||
{
|
||||
u16 dexNum;
|
||||
u8 xNum;
|
||||
|
|
@ -2383,7 +2376,7 @@ static void DexScreen_PrintControlInfo(const u8 *src)
|
|||
DexScreen_AddTextPrinterParameterized(1, FONT_SMALL, src, 236 - GetStringWidth(FONT_SMALL, src, 0), 2, 4);
|
||||
}
|
||||
|
||||
bool8 DexScreen_DrawMonPicInCategoryPage(u16 species, u8 slot, u8 numSlots)
|
||||
bool8 DexScreen_DrawMonPicInCategoryPage(enum Species species, u8 slot, u8 numSlots)
|
||||
{
|
||||
struct WindowTemplate template;
|
||||
numSlots--;
|
||||
|
|
@ -2750,7 +2743,7 @@ void DexScreen_DexPageZoomEffectFrame(u8 bg, u8 scale)
|
|||
FillBgTilemapBufferRect_Palette0(bg, 2, left + 1, divY + 1, width, top + height - divY);
|
||||
}
|
||||
|
||||
void DexScreen_PrintMonCategory(u8 windowId, u16 species, u8 x, u8 y)
|
||||
void DexScreen_PrintMonCategory(u8 windowId, enum Species species, u8 x, u8 y)
|
||||
{
|
||||
u8 *categoryName;
|
||||
u8 index, categoryStr[12];
|
||||
|
|
@ -2782,7 +2775,7 @@ void DexScreen_PrintMonCategory(u8 windowId, u16 species, u8 x, u8 y)
|
|||
DexScreen_AddTextPrinterParameterized(windowId, FONT_SMALL, gText_PokedexPokemon, x, y, 0);
|
||||
}
|
||||
|
||||
void DexScreen_PrintMonHeight(u8 windowId, u16 species, u8 x, u8 y)
|
||||
void DexScreen_PrintMonHeight(u8 windowId, enum Species species, u8 x, u8 y)
|
||||
{
|
||||
u8* heightString;
|
||||
|
||||
|
|
@ -2887,7 +2880,7 @@ static u8* ConvertMeasurementToMetricString(u32 num, u32* index)
|
|||
return string;
|
||||
}
|
||||
|
||||
void DexScreen_PrintMonWeight(u8 windowId, u16 species, u8 x, u8 y)
|
||||
void DexScreen_PrintMonWeight(u8 windowId, enum Species species, u8 x, u8 y)
|
||||
{
|
||||
u8* weightString;
|
||||
|
||||
|
|
@ -3015,7 +3008,7 @@ static u8* ReplaceDecimalSeparator(const u8* originalString)
|
|||
return modifiedString;
|
||||
}
|
||||
|
||||
void DexScreen_PrintMonFlavorText(u8 windowId, u16 species, u8 x, u8 y)
|
||||
void DexScreen_PrintMonFlavorText(u8 windowId, enum Species species, u8 x, u8 y)
|
||||
{
|
||||
struct TextPrinterTemplate printerTemplate;
|
||||
u16 length;
|
||||
|
|
@ -3054,7 +3047,7 @@ void DexScreen_PrintMonFlavorText(u8 windowId, u16 species, u8 x, u8 y)
|
|||
|
||||
#define NUM_FOOTPRINT_TILES 4
|
||||
|
||||
void DexScreen_DrawMonFootprint(u8 windowId, u16 species, u8 x, u8 y)
|
||||
void DexScreen_DrawMonFootprint(u8 windowId, enum Species species, u8 x, u8 y)
|
||||
{
|
||||
u16 i, j, tileIdx;
|
||||
u8 footprintPixel, footprintTile;
|
||||
|
|
@ -3338,10 +3331,10 @@ u8 DexScreen_DestroyAreaScreenResources(void)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static bool32 DexScreen_MonHasCategoryEntry(u16 species)
|
||||
static bool32 DexScreen_MonHasCategoryEntry(enum Species species)
|
||||
{
|
||||
u16 i, j, k;
|
||||
u16 natDexNum = SpeciesToNationalPokedexNum(species);
|
||||
enum NationalDexOrder natDexNum = SpeciesToNationalPokedexNum(species);
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gDexCategories); i++)
|
||||
{
|
||||
|
|
@ -3358,7 +3351,7 @@ static bool32 DexScreen_MonHasCategoryEntry(u16 species)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
static bool32 DexScreen_CanShowMonInDex(u16 species)
|
||||
static bool32 DexScreen_CanShowMonInDex(enum Species species)
|
||||
{
|
||||
return (IsNationalPokedexEnabled() || IsSpeciesInKantoDex(species)) && DexScreen_MonHasCategoryEntry(species);
|
||||
}
|
||||
|
|
@ -3366,7 +3359,7 @@ static bool32 DexScreen_CanShowMonInDex(u16 species)
|
|||
static u8 DexScreen_IsPageUnlocked(u8 categoryNum, u8 pageNum)
|
||||
{
|
||||
int i, count;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
count = gDexCategories[categoryNum].page[pageNum].count;
|
||||
|
||||
|
|
@ -3399,7 +3392,7 @@ static bool8 DexScreen_IsCategoryUnlocked(u8 categoryNum)
|
|||
void DexScreen_CreateCategoryPageSpeciesList(u8 categoryNum, u8 pageNum)
|
||||
{
|
||||
int i, count;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
count = gDexCategories[categoryNum].page[pageNum].count;
|
||||
sPokedexScreenData->numMonsOnPage = 0;
|
||||
|
|
@ -3447,10 +3440,10 @@ static u8 DexScreen_GetPageLimitsForCategory(u8 category)
|
|||
}
|
||||
}
|
||||
|
||||
static u8 DexScreen_LookUpCategoryBySpecies(u16 species)
|
||||
static u8 DexScreen_LookUpCategoryBySpecies(enum Species species)
|
||||
{
|
||||
int i, j, k, categoryCount, categoryPageCount, posInPage;
|
||||
u16 dexSpecies;
|
||||
enum Species dexSpecies;
|
||||
|
||||
for (i = 0; i < ARRAY_COUNT(gDexCategories); i++)
|
||||
{
|
||||
|
|
@ -3501,7 +3494,7 @@ void DexScreen_InputHandler_StartToCry(void)
|
|||
#define tPersonalityLo 14
|
||||
#define tPersonalityHi 15
|
||||
|
||||
u8 DexScreen_RegisterMonToPokedex(u16 species)
|
||||
u8 DexScreen_RegisterMonToPokedex(enum Species species)
|
||||
{
|
||||
DexScreen_GetSetPokedexFlag(species, FLAG_SET_SEEN, TRUE);
|
||||
DexScreen_GetSetPokedexFlag(species, FLAG_SET_CAUGHT, TRUE);
|
||||
|
|
@ -3516,7 +3509,7 @@ u8 DexScreen_RegisterMonToPokedex(u16 species)
|
|||
return sPokedexScreenData->taskId;
|
||||
}
|
||||
|
||||
u8 DisplayCaughtMonDexPage(u16 species, bool32 isShiny, u32 personality)
|
||||
u8 DisplayCaughtMonDexPage(enum Species species, bool32 isShiny, u32 personality)
|
||||
{
|
||||
u8 taskId = 0;
|
||||
if (POKEDEX_PLUS_HGSS)
|
||||
|
|
|
|||
173
src/pokemon.c
173
src/pokemon.c
|
|
@ -79,7 +79,7 @@ extern u16 gSpecialVar_ItemId;
|
|||
|
||||
struct SpeciesItem
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
enum Item item;
|
||||
};
|
||||
|
||||
|
|
@ -1289,18 +1289,18 @@ void ZeroEnemyPartyMons(void)
|
|||
ZeroMonData(&gEnemyParty[i]);
|
||||
}
|
||||
|
||||
void CreateRandomMon(struct Pokemon *mon, u16 species, u8 level)
|
||||
void CreateRandomMon(struct Pokemon *mon, enum Species species, u8 level)
|
||||
{
|
||||
CreateRandomMonWithIVs(mon, species, level, USE_RANDOM_IVS);
|
||||
}
|
||||
|
||||
void CreateRandomMonWithIVs(struct Pokemon *mon, u16 species, u8 level, u8 fixedIv)
|
||||
void CreateRandomMonWithIVs(struct Pokemon *mon, enum Species species, u8 level, u8 fixedIv)
|
||||
{
|
||||
CreateMonWithIVs(mon, species, level, Random32(), OTID_STRUCT_PLAYER_ID, fixedIv);
|
||||
GiveMonInitialMoveset(mon);
|
||||
}
|
||||
|
||||
void CreateMon(struct Pokemon *mon, u16 species, u8 level, u32 personality, struct OriginalTrainerId trainerId)
|
||||
void CreateMon(struct Pokemon *mon, enum Species species, u8 level, u32 personality, struct OriginalTrainerId trainerId)
|
||||
{
|
||||
u32 mail;
|
||||
ZeroMonData(mon);
|
||||
|
|
@ -1310,7 +1310,7 @@ void CreateMon(struct Pokemon *mon, u16 species, u8 level, u32 personality, stru
|
|||
SetMonData(mon, MON_DATA_MAIL, &mail);
|
||||
}
|
||||
|
||||
void CreateMonWithIVs(struct Pokemon *mon, u16 species, u8 level, u32 personality, struct OriginalTrainerId trainerId, u8 fixedIV)
|
||||
void CreateMonWithIVs(struct Pokemon *mon, enum Species species, u8 level, u32 personality, struct OriginalTrainerId trainerId, u8 fixedIV)
|
||||
{
|
||||
CreateMon(mon, species, level, personality, trainerId);
|
||||
SetBoxMonIVs(&mon->box, fixedIV);
|
||||
|
|
@ -1369,7 +1369,7 @@ void SetBoxMonIVs(struct BoxPokemon *mon, u8 fixedIV)
|
|||
}
|
||||
}
|
||||
|
||||
void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u32 personality, struct OriginalTrainerId trainerId)
|
||||
void CreateBoxMon(struct BoxPokemon *boxMon, enum Species species, u8 level, u32 personality, struct OriginalTrainerId trainerId)
|
||||
{
|
||||
u8 speciesName[POKEMON_NAME_LENGTH + 1];
|
||||
u32 value;
|
||||
|
|
@ -1473,7 +1473,7 @@ static bool32 IsValidGender(u32 gender)
|
|||
}
|
||||
}
|
||||
|
||||
u32 GetMonPersonality(u16 species, u8 gender, u8 nature, u8 unownLetter)
|
||||
u32 GetMonPersonality(enum Species species, u8 gender, u8 nature, u8 unownLetter)
|
||||
{
|
||||
u32 personality, actualLetter;
|
||||
|
||||
|
|
@ -1505,14 +1505,14 @@ u32 GetMonPersonality(u16 species, u8 gender, u8 nature, u8 unownLetter)
|
|||
}
|
||||
|
||||
// Used to create the Old Man's Weedle?
|
||||
void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level)
|
||||
void CreateMaleMon(struct Pokemon *mon, enum Species species, u8 level)
|
||||
{
|
||||
u32 personality = GetMonPersonality(species, MON_MALE, NATURE_RANDOM, RANDOM_UNOWN_LETTER);
|
||||
CreateMonWithIVs(mon, species, level, personality, OTID_STRUCT_PLAYER_ID, USE_RANDOM_IVS);
|
||||
GiveMonInitialMoveset(mon);
|
||||
}
|
||||
|
||||
void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality)
|
||||
void CreateMonWithIVsPersonality(struct Pokemon *mon, enum Species species, u8 level, u32 ivs, u32 personality)
|
||||
{
|
||||
CreateMon(mon, species, level, personality, OTID_STRUCT_PLAYER_ID);
|
||||
SetMonData(mon, MON_DATA_IVS, &ivs);
|
||||
|
|
@ -1702,7 +1702,7 @@ void ConvertPokemonToBattleTowerPokemon(struct Pokemon *mon, struct BattleTowerP
|
|||
GetMonData(mon, MON_DATA_NICKNAME10, dest->nickname);
|
||||
}
|
||||
|
||||
static void CreateEventMon(struct Pokemon *mon, u16 species, u8 level, u32 personality, struct OriginalTrainerId otId)
|
||||
static void CreateEventMon(struct Pokemon *mon, enum Species species, u8 level, u32 personality, struct OriginalTrainerId otId)
|
||||
{
|
||||
bool32 isModernFatefulEncounter = TRUE;
|
||||
|
||||
|
|
@ -1800,7 +1800,7 @@ void CalculateMonStats(struct Pokemon *mon)
|
|||
{
|
||||
s32 oldMaxHP = GetMonData(mon, MON_DATA_MAX_HP);
|
||||
s32 currentHP = GetMonData(mon, MON_DATA_HP);
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
u8 friendship = GetMonData(mon, MON_DATA_FRIENDSHIP);
|
||||
s32 level = GetLevelFromMonExp(mon);
|
||||
s32 newMaxHP;
|
||||
|
|
@ -1892,7 +1892,7 @@ void BoxMonToMon(const struct BoxPokemon *src, struct Pokemon *dest)
|
|||
|
||||
u8 GetLevelFromMonExp(struct Pokemon *mon)
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
u32 exp = GetMonData(mon, MON_DATA_EXP);
|
||||
s32 level = 1;
|
||||
|
||||
|
|
@ -1904,7 +1904,7 @@ u8 GetLevelFromMonExp(struct Pokemon *mon)
|
|||
|
||||
u8 GetLevelFromBoxMonExp(struct BoxPokemon *boxMon)
|
||||
{
|
||||
u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES);
|
||||
enum Species species = GetBoxMonData(boxMon, MON_DATA_SPECIES);
|
||||
u32 exp = GetBoxMonData(boxMon, MON_DATA_EXP);
|
||||
s32 level = 1;
|
||||
|
||||
|
|
@ -1991,7 +1991,7 @@ void GiveMonInitialMoveset(struct Pokemon *mon)
|
|||
|
||||
void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) //Credit: AsparagusEduardo
|
||||
{
|
||||
u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES);
|
||||
enum Species species = GetBoxMonData(boxMon, MON_DATA_SPECIES);
|
||||
s32 level = GetLevelFromBoxMonExp(boxMon);
|
||||
s32 i;
|
||||
enum Move moves[MAX_MON_MOVES] = {MOVE_NONE};
|
||||
|
|
@ -2081,7 +2081,7 @@ void GiveBoxMonDefaultMove(struct BoxPokemon *boxMon, u32 slot)
|
|||
enum Move MonTryLearningNewMoveAtLevel(struct Pokemon *mon, bool32 firstMove, u32 level)
|
||||
{
|
||||
enum Move retVal = MOVE_NONE;
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
const struct LevelUpMove *learnset = GetSpeciesLevelUpLearnset(species);
|
||||
|
||||
// since you can learn more than one move per level
|
||||
|
|
@ -2254,7 +2254,7 @@ u8 GetMonGender(struct Pokemon *mon)
|
|||
|
||||
u8 GetBoxMonGender(struct BoxPokemon *boxMon)
|
||||
{
|
||||
u16 species = GetBoxMonData(boxMon, MON_DATA_SPECIES);
|
||||
enum Species species = GetBoxMonData(boxMon, MON_DATA_SPECIES);
|
||||
u32 personality = GetBoxMonData(boxMon, MON_DATA_PERSONALITY);
|
||||
|
||||
switch (gSpeciesInfo[species].genderRatio)
|
||||
|
|
@ -2271,7 +2271,7 @@ u8 GetBoxMonGender(struct BoxPokemon *boxMon)
|
|||
return MON_MALE;
|
||||
}
|
||||
|
||||
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality)
|
||||
u8 GetGenderFromSpeciesAndPersonality(enum Species species, u32 personality)
|
||||
{
|
||||
switch (gSpeciesInfo[species].genderRatio)
|
||||
{
|
||||
|
|
@ -2287,12 +2287,12 @@ u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality)
|
|||
return MON_MALE;
|
||||
}
|
||||
|
||||
bool32 IsPersonalityFemale(u16 species, u32 personality)
|
||||
bool32 IsPersonalityFemale(enum Species species, u32 personality)
|
||||
{
|
||||
return GetGenderFromSpeciesAndPersonality(species, personality) == MON_FEMALE;
|
||||
}
|
||||
|
||||
u32 GetUnownSpeciesId(u32 personality)
|
||||
enum Species GetUnownSpeciesId(u32 personality)
|
||||
{
|
||||
u16 unownLetter = GetUnownLetterByPersonality(personality);
|
||||
|
||||
|
|
@ -3554,7 +3554,7 @@ u8 GetMonsStateToDoubles_2(void)
|
|||
return (aliveCount > 1) ? PLAYER_HAS_TWO_USABLE_MONS : PLAYER_HAS_ONE_USABLE_MON;
|
||||
}
|
||||
|
||||
enum Ability GetAbilityBySpecies(u16 species, u8 abilityNum)
|
||||
enum Ability GetAbilityBySpecies(enum Species species, u8 abilityNum)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -3581,7 +3581,7 @@ enum Ability GetAbilityBySpecies(u16 species, u8 abilityNum)
|
|||
|
||||
enum Ability GetMonAbility(struct Pokemon *mon)
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
u8 abilityNum = GetMonData(mon, MON_DATA_ABILITY_NUM);
|
||||
return GetAbilityBySpecies(species, abilityNum);
|
||||
}
|
||||
|
|
@ -3653,7 +3653,7 @@ bool8 IsPokemonStorageFull(void)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
const u8 *GetSpeciesName(u16 species)
|
||||
const u8 *GetSpeciesName(enum Species species)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (gSpeciesInfo[species].speciesName[0] == 0)
|
||||
|
|
@ -3661,7 +3661,7 @@ const u8 *GetSpeciesName(u16 species)
|
|||
return gSpeciesInfo[species].speciesName;
|
||||
}
|
||||
|
||||
const u8 *GetSpeciesCategory(u16 species)
|
||||
const u8 *GetSpeciesCategory(enum Species species)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (gSpeciesInfo[species].categoryName[0] == 0)
|
||||
|
|
@ -3669,7 +3669,7 @@ const u8 *GetSpeciesCategory(u16 species)
|
|||
return gSpeciesInfo[species].categoryName;
|
||||
}
|
||||
|
||||
const u8 *GetSpeciesPokedexDescription(u16 species)
|
||||
const u8 *GetSpeciesPokedexDescription(enum Species species)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (gSpeciesInfo[species].description == NULL)
|
||||
|
|
@ -3677,57 +3677,57 @@ const u8 *GetSpeciesPokedexDescription(u16 species)
|
|||
return gSpeciesInfo[species].description;
|
||||
}
|
||||
|
||||
u32 GetSpeciesHeight(u16 species)
|
||||
u32 GetSpeciesHeight(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].height;
|
||||
}
|
||||
|
||||
u32 GetSpeciesWeight(u16 species)
|
||||
u32 GetSpeciesWeight(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].weight;
|
||||
}
|
||||
|
||||
enum Type GetSpeciesType(u16 species, u8 slot)
|
||||
enum Type GetSpeciesType(enum Species species, u8 slot)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].types[slot];
|
||||
}
|
||||
|
||||
enum Ability GetSpeciesAbility(u16 species, u8 slot)
|
||||
enum Ability GetSpeciesAbility(enum Species species, u8 slot)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].abilities[slot];
|
||||
}
|
||||
|
||||
u32 GetSpeciesBaseHP(u16 species)
|
||||
u32 GetSpeciesBaseHP(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].baseHP;
|
||||
}
|
||||
|
||||
u32 GetSpeciesBaseAttack(u16 species)
|
||||
u32 GetSpeciesBaseAttack(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].baseAttack;
|
||||
}
|
||||
|
||||
u32 GetSpeciesBaseDefense(u16 species)
|
||||
u32 GetSpeciesBaseDefense(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].baseDefense;
|
||||
}
|
||||
|
||||
u32 GetSpeciesBaseSpAttack(u16 species)
|
||||
u32 GetSpeciesBaseSpAttack(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].baseSpAttack;
|
||||
}
|
||||
|
||||
u32 GetSpeciesBaseSpDefense(u16 species)
|
||||
u32 GetSpeciesBaseSpDefense(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].baseSpDefense;
|
||||
}
|
||||
|
||||
u32 GetSpeciesBaseSpeed(u16 species)
|
||||
u32 GetSpeciesBaseSpeed(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].baseSpeed;
|
||||
}
|
||||
|
||||
u32 GetSpeciesBaseStat(u16 species, u32 statIndex)
|
||||
u32 GetSpeciesBaseStat(enum Species species, u32 statIndex)
|
||||
{
|
||||
switch (statIndex)
|
||||
{
|
||||
|
|
@ -3747,7 +3747,7 @@ u32 GetSpeciesBaseStat(u16 species, u32 statIndex)
|
|||
return 0;
|
||||
}
|
||||
|
||||
const struct LevelUpMove *GetSpeciesLevelUpLearnset(u16 species)
|
||||
const struct LevelUpMove *GetSpeciesLevelUpLearnset(enum Species species)
|
||||
{
|
||||
const struct LevelUpMove *learnset = gSpeciesInfo[SanitizeSpeciesId(species)].levelUpLearnset;
|
||||
if (learnset == NULL)
|
||||
|
|
@ -3755,7 +3755,7 @@ const struct LevelUpMove *GetSpeciesLevelUpLearnset(u16 species)
|
|||
return learnset;
|
||||
}
|
||||
|
||||
const u16 *GetSpeciesTeachableLearnset(u16 species)
|
||||
const u16 *GetSpeciesTeachableLearnset(enum Species species)
|
||||
{
|
||||
const u16 *learnset = gSpeciesInfo[SanitizeSpeciesId(species)].teachableLearnset;
|
||||
if (learnset == NULL)
|
||||
|
|
@ -3763,7 +3763,7 @@ const u16 *GetSpeciesTeachableLearnset(u16 species)
|
|||
return learnset;
|
||||
}
|
||||
|
||||
const u16 *GetSpeciesEggMoves(u16 species)
|
||||
const u16 *GetSpeciesEggMoves(enum Species species)
|
||||
{
|
||||
const u16 *learnset = gSpeciesInfo[SanitizeSpeciesId(species)].eggMoveLearnset;
|
||||
if (learnset == NULL)
|
||||
|
|
@ -3771,7 +3771,7 @@ const u16 *GetSpeciesEggMoves(u16 species)
|
|||
return learnset;
|
||||
}
|
||||
|
||||
const struct Evolution *GetSpeciesEvolutions(u16 species)
|
||||
const struct Evolution *GetSpeciesEvolutions(enum Species species)
|
||||
{
|
||||
const struct Evolution *evolutions = gSpeciesInfo[SanitizeSpeciesId(species)].evolutions;
|
||||
if (evolutions == NULL)
|
||||
|
|
@ -3779,7 +3779,7 @@ const struct Evolution *GetSpeciesEvolutions(u16 species)
|
|||
return evolutions;
|
||||
}
|
||||
|
||||
const u16 *GetSpeciesFormTable(u16 species)
|
||||
const u16 *GetSpeciesFormTable(enum Species species)
|
||||
{
|
||||
const u16 *formTable = gSpeciesInfo[SanitizeSpeciesId(species)].formSpeciesIdTable;
|
||||
if (formTable == NULL)
|
||||
|
|
@ -3787,7 +3787,7 @@ const u16 *GetSpeciesFormTable(u16 species)
|
|||
return formTable;
|
||||
}
|
||||
|
||||
const struct FormChange *GetSpeciesFormChanges(u16 species)
|
||||
const struct FormChange *GetSpeciesFormChanges(enum Species species)
|
||||
{
|
||||
const struct FormChange *formChanges = gSpeciesInfo[SanitizeSpeciesId(species)].formChangeTable;
|
||||
if (formChanges == NULL)
|
||||
|
|
@ -3987,7 +3987,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, enum Item item, u8 partyIndex,
|
|||
}
|
||||
else if (param - 1 < ARRAY_COUNT(sExpCandyExperienceTable)) // EXP Candies
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
dataUnsigned = sExpCandyExperienceTable[param - 1] + GetMonData(mon, MON_DATA_EXP);
|
||||
|
||||
if (B_RARE_CANDY_CAP && B_EXP_CAP_TYPE == EXP_CAP_HARD)
|
||||
|
|
@ -5143,7 +5143,7 @@ u32 GetEvolutionTargetSpecies(struct Pokemon *mon, enum EvolutionMode mode, u16
|
|||
bool8 IsMonPastEvolutionLevel(struct Pokemon *mon)
|
||||
{
|
||||
int i;
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES, 0);
|
||||
u8 level = GetMonData(mon, MON_DATA_LEVEL, 0);
|
||||
const struct Evolution *evolutions = GetSpeciesEvolutions(species);
|
||||
|
||||
|
|
@ -5167,20 +5167,20 @@ bool8 IsMonPastEvolutionLevel(struct Pokemon *mon)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
u16 NationalPokedexNumToSpecies(enum NationalDexOrder nationalNum)
|
||||
enum Species NationalPokedexNumToSpecies(enum NationalDexOrder nationalNum)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
if (!nationalNum)
|
||||
return 0;
|
||||
|
||||
species = 1;
|
||||
species = SPECIES_BULBASAUR;
|
||||
|
||||
while (species < (NUM_SPECIES) && gSpeciesInfo[species].natDexNum != nationalNum)
|
||||
species++;
|
||||
|
||||
if (species == NUM_SPECIES)
|
||||
return NATIONAL_DEX_NONE;
|
||||
return SPECIES_NONE;
|
||||
|
||||
return GET_BASE_SPECIES_ID(species);
|
||||
}
|
||||
|
|
@ -5203,7 +5203,7 @@ enum HoennDexOrder NationalToHoennOrder(enum NationalDexOrder nationalNum)
|
|||
return hoennNum + 1;
|
||||
}
|
||||
|
||||
enum NationalDexOrder SpeciesToNationalPokedexNum(u16 species)
|
||||
enum NationalDexOrder SpeciesToNationalPokedexNum(enum Species species)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (!species)
|
||||
|
|
@ -5212,7 +5212,7 @@ enum NationalDexOrder SpeciesToNationalPokedexNum(u16 species)
|
|||
return gSpeciesInfo[species].natDexNum;
|
||||
}
|
||||
|
||||
enum HoennDexOrder SpeciesToHoennPokedexNum(u16 species)
|
||||
enum HoennDexOrder SpeciesToHoennPokedexNum(enum Species species)
|
||||
{
|
||||
if (!species)
|
||||
return 0;
|
||||
|
|
@ -5254,7 +5254,7 @@ enum KantoDexOrder NationalToKantoDexNum(enum NationalDexOrder natDexNum)
|
|||
return KANTO_DEX_NONE;
|
||||
}
|
||||
|
||||
enum KantoDexOrder SpeciesToKantoDexNum(u16 species)
|
||||
enum KantoDexOrder SpeciesToKantoDexNum(enum Species species)
|
||||
{
|
||||
if (!species)
|
||||
return KANTO_DEX_NONE;
|
||||
|
|
@ -5262,7 +5262,7 @@ enum KantoDexOrder SpeciesToKantoDexNum(u16 species)
|
|||
return NationalToKantoDexNum(SpeciesToNationalPokedexNum(species));
|
||||
}
|
||||
|
||||
bool32 IsSpeciesInKantoDex(u16 species)
|
||||
bool32 IsSpeciesInKantoDex(enum Species species)
|
||||
{
|
||||
return SpeciesToKantoDexNum(species) != KANTO_DEX_NONE;
|
||||
}
|
||||
|
|
@ -5459,7 +5459,8 @@ u16 ModifyStatByNature(u8 nature, u16 stat, enum Stat statIndex)
|
|||
|
||||
void AdjustFriendship(struct Pokemon *mon, u8 event)
|
||||
{
|
||||
u16 species, heldItem;
|
||||
enum Species species;
|
||||
enum Item heldItem;
|
||||
enum HoldEffect holdEffect;
|
||||
s8 mod;
|
||||
|
||||
|
|
@ -5669,7 +5670,7 @@ u16 GetMonEVCount(struct Pokemon *mon)
|
|||
|
||||
bool8 TryIncrementMonLevel(struct Pokemon *mon)
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES, 0);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES, 0);
|
||||
u8 nextLevel = GetMonData(mon, MON_DATA_LEVEL, 0) + 1;
|
||||
u32 expPoints = GetMonData(mon, MON_DATA_EXP, 0);
|
||||
if (expPoints > gExperienceTables[gSpeciesInfo[species].growthRate][MAX_LEVEL])
|
||||
|
|
@ -5688,7 +5689,7 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon)
|
|||
}
|
||||
}
|
||||
|
||||
u8 CanLearnTeachableMove(u16 species, enum Move move)
|
||||
u8 CanLearnTeachableMove(enum Species species, enum Move move)
|
||||
{
|
||||
const u16 *teachableLearnset = GetSpeciesTeachableLearnset(species);
|
||||
if (species == SPECIES_EGG)
|
||||
|
|
@ -5701,7 +5702,7 @@ u8 CanLearnTeachableMove(u16 species, enum Move move)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves)
|
||||
u8 GetLevelUpMovesBySpecies(enum Species species, u16 *moves)
|
||||
{
|
||||
u8 numMoves = 0;
|
||||
int i;
|
||||
|
|
@ -5713,18 +5714,20 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves)
|
|||
return numMoves;
|
||||
}
|
||||
|
||||
u16 SpeciesToPokedexNum(u16 species)
|
||||
u16 SpeciesToPokedexNum(enum Species species)
|
||||
{
|
||||
enum KantoDexOrder kantoDexNum;
|
||||
|
||||
if (IsNationalPokedexEnabled())
|
||||
return SpeciesToNationalPokedexNum(species);
|
||||
|
||||
species = SpeciesToKantoDexNum(species);
|
||||
if (species <= KANTO_DEX_COUNT)
|
||||
return species;
|
||||
kantoDexNum = SpeciesToKantoDexNum(species);
|
||||
if (kantoDexNum <= KANTO_DEX_COUNT)
|
||||
return kantoDexNum;
|
||||
return 0xFFFF;
|
||||
}
|
||||
|
||||
bool32 IsSpeciesInHoennDex(u16 species)
|
||||
bool32 IsSpeciesInHoennDex(enum Species species)
|
||||
{
|
||||
if (SpeciesToHoennPokedexNum(species) > HOENN_DEX_COUNT)
|
||||
return FALSE;
|
||||
|
|
@ -5857,29 +5860,29 @@ static void Task_PlayMapChosenOrBattleBGM(u8 taskId)
|
|||
|
||||
const u16 *GetMonFrontSpritePal(struct Pokemon *mon)
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
bool32 isShiny = GetMonData(mon, MON_DATA_IS_SHINY);
|
||||
u32 personality = GetMonData(mon, MON_DATA_PERSONALITY);
|
||||
bool32 isEgg = GetMonData(mon, MON_DATA_IS_EGG);
|
||||
return GetMonSpritePalFromSpeciesAndPersonalityIsEgg(species, isShiny, personality, isEgg);
|
||||
}
|
||||
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonality(u16 species, bool32 isShiny, u32 personality)
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonality(enum Species species, bool32 isShiny, u32 personality)
|
||||
{
|
||||
return GetMonSpritePalFromSpeciesIsEgg(species, isShiny, IsPersonalityFemale(species, personality), FALSE);
|
||||
}
|
||||
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonalityIsEgg(u16 species, bool32 isShiny, u32 personality, bool32 isEgg)
|
||||
const u16 *GetMonSpritePalFromSpeciesAndPersonalityIsEgg(enum Species species, bool32 isShiny, u32 personality, bool32 isEgg)
|
||||
{
|
||||
return GetMonSpritePalFromSpeciesIsEgg(species, isShiny, IsPersonalityFemale(species, personality), isEgg);
|
||||
}
|
||||
|
||||
const u16 *GetMonSpritePalFromSpecies(u16 species, bool32 isShiny, bool32 isFemale)
|
||||
const u16 *GetMonSpritePalFromSpecies(enum Species species, bool32 isShiny, bool32 isFemale)
|
||||
{
|
||||
return GetMonSpritePalFromSpeciesIsEgg(species, isShiny, isFemale, FALSE);
|
||||
}
|
||||
|
||||
const u16 *GetMonSpritePalFromSpeciesIsEgg(u16 species, bool32 isShiny, bool32 isFemale, bool32 isEgg)
|
||||
const u16 *GetMonSpritePalFromSpeciesIsEgg(enum Species species, bool32 isShiny, bool32 isFemale, bool32 isEgg)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
|
||||
|
|
@ -5933,7 +5936,7 @@ bool32 CannotForgetMove(enum Move move)
|
|||
return IsMoveHM(move);
|
||||
}
|
||||
|
||||
bool8 IsMonSpriteNotFlipped(u16 species)
|
||||
bool8 IsMonSpriteNotFlipped(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[species].noFlip;
|
||||
}
|
||||
|
|
@ -6013,7 +6016,7 @@ void SetMonPreventsSwitchingString(void)
|
|||
BattleStringExpandPlaceholders(gText_PkmnsXPreventsSwitching, gStringVar4, sizeof(gStringVar4));
|
||||
}
|
||||
|
||||
static s32 GetWildMonTableIdInAlteringCave(u16 species)
|
||||
static s32 GetWildMonTableIdInAlteringCave(enum Species species)
|
||||
{
|
||||
s32 i;
|
||||
for (i = 0; i < (s32) ARRAY_COUNT(sAlteringCaveWildMonHeldItems); i++)
|
||||
|
|
@ -6041,7 +6044,7 @@ void SetWildMonHeldItem(void)
|
|||
if (!(gBattleTypeFlags & (BATTLE_TYPE_POKEDUDE | BATTLE_TYPE_LEGENDARY | BATTLE_TYPE_TRAINER | BATTLE_TYPE_PYRAMID | BATTLE_TYPE_PIKE)))
|
||||
{
|
||||
u16 rnd;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u16 count = (WILD_DOUBLE_BATTLE) ? 2 : 1;
|
||||
u16 i;
|
||||
bool32 itemHeldBoost = CanFirstMonBoostHeldItemRarity();
|
||||
|
|
@ -6149,7 +6152,7 @@ static void Task_AnimateAfterDelay(u8 taskId)
|
|||
// }
|
||||
// }
|
||||
|
||||
void BattleAnimateFrontSprite(struct Sprite *sprite, u16 species, bool8 noCry, u8 panMode)
|
||||
void BattleAnimateFrontSprite(struct Sprite *sprite, enum Species species, bool8 noCry, u8 panMode)
|
||||
{
|
||||
if (gHitMarker & HITMARKER_NO_ANIMATIONS && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)))
|
||||
DoMonFrontSpriteAnimation(sprite, species, noCry, panMode | SKIP_FRONT_ANIM);
|
||||
|
|
@ -6157,7 +6160,7 @@ void BattleAnimateFrontSprite(struct Sprite *sprite, u16 species, bool8 noCry, u
|
|||
DoMonFrontSpriteAnimation(sprite, species, noCry, panMode);
|
||||
}
|
||||
|
||||
void DoMonFrontSpriteAnimation(struct Sprite *sprite, u16 species, bool8 noCry, u8 panModeAnimFlag)
|
||||
void DoMonFrontSpriteAnimation(struct Sprite *sprite, enum Species species, bool8 noCry, u8 panModeAnimFlag)
|
||||
{
|
||||
s8 pan;
|
||||
switch (panModeAnimFlag & (u8)~SKIP_FRONT_ANIM) // Exclude anim flag to get pan mode
|
||||
|
|
@ -6204,7 +6207,7 @@ void DoMonFrontSpriteAnimation(struct Sprite *sprite, u16 species, bool8 noCry,
|
|||
}
|
||||
}
|
||||
|
||||
// void PokemonSummaryDoMonAnimation(struct Sprite *sprite, u16 species, bool8 oneFrame)
|
||||
// void PokemonSummaryDoMonAnimation(struct Sprite *sprite, enum Species species, bool8 oneFrame)
|
||||
// {
|
||||
// if (!oneFrame && HasTwoFramesAnimation(species))
|
||||
// StartSpriteAnim(sprite, 1);
|
||||
|
|
@ -6232,7 +6235,7 @@ void DoMonFrontSpriteAnimation(struct Sprite *sprite, u16 species, bool8 noCry,
|
|||
// DestroyTask(delayTaskId);
|
||||
// }
|
||||
|
||||
void BattleAnimateBackSprite(struct Sprite *sprite, u16 species)
|
||||
void BattleAnimateBackSprite(struct Sprite *sprite, enum Species species)
|
||||
{
|
||||
if (gHitMarker & HITMARKER_NO_ANIMATIONS && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_RECORDED_LINK)))
|
||||
{
|
||||
|
|
@ -6328,7 +6331,7 @@ void HandleSetPokedexFlagFromMon(struct Pokemon *mon, u32 caseId)
|
|||
HandleSetPokedexFlag(nationalNum, caseId, personality);
|
||||
}
|
||||
|
||||
bool8 HasTwoFramesAnimation(u16 species)
|
||||
bool8 HasTwoFramesAnimation(enum Species species)
|
||||
{
|
||||
return P_TWO_FRAME_FRONT_SPRITES
|
||||
&& gSpeciesInfo[species].frontAnimFrames != sAnims_SingleFramePlaceHolder
|
||||
|
|
@ -6527,7 +6530,7 @@ u8 *MonSpritesGfxManager_GetSpritePtr(u8 managerId, u8 spriteNum)
|
|||
}
|
||||
}
|
||||
|
||||
u16 GetFormSpeciesId(u16 speciesId, u8 formId)
|
||||
u16 GetFormSpeciesId(enum Species speciesId, u8 formId)
|
||||
{
|
||||
if (GetSpeciesFormTable(speciesId) != NULL)
|
||||
return GetSpeciesFormTable(speciesId)[formId];
|
||||
|
|
@ -6804,7 +6807,7 @@ u32 GetFormChangeTargetSpecies_Internal(struct FormChangeContext ctx)
|
|||
void TrySetDayLimitToFormChange(struct Pokemon *mon)
|
||||
{
|
||||
u32 i;
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
const struct FormChange *formChanges = GetSpeciesFormChanges(species);
|
||||
|
||||
for (i = 0; formChanges != NULL && formChanges[i].method != FORM_CHANGE_TERMINATOR; i++)
|
||||
|
|
@ -6817,7 +6820,7 @@ void TrySetDayLimitToFormChange(struct Pokemon *mon)
|
|||
}
|
||||
}
|
||||
|
||||
bool32 DoesSpeciesHaveFormChangeMethod(u16 species, enum FormChanges method)
|
||||
bool32 DoesSpeciesHaveFormChangeMethod(enum Species species, enum FormChanges method)
|
||||
{
|
||||
u32 i;
|
||||
const struct FormChange *formChanges = GetSpeciesFormChanges(species);
|
||||
|
|
@ -6833,7 +6836,7 @@ bool32 DoesSpeciesHaveFormChangeMethod(u16 species, enum FormChanges method)
|
|||
|
||||
u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove)
|
||||
{
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
u8 level = GetMonData(mon, MON_DATA_LEVEL);
|
||||
const struct LevelUpMove *learnset = GetSpeciesLevelUpLearnset(species);
|
||||
|
||||
|
|
@ -6943,7 +6946,7 @@ void TrySpecialOverworldEvo(void)
|
|||
SetMainCallback2(CB2_ReturnToField);
|
||||
}
|
||||
|
||||
bool32 SpeciesHasGenderDifferences(u16 species)
|
||||
bool32 SpeciesHasGenderDifferences(enum Species species)
|
||||
{
|
||||
#if P_GENDER_DIFFERENCES
|
||||
if (gSpeciesInfo[species].frontPicFemale != NULL
|
||||
|
|
@ -7034,7 +7037,7 @@ bool32 TryBoxMonFormChange(struct BoxPokemon *boxMon, enum FormChanges method)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
u16 SanitizeSpeciesId(u16 species)
|
||||
u16 SanitizeSpeciesId(enum Species species)
|
||||
{
|
||||
assertf(species <= NUM_SPECIES && (species == SPECIES_NONE || IsSpeciesEnabled(species)), "invalid species: %d", species)
|
||||
{
|
||||
|
|
@ -7044,7 +7047,7 @@ u16 SanitizeSpeciesId(u16 species)
|
|||
return species;
|
||||
}
|
||||
|
||||
bool32 IsSpeciesEnabled(u16 species)
|
||||
bool32 IsSpeciesEnabled(enum Species species)
|
||||
{
|
||||
// This function should not use the GetSpeciesBaseHP function, as the included sanitation will result in an infinite loop
|
||||
return gSpeciesInfo[species].baseHP > 0 || species == SPECIES_EGG;
|
||||
|
|
@ -7053,7 +7056,7 @@ bool32 IsSpeciesEnabled(u16 species)
|
|||
void TryToSetBattleFormChangeMoves(struct Pokemon *mon, enum FormChanges method)
|
||||
{
|
||||
int i, j;
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
const struct FormChange *formChanges = GetSpeciesFormChanges(species);
|
||||
|
||||
if (formChanges == NULL
|
||||
|
|
@ -7181,7 +7184,7 @@ void HealBoxPokemon(struct BoxPokemon *boxMon)
|
|||
BoxMonRestorePP(boxMon);
|
||||
}
|
||||
|
||||
enum PokemonCry GetCryIdBySpecies(u16 species)
|
||||
enum PokemonCry GetCryIdBySpecies(enum Species species)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (P_CRIES_ENABLED == FALSE || gSpeciesInfo[species].cryId >= CRY_COUNT || gTestRunnerHeadless)
|
||||
|
|
@ -7189,7 +7192,7 @@ enum PokemonCry GetCryIdBySpecies(u16 species)
|
|||
return gSpeciesInfo[species].cryId;
|
||||
}
|
||||
|
||||
u16 GetSpeciesPreEvolution(u16 species)
|
||||
u16 GetSpeciesPreEvolution(enum Species species)
|
||||
{
|
||||
int i, j;
|
||||
|
||||
|
|
@ -7423,7 +7426,7 @@ u8 GetPlayerPartyHighestLevel(void)
|
|||
return level;
|
||||
}
|
||||
|
||||
bool8 CheckBattleTypeGhost(struct Pokemon *mon, enum BattlerId battler)
|
||||
bool32 CheckBattleTypeGhost(struct Pokemon *mon, enum BattlerId battler)
|
||||
{
|
||||
u8 nickname[POKEMON_NAME_LENGTH + 1];
|
||||
|
||||
|
|
@ -7437,7 +7440,7 @@ bool8 CheckBattleTypeGhost(struct Pokemon *mon, enum BattlerId battler)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
u16 GetFirstPartnerMove(u16 species)
|
||||
enum Move GetFirstPartnerMove(enum Species species)
|
||||
{
|
||||
switch(species)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -468,7 +468,7 @@ static void SetPosForRotation(struct Sprite *sprite, u16 index, s16 amplitudeX,
|
|||
sprite->y2 = yAdder + amplitudeY;
|
||||
}
|
||||
|
||||
enum BackAnim GetSpeciesBackAnimSet(u16 species)
|
||||
enum BackAnim GetSpeciesBackAnimSet(enum Species species)
|
||||
{
|
||||
if (gSpeciesInfo[species].backAnimId != BACK_ANIM_NONE)
|
||||
return gSpeciesInfo[species].backAnimId - 1;
|
||||
|
|
|
|||
|
|
@ -134,12 +134,12 @@ static const u16 sSpriteImageSizes[3][4] =
|
|||
},
|
||||
};
|
||||
|
||||
u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality)
|
||||
u8 CreateMonIcon(enum Species species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality)
|
||||
{
|
||||
return CreateMonIconIsEgg(species, callback, x, y, subpriority, personality, FALSE);
|
||||
}
|
||||
|
||||
u8 CreateMonIconIsEgg(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 isEgg)
|
||||
u8 CreateMonIconIsEgg(enum Species species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, bool32 isEgg)
|
||||
{
|
||||
u8 spriteId;
|
||||
struct MonIconSpriteTemplate iconTemplate =
|
||||
|
|
@ -179,7 +179,7 @@ u8 CreateMonIconIsEgg(u16 species, void (*callback)(struct Sprite *), s16 x, s16
|
|||
}
|
||||
|
||||
|
||||
u8 CreateMonIconNoPersonality(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
|
||||
u8 CreateMonIconNoPersonality(enum Species species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority)
|
||||
{
|
||||
u8 spriteId;
|
||||
struct MonIconSpriteTemplate iconTemplate =
|
||||
|
|
@ -200,7 +200,7 @@ u8 CreateMonIconNoPersonality(u16 species, void (*callback)(struct Sprite *), s1
|
|||
return spriteId;
|
||||
}
|
||||
|
||||
u16 GetIconSpecies(u16 species, u32 personality)
|
||||
enum Species GetIconSpecies(enum Species species, u32 personality)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
if (species == SPECIES_UNOWN)
|
||||
|
|
@ -216,7 +216,7 @@ u16 GetUnownLetterByPersonality(u32 personality)
|
|||
return GET_UNOWN_LETTER(personality);
|
||||
}
|
||||
|
||||
u16 GetIconSpeciesNoPersonality(u16 species)
|
||||
u16 GetIconSpeciesNoPersonality(enum Species species)
|
||||
{
|
||||
species = SanitizeSpeciesId(species);
|
||||
|
||||
|
|
@ -225,12 +225,12 @@ u16 GetIconSpeciesNoPersonality(u16 species)
|
|||
return GetIconSpecies(species, 0);
|
||||
}
|
||||
|
||||
const u8 *GetMonIconPtr(u16 species, u32 personality)
|
||||
const u8 *GetMonIconPtr(enum Species species, u32 personality)
|
||||
{
|
||||
return GetMonIconPtrIsEgg(species, personality, FALSE);
|
||||
}
|
||||
|
||||
const u8 *GetMonIconPtrIsEgg(u16 species, u32 personality, bool32 isEgg)
|
||||
const u8 *GetMonIconPtrIsEgg(enum Species species, u32 personality, bool32 isEgg)
|
||||
{
|
||||
return GetMonIconTilesIsEgg(GetIconSpecies(species, personality), personality, isEgg);
|
||||
}
|
||||
|
|
@ -248,7 +248,7 @@ void LoadMonIconPalettes(void)
|
|||
}
|
||||
|
||||
// unused
|
||||
void SafeLoadMonIconPalette(u16 species)
|
||||
void SafeLoadMonIconPalette(enum Species species)
|
||||
{
|
||||
u8 palIndex;
|
||||
palIndex = gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
|
|
@ -256,14 +256,14 @@ void SafeLoadMonIconPalette(u16 species)
|
|||
LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
|
||||
}
|
||||
|
||||
void LoadMonIconPalette(u16 species)
|
||||
void LoadMonIconPalette(enum Species species)
|
||||
{
|
||||
u8 palIndex = gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF)
|
||||
LoadSpritePalette(&gMonIconPaletteTable[palIndex]);
|
||||
}
|
||||
|
||||
void LoadMonIconPalettePersonality(u16 species, u32 personality)
|
||||
void LoadMonIconPalettePersonality(enum Species species, u32 personality)
|
||||
{
|
||||
u8 palIndex;
|
||||
species = SanitizeSpeciesId(species);
|
||||
|
|
@ -285,17 +285,15 @@ void FreeMonIconPalettes(void)
|
|||
}
|
||||
|
||||
// unused
|
||||
void SafeFreeMonIconPalette(u16 species)
|
||||
void SafeFreeMonIconPalette(enum Species species)
|
||||
{
|
||||
u8 palIndex;
|
||||
palIndex = gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
u8 palIndex = gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
|
||||
}
|
||||
|
||||
void FreeMonIconPalette(u16 species)
|
||||
void FreeMonIconPalette(enum Species species)
|
||||
{
|
||||
u8 palIndex;
|
||||
palIndex = gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
u8 palIndex = gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag);
|
||||
}
|
||||
|
||||
|
|
@ -304,12 +302,12 @@ void SpriteCB_MonIcon(struct Sprite *sprite)
|
|||
UpdateMonIconFrame(sprite);
|
||||
}
|
||||
|
||||
const u8 *GetMonIconTiles(u16 species, u32 personality)
|
||||
const u8 *GetMonIconTiles(enum Species species, u32 personality)
|
||||
{
|
||||
return GetMonIconTilesIsEgg(species, personality, FALSE);
|
||||
}
|
||||
|
||||
const u8 *GetMonIconTilesIsEgg(u16 species, u32 personality, bool32 isEgg)
|
||||
const u8 *GetMonIconTilesIsEgg(enum Species species, u32 personality, bool32 isEgg)
|
||||
{
|
||||
const u8 *iconSprite;
|
||||
|
||||
|
|
@ -352,17 +350,17 @@ void TryLoadAllMonIconPalettesAtOffset(u16 offset)
|
|||
}
|
||||
}
|
||||
|
||||
u8 GetValidMonIconPalIndex(u16 species)
|
||||
u8 GetValidMonIconPalIndex(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
}
|
||||
|
||||
u8 GetMonIconPaletteIndexFromSpecies(u16 species)
|
||||
u8 GetMonIconPaletteIndexFromSpecies(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex;
|
||||
}
|
||||
|
||||
const u16 *GetValidMonIconPalettePtr(u16 species)
|
||||
const u16 *GetValidMonIconPalettePtr(enum Species species)
|
||||
{
|
||||
return gMonIconPaletteTable[gSpeciesInfo[SanitizeSpeciesId(species)].iconPalIndex].data;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ static void InitGame(struct PokemonJump *);
|
|||
static void ResetForNewGame(struct PokemonJump *);
|
||||
static void InitPlayerAndJumpTypes(void);
|
||||
static void ResetPlayersForNewGame(void);
|
||||
static s16 GetSpeciesPokemonJumpType(u16 species);
|
||||
static s16 GetSpeciesPokemonJumpType(enum Species species);
|
||||
static void InitJumpMonInfo(struct PokemonJump_MonInfo *monInfo, struct Pokemon *mon);
|
||||
static void CB2_PokemonJump(void);
|
||||
static void Task_StartPokemonJump(u8 taskId);
|
||||
|
|
@ -334,9 +334,9 @@ static void TryUpdateExcellentsRecord(u16);
|
|||
static bool32 HasEnoughScoreForPrize(void);
|
||||
static u16 GetPrizeData(void);
|
||||
static void UnpackPrizeData(u16, u16 *, u16 *);
|
||||
static u16 GetPrizeItemId(void);
|
||||
static enum Item GetPrizeItemId(void);
|
||||
static u16 GetPrizeQuantity(void);
|
||||
static u16 GetQuantityLimitedByBag(u16 item, u16 quantity);
|
||||
static u16 GetQuantityLimitedByBag(enum Item item, u16 quantity);
|
||||
static void SetUpPokeJumpGfxFunc(void (*func)(void));
|
||||
static void Task_RunPokeJumpGfxFunc(u8 taskId);
|
||||
static void LoadPokeJumpGfx(void);
|
||||
|
|
@ -376,9 +376,9 @@ static void SetUpPokeJumpGfxFuncById(int);
|
|||
static bool32 IsPokeJumpGfxFuncFinished(void);
|
||||
static void SetUpResetVineGfx(void);
|
||||
static bool32 ResetVineGfx(void);
|
||||
static void PrintPrizeMessage(u16, u16);
|
||||
static void PrintPrizeFilledBagMessage(u16);
|
||||
static void PrintNoRoomForPrizeMessage(u16);
|
||||
static void PrintPrizeMessage(enum Item itemId, u16 quantity);
|
||||
static void PrintPrizeFilledBagMessage(enum Item itemId);
|
||||
static void PrintNoRoomForPrizeMessage(enum Item itemId);
|
||||
static bool32 DoPrizeMessageAndFanfare(void);
|
||||
static void ClearMessageWindow(void);
|
||||
static void SetMonSpriteY(u32 , s16);
|
||||
|
|
@ -814,7 +814,7 @@ static void ResetPlayersForNewGame(void)
|
|||
}
|
||||
}
|
||||
|
||||
static s16 GetSpeciesPokemonJumpType(u16 species)
|
||||
static s16 GetSpeciesPokemonJumpType(enum Species species)
|
||||
{
|
||||
return gSpeciesInfo[SanitizeSpeciesId(species)].pokemonJumpType;
|
||||
}
|
||||
|
|
@ -2413,7 +2413,7 @@ static void TryUpdateExcellentsRecord(u16 excellentsInRow)
|
|||
sPokemonJump->excellentsInRowRecord = excellentsInRow;
|
||||
}
|
||||
|
||||
static const u16 sPrizeItems[] = {
|
||||
static const enum Item sPrizeItems[] = {
|
||||
ITEM_LEPPA_BERRY,
|
||||
ITEM_LUM_BERRY,
|
||||
ITEM_SITRUS_BERRY,
|
||||
|
|
@ -2446,7 +2446,7 @@ static bool32 HasEnoughScoreForPrize(void)
|
|||
|
||||
static u16 GetPrizeData(void)
|
||||
{
|
||||
u16 itemId = GetPrizeItemId();
|
||||
enum Item itemId = GetPrizeItemId();
|
||||
u16 quantity = GetPrizeQuantity();
|
||||
return (quantity << 12) | (itemId & 0xFFF);
|
||||
}
|
||||
|
|
@ -2457,7 +2457,7 @@ static void UnpackPrizeData(u16 data, u16 *itemId, u16 *quantity)
|
|||
*itemId = data & 0xFFF;
|
||||
}
|
||||
|
||||
static u16 GetPrizeItemId(void)
|
||||
static enum Item GetPrizeItemId(void)
|
||||
{
|
||||
u16 index = Random() % ARRAY_COUNT(sPrizeItems);
|
||||
return sPrizeItems[index];
|
||||
|
|
@ -2465,10 +2465,9 @@ static u16 GetPrizeItemId(void)
|
|||
|
||||
static u16 GetPrizeQuantity(void)
|
||||
{
|
||||
u32 quantity, i;
|
||||
u32 quantity = 0;
|
||||
|
||||
quantity = 0;
|
||||
for (i = 0; i < ARRAY_COUNT(sPrizeQuantityData); i++)
|
||||
for (u32 i = 0; i < ARRAY_COUNT(sPrizeQuantityData); i++)
|
||||
{
|
||||
if (sPokemonJump->comm.jumpScore >= sPrizeQuantityData[i].score)
|
||||
quantity = sPrizeQuantityData[i].quantity;
|
||||
|
|
@ -2479,7 +2478,7 @@ static u16 GetPrizeQuantity(void)
|
|||
return quantity;
|
||||
}
|
||||
|
||||
static u16 GetQuantityLimitedByBag(u16 item, u16 quantity)
|
||||
static u16 GetQuantityLimitedByBag(enum Item item, u16 quantity)
|
||||
{
|
||||
while (quantity && !CheckBagHasSpace(item, quantity))
|
||||
quantity--;
|
||||
|
|
@ -2507,7 +2506,7 @@ static u8 *GetPokeJumpPlayerName(u8 multiplayerId)
|
|||
return sPokemonJump->players[multiplayerId].name;
|
||||
}
|
||||
|
||||
bool32 IsSpeciesAllowedInPokemonJump(u16 species)
|
||||
bool32 IsSpeciesAllowedInPokemonJump(enum Species species)
|
||||
{
|
||||
return GetSpeciesPokemonJumpType(species) != PKMN_JUMP_TYPE_NONE;
|
||||
}
|
||||
|
|
@ -2520,7 +2519,7 @@ void IsPokemonJumpSpeciesInParty(void)
|
|||
{
|
||||
if (GetMonData(&gPlayerParty[i], MON_DATA_SANITY_HAS_SPECIES))
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG);
|
||||
if (IsSpeciesAllowedInPokemonJump(species))
|
||||
{
|
||||
gSpecialVar_Result = TRUE;
|
||||
|
|
@ -3150,7 +3149,7 @@ static bool32 ResetVineGfx(void)
|
|||
|
||||
static const u8 sPluralTxt[] = _("IES");
|
||||
|
||||
static void PrintPrizeMessage(u16 itemId, u16 quantity)
|
||||
static void PrintPrizeMessage(enum Item itemId, u16 quantity)
|
||||
{
|
||||
CopyItemName(itemId, sPokemonJumpGfx->itemName);
|
||||
ConvertIntToDecimalStringN(sPokemonJumpGfx->itemQuantityStr, quantity, STR_CONV_MODE_LEFT_ALIGN, 1);
|
||||
|
|
@ -3178,7 +3177,7 @@ static void PrintPrizeMessage(u16 itemId, u16 quantity)
|
|||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
|
||||
static void PrintPrizeFilledBagMessage(u16 itemId)
|
||||
static void PrintPrizeFilledBagMessage(enum Item itemId)
|
||||
{
|
||||
CopyItemName(itemId, sPokemonJumpGfx->itemName);
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
|
@ -3191,7 +3190,7 @@ static void PrintPrizeFilledBagMessage(u16 itemId)
|
|||
sPokemonJumpGfx->msgWindowState = 0;
|
||||
}
|
||||
|
||||
static void PrintNoRoomForPrizeMessage(u16 itemId)
|
||||
static void PrintNoRoomForPrizeMessage(enum Item itemId)
|
||||
{
|
||||
CopyItemName(itemId, sPokemonJumpGfx->itemName);
|
||||
DynamicPlaceholderTextUtil_Reset();
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ static u8 TranslateBigMonSizeTableIndex(u16 a)
|
|||
return i;
|
||||
}
|
||||
|
||||
static u32 GetMonSize(u16 species, u16 b)
|
||||
static u32 GetMonSize(enum Species species, u16 b)
|
||||
{
|
||||
u64 unk2;
|
||||
u64 unk4;
|
||||
|
|
@ -98,7 +98,7 @@ static void FormatMonSizeRecord(u8 *string, u32 size)
|
|||
ConvertIntToDecimalStringN(string, size % 10, STR_CONV_MODE_LEFT_ALIGN, 1);
|
||||
}
|
||||
|
||||
static u8 CompareMonSize(u16 species, u16 *sizeRecord)
|
||||
static u8 CompareMonSize(enum Species species, u16 *sizeRecord)
|
||||
{
|
||||
if (gSpecialVar_Result >= PARTY_SIZE)
|
||||
{
|
||||
|
|
@ -141,7 +141,7 @@ static u8 CompareMonSize(u16 species, u16 *sizeRecord)
|
|||
}
|
||||
|
||||
// Stores species name in gStringVar1, trainer's name in gStringVar2, and size in gStringVar3
|
||||
static void GetMonSizeRecordInfo(u16 species, u16 *sizeRecord)
|
||||
static void GetMonSizeRecordInfo(enum Species species, u16 *sizeRecord)
|
||||
{
|
||||
u32 size = GetMonSize(species, *sizeRecord);
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ static EWRAM_DATA bool32 sCancelDisabled = FALSE;
|
|||
static EWRAM_DATA u8 sPSATaskId = 0;
|
||||
static EWRAM_DATA struct PokemonSpecialAnim * sPSAWork = NULL;
|
||||
|
||||
static struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback callback);
|
||||
static struct PokemonSpecialAnim *AllocPSA(u8 slotId, enum Item itemId, MainCallback callback);
|
||||
static void SetUpUseItemAnim_Normal(struct PokemonSpecialAnim * ptr);
|
||||
static void SetUpUseItemAnim_ForgetMoveAndLearnTMorHM(struct PokemonSpecialAnim * ptr);
|
||||
static void SetUpUseItemAnim_CantEvolve(struct PokemonSpecialAnim * ptr);
|
||||
|
|
@ -33,18 +33,18 @@ static void Task_UseTM_NoForget(u8 taskId);
|
|||
static void Task_MachineSet(u8 taskId);
|
||||
static void Task_CleanUp(u8 taskId);
|
||||
static u8 GetClosenessFromFriendship(u16 friendship);
|
||||
static u16 GetAnimTypeByItemId(u16 itemId);
|
||||
static u16 GetAnimTypeByItemId(enum Item itemId);
|
||||
|
||||
void StartUseItemAnim_Normal(u8 slotId, u16 itemId, MainCallback callback)
|
||||
void StartUseItemAnim_Normal(u8 slotId, enum Item itemId, MainCallback callback)
|
||||
{
|
||||
struct PokemonSpecialAnim * ptr = AllocPSA(slotId, itemId, callback);
|
||||
struct PokemonSpecialAnim *ptr = AllocPSA(slotId, itemId, callback);
|
||||
if (ptr == NULL)
|
||||
SetMainCallback2(callback);
|
||||
else
|
||||
SetUpUseItemAnim_Normal(ptr);
|
||||
}
|
||||
|
||||
void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, u16 itemId, u16 moveId, MainCallback callback)
|
||||
void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, enum Item itemId, enum Move moveId, MainCallback callback)
|
||||
{
|
||||
struct PokemonSpecialAnim * ptr = AllocPSA(slotId, itemId, callback);
|
||||
if (ptr == NULL)
|
||||
|
|
@ -56,7 +56,7 @@ void StartUseItemAnim_ForgetMoveAndLearnTMorHM(u8 slotId, u16 itemId, u16 moveId
|
|||
}
|
||||
}
|
||||
|
||||
void StartUseItemAnim_CantEvolve(u8 slotId, u16 itemId, MainCallback callback)
|
||||
void StartUseItemAnim_CantEvolve(u8 slotId, enum Item itemId, MainCallback callback)
|
||||
{
|
||||
struct PokemonSpecialAnim * ptr = AllocPSA(slotId, itemId, callback);
|
||||
if (ptr == NULL)
|
||||
|
|
@ -65,14 +65,14 @@ void StartUseItemAnim_CantEvolve(u8 slotId, u16 itemId, MainCallback callback)
|
|||
SetUpUseItemAnim_CantEvolve(ptr);
|
||||
}
|
||||
|
||||
static struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback callback)
|
||||
static struct PokemonSpecialAnim *AllocPSA(u8 slotId, enum Item itemId, MainCallback callback)
|
||||
{
|
||||
struct PokemonSpecialAnim * ptr;
|
||||
struct Pokemon * pokemon;
|
||||
u16 moveId;
|
||||
struct PokemonSpecialAnim *ptr;
|
||||
struct Pokemon *pokemon;
|
||||
|
||||
if (!gMain.inBattle)
|
||||
ResetTasks();
|
||||
|
||||
ResetSpriteData();
|
||||
FreeAllSpritePalettes();
|
||||
ptr = Alloc(sizeof(struct PokemonSpecialAnim));
|
||||
|
|
@ -95,7 +95,7 @@ static struct PokemonSpecialAnim * AllocPSA(u8 slotId, u16 itemId, MainCallback
|
|||
GetMonData(pokemon, MON_DATA_NICKNAME, ptr->nickname);
|
||||
if (ptr->animType == PSA_ITEM_ANIM_TYPE_TMHM)
|
||||
{
|
||||
moveId = ItemIdToBattleMoveId(itemId);
|
||||
enum Move moveId = ItemIdToBattleMoveId(itemId);
|
||||
StringCopy(ptr->nameOfMoveToTeach, GetMoveName(moveId));
|
||||
}
|
||||
return ptr;
|
||||
|
|
@ -606,14 +606,14 @@ static void Task_CleanUp(u8 taskId)
|
|||
}
|
||||
|
||||
static const struct {
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
u16 animType;
|
||||
} sItemAnimMap[2] = {
|
||||
{ITEM_RARE_CANDY, PSA_ITEM_ANIM_TYPE_DEFAULT},
|
||||
{ITEM_POTION, PSA_ITEM_ANIM_TYPE_POTION}
|
||||
};
|
||||
|
||||
static u16 GetAnimTypeByItemId(u16 itemId)
|
||||
static u16 GetAnimTypeByItemId(enum Item itemId)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -659,7 +659,7 @@ struct PokemonSpecialAnimScene * PSA_GetSceneWork(void)
|
|||
return &GetPSAStruct()->sceneResources;
|
||||
}
|
||||
|
||||
u16 PSA_GetItemId(void)
|
||||
enum Item PSA_GetItemId(void)
|
||||
{
|
||||
return GetPSAStruct()->itemId;
|
||||
}
|
||||
|
|
@ -689,7 +689,7 @@ u8 PSA_GetAnimType(void)
|
|||
return GetPSAStruct()->animType;
|
||||
}
|
||||
|
||||
u16 PSA_GetMonSpecies(void)
|
||||
enum Species PSA_GetMonSpecies(void)
|
||||
{
|
||||
return GetPSAStruct()->species;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,8 +31,7 @@ static void StartMonWiggleAnim(struct PokemonSpecialAnimScene * scene, u8 frameL
|
|||
static void StopMonWiggleAnim(struct PokemonSpecialAnimScene * scene);
|
||||
static void SpriteCallback_MonSpriteWiggle(struct Sprite *sprite);
|
||||
static void LoadMonSpriteGraphics(u16 *tilees, const u16 *palette);
|
||||
static struct Sprite *PSA_CreateItemIconObject(u16 itemId);
|
||||
static u16 GetBlendColorByItemId(u16 itemId);
|
||||
static struct Sprite *PSA_CreateItemIconObject(enum Item itemId);
|
||||
static void Task_ItemUseOnMonAnim(u8 taskId);
|
||||
static void CreateSprites_UseItem_OutwardSpiralDots(u8 taskId, s16 *data, struct Sprite *sprite);
|
||||
static void SpriteCB_OutwardSpiralDots(struct Sprite *sprite);
|
||||
|
|
@ -391,7 +390,7 @@ void PSA_HideMessageWindow(void)
|
|||
void PSA_PrintMessage(u8 messageId)
|
||||
{
|
||||
struct PokemonSpecialAnimScene * scene = PSA_GetSceneWork();
|
||||
u16 itemId = PSA_GetItemId();
|
||||
enum Item itemId = PSA_GetItemId();
|
||||
u16 strWidth = 0;
|
||||
u8 textSpeed = GetPlayerTextSpeedDelay();
|
||||
struct Pokemon * pokemon = PSA_GetPokemon();
|
||||
|
|
@ -652,7 +651,7 @@ void PSA_CreateMonSpriteAtCloseness(u8 closeness)
|
|||
{
|
||||
struct PokemonSpecialAnimScene * scene = PSA_GetSceneWork();
|
||||
struct Pokemon * pokemon = PSA_GetPokemon();
|
||||
u16 species = GetMonData(pokemon, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(pokemon, MON_DATA_SPECIES);
|
||||
u32 personality = GetMonData(pokemon, MON_DATA_PERSONALITY);
|
||||
u8 yOffset = Menu2_GetMonPosAttribute(species, personality, PSA_MON_ATTR_Y_OFFSET);
|
||||
void *monPicBuffer;
|
||||
|
|
@ -872,7 +871,7 @@ static void LoadMonSpriteGraphics(u16 *tiles, const u16 *palette)
|
|||
#define tTimerReset data[10]
|
||||
#define tSuppressDots data[11]
|
||||
|
||||
void PSA_SetUpItemUseOnMonAnim(u16 itemId, u8 closeness, bool32 a2)
|
||||
void PSA_SetUpItemUseOnMonAnim(enum Item itemId, u8 closeness, bool32 a2)
|
||||
{
|
||||
struct PokemonSpecialAnimScene * scene = PSA_GetSceneWork();
|
||||
u8 taskId;
|
||||
|
|
@ -887,18 +886,13 @@ void PSA_SetUpItemUseOnMonAnim(u16 itemId, u8 closeness, bool32 a2)
|
|||
gTasks[taskId].tCloseness = closeness;
|
||||
gTasks[taskId].tYpos = GetYPosByScale(sAffineScales[closeness]);
|
||||
gTasks[taskId].tData6 = a2;
|
||||
gTasks[taskId].tBlendColor = GetBlendColorByItemId(itemId);
|
||||
gTasks[taskId].tBlendColor = RGB_WHITE;
|
||||
}
|
||||
}
|
||||
|
||||
static u16 GetBlendColorByItemId(u16 itemId)
|
||||
void CreateItemIconSpriteAtMaxCloseness(enum Item itemId)
|
||||
{
|
||||
return RGB_WHITE;
|
||||
}
|
||||
|
||||
void CreateItemIconSpriteAtMaxCloseness(u16 itemId)
|
||||
{
|
||||
struct PokemonSpecialAnimScene * scene = PSA_GetSceneWork();
|
||||
struct PokemonSpecialAnimScene *scene = PSA_GetSceneWork();
|
||||
scene->itemIconSprite = PSA_CreateItemIconObject(itemId);
|
||||
if (scene->itemIconSprite != NULL)
|
||||
{
|
||||
|
|
@ -907,7 +901,7 @@ void CreateItemIconSpriteAtMaxCloseness(u16 itemId)
|
|||
}
|
||||
}
|
||||
|
||||
static struct Sprite *PSA_CreateItemIconObject(u16 itemId)
|
||||
static struct Sprite *PSA_CreateItemIconObject(enum Item itemId)
|
||||
{
|
||||
u8 spriteId;
|
||||
spriteId = AddItemIconSprite(1, 1, itemId);
|
||||
|
|
@ -1043,8 +1037,10 @@ void PSA_UseItem_CleanUpForCancel(void)
|
|||
|
||||
static void InitItemIconSpriteState(struct PokemonSpecialAnimScene * scene, struct Sprite *sprite, u8 closeness)
|
||||
{
|
||||
u16 species, x, y;
|
||||
enum Species species;
|
||||
u16 x, y;
|
||||
u32 personality;
|
||||
|
||||
if (closeness == 3)
|
||||
{
|
||||
sprite->x = 120;
|
||||
|
|
@ -1185,8 +1181,9 @@ static void CreateStarSprites(struct PokemonSpecialAnimScene * scene)
|
|||
{
|
||||
int i;
|
||||
u8 spriteId;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 personality;
|
||||
|
||||
LoadCompressedSpriteSheet(&sSpriteSheet_Star);
|
||||
LoadSpritePalette(&sSpritePalette_Star);
|
||||
scene->field_0002 = 0;
|
||||
|
|
|
|||
|
|
@ -520,7 +520,7 @@ static void PrintInstructionsOnWindow(struct PokemonSpriteVisualizer *data)
|
|||
{
|
||||
u8 fontId = FONT_SMALL;
|
||||
u8 x = 2;
|
||||
u16 species = data->modifyArrows.currValue;
|
||||
enum Species species = data->modifyArrows.currValue;
|
||||
|
||||
u8 textBottom[] = _("BACK:\nFRONT:\nBG:$");
|
||||
u8 textBottomForms[] = _("BACK:\nFRONT:\nBG:\nFORMS:$");
|
||||
|
|
@ -576,7 +576,7 @@ static void SetStructPtr(u8 taskId, void *ptr)
|
|||
static void PrintDigitChars(struct PokemonSpriteVisualizer *data)
|
||||
{
|
||||
s32 i;
|
||||
u16 species = data->modifyArrows.currValue;
|
||||
enum Species species = data->modifyArrows.currValue;
|
||||
u8 text[MODIFY_DIGITS_MAX + POKEMON_NAME_LENGTH + 8];
|
||||
|
||||
for (i = 0; i < data->modifyArrows.maxDigits; i++)
|
||||
|
|
@ -783,7 +783,7 @@ static void UpdateBattlerValue(struct PokemonSpriteVisualizer *data)
|
|||
}
|
||||
}
|
||||
|
||||
static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bool8 isShiny, enum BattlerId battler)
|
||||
static void BattleLoadOpponentMonSpriteGfxCustom(enum Species species, bool8 isFemale, bool8 isShiny, enum BattlerId battler)
|
||||
{
|
||||
const u16 *palette = GetMonSpritePalFromSpecies(species, isShiny, isFemale);
|
||||
u16 paletteOffset = OBJ_PLTT_ID(battler);
|
||||
|
|
@ -794,7 +794,7 @@ static void BattleLoadOpponentMonSpriteGfxCustom(u16 species, bool8 isFemale, bo
|
|||
|
||||
static void SetConstSpriteValues(struct PokemonSpriteVisualizer *data)
|
||||
{
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
data->constSpriteValues.frontPicCoords = gSpeciesInfo[species].frontPicYOffset;
|
||||
data->constSpriteValues.frontElevation = gSpeciesInfo[species].enemyMonElevation;
|
||||
data->constSpriteValues.backPicCoords = gSpeciesInfo[species].backPicYOffset;
|
||||
|
|
@ -811,7 +811,8 @@ static void ResetShadowSettings(struct PokemonSpriteVisualizer *data)
|
|||
{
|
||||
if (B_ENEMY_MON_SHADOW_STYLE <= GEN_3 || P_GBA_STYLE_SPECIES_GFX == TRUE)
|
||||
return;
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
data->shadowSettings.definedX = gSpeciesInfo[species].enemyShadowXOffset;
|
||||
data->shadowSettings.definedY = gSpeciesInfo[species].enemyShadowYOffset;
|
||||
data->shadowSettings.definedSize = gSpeciesInfo[species].enemyShadowSize;
|
||||
|
|
@ -821,7 +822,7 @@ static void ResetShadowSettings(struct PokemonSpriteVisualizer *data)
|
|||
data->shadowSettings.overrideSize = data->shadowSettings.definedSize;
|
||||
}
|
||||
|
||||
static u8 GetBattlerSpriteFinal_YCustom(u16 species, s8 offset_picCoords, s8 offset_elevation)
|
||||
static u8 GetBattlerSpriteFinal_YCustom(enum Species species, s8 offset_picCoords, s8 offset_elevation)
|
||||
{
|
||||
u16 offset;
|
||||
u8 y;
|
||||
|
|
@ -911,7 +912,7 @@ static void SpriteCB_Follower(struct Sprite *sprite)
|
|||
static void LoadAndCreateEnemyShadowSpriteCustom(struct PokemonSpriteVisualizer *data)
|
||||
{
|
||||
bool8 invisible = FALSE;
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
|
||||
if (B_ENEMY_MON_SHADOW_STYLE >= GEN_4 && P_GBA_STYLE_SPECIES_GFX == FALSE)
|
||||
{
|
||||
|
|
@ -1041,7 +1042,7 @@ static void DrawFollowerSprite(struct PokemonSpriteVisualizer *data)
|
|||
if (!OW_POKEMON_OBJECT_EVENTS)
|
||||
return;
|
||||
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
u16 graphicsId = species + OBJ_EVENT_MON;
|
||||
if (data->isShiny)
|
||||
graphicsId += OBJ_EVENT_MON_SHINY;
|
||||
|
|
@ -1212,7 +1213,7 @@ void CB2_Pokemon_Sprite_Visualizer(void)
|
|||
u8 taskId;
|
||||
const u16 *palette;
|
||||
struct PokemonSpriteVisualizer *data;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
s16 offset_y;
|
||||
u8 front_x = sBattlerCoords[0][1].x;
|
||||
u8 front_y;
|
||||
|
|
@ -1387,7 +1388,7 @@ static void ResetBGs_PokemonSpriteVisualizer(u16 a)
|
|||
|
||||
static void ApplyOffsetSpriteValues(struct PokemonSpriteVisualizer *data)
|
||||
{
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
//Back
|
||||
gSprites[data->backspriteId].y = VISUALIZER_MON_BACK_Y + gSpeciesInfo[species].backPicYOffset + data->offsetsSpriteValues.offset_back_picCoords;
|
||||
//Front
|
||||
|
|
@ -1400,7 +1401,7 @@ static void ApplyOffsetSpriteValues(struct PokemonSpriteVisualizer *data)
|
|||
static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment)
|
||||
{
|
||||
struct PokemonSpriteVisualizer *data = GetStructPtr(taskId);
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
u8 option = data->submenuYpos[1];
|
||||
|
||||
switch (option)
|
||||
|
|
@ -1485,7 +1486,7 @@ static void UpdateSubmenuOneOptionValue(u8 taskId, bool8 increment)
|
|||
static void UpdateSubmenuTwoOptionValue(u8 taskId, bool8 increment)
|
||||
{
|
||||
struct PokemonSpriteVisualizer *data = GetStructPtr(taskId);
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
u8 option = data->submenuYpos[2];
|
||||
s8 offset;
|
||||
u8 y;
|
||||
|
|
@ -1705,7 +1706,7 @@ static void OpenSubmenu(u32 submenu, u8 taskId)
|
|||
static void HandleInput_PokemonSpriteVisualizer(u8 taskId)
|
||||
{
|
||||
struct PokemonSpriteVisualizer *data = GetStructPtr(taskId);
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
struct Sprite *Frontsprite = &gSprites[data->frontspriteId];
|
||||
struct Sprite *Backsprite = &gSprites[data->backspriteId];
|
||||
|
||||
|
|
@ -1989,7 +1990,7 @@ static void HandleInput_PokemonSpriteVisualizer(u8 taskId)
|
|||
static void ReloadPokemonSprites(struct PokemonSpriteVisualizer *data)
|
||||
{
|
||||
const u16 *palette;
|
||||
u16 species = SanitizeSpeciesId(data->currentmonId);
|
||||
enum Species species = SanitizeSpeciesId(data->currentmonId);
|
||||
s16 offset_y;
|
||||
u8 front_x = sBattlerCoords[0][1].x;
|
||||
u8 front_y;
|
||||
|
|
|
|||
|
|
@ -498,7 +498,7 @@ struct PokemonStorageSystemData
|
|||
const u16 *displayMonPalette;
|
||||
u32 displayMonPersonality;
|
||||
u16 displayMonSpecies;
|
||||
u16 displayMonItemId;
|
||||
enum Item displayMonItemId;
|
||||
u16 displayUnusedVar;
|
||||
bool8 setMosaic;
|
||||
u8 displayMonMarkings;
|
||||
|
|
@ -544,7 +544,7 @@ struct PokemonStorageSystemData
|
|||
u8 inBoxMovingMode;
|
||||
u16 multiMoveWindowId;
|
||||
struct PokeStorageItemIcon itemIcons[MAX_ITEM_ICONS];
|
||||
u16 movingItemId;
|
||||
enum Item movingItemId;
|
||||
u16 itemInfoWindowOffset;
|
||||
struct QuestLogEvent_MovedBoxMon questLogData;
|
||||
u16 unusedField2;
|
||||
|
|
@ -636,7 +636,7 @@ static void StartDisplayMonMosaic(void);
|
|||
static void SpriteCB_DisplayMonMosaic(struct Sprite *sprite);
|
||||
static bool8 IsDisplayMonMosaicActive(void);
|
||||
static void CreateDisplayMonSprite(void);
|
||||
static void LoadDisplayMonGfx(u16 species, u32 personality);
|
||||
static void LoadDisplayMonGfx(enum Species species, u32 personality);
|
||||
static void PrintDisplayMonInfo(void);
|
||||
static void UpdateWaveformAnimation(void);
|
||||
static void InitSupplementalTilemaps(void);
|
||||
|
|
@ -703,7 +703,7 @@ static void DestroyAllPartyMonIcons(void);
|
|||
static void DoReleaseMonComeBackAnim(void);
|
||||
static bool8 ResetReleaseMonSpritePtr(void);
|
||||
static void SetMovingMonPriority(u8 priority);
|
||||
static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority);
|
||||
static struct Sprite *CreateMonIconSprite(enum Species species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority);
|
||||
|
||||
// Pokémon data
|
||||
static bool8 TryStorePartyMonInBox(u8 boxId);
|
||||
|
|
@ -776,7 +776,7 @@ static bool8 UpdateItemInfoWindowSlideIn(void);
|
|||
static bool8 UpdateItemInfoWindowSlideOut(void);
|
||||
static void InitItemInfoWindow(void);
|
||||
static void PrintItemDescription(void);
|
||||
static u16 GetMovingItem(void);
|
||||
static enum Item GetMovingItem(void);
|
||||
static bool8 IsActiveItemMoving(void);
|
||||
static bool8 IsItemIconAnimActive(void);
|
||||
static void MoveHeldItemWithPartyMenu(void);
|
||||
|
|
@ -785,7 +785,7 @@ static void MoveItemFromCursorToBag(void);
|
|||
static void Item_TakeMons(u8 cursorArea, u8 cursorPos);
|
||||
static void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos);
|
||||
static void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos);
|
||||
static void InitItemIconInCursor(u16 item);
|
||||
static void InitItemIconInCursor(enum Item item);
|
||||
static void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos);
|
||||
static void TryHideItemIconAtPos(u8 cursorArea, u8 cursorPos);
|
||||
static void TryLoadItemIconAtPos(u8 cursorArea, u8 cursorPos);
|
||||
|
|
@ -2382,7 +2382,7 @@ static void Task_OnSelectedMon(u8 taskId)
|
|||
PlaySE(SE_SELECT);
|
||||
if (gStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
PrintStorageMessage(MSG_IS_SELECTED);
|
||||
else if (IsActiveItemMoving() || gStorage->displayMonItemId != 0)
|
||||
else if (IsActiveItemMoving() || gStorage->displayMonItemId != ITEM_NONE)
|
||||
PrintStorageMessage(MSG_IS_SELECTED2);
|
||||
else
|
||||
PrintStorageMessage(MSG_GIVE_TO_MON);
|
||||
|
|
@ -3571,7 +3571,7 @@ static void Task_ChangeScreen(u8 taskId)
|
|||
|
||||
static void GiveChosenBagItem(void)
|
||||
{
|
||||
u16 item = gSpecialVar_ItemId;
|
||||
enum Item item = gSpecialVar_ItemId;
|
||||
|
||||
if (item != ITEM_NONE)
|
||||
{
|
||||
|
|
@ -3751,7 +3751,7 @@ static void CreateDisplayMonSprite(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void LoadDisplayMonGfx(u16 species, u32 personality)
|
||||
static void LoadDisplayMonGfx(enum Species species, u32 personality)
|
||||
{
|
||||
if (gStorage->displayMonSprite == NULL)
|
||||
return;
|
||||
|
|
@ -4277,7 +4277,7 @@ static u8 GetMonIconPriorityByCursorArea(void)
|
|||
void CreateMovingMonIcon(void)
|
||||
{
|
||||
u32 personality = GetMonData(&gStorage->movingMon, MON_DATA_PERSONALITY);
|
||||
u16 species = GetMonData(&gStorage->movingMon, MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetMonData(&gStorage->movingMon, MON_DATA_SPECIES_OR_EGG);
|
||||
u8 priority = GetMonIconPriorityByCursorArea();
|
||||
|
||||
gStorage->movingMonSprite = CreateMonIconSprite(species, personality, 0, 0, priority, 7);
|
||||
|
|
@ -4299,7 +4299,7 @@ static void InitBoxMonSprites(u8 boxId)
|
|||
{
|
||||
u8 boxPosition;
|
||||
u16 i, j, count;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 personality;
|
||||
|
||||
count = 0;
|
||||
|
|
@ -4337,7 +4337,7 @@ static void InitBoxMonSprites(u8 boxId)
|
|||
|
||||
void CreateBoxMonIconAtPos(u8 boxPosition)
|
||||
{
|
||||
u16 species = GetCurrentBoxMonData(boxPosition, MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetCurrentBoxMonData(boxPosition, MON_DATA_SPECIES_OR_EGG);
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
|
|
@ -4590,7 +4590,7 @@ void SetBoxMonIconObjMode(u8 boxPosition, u8 objMode)
|
|||
static void CreatePartyMonsSprites(bool8 visible)
|
||||
{
|
||||
u16 i, count;
|
||||
u16 species = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetMonData(&gPlayerParty[0], MON_DATA_SPECIES_OR_EGG);
|
||||
u32 personality = GetMonData(&gPlayerParty[0], MON_DATA_PERSONALITY);
|
||||
|
||||
gStorage->partySprites[0] = CreateMonIconSprite(species, personality, 104, 64, 1, 12);
|
||||
|
|
@ -4940,7 +4940,7 @@ static void SpriteCB_HeldMon(struct Sprite *sprite)
|
|||
sprite->y = gStorage->cursorSprite->y + gStorage->cursorSprite->y2 + 4;
|
||||
}
|
||||
|
||||
static u16 TryLoadMonIconTiles(u16 species, u32 personality)
|
||||
static u16 TryLoadMonIconTiles(enum Species species, u32 personality)
|
||||
{
|
||||
u16 i, offset;
|
||||
|
||||
|
|
@ -4978,7 +4978,7 @@ static u16 TryLoadMonIconTiles(u16 species, u32 personality)
|
|||
return offset;
|
||||
}
|
||||
|
||||
static void RemoveSpeciesFromIconList(u16 species)
|
||||
static void RemoveSpeciesFromIconList(enum Species species)
|
||||
{
|
||||
u16 i;
|
||||
bool8 hasFemale = FALSE;
|
||||
|
|
@ -5003,7 +5003,7 @@ static void RemoveSpeciesFromIconList(u16 species)
|
|||
}
|
||||
}
|
||||
|
||||
static struct Sprite *CreateMonIconSprite(u16 species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority)
|
||||
static struct Sprite *CreateMonIconSprite(enum Species species, u32 personality, s16 x, s16 y, u8 oamPriority, u8 subpriority)
|
||||
{
|
||||
u16 tileNum;
|
||||
u8 spriteId;
|
||||
|
|
@ -5654,7 +5654,7 @@ static void GetCursorCoordsByPos(u8 cursorArea, u8 cursorPosition, u16 *x, u16 *
|
|||
}
|
||||
}
|
||||
|
||||
static u16 GetSpeciesAtCursorPosition(void)
|
||||
static enum Species GetSpeciesAtCursorPosition(void)
|
||||
{
|
||||
switch (sCursorArea)
|
||||
{
|
||||
|
|
@ -6245,7 +6245,7 @@ static bool8 TryHideReleaseMon(void)
|
|||
static void ReleaseMon(void)
|
||||
{
|
||||
u8 boxId;
|
||||
u16 item = ITEM_NONE;
|
||||
enum Item item = ITEM_NONE;
|
||||
|
||||
DestroyReleaseMonIcon();
|
||||
if (sIsMonBeingMoved)
|
||||
|
|
@ -6448,7 +6448,7 @@ s16 CompactPartySlots(void)
|
|||
|
||||
for (i = 0, last = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES);
|
||||
enum Species species = GetMonData(gPlayerParty + i, MON_DATA_SPECIES);
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
if (i != last)
|
||||
|
|
@ -7301,7 +7301,7 @@ static bool8 SetSelectionMenuTexts(void)
|
|||
|
||||
static bool8 SetMenuTextsForMon(void)
|
||||
{
|
||||
u16 species = GetSpeciesAtCursorPosition();
|
||||
enum Species species = GetSpeciesAtCursorPosition();
|
||||
|
||||
switch (gStorage->boxOption)
|
||||
{
|
||||
|
|
@ -8105,7 +8105,7 @@ static void MultiMove_DeselectRow(u8 row, u8 minColumn, u8 maxColumn)
|
|||
static void MultiMove_SetIconToBg(u8 x, u8 y)
|
||||
{
|
||||
u8 position = x + (IN_BOX_COLUMNS * y);
|
||||
u16 species = GetCurrentBoxMonData(position, MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetCurrentBoxMonData(position, MON_DATA_SPECIES_OR_EGG);
|
||||
u32 personality = GetCurrentBoxMonData(position, MON_DATA_PERSONALITY);
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
|
|
@ -8119,7 +8119,7 @@ static void MultiMove_SetIconToBg(u8 x, u8 y)
|
|||
static void MultiMove_ClearIconFromBg(u8 x, u8 y)
|
||||
{
|
||||
u8 position = x + (IN_BOX_COLUMNS * y);
|
||||
u16 species = GetCurrentBoxMonData(position, MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetCurrentBoxMonData(position, MON_DATA_SPECIES_OR_EGG);
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
FillWindowPixelRect8Bit(gStorage->multiMoveWindowId, PIXEL_FILL(0), 24 * x, 24 * y, 32, 32);
|
||||
|
|
@ -8450,7 +8450,7 @@ static void TryHideItemIconAtPos(u8 cursorArea, u8 cursorPos)
|
|||
static void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos)
|
||||
{
|
||||
u8 id;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
if (gStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
return;
|
||||
|
|
@ -8474,7 +8474,7 @@ static void Item_FromMonToMoving(u8 cursorArea, u8 cursorPos)
|
|||
gStorage->movingItemId = gStorage->displayMonItemId;
|
||||
}
|
||||
|
||||
static void InitItemIconInCursor(u16 item)
|
||||
static void InitItemIconInCursor(enum Item item)
|
||||
{
|
||||
const u32 *tiles = GetItemIconPic(item);
|
||||
const u16 *pal = GetItemIconPalette(item);
|
||||
|
|
@ -8491,7 +8491,7 @@ static void InitItemIconInCursor(u16 item)
|
|||
static void Item_SwitchMonsWithMoving(u8 cursorArea, u8 cursorPos)
|
||||
{
|
||||
u8 id;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
if (gStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
return;
|
||||
|
|
@ -8542,7 +8542,7 @@ static void Item_GiveMovingToMon(u8 cursorArea, u8 cursorPos)
|
|||
static void Item_TakeMons(u8 cursorArea, u8 cursorPos)
|
||||
{
|
||||
u8 id;
|
||||
u16 item;
|
||||
enum Item item;
|
||||
|
||||
if (gStorage->boxOption != OPTION_MOVE_ITEMS)
|
||||
return;
|
||||
|
|
@ -8629,7 +8629,7 @@ static const u8 *GetMovingItemName(void)
|
|||
return GetItemName(gStorage->movingItemId);
|
||||
}
|
||||
|
||||
static u16 GetMovingItem(void)
|
||||
static enum Item GetMovingItem(void)
|
||||
{
|
||||
return gStorage->movingItemId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,8 +103,8 @@ static void BufferMonSkills(void);
|
|||
static void BufferMonMoves(void);
|
||||
static u8 StatusToAilment(u32 status);
|
||||
static void BufferMonMoveI(u8);
|
||||
static u16 GetMonMoveBySlotId(struct Pokemon * mon, u8 moveSlot);
|
||||
static u16 GetMonPpByMoveSlot(struct Pokemon * mon, u8 moveSlot);
|
||||
static enum Move GetMonMoveBySlotId(struct Pokemon *mon, u8 moveSlot);
|
||||
static u16 GetMonPpByMoveSlot(struct Pokemon *mon, u8 moveSlot);
|
||||
static void CreateShinyStarObj(u16, u16);
|
||||
static void CreatePokerusIconObj(u16, u16);
|
||||
static void PokeSum_CreateMonMarkingsSprite(void);
|
||||
|
|
@ -223,8 +223,8 @@ struct PokemonSummaryScreenData
|
|||
u8 ALIGNED(4) unk3248; /* 0x3248 */
|
||||
s16 ALIGNED(4) flipPagesBgHofs; /* 0x324C */
|
||||
|
||||
u16 moveTypes[MAX_MON_MOVES + 1]; /* 0x3250 */
|
||||
u16 moveIds[MAX_MON_MOVES + 1]; /* 0x325A */
|
||||
enum Type moveTypes[MAX_MON_MOVES + 1]; /* 0x3250 */
|
||||
enum Move moveIds[MAX_MON_MOVES + 1]; /* 0x325A */
|
||||
u8 ALIGNED(4) numMoves; /* 0x3264 */
|
||||
u8 ALIGNED(4) isSwappingMoves; /* 0x3268 */
|
||||
|
||||
|
|
@ -1301,10 +1301,10 @@ void ShowPokemonSummaryScreen(void *party, u8 cursorPos, u8 lastIdx, MainCallbac
|
|||
SetMainCallback2(CB2_SetUpPSS);
|
||||
}
|
||||
|
||||
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 cursorPos, MainCallback savedCallback, u16 move)
|
||||
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 cursorPos, MainCallback savedCallback, enum Move move)
|
||||
{
|
||||
ShowPokemonSummaryScreen(party, cursorPos, gPlayerPartyCount - 1, savedCallback, PSS_MODE_SELECT_MOVE);
|
||||
sMonSummaryScreen->moveIds[4] = move;
|
||||
sMonSummaryScreen->moveIds[MAX_MON_MOVES] = move;
|
||||
}
|
||||
|
||||
static u8 PageFlipInputIsDisabled(u8 direction)
|
||||
|
|
@ -2606,8 +2606,8 @@ static void BufferStat(u8 stat)
|
|||
static void BufferMonSkills(void)
|
||||
{
|
||||
u8 level;
|
||||
u16 type;
|
||||
u16 species;
|
||||
enum Ability ability;
|
||||
enum Species species;
|
||||
u32 exp;
|
||||
u32 expToNextLevel;
|
||||
|
||||
|
|
@ -2633,9 +2633,9 @@ static void BufferMonSkills(void)
|
|||
ConvertIntToDecimalStringN(sMonSummaryScreen->summary.expToNextLevelStrBuf, expToNextLevel, STR_CONV_MODE_LEFT_ALIGN, 7);
|
||||
sMonSkillsPrinterXpos->toNextLevel = GetNumberRightAlign63(sMonSummaryScreen->summary.expToNextLevelStrBuf);
|
||||
|
||||
type = GetAbilityBySpecies(GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_SPECIES), GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_ABILITY_NUM));
|
||||
StringCopy(sMonSummaryScreen->summary.abilityNameStrBuf, gAbilitiesInfo[type].name);
|
||||
StringCopy(sMonSummaryScreen->summary.abilityDescStrBuf, gAbilitiesInfo[type].description);
|
||||
ability = GetAbilityBySpecies(GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_SPECIES), GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_ABILITY_NUM));
|
||||
StringCopy(sMonSummaryScreen->summary.abilityNameStrBuf, gAbilitiesInfo[ability].name);
|
||||
StringCopy(sMonSummaryScreen->summary.abilityDescStrBuf, gAbilitiesInfo[ability].description);
|
||||
|
||||
sMonSummaryScreen->curMonStatusAilment = StatusToAilment(GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_STATUS));
|
||||
if (sMonSummaryScreen->curMonStatusAilment == AILMENT_NONE)
|
||||
|
|
@ -2661,7 +2661,7 @@ static void BufferMonMoveI(u8 i)
|
|||
if (i < MAX_MON_MOVES)
|
||||
sMonSummaryScreen->moveIds[i] = GetMonMoveBySlotId(&sMonSummaryScreen->currentMon, i);
|
||||
|
||||
if (sMonSummaryScreen->moveIds[i] == 0)
|
||||
if (sMonSummaryScreen->moveIds[i] == MOVE_NONE)
|
||||
{
|
||||
StringCopy(sMonSummaryScreen->summary.moveNameStrBufs[i], gText_PokeSum_OneHyphen);
|
||||
StringCopy(sMonSummaryScreen->summary.moveCurPpStrBufs[i], gText_PokeSum_TwoHyphens);
|
||||
|
|
@ -2676,7 +2676,7 @@ static void BufferMonMoveI(u8 i)
|
|||
sMonSummaryScreen->moveTypes[i] = gMovesInfo[sMonSummaryScreen->moveIds[i]].type;
|
||||
StringCopy(sMonSummaryScreen->summary.moveNameStrBufs[i], gMovesInfo[sMonSummaryScreen->moveIds[i]].name);
|
||||
|
||||
if (i >= 4 && sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
|
||||
if (i >= MAX_MON_MOVES && sMonSummaryScreen->mode == PSS_MODE_SELECT_MOVE)
|
||||
{
|
||||
ConvertIntToDecimalStringN(sMonSummaryScreen->summary.moveCurPpStrBufs[i],
|
||||
gMovesInfo[sMonSummaryScreen->moveIds[i]].pp, STR_CONV_MODE_LEFT_ALIGN, 3);
|
||||
|
|
@ -2981,7 +2981,7 @@ static void PokeSum_PrintMoveName(u8 i)
|
|||
{
|
||||
u8 colorIdx = 0;
|
||||
u8 curPP = GetMonPpByMoveSlot(&sMonSummaryScreen->currentMon, i);
|
||||
u16 move = sMonSummaryScreen->moveIds[i];
|
||||
enum Move move = sMonSummaryScreen->moveIds[i];
|
||||
u8 ppBonuses = GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_PP_BONUSES);
|
||||
u8 maxPP = CalculatePPWithBonus(move, ppBonuses, i);
|
||||
|
||||
|
|
@ -3899,9 +3899,9 @@ static void BufferSelectedMonData(struct Pokemon * mon)
|
|||
}
|
||||
}
|
||||
|
||||
static u16 GetMonMoveBySlotId(struct Pokemon * mon, u8 moveSlot)
|
||||
static enum Move GetMonMoveBySlotId(struct Pokemon * mon, u8 moveSlot)
|
||||
{
|
||||
u16 move;
|
||||
enum Move move;
|
||||
|
||||
switch (moveSlot)
|
||||
{
|
||||
|
|
@ -4244,9 +4244,7 @@ static void UpdateCurrentMonBufferFromPartyOrBox(struct Pokemon * mon)
|
|||
|
||||
static u8 PokeSum_CanForgetSelectedMove(void)
|
||||
{
|
||||
u16 move;
|
||||
|
||||
move = GetMonMoveBySlotId(&sMonSummaryScreen->currentMon, sMoveSelectionCursorPos);
|
||||
enum Move move = GetMonMoveBySlotId(&sMonSummaryScreen->currentMon, sMoveSelectionCursorPos);
|
||||
|
||||
if (CannotForgetMove(move) == TRUE && sMonSummaryScreen->mode != PSS_MODE_FORGET_MOVE)
|
||||
return FALSE;
|
||||
|
|
@ -4487,7 +4485,7 @@ static void SpriteCB_MonPicDummy(struct Sprite *sprite)
|
|||
static void PokeSum_CreateMonPicSprite(void)
|
||||
{
|
||||
u16 spriteId;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 personality;
|
||||
bool32 isShiny;
|
||||
|
||||
|
|
@ -4595,7 +4593,7 @@ static void DestroyBallIconObj(void)
|
|||
|
||||
static void PokeSum_CreateMonIconSprite(void)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
u32 personality;
|
||||
|
||||
species = GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_SPECIES_OR_EGG);
|
||||
|
|
@ -4620,8 +4618,7 @@ static void PokeSum_ShowOrHideMonIconSprite(bool8 invisible)
|
|||
|
||||
static void PokeSum_DestroyMonIconSprite(void)
|
||||
{
|
||||
u16 species;
|
||||
species = GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetMonData(&sMonSummaryScreen->currentMon, MON_DATA_SPECIES_OR_EGG);
|
||||
SafeFreeMonIconPalette(species);
|
||||
FreeAndDestroyMonIconSprite(&gSprites[sMonSummaryScreen->monIconSpriteId]);
|
||||
}
|
||||
|
|
@ -5050,7 +5047,7 @@ static void UpdateExpBarObjs(void)
|
|||
u32 exp;
|
||||
u32 totalExpToNextLevel;
|
||||
u32 curExpToNextLevel;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
s64 pointsPerTile;
|
||||
s64 totalPoints;
|
||||
u8 animNum;
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ static const u16 *LoadEvent_BoughtItem(const u16 *);
|
|||
static const u16 *LoadEvent_SoldItem(const u16 *);
|
||||
static const u16 *LoadEvent_ObtainedStoryItem(const u16 *);
|
||||
static const u16 *LoadEvent_ArrivedInLocation(const u16 *);
|
||||
static bool8 IsSpeciesFromSpecialEncounter(u16);
|
||||
static bool8 IsSpeciesFromSpecialEncounter(enum Species species);
|
||||
static bool8 ShouldRegisterEvent_HandleDeparted(u16, const u16 *);
|
||||
static bool8 ShouldRegisterEvent_DepartedGameCorner(u16, const u16 *);
|
||||
static void TranslateLinkPartnersName(u8 *);
|
||||
|
|
@ -998,7 +998,7 @@ static const u16 *LoadEvent(u16 eventId, const u16 *eventData)
|
|||
return eventData;
|
||||
}
|
||||
|
||||
static void QuestLog_GetSpeciesName(u16 species, u8 *dest, u8 stringVarId)
|
||||
static void QuestLog_GetSpeciesName(enum Species species, u8 *dest, u8 stringVarId)
|
||||
{
|
||||
if (dest != NULL)
|
||||
{
|
||||
|
|
@ -1824,7 +1824,7 @@ static const u16 *LoadEvent_DefeatedWildMon(const u16 *a0)
|
|||
return (const u16 *)(data + 4);
|
||||
}
|
||||
|
||||
static bool8 IsSpeciesFromSpecialEncounter(u16 species)
|
||||
static bool8 IsSpeciesFromSpecialEncounter(enum Species species)
|
||||
{
|
||||
switch (species)
|
||||
{
|
||||
|
|
@ -1837,8 +1837,9 @@ static bool8 IsSpeciesFromSpecialEncounter(u16 species)
|
|||
case SPECIES_HO_OH:
|
||||
case SPECIES_DEOXYS:
|
||||
return TRUE;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static u16 *RecordEvent_DefeatedEliteFourMember(u16 *dest, const struct QuestLogEvent_TrainerBattle * data)
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ void ReshowBattleScreenAfterMenu(void)
|
|||
static void CB2_ReshowBattleScreenAfterMenu(void)
|
||||
{
|
||||
u8 opponentBattler;
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
switch (gBattleScripting.reshowMainState)
|
||||
{
|
||||
|
|
|
|||
52
src/scrcmd.c
52
src/scrcmd.c
|
|
@ -608,7 +608,7 @@ bool8 ScrCmd_random(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_additem(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
|
@ -620,7 +620,7 @@ bool8 ScrCmd_additem(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_removeitem(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
|
@ -631,7 +631,7 @@ bool8 ScrCmd_removeitem(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_checkitemspace(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -642,7 +642,7 @@ bool8 ScrCmd_checkitemspace(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_checkitem(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u32 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -653,7 +653,7 @@ bool8 ScrCmd_checkitem(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_checkitemtype(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -663,7 +663,7 @@ bool8 ScrCmd_checkitemtype(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_addpcitem(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
|
@ -674,7 +674,7 @@ bool8 ScrCmd_addpcitem(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_checkpcitem(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -2039,7 +2039,7 @@ bool8 ScrCmd_drawboxtext(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_showmonpic(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Species species = VarGet(ScriptReadHalfword(ctx));
|
||||
u8 x = ScriptReadByte(ctx);
|
||||
u8 y = ScriptReadByte(ctx);
|
||||
|
||||
|
|
@ -2121,7 +2121,7 @@ u8 *const sScriptStringVars[] =
|
|||
bool8 ScrCmd_bufferspeciesname(struct ScriptContext * ctx)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Species species = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -2167,7 +2167,7 @@ bool8 ScrCmd_bufferpartymonnick(struct ScriptContext * ctx)
|
|||
bool8 ScrCmd_bufferitemname(struct ScriptContext * ctx)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -2181,7 +2181,7 @@ static const u8 sText_IES[] = _("IES");
|
|||
bool8 ScrCmd_bufferitemnameplural(struct ScriptContext * ctx)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Item itemId = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 quantity = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -2216,7 +2216,7 @@ bool8 ScrCmd_bufferdecorationname(struct ScriptContext * ctx)
|
|||
bool8 ScrCmd_buffermovename(struct ScriptContext * ctx)
|
||||
{
|
||||
u8 stringVarIndex = ScriptReadByte(ctx);
|
||||
u16 moveId = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Move moveId = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -2294,7 +2294,7 @@ bool8 ScrCmd_bufferboxname(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_giveegg(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Species species = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
||||
|
|
@ -2306,7 +2306,7 @@ bool8 ScrCmd_setmonmove(struct ScriptContext * ctx)
|
|||
{
|
||||
u8 partyIndex = ScriptReadByte(ctx);
|
||||
u8 slot = ScriptReadByte(ctx);
|
||||
u16 move = ScriptReadHalfword(ctx);
|
||||
enum Move move = ScriptReadHalfword(ctx);
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_SAVE);
|
||||
|
||||
|
|
@ -2316,18 +2316,17 @@ bool8 ScrCmd_setmonmove(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_checkpartymove(struct ScriptContext *ctx)
|
||||
{
|
||||
u8 i;
|
||||
u16 moveId = ScriptReadHalfword(ctx);
|
||||
enum Move moveId = ScriptReadHalfword(ctx);
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
gSpecialVar_Result = PARTY_SIZE;
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
for (u32 i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES, NULL);
|
||||
enum Species species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES);
|
||||
if (!species)
|
||||
break;
|
||||
if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId) == TRUE)
|
||||
if (!GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) && MonKnowsMove(&gPlayerParty[i], moveId))
|
||||
{
|
||||
gSpecialVar_Result = i;
|
||||
gSpecialVar_0x8004 = species;
|
||||
|
|
@ -2341,7 +2340,7 @@ bool8 ScrCmd_checkfieldmoveusable(struct ScriptContext* ctx)
|
|||
{
|
||||
u32 partyIndex;
|
||||
enum FieldMove fieldMove = ScriptReadHalfword(ctx);
|
||||
u16 moveId = gFieldMovesInfo[fieldMove].moveId;
|
||||
enum Move moveId = gFieldMovesInfo[fieldMove].moveId;
|
||||
gSpecialVar_Result = FALSE;
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
|
@ -2361,7 +2360,8 @@ bool8 ScrCmd_checkfieldmoveusable(struct ScriptContext* ctx)
|
|||
}
|
||||
else if (OW_FIELD_MOVES_WITHOUT_HMS)
|
||||
{
|
||||
u16 species = FieldMove_GetDefaultSpecies(fieldMove);
|
||||
enum Species species = FieldMove_GetDefaultSpecies(fieldMove);
|
||||
|
||||
gFieldEffectArguments[0] = species | SHOW_MON_NOT_IN_PARTY;
|
||||
gSpecialVar_0x8004 = species;
|
||||
gSpecialVar_Result = TRUE;
|
||||
|
|
@ -2550,12 +2550,12 @@ bool8 ScrCmd_cleartrainerflag(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_setwildbattle(struct ScriptContext *ctx)
|
||||
{
|
||||
u16 species = ScriptReadHalfword(ctx);
|
||||
enum Species species = ScriptReadHalfword(ctx);
|
||||
u8 level = ScriptReadByte(ctx);
|
||||
u16 item = ScriptReadHalfword(ctx);
|
||||
u16 species2 = ScriptReadHalfword(ctx);
|
||||
enum Item item = ScriptReadHalfword(ctx);
|
||||
enum Species species2 = ScriptReadHalfword(ctx);
|
||||
u8 level2 = ScriptReadByte(ctx);
|
||||
u16 item2 = ScriptReadHalfword(ctx);
|
||||
enum Item item2 = ScriptReadHalfword(ctx);
|
||||
|
||||
Script_RequestEffects(SCREFF_V1);
|
||||
|
||||
|
|
@ -2757,7 +2757,7 @@ bool8 ScrCmd_checkplayergender(struct ScriptContext * ctx)
|
|||
|
||||
bool8 ScrCmd_playmoncry(struct ScriptContext * ctx)
|
||||
{
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Species species = VarGet(ScriptReadHalfword(ctx));
|
||||
u16 mode = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
Script_RequestEffects(SCREFF_V1 | SCREFF_HARDWARE);
|
||||
|
|
|
|||
|
|
@ -1488,7 +1488,7 @@ static void Task_PokemonPicWindow(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
bool8 ScriptMenu_ShowPokemonPic(u16 species, u8 x, u8 y)
|
||||
bool8 ScriptMenu_ShowPokemonPic(enum Species species, u8 x, u8 y)
|
||||
{
|
||||
u8 spriteId;
|
||||
u8 taskId;
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ void SetTeraType(struct ScriptContext *ctx)
|
|||
* if side/slot are assigned, it will create the mon at the assigned party location
|
||||
* if slot == PARTY_SIZE, it will give the mon to first available party or storage slot
|
||||
*/
|
||||
static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, enum Item item, enum PokeBall ball, u8 nature, u8 abilityNum, u8 gender, u16 *evs, u16 *ivs, enum Move *moves, enum ShinyMode shinyMode, bool8 gmaxFactor, enum Type teraType, u8 dmaxLevel)
|
||||
static u32 ScriptGiveMonParameterized(u8 side, u8 slot, enum Species species, u8 level, enum Item item, enum PokeBall ball, u8 nature, u8 abilityNum, u8 gender, u16 *evs, u16 *ivs, enum Move *moves, enum ShinyMode shinyMode, bool8 gmaxFactor, enum Type teraType, u8 dmaxLevel)
|
||||
{
|
||||
struct Pokemon mon;
|
||||
u32 i;
|
||||
|
|
@ -266,7 +266,7 @@ static u32 ScriptGiveMonParameterized(u8 side, u8 slot, u16 species, u8 level, e
|
|||
return MON_GIVEN_TO_PARTY;
|
||||
}
|
||||
|
||||
u32 ScriptGiveMon(u16 species, u8 level, enum Item item)
|
||||
u32 ScriptGiveMon(enum Species species, u8 level, enum Item item)
|
||||
{
|
||||
struct Pokemon mon;
|
||||
u8 heldItem[2];
|
||||
|
|
@ -306,7 +306,7 @@ void ScrCmd_createmon(struct ScriptContext *ctx)
|
|||
{
|
||||
u8 side = ScriptReadByte(ctx);
|
||||
u8 slot = ScriptReadByte(ctx);
|
||||
u16 species = VarGet(ScriptReadHalfword(ctx));
|
||||
enum Species species = VarGet(ScriptReadHalfword(ctx));
|
||||
u8 level = VarGet(ScriptReadHalfword(ctx));
|
||||
|
||||
u32 flags = ScriptReadWord(ctx);
|
||||
|
|
@ -408,7 +408,7 @@ void ScrCmd_createmon(struct ScriptContext *ctx)
|
|||
|
||||
#undef PARSE_FLAG
|
||||
|
||||
u8 ScriptGiveEgg(u16 species)
|
||||
u8 ScriptGiveEgg(enum Species species)
|
||||
{
|
||||
struct Pokemon mon;
|
||||
u8 isEgg;
|
||||
|
|
@ -436,13 +436,13 @@ void HasEnoughMonsForDoubleBattle(void)
|
|||
}
|
||||
}
|
||||
|
||||
static bool8 CheckPartyMonHasHeldItem(u16 item)
|
||||
static bool8 CheckPartyMonHasHeldItem(enum Item item)
|
||||
{
|
||||
int i;
|
||||
|
||||
for(i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
u16 species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG);
|
||||
enum Species species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES_OR_EGG);
|
||||
if (species != SPECIES_NONE && species != SPECIES_EGG && GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM) == item)
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -458,7 +458,7 @@ bool8 DoesPartyHaveEnigmaBerry(void)
|
|||
return hasItem;
|
||||
}
|
||||
|
||||
void CreateScriptedWildMon(u16 species, u8 level, u16 item)
|
||||
void CreateScriptedWildMon(enum Species species, u8 level, enum Item item)
|
||||
{
|
||||
u8 heldItem[2];
|
||||
|
||||
|
|
@ -477,7 +477,7 @@ void CreateScriptedWildMon(u16 species, u8 level, u16 item)
|
|||
}
|
||||
}
|
||||
|
||||
void CreateScriptedDoubleWildMon(u16 species1, u8 level1, enum Item item1, u16 species2, u8 level2, enum Item item2)
|
||||
void CreateScriptedDoubleWildMon(enum Species species1, u8 level1, enum Item item1, enum Species species2, u8 level2, enum Item item2)
|
||||
{
|
||||
u8 heldItem1[2];
|
||||
u8 heldItem2[2];
|
||||
|
|
@ -510,7 +510,7 @@ void CreateScriptedDoubleWildMon(u16 species1, u8 level1, enum Item item1, u16 s
|
|||
}
|
||||
}
|
||||
|
||||
void ScriptSetMonMoveSlot(u8 monIndex, u16 move, u8 slot)
|
||||
void ScriptSetMonMoveSlot(u8 monIndex, enum Move move, u8 slot)
|
||||
{
|
||||
if (monIndex > PARTY_SIZE)
|
||||
monIndex = gPlayerPartyCount - 1;
|
||||
|
|
@ -621,7 +621,7 @@ void Script_SetStatus1(struct ScriptContext *ctx)
|
|||
|
||||
if (slot >= PARTY_SIZE)
|
||||
{
|
||||
u16 species;
|
||||
enum Species species;
|
||||
|
||||
for (slot = 0; slot < PARTY_SIZE; slot++)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -761,7 +761,7 @@ static void PokeMartWriteNameAndIdAt(struct ListMenuItem *list, u16 index, u8 *d
|
|||
list->id = index;
|
||||
}
|
||||
|
||||
static void BuyMenuAddItemIcon(u16 item, u8 iconSlot)
|
||||
static void BuyMenuAddItemIcon(enum Item item, u8 iconSlot)
|
||||
{
|
||||
u8 *spriteIdPtr = &sShopData.itemSpriteIds[iconSlot];
|
||||
|
||||
|
|
@ -1310,7 +1310,7 @@ static void DebugFunc_PrintShopMenuHistoryBeforeClearMaybe(void)
|
|||
|
||||
// Records a transaction during a single shopping session.
|
||||
// This is for the Quest Log to save information about the player's purchases/sales when they finish.
|
||||
void RecordItemTransaction(u16 itemId, u16 quantity, u8 logEventId)
|
||||
void RecordItemTransaction(enum Item itemId, u16 quantity, u8 logEventId)
|
||||
{
|
||||
struct QuestLogEvent_Shop *history;
|
||||
|
||||
|
|
|
|||
14
src/sound.c
14
src/sound.c
|
|
@ -314,7 +314,7 @@ bool8 IsBGMStopped(void)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
void PlayCry_Normal(u16 species, s8 pan)
|
||||
void PlayCry_Normal(enum Species species, s8 pan)
|
||||
{
|
||||
m4aMPlayVolumeControl(&gMPlayInfo_BGM, TRACKS_ALL, 85);
|
||||
PlayCryInternal(species, pan, CRY_VOLUME, CRY_PRIORITY_NORMAL, CRY_MODE_NORMAL);
|
||||
|
|
@ -322,13 +322,13 @@ void PlayCry_Normal(u16 species, s8 pan)
|
|||
RestoreBGMVolumeAfterPokemonCry();
|
||||
}
|
||||
|
||||
void PlayCry_NormalNoDucking(u16 species, s8 pan, s8 volume, u8 priority)
|
||||
void PlayCry_NormalNoDucking(enum Species species, s8 pan, s8 volume, u8 priority)
|
||||
{
|
||||
PlayCryInternal(species, pan, volume, priority, CRY_MODE_NORMAL);
|
||||
}
|
||||
|
||||
// Assuming it's not CRY_MODE_DOUBLES, this is equivalent to PlayCry_Normal except it allows other modes.
|
||||
void PlayCry_ByMode(u16 species, s8 pan, u8 mode)
|
||||
void PlayCry_ByMode(enum Species species, s8 pan, u8 mode)
|
||||
{
|
||||
if (mode == CRY_MODE_DOUBLES)
|
||||
{
|
||||
|
|
@ -344,7 +344,7 @@ void PlayCry_ByMode(u16 species, s8 pan, u8 mode)
|
|||
}
|
||||
|
||||
// Used when releasing multiple Pokémon at once in battle.
|
||||
void PlayCry_ReleaseDouble(u16 species, s8 pan, u8 mode)
|
||||
void PlayCry_ReleaseDouble(enum Species species, s8 pan, u8 mode)
|
||||
{
|
||||
if (mode == CRY_MODE_DOUBLES)
|
||||
{
|
||||
|
|
@ -359,7 +359,7 @@ void PlayCry_ReleaseDouble(u16 species, s8 pan, u8 mode)
|
|||
}
|
||||
|
||||
// Duck the BGM but don't restore it. Not present in R/S
|
||||
void PlayCry_DuckNoRestore(u16 species, s8 pan, u8 mode)
|
||||
void PlayCry_DuckNoRestore(enum Species species, s8 pan, u8 mode)
|
||||
{
|
||||
if (mode == CRY_MODE_DOUBLES)
|
||||
{
|
||||
|
|
@ -373,7 +373,7 @@ void PlayCry_DuckNoRestore(u16 species, s8 pan, u8 mode)
|
|||
}
|
||||
}
|
||||
|
||||
void PlayCry_Script(u16 species, u8 mode)
|
||||
void PlayCry_Script(enum Species species, u8 mode)
|
||||
{
|
||||
if (!QL_IS_PLAYBACK_STATE) // This check is exclusive to FR/LG
|
||||
{
|
||||
|
|
@ -385,7 +385,7 @@ void PlayCry_Script(u16 species, u8 mode)
|
|||
}
|
||||
|
||||
|
||||
void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode)
|
||||
void PlayCryInternal(enum Species species, s8 pan, s8 volume, u8 priority, u8 mode)
|
||||
{
|
||||
bool32 reverse;
|
||||
u32 release;
|
||||
|
|
|
|||
|
|
@ -126,11 +126,11 @@ static void LoadBGTemplates(void);
|
|||
static bool8 HandleLoadTMCaseGraphicsAndPalettes(void);
|
||||
static void CreateTMCaseListMenuBuffers(void);
|
||||
static void InitTMCaseListMenuItems(void);
|
||||
static void GetTMNumberAndMoveString(u8 * dest, u16 itemId);
|
||||
static void GetTMNumberAndMoveString(u8 *dest, enum Item itemId);
|
||||
static void List_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list);
|
||||
static void List_ItemPrintFunc(u8 windowId, u32 itemId, u8 y);
|
||||
static void PrintDescription(s32 itemIndex);
|
||||
static void PrintMoveInfo(u16 itemId);
|
||||
static void PrintMoveInfo(enum Item itemId);
|
||||
static void PrintListCursorAtRow(u8 y, u8 colorIdx);
|
||||
static void CreateListScrollArrows(void);
|
||||
static void TMCaseSetup_GetTMCount(void);
|
||||
|
|
@ -173,11 +173,11 @@ static void PrintPlayersMoney(void);
|
|||
static void HandleCreateYesNoMenu(u8 taskId, const struct YesNoFuncTable * ptrs);
|
||||
static u8 AddContextMenu(u8 * windowId, u8 windowIndex);
|
||||
static void RemoveContextMenu(u8 * windowId);
|
||||
static u8 CreateDiscSprite(u16 itemId);
|
||||
static u8 CreateDiscSprite(enum Item itemId);
|
||||
static void SetDiscSpriteAnim(struct Sprite *sprite, u8 tmIdx);
|
||||
static void TintDiscpriteByType(u8 type);
|
||||
static void SetDiscSpritePosition(struct Sprite *sprite, u8 tmIdx);
|
||||
static void SwapDisc(u8 spriteId, u16 itemId);
|
||||
static void SwapDisc(u8 spriteId, enum Item itemId);
|
||||
static void SpriteCB_SwapDisc(struct Sprite *sprite);
|
||||
|
||||
static const struct BgTemplate sBGTemplates[] = {
|
||||
|
|
@ -675,7 +675,7 @@ static void InitTMCaseListMenuItems(void)
|
|||
gMultiuseListMenuTemplate.scrollMultiple = 0;
|
||||
}
|
||||
|
||||
static void GetTMNumberAndMoveString(u8 *dest, u16 itemId)
|
||||
static void GetTMNumberAndMoveString(u8 *dest, enum Item itemId)
|
||||
{
|
||||
StringCopy(gStringVar4, gText_FontSmall);
|
||||
if (IsItemHM(itemId))
|
||||
|
|
@ -699,7 +699,7 @@ static void GetTMNumberAndMoveString(u8 *dest, u16 itemId)
|
|||
|
||||
static void List_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list)
|
||||
{
|
||||
u16 itemId;
|
||||
enum Item itemId;
|
||||
|
||||
if (itemIndex == LIST_CANCEL)
|
||||
itemId = ITEM_NONE;
|
||||
|
|
@ -719,7 +719,7 @@ static void List_ItemPrintFunc(u8 windowId, u32 itemIndex, u8 y)
|
|||
{
|
||||
if (itemIndex != LIST_CANCEL)
|
||||
{
|
||||
u16 itemId = GetBagItemId(POCKET_TM_HM, itemIndex);
|
||||
enum Item itemId = GetBagItemId(POCKET_TM_HM, itemIndex);
|
||||
if (!IsItemHM(itemId))
|
||||
{
|
||||
if (!GetItemImportance(itemId))
|
||||
|
|
@ -743,10 +743,12 @@ static void List_ItemPrintFunc(u8 windowId, u32 itemIndex, u8 y)
|
|||
static void PrintDescription(s32 itemIndex)
|
||||
{
|
||||
const u8 * str;
|
||||
|
||||
if (itemIndex != LIST_CANCEL)
|
||||
str = GetItemDescription(GetBagItemId(POCKET_TM_HM, itemIndex));
|
||||
else
|
||||
str = gText_TMCaseWillBePutAway;
|
||||
|
||||
FillWindowPixelBuffer(WIN_DESCRIPTION, 0);
|
||||
TMCase_Print(WIN_DESCRIPTION, FONT_NORMAL, str, 2, 3, 1, 0, 0, COLOR_LIGHT);
|
||||
}
|
||||
|
|
@ -1045,8 +1047,9 @@ static void Action_Use(u8 taskId)
|
|||
|
||||
static void Action_Give(u8 taskId)
|
||||
{
|
||||
s16 * data = gTasks[taskId].data;
|
||||
u16 itemId = GetBagItemId(POCKET_TM_HM, tListPos);
|
||||
s16 *data = gTasks[taskId].data;
|
||||
enum Item itemId = GetBagItemId(POCKET_TM_HM, tListPos);
|
||||
|
||||
RemoveContextMenu(&sTMCaseDynamicResources->contextMenuWindowId);
|
||||
ClearStdWindowAndFrameToTransparent(WIN_SELECTED_MSG, FALSE);
|
||||
ClearWindowTilemap(WIN_SELECTED_MSG);
|
||||
|
|
@ -1548,23 +1551,21 @@ static void DrawMoveInfoLabels(void)
|
|||
CopyWindowToVram(WIN_MOVE_INFO_LABELS, COPYWIN_GFX);
|
||||
}
|
||||
|
||||
static void PrintMoveInfo(u16 itemId)
|
||||
static void PrintMoveInfo(enum Item itemId)
|
||||
{
|
||||
u8 i;
|
||||
u16 move;
|
||||
const u8 * str;
|
||||
|
||||
FillWindowPixelRect(WIN_MOVE_INFO, 0, 0, 0, 40, 48);
|
||||
if (itemId == ITEM_NONE)
|
||||
{
|
||||
for (i = 0; i < 4; i++)
|
||||
for (u32 i = 0; i < 4; i++)
|
||||
TMCase_Print(WIN_MOVE_INFO, FONT_NORMAL_COPY_2, gText_ThreeHyphens, 7, 12 * i, 0, 0, TEXT_SKIP_DRAW, COLOR_MOVE_INFO);
|
||||
CopyWindowToVram(WIN_MOVE_INFO, COPYWIN_GFX);
|
||||
}
|
||||
else
|
||||
{
|
||||
const u8 *str;
|
||||
enum Move move = ItemIdToBattleMoveId(itemId);
|
||||
// Draw type icon
|
||||
move = ItemIdToBattleMoveId(itemId);
|
||||
BlitMenuInfoIcon(WIN_MOVE_INFO, gMovesInfo[move].type + 1, 0, 0);
|
||||
|
||||
// Print power
|
||||
|
|
@ -1630,7 +1631,7 @@ static void RemoveContextMenu(u8 * windowId)
|
|||
*windowId = WINDOW_NONE;
|
||||
}
|
||||
|
||||
static u8 CreateDiscSprite(u16 itemId)
|
||||
static u8 CreateDiscSprite(enum Item itemId)
|
||||
{
|
||||
u8 spriteId = CreateSprite(&sSpriteTemplate_Disc, DISC_BASE_X, DISC_BASE_Y, 0);
|
||||
u8 tmIdx;
|
||||
|
|
@ -1696,7 +1697,7 @@ static void SetDiscSpritePosition(struct Sprite *sprite, u8 tmIdx)
|
|||
#define sItemId data[0]
|
||||
#define sState data[1]
|
||||
|
||||
static void SwapDisc(u8 spriteId, u16 itemId)
|
||||
static void SwapDisc(u8 spriteId, enum Item itemId)
|
||||
{
|
||||
gSprites[spriteId].sItemId = itemId;
|
||||
gSprites[spriteId].sState = 0;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user