Implement & link m_cpmail_ovl

This commit is contained in:
Cuyler36
2025-05-12 07:53:24 -04:00
parent 526b5af4a9
commit f217682289
6 changed files with 483 additions and 28 deletions
+6 -2
View File
@@ -140,25 +140,29 @@ typedef struct {
#define mCD_KEEP_ORIGINAL_PAGE_COUNT 8
#define mCD_KEEP_ORIGINAL_COUNT 12
#define mCD_KEEP_ORIGINAL_FOLDER_NAME_LEN 12
typedef struct {
u16 checksum;
u16 landid;
u8 _0004[mCD_KEEP_ORIGINAL_PAGE_COUNT][12];
u8 folder_names[mCD_KEEP_ORIGINAL_PAGE_COUNT][mCD_KEEP_ORIGINAL_FOLDER_NAME_LEN];
mNW_original_design_c original[mCD_KEEP_ORIGINAL_PAGE_COUNT][mCD_KEEP_ORIGINAL_COUNT];
int _CC80; // force size to 0xCCA0
} mCD_keep_original_c ATTRIBUTE_ALIGN(32);
#define mCD_KEEP_MAIL_PAGE_COUNT 8
#define mCD_KEEP_MAIL_COUNT 20
#define mCD_KEEP_MAIL_FOLDER_NAME_LEN 12
typedef struct {
u16 checksum;
u16 landid;
u8 _0004[mCD_KEEP_MAIL_PAGE_COUNT][12];
u8 folder_names[mCD_KEEP_MAIL_PAGE_COUNT][mCD_KEEP_MAIL_FOLDER_NAME_LEN];
Mail_c mail[mCD_KEEP_MAIL_PAGE_COUNT][mCD_KEEP_MAIL_COUNT];
} mCD_keep_mail_c ATTRIBUTE_ALIGN(32);
#define mCD_KEEP_MAIL_SIZE ALIGN_NEXT(sizeof(mCD_keep_mail_c), 32)
#define mCD_KEEP_DIARY_COUNT PLAYER_NUM
#define mCD_KEEP_DIARY_ENTRY_COUNT lbRTC_MONTHS_MAX
+7 -12
View File
@@ -4,29 +4,24 @@
#include "types.h"
#include "m_cpmail_ovl_h.h"
#include "m_submenu.h"
#include "m_card.h"
#ifdef __cplusplus
extern "C" {
#endif
#define mCM_PAGE_COUNT 8
#define mCM_MAIL_COUNT 20
#define mCM_FOLDER_NAME_LEN 12
// #define mCM_PAGE_COUNT 8
// #define mCM_MAIL_COUNT 20
// #define mCM_FOLDER_NAME_LEN 12
#define mCM_FOLDER_NAME_MAX_WIDTH 120
/* TODO: move this to a better header */
typedef struct card_mail_s {
int count;
u8 folder_names[mCM_PAGE_COUNT][mCM_FOLDER_NAME_LEN];
Mail_c mail[mCM_PAGE_COUNT][mCM_MAIL_COUNT];
} mCD_mail_c;
struct cpmail_ovl_s {
mCD_mail_c* card_mail;
mCD_keep_mail_c* card_mail;
Mail_c player_mail[mPr_INVENTORY_MAIL_COUNT];
u8 page_order[mCM_PAGE_COUNT];
u8 page_order[mCD_KEEP_MAIL_PAGE_COUNT];
s16 page_move_timer;
u8 next_page_id;
u8 _BB3;
u32 mark_bitfield;
int mark_flag;
u8 _BBC;