m_tag_ovl 100%

This commit is contained in:
Cuyler36
2024-10-21 21:29:51 -04:00
parent 4b21329bca
commit 3e45bc51c5
14 changed files with 2342 additions and 82 deletions
+5
View File
@@ -1090,6 +1090,11 @@ m_submenu_ovl.c:
.rodata: [0x8064B870, 0x8064B900]
.data: [0x806CE550, 0x806CF928]
.bss: [0x813405C0, 0x81340FC8]
m_tag_ovl.c:
.text: [0x805EF6CC, 0x805FF3C4]
.rodata: [0x8064B900, 0x8064BA00]
.data: [0x806CF928, 0x806D1320]
.bss: [0x81340FC8, 0x81341390]
m_timeIn_ovl.c:
.text: [0x805FF3C4, 0x80600370]
.rodata: [0x8064BA00, 0x8064BA58]
+4 -1
View File
@@ -46,7 +46,7 @@ typedef enum audio_sound_effects {
NA_SE_MENU_PAUSE = 0x30,
NA_SE_31 = 0x31,
NA_SE_32 = 0x32,
NA_SE_33 = 0x33,
NA_SE_DRAWER_SHUT = 0x3A,
@@ -182,6 +182,9 @@ typedef enum audio_sound_effects {
NA_SE_SCOOP_ITEM_HIT,
NA_SE_AXE_BALL_HIT,
NA_SE_45E = 0x45E,
NA_SE_45F = 0x45F,
NA_SE_461 = 0x461,
NA_SE_COIN_GASAGOSO = 0x465,
+4
View File
@@ -344,6 +344,10 @@ extern void mCoBG_GroundCheckOnly(xyz_t* reverse_pos, ACTOR* actor, f32 check_ra
extern f32 mCoBG_Wpos2BgUtCenterHeight_AddColumn(xyz_t pos);
extern f32 mCoBG_UtNum2UtCenterY_Keep(int ut_x, int ut_z);
extern int mCoBG_RegistDecalCircle(const xyz_t* pos_p, f32 radius_start, f32 radius_end, s16 timer);
extern int mCoBG_CheckAcceptDesignSign(const xyz_t* pos_p);
extern void mCoBG_VirtualBGCheck(xyz_t* rev_pos_p, mCoBG_Check_c* bg_check, const xyz_t* start_pos_p,
const xyz_t* end_pos_p, s16 angle_y, s16 water_flag, s16 ground_flag, f32 range,
f32 ground_dist, s16 attr_wall, s16 rev_type, s16 check_type);
typedef int (*mCoBG_LINECHECK_PROC)(mActor_name_t);
+3 -2
View File
@@ -12,6 +12,7 @@ extern "C" {
#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 {
@@ -24,12 +25,12 @@ struct cpmail_ovl_s {
mCD_mail_c* card_mail;
Mail_c player_mail[mPr_INVENTORY_MAIL_COUNT];
u8 page_order[mCM_PAGE_COUNT];
u32 _BB0;
s16 page_move_timer;
u8 next_page_id;
u32 mark_bitfield;
int mark_flag;
u8 _BBC;
u32 mark_bitfield2;
// u8 _BBC[0xBC4 - 0xBBC];
};
extern void mCM_cpmail_ovl_construct(Submenu* submenu);
+3
View File
@@ -12,6 +12,7 @@ extern "C" {
#define mCO_PAGE_NUM 8
#define mCO_ORIGINAL_NUM 12
#define mCO_FOLDER_NAME_LEN 12
#define mCO_FOLDER_NAME_MAX_WIDTH 120
/* TODO: find a better place for this */
typedef struct card_original_s {
@@ -36,10 +37,12 @@ struct cporiginal_s {
};
extern void mCO_swap_image(Submenu* submenu, mActor_name_t item0, mActor_name_t item1);
extern void mCO_change_up_folder(Submenu* submenu, int idx);
extern int mCO_top_folder(Submenu* submenu);
extern u8* mCO_get_folder_name(Submenu* submenu, int folder);
extern u8* mCO_get_image_name(Submenu* submenu, int folder, int idx);
extern int mCO_check_mark_flg(Submenu* submenu, int idx);
extern void mCO_clear_mark_flg(Submenu* submenu);
extern int mCO_check_hide_flg(Submenu* submenu, int folder, int idx);
extern void mCO_on_hide_flg(Submenu* submenu, int folder, int idx);
extern void mCO_clear_hide_flg(Submenu* submenu);
+1 -1
View File
@@ -14,7 +14,7 @@ enum {
mEE_TYPE_BOARD,
mEE_TYPE_NOTICE,
mEE_TYPE_MSCORE,
mEE_TYPE_CPORIGINAL,
mEE_TYPE_CPACK,
mEE_TYPE_ORIGINAL_DESIGN,
mEE_TYPE_NUM
+5 -1
View File
@@ -15,6 +15,10 @@ extern "C" {
#define mIV_ITEM_JOINT_NUM 8
#define mIV_PLAYER_EFFECT_NUM 20
#define mIV_COLLECT_NUM 40
#define mIV_ITEM_COLUMNS 5
#define mIV_ITEM_ROWS 3
#define mIV_MAIL_COLUMNS 2
#define mIV_MAIL_ROWS 5
enum {
mIV_ITEM_SCALE_TYPE_NONE,
@@ -80,7 +84,7 @@ struct inventory_ovl_s {
u16 selectable_mail_bitfield;
u32 disp_money;
int disp_money_change_frames;
int disp_money_chg_step;
xyz_t shovel_pos;
xyz_t release_pos;
+5
View File
@@ -207,6 +207,10 @@ extern int mNT_check_unknown(mActor_name_t item_no);
#define NPC_HOUSE_ID_TO_NPC_ID(house) (house + 0x9000)
#define NPC_ID_TO_NPC_HOUSE_ID(npc) (npc - 0x9000)
#define TICKET_MONTH(n) (1 + (((n) >> 3) & 0xF))
#define TICKET_COUNT(n) (1 + ((n) & 7))
#define WISP_COUNT(n) (ITEM_IS_WISP(n) ? (1 + (n) - ITM_SPIRIT0) : 0)
#define ITEM_IS_INSECT(n) ((n) >= ITM_INSECT_START && (n) < ITM_INSECT_END)
#define ITEM_IS_WISP(n) ((n) >= ITM_SPIRIT0 && (n) <= ITM_SPIRIT4)
#define ITEM_IS_PAPER(n) ((n) >= ITM_PAPER_START && (n) <= (ITM_PAPER_END - 1))
@@ -531,6 +535,7 @@ extern int mNT_check_unknown(mActor_name_t item_no);
#define ITEM_IS_EXERCISE_CARD(item) ((item) >= ITM_EXCERCISE_CARD00 && (item) <= ITM_EXCERCISE_CARD12)
#define ITEM_IS_BALLOON(item) ((item) >= ITM_BALLOON_START && (item) <= ITM_BUNNY_O_BALLOON)
#define ITEM_IS_UMBRELLA(item) ((item) >= ITM_UMBRELLA_START && (item) <= ITM_UMBRELLA_END)
#define ITEM_IS_UMBRELLA2(item) ((item) >= ITM_UMBRELLA_START && (item) <= ITM_MY_ORG_UMBRELLA7)
#define ITEM_IS_MYUMBRELLA_TOOL(item) ((item) >= ITM_MY_ORG_UMBRELLA0 && (item) <= ITM_MY_ORG_UMBRELLA7)
#define ITEM_IS_SCOOP(item) ((item) >= ITM_SHOVEL && (item) <= ITM_SHOVEL)
#define ITEM_IS_GOLD_SCOOP(item) ((item) >= ITM_GOLDEN_SHOVEL && (item) <= ITM_GOLDEN_SHOVEL)
+1
View File
@@ -23,6 +23,7 @@ extern int mNW_check_hide_flg(Submenu* submenu, int idx);
extern int mNW_check_mark_flg(Submenu* submenu, int idx);
extern void mNW_on_hide_flg(Submenu* submenu, int idx);
extern void mNW_clear_hide_flg(Submenu* submenu);
extern void mNW_clear_mark_flg(Submenu* submenu);
extern void mNW_draw_original(Submenu* submenu, GRAPH* graph, f32 pos_x, f32 pos_y, f32 scale, int idx, int color_flag);
extern void mNW_needlework_ovl_construct(Submenu* submenu);
+1 -1
View File
@@ -105,7 +105,7 @@ enum {
mSM_IV_OPEN_EXCHANGE,
mSM_IV_OPEN_CPMAIL,
mSM_IV_OPEN_CURATOR,
mSM_IV_OPEN_16,
mSM_IV_OPEN_PASSWORD,
mSM_IV_OPEN_NUM
};
+45 -15
View File
@@ -177,6 +177,22 @@ enum {
mTG_TABLE_NUM
};
enum {
mTG_WIN_ITEM,
mTG_WIN_QITEM,
mTG_WIN_SELECT,
mTG_WIN_NUM
};
enum {
mTG_STR0,
mTG_STR1,
mTG_STR2,
mTG_STR_NUM
};
#define mTG_RETURN_CLOSE 0
#define mTG_RETURN_KEEP 1
@@ -227,14 +243,34 @@ typedef struct tag_cpmail_mark_s {
s16 _4A;
} mTG_cpmail_mark_c;
enum {
mTG_ORG_TYPE_NW,
mTG_ORG_TYPE_CO,
mTG_ORG_TYPE_NUM
};
typedef struct tag_cporiginal_mark_s {
f32 _00[2][2];
f32 _10[2][2];
s16 needlework_idx;
s16 cporiginal_idx;
f32 _00[mTG_ORG_TYPE_NUM][2];
f32 _10[mTG_ORG_TYPE_NUM][2];
s16 idx[mTG_ORG_TYPE_NUM];
} mTG_cporiginal_mark_c;
/* TODO */
typedef struct tag_cporiginal_mark_entry_s {
mActor_name_t item;
float pos[2];
} mTG_cporiginal_mark_entry_c;
/* sizeof(mTG_mark_original_c) == 0x34 */
typedef struct tag_mark_original_s {
/* 0x00 */ mTG_cporiginal_mark_c mark[1];
/* 0x24 */ f32 move_percent;
/* 0x28 */ u16 mark_flg[mTG_ORG_TYPE_NUM];
/* 0x2C */ s16 mark_max[mTG_ORG_TYPE_NUM];
/* 0x30 */ s16 mark_mode;
} mTG_mark_original_c;
/* sizeof(mTG_Ovl_c) == 0x3C4 */
struct tag_ovl_s {
/* 0x000 */ int sel_tag_idx;
/* 0x004 */ int ret_tag_idx;
@@ -249,16 +285,10 @@ struct tag_ovl_s {
/* 0x2F4 */ mTG_cpmail_mark_pos_c _2F4[4];
/* 0x324 */ mTG_cpmail_mark_c cpmail_mark[1];
/* 0x370 */ f32 _370;
/* 0x374 */ int _374;
/* 0x378 */ mActor_name_t _378[2];
/* 0x37C */ int _37C[5];
/* 0x390 */ mTG_cporiginal_mark_c cporiginal_mark[1];
/* 0x3B4 */ f32 _3B4;
/* 0x3B8 */ u16 needlework_mark_flg;
/* 0x3BA */ u16 cporiginal_mark_flg;
/* 0x3BC */ s16 needlework_mark_max;
/* 0x3BE */ s16 cporiginal_mark_max;
/* 0x3C0 */ s16 change_original_mark_mode;
/* 0x374 */ u16 nw_gba_flags;
/* 0x376 */ u16 _02;
/* 0x378 */ mTG_cporiginal_mark_entry_c original_entries[mTG_ORG_TYPE_NUM];
/* 0x390 */ mTG_mark_original_c original_mark;
};
extern int mTG_mark_main(Submenu*, mSM_MenuInfo_c*, int, int*);
+1 -1
View File
@@ -452,7 +452,7 @@ static void mHD_open_sack(Submenu* submenu) {
hand_ovl->info.next_act = mHD_ACTION_SASU;
hand_ovl->info.wait_timer = 42;
sAdo_SysTrgStart(MONO(NA_SE_52));
submenu->overlay->inventory_ovl->disp_money_change_frames = amount / 42;
submenu->overlay->inventory_ovl->disp_money_chg_step = amount / 42;
}
static void mHD_drop_mail(Submenu* submenu, Mail_c* mail) {
+2 -2
View File
@@ -1259,7 +1259,7 @@ static void mIV_move_Play(Submenu* submenu, mSM_MenuInfo_c* menu_info) {
case mSM_IV_OPEN_MINIDISK:
case mSM_IV_OPEN_SHRINE:
case mSM_IV_OPEN_CURATOR:
case mSM_IV_OPEN_16:
case mSM_IV_OPEN_PASSWORD:
submenu->overlay->tag_ovl->chg_tag_func_proc(submenu, mTG_TABLE_ITEM, mTG_TYPE_NONE, unselected_num,
0.0f, 0.0f);
break;
@@ -1992,7 +1992,7 @@ static void mIV_inventory_ovl_init(Submenu* submenu, mSM_MenuInfo_c* menu_info,
break;
}
case mSM_IV_OPEN_16: {
case mSM_IV_OPEN_PASSWORD: {
inv_ovl->selectable_item_bitfield = menu_info->data1;
inv_ovl->selectable_mail_bitfield = 0;
break;
+2262 -58
View File
File diff suppressed because it is too large Load Diff