#ifndef GUARD_ITEM_MENU_H
#define GUARD_ITEM_MENU_H

#include "string_util.h"

enum
{
	ITEM_USE_SINGLE_MON,
	ITEM_USE_GIVE_ITEM,
	ITEM_USE_UNUSED,
	ITEM_USE_GIVE_MAIL,
	ITEM_USE_ALL_MONS,
};

struct PocketScrollState
{
    u8 cursorPos;
    u8 scrollTop;
    u8 numSlots;
    u8 cursorMax;
};

extern struct PocketScrollState gBagPocketScrollStates[];
extern struct ItemSlot *gCurrentBagPocketItemSlots;

void ResetBagScrollPositions(void);
void ClearBag(void);
void sub_80A3E0C(void);
void sub_80A3FA0(u16 *a, u8 b, u8 c, u8 d, u8 e, u16 f);
void sub_80A4164(u8 *, u16, enum StringConvertMode, u8);
void sub_80A418C(u16 a, enum StringConvertMode b, u8 c, u8 d, u8 e);
void sub_80A53F8(void);
void HandleItemMenuPaletteFade(u8);
void sub_80A5B40(void);
void CleanUpItemMenuMessage(u8);
void CleanUpOverworldMessage(u8);
void ExecuteItemUseFromBlackPalette(void);
void sub_80A5D04(void);
void ItemMenu_LoadSellMenu(void);
void CB2_ChooseBerry();
void sub_80A6A30(void);
bool32 UseRegisteredKeyItem(void);
void sub_80A6DCC(void);
void sub_80A7094(u8);
u8 CreateBerrySprite(u8, s16, s16);
void sub_80A7DD4(void);
u8 sub_80A7E5C(s16);

#endif // GUARD_ITEM_MENU_H
