pmd-red/include/party_list_menu.h
2024-07-20 10:59:15 -07:00

93 lines
2.3 KiB
C

#ifndef GUARD_PARTY_LIST_MENU_H
#define GUARD_PARTY_LIST_MENU_H
#include "constants/move.h"
#include "items.h"
#include "structs/menu.h"
#include "pokemon.h"
#include "structs/str_text.h"
// size: 0x280
typedef struct unkStruct_203B2B8
{
/* 0x0 */ s32 state;
/* 0x4 */ s32 fallbackState;
bool8 unk8;
/* 0xA */ s16 pokeSpecies;
/* 0xC */ u32 id;
/* 0x10 */ BulkItem item1;
/* 0x14 */ BulkItem item2;
/* 0x18 */ PokemonStruct1 *pokeStruct;
/* 0x1C */ bool8 isTeamLeader;
/* 0x20 */ u32 moveIndex;
/* 0x24 */ u16 moveID;
/* 0x28 */ Move moves[8];
/* 0x68 */ u16 moveIDs[4]; // some list of move IDs
/* 0x70 */ u32 menuAction1;
/* 0x74 */ u32 menuAction2;
/* 0x78 */ u32 menuAction3; // unused
MenuStruct unk7C;
MenuStruct unkCC;
MenuStruct unk11C; // unused
MenuItem unk16C[10];
MenuItem unk1BC[10];
u16 unk20C[10];
UnkTextStruct2 unk220[4];
} unkStruct_203B2B8;
bool8 CreatePartyListMenu(PokemonStruct1 *pokeStruct);
u32 sub_8025F68(void);
bool8 sub_802604C(void);
void CleanPartyListMenu(void);
enum PartyListMenuStates
{
PARTY_LIST_STATE_INIT,
PARTY_LIST_STATE_MAIN_MENU,
PARTY_LIST_STATE_MAIN_MENU_1,
PARTY_LIST_STATE_SUMMARY = 3,
PARTY_LIST_STATE_CHECK_IQ = 4,
PARTY_LIST_STATE_JOIN_TEAM = 5,
PARTY_LIST_STATE_STANDBY = 6,
PARTY_LIST_STATE_MAKE_LEADER = 7,
PARTY_LIST_STATE_POKEMON_FAREWELL = 8,
// 9
// 0xA
// 0xB
PARTY_LIST_STATE_SAY_FAREWELL = 0xC,
PARTY_LIST_STATE_CONFIRM_SAY_FAREWELL = 0xD,
PARTY_LIST_STATE_GIVE_GUMMI = 0xe,
PARTY_LIST_STATE_GIVEN_ITEM = 0xF,
PARTY_LIST_STATE_GIVEN_ITEM_HELD_ITEM = 0x10,
PARTY_LIST_STATE_TAKE_ITEM = 0x11,
PARTY_LIST_STATE_GIVE_ITEM = 0x12,
PARTY_LIST_STATE_GIVE_ITEM_1 = 0x13,
// 0x14
// 0x15
PARTY_LIST_STATE_MOVES = 0x16,
// 0x17
// 0x18
PARTY_LIST_STATE_EXIT = 0x19,
};
enum PartyListMenuActions
{
PARTY_LIST_MENU_NULL = 1,
PARTY_LIST_MENU_YES,
PARTY_LIST_MENU_NO,
PARTY_LIST_MENU_INFO = 4,
PARTY_LIST_MENU_SUMMARY = 4,
PARTY_LIST_MENU_CHECK_IQ,
PARTY_LIST_MENU_JOIN_TEAM,
PARTY_LIST_MENU_STANDBY,
PARTY_LIST_MENU_MAKE_LEADER,
PARTY_LIST_MENU_SAY_FAREWELL,
PARTY_LIST_MENU_GIVE_GUMMI,
PARTY_LIST_MENU_GIVE_ITEM,
PARTY_LIST_MENU_TAKE_ITEM,
PARTY_LIST_MENU_MOVES,
};
#endif // GUARD_PARTY_LIST_MENU_H