Files
ac-decomp/include/m_address_ovl.h
T
2025-04-03 11:02:58 -04:00

68 lines
1.3 KiB
C

#ifndef M_ADDRESS_OVL_H
#define M_ADDRESS_OVL_H
#include "types.h"
#include "m_address_ovl_h.h"
#include "m_submenu_ovl.h"
#include "m_mail.h"
#ifdef __cplusplus
extern "C" {
#endif
enum {
mAD_PAGE_PLAYER,
mAD_PAGE_NPC0,
mAD_PAGE_NPC1,
mAD_PAGE_NUM
};
enum {
mAD_PROC_REFUSE,
mAD_PROC_START,
mAD_PROC_SELECT,
mAD_PROC_TURN_PAGE,
mAD_PROC_TURN_PAGE2,
mAD_PROC_NUM
};
enum {
mAD_OPEN_ADDRESS,
mAD_OPEN_WAIT,
mAD_OPEN_NUM
};
#define mAD_PAGE_MAX_ENTRIES 8
struct address_ovl_s {
u8 page_bitfield;
u8 page_count;
u8 proc_idx;
u8 curIdx;
u8 nextIdx;
u8 selected_entry;
u8 show_museum_address;
u8 editor_move_down;
u8 page_entry_count[mAD_PAGE_NUM];
f32 pos_x;
f32 speed_x;
f32 pile[mAD_PAGE_NUM];
f32 goal_pile[mAD_PAGE_NUM];
Mail_nm_c player_mail_name[PLAYER_NUM + 1]; // last entry is the museum name
Mail_nm_c animal_mail_name[ANIMAL_NUM_MAX];
Gfx* display_list; // set to the beginning of the address display list data for drawing over editor etc
};
extern void mAD_address_ovl_construct(Submenu* submenu);
extern void mAD_address_ovl_destruct(Submenu* submenu);
extern void mAD_address_ovl_set_proc(Submenu* submenu);
#ifdef __cplusplus
}
#endif
#endif