#ifndef POKEPLATINUM_STRUCT_BOX_MENU_H
#define POKEPLATINUM_STRUCT_BOX_MENU_H

enum BoxMenuItem {
    BOX_MENU_NAVIGATION_NONE = -3,
    BOX_MENU_NAVIGATION_UP_DOWN,
    BOX_MENU_NAVIGATION_B,
    BOX_MENU_JUMP,
    BOX_MENU_WALLPAPER,
    BOX_MENU_NAME,
    BOX_MENU_HEADER_CANCEL,
    BOX_MENU_FIRST_WALLPAPER_PAGE,
    BOX_MENU_SCENERY_1 = BOX_MENU_FIRST_WALLPAPER_PAGE,
    BOX_MENU_SCENERY_2,
    BOX_MENU_SCENERY_3,
    BOX_MENU_ETCETERA,
    BOX_MENU_LAST_DEFAULT_WALLPAPER_PAGE = BOX_MENU_ETCETERA,
    BOX_MENU_FRIENDS_1,
    BOX_MENU_FRIENDS_2,
    BOX_MENU_LAST_WALLPAPER_PAGE = BOX_MENU_FRIENDS_2,
    BOX_MENU_FIRST_WALLPAPER,
    BOX_MENU_FOREST = BOX_MENU_FIRST_WALLPAPER,
    BOX_MENU_CITY,
    BOX_MENU_DESERT,
    BOX_MENU_SAVANNA,
    BOX_MENU_CRAG,
    BOX_MENU_VOLCANO,
    BOX_MENU_SNOW,
    BOX_MENU_CAVE,
    BOX_MENU_BEACH,
    BOX_MENU_SEAFLOOR,
    BOX_MENU_RIVER,
    BOX_MENU_SKY,
    BOX_MENU_POKECENTER,
    BOX_MENU_MACHINE,
    BOX_MENU_CHECKS,
    BOX_MENU_SIMPLE,
    BOX_MENU_FIRST_UNLOCKABLE_WALLPAPER,
    BOX_MENU_DISTORTION = BOX_MENU_FIRST_UNLOCKABLE_WALLPAPER,
    BOX_MENU_CONTEST,
    BOX_MENU_NOSTALGIC,
    BOX_MENU_CROAGUNK,
    BOX_MENU_TRIO,
    BOX_MENU_PIKAPIKA,
    BOX_MENU_LEGEND,
    BOX_MENU_TEAM_GALACTIC,
    BOX_MENU_LAST_WALLPAPER = BOX_MENU_TEAM_GALACTIC,
    BOX_MENU_MOVE,
    BOX_MENU_PLACE,
    BOX_MENU_SHIFT,
    BOX_MENU_SUMMARY,
    BOX_MENU_WITHDRAW,
    BOX_MENU_STORE,
    BOX_MENU_ITEM,
    BOX_MENU_MARK,
    BOX_MENU_RELEASE,
    BOX_MENU_CANCEL,
    BOX_MENU_CONFIRM,
    BOX_MENU_MARK_CANCEL,
    BOX_MENU_GIVE,
    BOX_MENU_TAKE,
    BOX_MENU_INFO,
    BOX_MENU_SWITCH,
    BOX_MENU_BAG,
    BOX_MENU_ITEMS_CANCEL,
    BOX_MENU_SET_ON_LEFT,
    BOX_MENU_SET_ON_RIGHT,
    BOX_MENU_YES,
    BOX_MENU_NO,
    BOX_MENU_FIRST_MARKING,
    BOX_MENU_CIRCLE = BOX_MENU_FIRST_MARKING,
    BOX_MENU_TRIANGLE,
    BOX_MENU_SQUARE,
    BOX_MENU_HEART,
    BOX_MENU_STAR,
    BOX_MENU_DIAMOND,
    BOX_MENU_LAST_MARKING = BOX_MENU_DIAMOND
};

#define MAX_MENU_ITEMS          8
#define MAX_WALLPAPERS_PER_PAGE 4

typedef struct BoxMenu {
    enum BoxMenuItem menuItems[MAX_MENU_ITEMS];
    u8 selectedMenuItemIndex;
    u8 totalMenuItems;
    u8 markings;
    u8 unused; // only assigned to, never read from
} BoxMenu;

#endif // POKEPLATINUM_STRUCT_BOX_MENU_H
