pmd-red/include/friend_area.h
2025-02-24 11:20:40 +01:00

45 lines
1.3 KiB
C

#ifndef GUARD_FRIEND_AREA_H
#define GUARD_FRIEND_AREA_H
// size: 0x8
typedef struct FriendAreaSettings
{
/* 0x0 */ s16 num_pokemon;
/* 0x2 */ u16 unlock_condition;
/* 0x4 */ u32 price;
} FriendAreaSettings;
// size: 0xC
typedef struct FriendAreaCapacity
{
/* 0x0 */ s16 maxPokemon;
/* 0x2 */ s16 currNoPokemon;
/* 0x4 */ bool8 hasFriendArea;
s32 unk8;
} FriendAreaCapacity;
extern bool8 *gFriendAreas;
bool8 *GetBoughtFriendAreas(void);
const u8 *GetFriendAreaDescription(u8 index);
const u8 *GetFriendAreaName(u8 index);
s32 GetFriendAreaPrice(u8 index);
bool8 GetFriendAreaStatus(u8 index);
u8 GetFriendAreaUnlockCondition(u8 index);
bool8 HasAllFriendAreas(void);
void InitializeFriendAreas(void);
void LoadFriendAreas(void);
u32 ReadSavedFriendAreas(u8 *, s32 size);
u32 SaveFriendAreas(u8 *, u32 size);
void UnlockFriendArea(u8 index);
u8 sub_80923D4(s32 target);
void sub_8092404(u8, u16 *, bool8, bool8);
void sub_809249C(u8 friendArea, bool8 clear);
void sub_8092558(u8 *buffer, u8 index);
void WriteFriendAreaName(u8 *buffer, u8 index, bool8 printPrice);
void GetFriendAreaCapacity2(u8 friendArea, FriendAreaCapacity *dst, bool8 checkLeader, bool8 checkPartner);
void GetFriendAreaCapacity(u8 areaId, FriendAreaCapacity *dst, bool8 checkPartner);
#endif // GUARD_FRIEND_AREA_H