Implement & link m_calendar_ovl

This commit is contained in:
Cuyler36
2025-04-07 16:29:39 -04:00
parent e376c52041
commit 3cf38c7ce2
8 changed files with 1436 additions and 2 deletions
+3
View File
@@ -196,6 +196,9 @@ typedef enum audio_sound_effects {
NA_SE_UCHIWA = 0x167,
NA_SE_LAWNMOWER = 0x177,
NA_SE_17C = 0x17C,
NA_SE_17D = 0x17D,
NA_SE_207 = 0x207,
NA_SE_SCOOP_SHIGEMI = 0x401,
+12
View File
@@ -723,6 +723,18 @@ do { \
gsDPSetTextureImage_Dolphin(fmt, G_IM_SIZ_4b, w, h, timg), \
gsDPSetTile_Dolphin(G_DOLPHIN_TLUT_DEFAULT_MODE, 0, pal, ws, wt, ss, st)
#define gDPLoadTextureBlock_4b_Dolphin(pkt, timg, fmt, w, h, pal, ws, wt, ss, st) \
do { \
gDPSetTextureImage_Dolphin(pkt, fmt, G_IM_SIZ_4b, w, h, timg); \
gDPSetTile_Dolphin(pkt, G_DOLPHIN_TLUT_DEFAULT_MODE, 0, pal, ws, wt, ss, st); \
} while (0)
#define gDPLoadTextureBlock_8b_Dolphin(pkt, timg, fmt, w, h, pal, ws, wt, ss, st) \
do { \
gDPSetTextureImage_Dolphin(pkt, fmt, G_IM_SIZ_8b, w, h, timg); \
gDPSetTile_Dolphin(pkt, G_DOLPHIN_TLUT_DEFAULT_MODE, 0, pal, ws, wt, ss, st); \
} while (0)
#define gDPLoadTextureTile_4b_Dolphin(pkt, timg, fmt, w, h) \
do { \
gDPSetTextureImage_Dolphin(pkt, fmt, G_IM_SIZ_4b, h, w, timg); \
+76
View File
@@ -2,11 +2,87 @@
#define M_CALENDAR_OVL_H
#include "types.h"
#include "m_calendar_ovl_h.h"
#include "m_submenu_ovl.h"
#include "m_calendar.h"
#include "m_string.h"
#include "m_font.h"
#ifdef __cplusplus
extern "C" {
#endif
#define mCD_YEARS_SHOWN 3
#define mCD_EVENT_NAME_STR_LEN 16
enum {
mCD_STICK_AREA_LEFT,
mCD_STICK_AREA_TOP_LEFT,
mCD_STICK_AREA_TOP,
mCD_STICK_AREA_TOP_RIGHT,
mCD_STICK_AREA_RIGHT,
mCD_STICK_AREA_BOTTOM_RIGHT,
mCD_STICK_AREA_BOTTOM,
mCD_STICK_AREA_BOTTOM_LEFT,
mCD_STICK_AREA_CENTER,
mCD_STICK_AREA_NUM
};
enum {
mCD_MVPL_SELECT,
mCD_MVPL_MV0,
mCD_MVPL_MV1,
mCD_MVPL_CHG0,
mCD_MVPL_CHG1,
mCD_MVPL_DAY,
mCD_MVPL_ESCAPE,
mCD_MVPL_ENTRANCE,
mCD_MVPL_NUM
};
#define mCD_DAY_NONE (0) // day panel not enabled, part of previous or next month
#define mCD_DAY_NORMAL (1) // regular day
#define mCD_DAY_FIRST_OF_WEEK (2) // first day of the week (Sunday)
#define mCD_DAY_EVENT (3) // event present on this day
#define mCD_DAY_CURRENT (4) // current day
#define mCD_DAY_UNDEFINED (5) // invalid/unset
// TODO: fill out the rest of these struct fields with proper names
typedef struct calendar_month_entry_s {
u8 day_data[37];
u8 _25[37];
u8 _4A[lbRTC_MONTHS_MAX][2];
u8 _62[16];
u8 _72;
} mCD_month_entry_c;
struct calendar_ovl_s {
mCD_month_entry_c month_entries[mCD_YEARS_SHOWN * lbRTC_MONTHS_MAX];
f32 _102C;
f32 _1030;
f32 _1034;
f32 _1038;
u8 _103C[6];
u8 _1042;
u8 _1043;
u8 event_name_str[mCD_EVENT_NAME_STR_LEN];
u8 _1054;
u8 move_proc_idx;
u8 _1056;
u8 _1057;
u8 day_type;
u8 _1059;
u8 _105A;
u8 stick_area;
u8 _105C;
u8 _105D;
u8 _105E;
u8 _105F;
};
extern void mCD_calendar_ovl_construct(Submenu* submenu);
extern void mCD_calendar_ovl_destruct(Submenu* submenu);
extern void mCD_calendar_ovl_set_proc(Submenu* submenu);
+2
View File
@@ -7,6 +7,8 @@
extern "C" {
#endif
typedef struct calendar_ovl_s mCD_Ovl_c;
#ifdef __cplusplus
}
#endif
+2 -1
View File
@@ -38,6 +38,7 @@
#include "m_cpedit_ovl_h.h"
#include "m_cpwarning_ovl_h.h"
#include "m_mscore_ovl_h.h"
#include "m_calendar_ovl_h.h"
#ifdef __cplusplus
extern "C" {
@@ -203,7 +204,7 @@ struct submenu_overlay_s {
/* 0x9E0 */ void* _9E0;
/* 0x9E4 */ mGB_Ovl_c* gba_ovl;
/* 0x9E8 */ mDI_Ovl_c* diary_ovl;
/* 0x9EC */ void* _9EC;
/* 0x9EC */ mCD_Ovl_c* calendar_ovl;
/* 0x9F0 */ mPM_Ovl_c* passwordMake_ovl;
/* 0x9F4 */ mPC_Ovl_c* passwordChk_ovl;
/* 0x9F8 */ u8 hboard_exists;