diff options
Diffstat (limited to 'include/berry.h')
-rw-r--r-- | include/berry.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/include/berry.h b/include/berry.h new file mode 100644 index 000000000..425a664c9 --- /dev/null +++ b/include/berry.h @@ -0,0 +1,73 @@ +#ifndef GUARD_BERRY_H +#define GUARD_BERRY_H + +enum +{ + BERRY_FIRMNESS_UNKNOWN, + BERRY_FIRMNESS_VERY_SOFT, + BERRY_FIRMNESS_SOFT, + BERRY_FIRMNESS_HARD, + BERRY_FIRMNESS_VERY_HARD, + BERRY_FIRMNESS_SUPER_HARD, +}; + +enum +{ + FLAVOR_SPICY, + FLAVOR_DRY, + FLAVOR_SWEET, + FLAVOR_BITTER, + FLAVOR_SOUR, + FLAVOR_COUNT +}; + +#define NUM_BERRIES 44 + +extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES]; +extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[NUM_BERRIES]; +extern const u8 *const gBerryTreePaletteSlotTablePointers[NUM_BERRIES]; + +void ClearEnigmaBerries(void); +void SetEnigmaBerry(u8 *src); +u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry); +bool32 IsEnigmaBerryValid(void); +const struct Berry *GetBerryInfo(u8 berry); +struct BerryTree *GetBerryTreeInfo(u8 id); +bool32 FieldObjectInteractionWaterBerryTree(void); +bool8 IsPlayerFacingPlantedBerryTree(void); +bool8 TryToWaterBerryTree(void); +void ClearBerryTrees(void); +bool32 BerryTreeGrow(struct BerryTree *tree); +void BerryTreeTimeUpdate(s32 minutes); +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); +u16 BerryTypeToItemId(u16 berry); +void GetBerryNameByBerryType(u8 berry, u8 *string); +void ResetBerryTreeSparkleFlag(u8 id); +u8 BerryTreeGetNumStagesWatered(struct BerryTree *tree); +u8 GetNumStagesWateredByBerryTreeId(u8 id); +u8 CalcBerryYieldInternal(u16 max, u16 min, u8 water); +u8 CalcBerryYield(struct BerryTree *tree); +u8 GetBerryCountByBerryTreeId(u8 id); +u16 GetStageDurationByBerryType(u8); +void Bag_ChooseBerry(void); +void FieldObjectInteractionGetBerryTreeData(void); +void FieldObjectInteractionPlantBerryTree(void); +void FieldObjectInteractionPickBerryTree(void); +void FieldObjectInteractionRemoveBerryTree(void); +u8 PlayerHasBerries(void); +void ResetBerryTreeSparkleFlags(void); + +extern const struct Berry gBerries[]; + +struct UnkStruct_0858AB24 { + u8 unk0; + u16 unk1; +}; + +extern const struct UnkStruct_0858AB24 gUnknown_0858AB24[]; + +#endif // GUARD_BERRY_H |