Implement & link m_address_ovl

This commit is contained in:
Cuyler36
2025-04-03 11:02:58 -04:00
parent 7a6c093291
commit b6cb7edd19
7 changed files with 800 additions and 19 deletions
+2
View File
@@ -64,6 +64,8 @@ typedef enum audio_sound_effects {
NA_SE_31 = 0x31,
NA_SE_32 = 0x32,
NA_SE_33 = 0x33,
NA_SE_34 = 0x34,
NA_SE_35 = 0x35,
NA_SE_DRAWER_SHUT = 0x3A,
+36 -11
View File
@@ -10,22 +10,47 @@
extern "C" {
#endif
#define mAD_PAGE_NUM 3
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 _00;
u8 _01;
u8 command;
u8 _03;
u8 _04;
u8 page_bitfield;
u8 page_count;
u8 proc_idx;
u8 curIdx;
u8 nextIdx;
u8 selected_entry;
u8 show_museum_address;
u8 _07;
u8 editor_move_down;
u8 page_entry_count[mAD_PAGE_NUM];
f32 _0C;
f32 _10;
f32 _14[mAD_PAGE_NUM];
f32 _20[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
+3 -2
View File
@@ -10,7 +10,8 @@
extern "C" {
#endif
#define MAIL_HEADER_LEN (32 - PLAYER_NAME_LEN)
#define MAIL_HEADER_BASE_LEN 32
#define MAIL_HEADER_LEN (MAIL_HEADER_BASE_LEN - PLAYER_NAME_LEN)
#define MAIL_FOOTER_LEN 32
#define MAIL_BODY_LEN 192
@@ -108,7 +109,7 @@ extern void mMl_clear_mail_header(Mail_hdr_c* header);
extern void mMl_clear_mail(Mail_c* mail);
extern void mMl_clear_mail_box(Mail_c* mail, int num);
extern int mMl_check_not_used_mail(Mail_c* mail);
extern void mMl_copy_header_name(Mail_c* dst, Mail_c* src);
extern void mMl_copy_header_name(Mail_nm_c* dst, Mail_nm_c* src);
extern void mMl_set_to_plname(Mail_c* mail, PersonalID_c* pid);
extern void mMl_set_playername(Mail_c* mail, PersonalID_c* pid);
extern void mMl_init_mail(Mail_c* mail, PersonalID_c* pid);