pmd-red/include/friend_list_menu.h
2024-09-25 12:53:10 +02:00

79 lines
1.9 KiB
C

#ifndef INCLUDE_FRIEND_LIST_MENU_H
#define INCLUDE_FRIEND_LIST_MENU_H
#include "structs/menu.h"
#include "structs/str_items.h"
#include "structs/str_moves.h"
#include "structs/str_pokemon.h"
// there might be more overlap with unkStruct_203B2BC
// I was working on the moves and put the data that seemed to correspond to that
// into a separate struct
typedef struct unkStruct_203B2B4
{
// size: 0x178
s32 unk0;
s32 state;
u32 fallbackState;
u8 unkC; // friend Area
u8 unkD; // friend Area
s16 species;
u32 itemIndex;
BulkItem item1;
BulkItem item2;
/* 0x1C */ PokemonStruct1 *pokeStruct;
u32 moveIndex; // some sort of move index
u16 moveID;
Move moves[8];
u16 moveIDs[4]; // some list of move IDs
u32 menuAction1;
s32 menuAction2;
MenuStruct unk78;
MenuItem unkC8[8];
u16 unk108[8];
UnkTextStruct2 unk118[4];
} unkStruct_203B2B4;
bool8 CreateFriendListMenu(s32 param_1);
u32 sub_8025354(void);
u8 sub_802540C(void);
void CleanFriendListMenu(void);
enum FriendListMenuStates {
// 0
// 1
// 2
// 3
FRIEND_LIST_MENU_STATE_SUMMARY = 4,
FRIEND_LIST_MENU_STATE_CHECK_IQ = 5,
FRIEND_LIST_MENU_STATE_STANDBY = 7,
FRIEND_LIST_MENU_STATE_ITEM_GIVEN = 8,
FRIEND_LIST_MENU_STATE_ITEM_EXCHANGE = 9,
FRIEND_LIST_MENU_STATE_TAKE = 0xA,
FRIEND_LIST_MENU_STATE_GIVE = 0xB,
// 0xC
// 0xD
FRIEND_LIST_MENU_STATE_INFO = 0xE,
FRIEND_LIST_MENU_STATE_MOVES = 0xF,
// 0x10
// 0x11
// 0x12
FRIEND_LIST_MENU_STATE_EXIT = 0x13
};
enum FriendListMenuActions {
FRIEND_LIST_MENU_NULL = 1,
FRIEND_LIST_MENU_INFO = 4,
FRIEND_LIST_MENU_SUMMARY = 4,
FRIEND_LIST_MENU_CHECK_IQ = 5,
FRIEND_LIST_MENU_MOVES,
FRIEND_LIST_MENU_VISIT,
// 8
FRIEND_LIST_MENU_STANDBY = 9,
FRIEND_LIST_MENU_GIVE = 0xA,
FRIEND_LIST_MENU_TAKE,
};
#endif