m_tag_ovl 75% matched

This commit is contained in:
Cuyler36
2024-10-20 11:06:16 -04:00
parent 03dd18a5ab
commit 4b21329bca
24 changed files with 2206 additions and 91 deletions
+4
View File
@@ -19,6 +19,10 @@ extern "C" {
#define aMR_NO_FTR_ID 200
#define aMR_NO_FTR_ID2 201
#define aMR_JUDGE_MAX_FTR -1
#define aMR_JUDGE_CANT_PLACE_FTR -2
#define aMR_JUDGE_OTHER_ROOM -3
typedef struct my_room_actor_s MY_ROOM_ACTOR;
enum {
+4 -1
View File
@@ -69,7 +69,7 @@ typedef enum audio_sound_effects {
NA_SE_TOOL_FURI = 0x5A, // swing?
NA_SE_AMI_HIT = 0x5C,
NA_SE_TOOL_GET,
NA_SE_5E = 0x5E,
NA_SE_5F = 0x5F,
NA_SE_60 = 0x60,
@@ -157,6 +157,8 @@ typedef enum audio_sound_effects {
NA_SE_SOFT_CHAIR_STANDUP,
NA_SE_HARD_CHAIR_STANDUP,
NA_SE_426 = 0x426,
NA_SE_BUBU_CHAIR_STANDUP = 0x429,
NA_SE_JUMP,
NA_SE_LANDING,
@@ -174,6 +176,7 @@ typedef enum audio_sound_effects {
NA_SE_KARABURI = 0x43A,
NA_SE_ROD_STROKE_SMALL = 0x445,
NA_SE_446 = 0x446,
NA_SE_SCOOP_TREE_HIT = 0x448,
NA_SE_SCOOP_ITEM_HIT,
+3 -1
View File
@@ -27,7 +27,9 @@ struct cpmail_ovl_s {
u32 _BB0;
u32 mark_bitfield;
int mark_flag;
u8 _BBC[0xBC4 - 0xBBC];
u8 _BBC;
u32 mark_bitfield2;
// u8 _BBC[0xBC4 - 0xBBC];
};
extern void mCM_cpmail_ovl_construct(Submenu* submenu);
+1
View File
@@ -39,6 +39,7 @@ extern void mCO_swap_image(Submenu* submenu, mActor_name_t item0, mActor_name_t
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 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);
+5 -5
View File
@@ -31,11 +31,11 @@ enum {
};
enum {
mMl_FONT_0,
mMl_FONT_SEND,
mMl_FONT_2,
mMl_FONT_3,
mMl_FONT_4,
mMl_FONT_RECV, /* Received letter (with or without a present attached), unread */
mMl_FONT_SEND, /* Player-written letter */
mMl_FONT_RECV_READ, /* Recieved letter, with/without present, and then read it */
mMl_FONT_RECV_PLAYER_PRESENT, /* Recieved letter where present was attached, unread */
mMl_FONT_RECV_PLAYER_PRESENT_READ, /* Recieved letter where present was attached, read */
mMl_FONT_NUM
};
+2
View File
@@ -8,6 +8,8 @@
extern "C" {
#endif
#define mMB_MAIL_COUNT HOME_MAILBOX_SIZE
typedef int (*mMB_GET_LAST_MAIL_IDX_PROC)(void);
struct mailbox_ovl_s {
+4
View File
@@ -207,6 +207,7 @@ 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 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))
#define ITEM_IS_CLOTH(n) ((n) >= ITM_CLOTH_START && (n) < ITM_CLOTH_END)
@@ -530,6 +531,9 @@ 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_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)
#define BG_CATEGORY 0
#define ENV_CATEGORY 8
+1
View File
@@ -20,6 +20,7 @@ struct needlework_ovl_s {
extern u8 mNW_get_image_no(Submenu* submenu, int slot_no);
extern u8* mNW_get_image_name(Submenu* submenu, int idx);
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_draw_original(Submenu* submenu, GRAPH* graph, f32 pos_x, f32 pos_y, f32 scale, int idx, int color_flag);
+1
View File
@@ -212,6 +212,7 @@ typedef struct shop_s {
/* 0x13C */ int visitor_flag; /* set when a foreign player enters Nook's shop, required for Nookington's */
} Shop_c;
#define mSP_GC_FAMICOM_TABLE_CNT 8 // update this if the # of items in mSP_gc_famicom_table is changed
extern mActor_name_t mSP_gc_famicom_table[];
extern int mSP_CollectCheck(mActor_name_t item);
+55 -2
View File
@@ -47,6 +47,20 @@ enum {
mTG_MARK_TYPE_NUM
};
enum {
mTG_CHANGE_ORIGINAL_MARK_NONE,
mTG_CHANGE_ORIGINAL_MARK_DECIDE,
mTG_CHANGE_ORIGINAL_MARK_MOVE,
mTG_CHANGE_ORIGINAL_MARK_NUM
};
enum {
mTG_CHANGE_MAIL_MARK_DECIDE,
mTG_CHANGE_MAIL_MARK_MOVE,
mTG_CHANGE_MAIL_MARK_NUM
};
enum {
mTG_TYPE_NONE,
@@ -158,11 +172,16 @@ enum {
mTG_TABLE_GBA,
mTG_TABLE_GBA_NW,
mTG_TABLE_CARD,
mTG_TABLE_GBA_NW2,
mTG_TABLE_CARD_NW,
mTG_TABLE_NUM
};
#define mTG_RETURN_CLOSE 0
#define mTG_RETURN_KEEP 1
#define mTG_MARK_IDX_UNSET 0x7FFF
/* sizeof(mTG_tag_c) == 0xB4 */
typedef struct tag_s {
u8 type;
@@ -193,6 +212,28 @@ typedef void (*mTG_EXCHANGE_PROC)(Submenu*, mSM_MenuInfo_c*);
typedef Mail_c* (*mTG_GET_MAIL_POINTER_PROC)(Submenu*, mHD_Ovl_c*);
typedef int (*mTG_GET_TABLE_IDX_PROC)(mTG_tag_c*);
typedef struct tag_cpmail_mark_pos_s {
Mail_c* _00;
f32 pos[2];
} mTG_cpmail_mark_pos_c;
typedef struct tag_cpmail_mark_s {
Mail_c* _00[4];
Mail_c* mail_tbl[4];
f32 _20[2][2];
f32 _30[2][2];
s16 idx_tbl[4];
s16 mode;
s16 _4A;
} mTG_cpmail_mark_c;
typedef struct tag_cporiginal_mark_s {
f32 _00[2][2];
f32 _10[2][2];
s16 needlework_idx;
s16 cporiginal_idx;
} mTG_cporiginal_mark_c;
/* TODO */
struct tag_ovl_s {
/* 0x000 */ int sel_tag_idx;
@@ -205,7 +246,19 @@ struct tag_ovl_s {
/* 0x2E8 */ mTG_GET_MAIL_POINTER_PROC get_mail_pointer_proc;
/* 0x2EC */ mTG_GET_TABLE_IDX_PROC get_table_idx_proc;
/* 0x2F0 */ s16 item_name_wait_time;
/* 0x2F2 */ u8 _2F2[0x3C4 - 0x2F2];
/* 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;
};
extern int mTG_mark_main(Submenu*, mSM_MenuInfo_c*, int, int*);
+7 -7
View File
@@ -1863,14 +1863,14 @@ static int aMR_JudgeBreedNewFurniture(GAME* game, u16 ftr_no, int* ut_x, int* ut
u16 angle;
if (mCoBG_CheckUtFlat(&player_pos) == FALSE) {
return -2;
return aMR_JUDGE_CANT_PLACE_FTR;
}
if (aMR_CLIP != NULL && my_room != NULL && aMR_CheckReserveFlag(my_room, 0) == FALSE) {
*rotation = 0;
*square_offset = 0;
*layer = 0;
return -2;
return aMR_JUDGE_CANT_PLACE_FTR;
}
aMR_Wpos2PlaceNumber(&cur_ut_x, &cur_ut_z, player_pos, 0);
@@ -1907,7 +1907,7 @@ static int aMR_JudgeBreedNewFurniture(GAME* game, u16 ftr_no, int* ut_x, int* ut
for (i = 0; i < 5; i++) {
if (aMR_WeightPossible((ACTOR*)my_room, profile->shape) == FALSE) {
return -1;
return aMR_JUDGE_MAX_FTR;
}
target_ut_x = cur_ut_x;
@@ -1975,7 +1975,7 @@ static int aMR_JudgeBreedNewFurniture(GAME* game, u16 ftr_no, int* ut_x, int* ut
for (i = 0; i < 5; i++) {
angle_idx = (int)angle_idx;
if (aMR_WeightPossible((ACTOR*)my_room, profile->shape) == FALSE) {
return -1;
return aMR_JUDGE_MAX_FTR;
}
target_ut_x = cur_ut_x;
@@ -2084,16 +2084,16 @@ static int aMR_JudgeBreedNewFurniture(GAME* game, u16 ftr_no, int* ut_x, int* ut
}
}
return -2;
return aMR_JUDGE_CANT_PLACE_FTR;
}
}
return -1;
return aMR_JUDGE_MAX_FTR;
} else {
*rotation = 0;
*square_offset = 0;
*layer = 0;
return -3;
return aMR_JUDGE_OTHER_ROOM;
}
}
+1 -1
View File
@@ -57,7 +57,7 @@ static void aSL_SetShopRenewalChirashi_Notice(int shop_level, lbRTC_time_c* time
mHandbill_Load_HandbillFromRom(content->header, &header_back_start, content->footer, content->body,
renewal_chirashi_bunmen[shop_level & 3]);
content->header_back_start = header_back_start;
content->font = mMl_FONT_0;
content->font = mMl_FONT_RECV;
content->paper_type = (u8)ITM_PAPER55;
content->mail_type = mMl_TYPE_SHOP_SALE_LEAFLET;
mPr_CopyPersonalID(&mail.header.recipient.personalID, &Save_Get(private_data[player_no]).player_ID);
+1 -1
View File
@@ -454,7 +454,7 @@ static void mFR_GetFishPresentMail(mFR_record_c* record, Mail_c* mail) {
);
mail->content.header_back_start = header_back_start;
mail->content.font = mMl_FONT_0;
mail->content.font = mMl_FONT_RECV;
mail->content.mail_type = mMl_TYPE_FISHING_CONTENST;
mail->present = present;
mail->content.paper_type = 15; // deep sea paper
+13 -13
View File
@@ -86,7 +86,7 @@ static void mHD_hand_pos_get(Submenu* submenu, f32* pos, int table_type, int tab
pos[1] += 23.0f;
}
} else if ((table_type == mTG_TABLE_GBA || table_type == mTG_TABLE_GBA_NW || table_type == mTG_TABLE_CARD ||
table_type == mTG_TABLE_GBA_NW2 || table_type == mTG_TABLE_CPORIGINAL ||
table_type == mTG_TABLE_CARD_NW || table_type == mTG_TABLE_CPORIGINAL ||
table_type == mTG_TABLE_CPORIGINAL_NW) &&
item != EMPTY_NO) {
pos[0] += -2.0f;
@@ -178,7 +178,7 @@ static void mHD_drop_item(Submenu* submenu, mTG_tag_c* tag, mActor_name_t* item,
table = tag->table;
}
if (item != NULL && *item != EMPTY_NO && table != mTG_TABLE_GBA_NW2 && table != mTG_TABLE_GBA_NW) {
if (item != NULL && *item != EMPTY_NO && table != mTG_TABLE_CARD_NW && table != mTG_TABLE_GBA_NW) {
now_item = *item;
mTG_mark_mainX(submenu, menu_info, table, table_idx, 2, 0);
@@ -222,11 +222,11 @@ static void mHD_drop_item(Submenu* submenu, mTG_tag_c* tag, mActor_name_t* item,
sAdo_SysTrgStart(NA_SE_41C);
if (mail != NULL) {
if (mail->content.font == mMl_FONT_0) {
mail->content.font = mMl_FONT_3;
if (mail->content.font == mMl_FONT_RECV) {
mail->content.font = mMl_FONT_RECV_PLAYER_PRESENT;
hand_ovl->info.item_cond = mPr_ITEM_COND_PRESENT;
} else if (mail->content.font == mMl_FONT_2) {
mail->content.font = mMl_FONT_4;
} else if (mail->content.font == mMl_FONT_RECV_READ) {
mail->content.font = mMl_FONT_RECV_PLAYER_PRESENT_READ;
hand_ovl->info.item_cond = mPr_ITEM_COND_PRESENT;
}
}
@@ -280,16 +280,16 @@ static void mHD_drop_item(Submenu* submenu, mTG_tag_c* tag, mActor_name_t* item,
mTG_mark_mainX(submenu, menu_info, table, table_idx, 2, 0);
if (table == mTG_TABLE_GBA_NW || table == mTG_TABLE_GBA_NW2) {
if (table == mTG_TABLE_GBA_NW || table == mTG_TABLE_CARD_NW) {
mGB_copy_image(submenu, hand_ovl->info.item, *item);
} else if (item != NULL) {
*item = hand_ovl->info.item;
if (mail != NULL) {
if (mail->content.font == mMl_FONT_0) {
mail->content.font = mMl_FONT_3;
} else if (mail->content.font == mMl_FONT_2) {
mail->content.font = mMl_FONT_4;
if (mail->content.font == mMl_FONT_RECV) {
mail->content.font = mMl_FONT_RECV_PLAYER_PRESENT;
} else if (mail->content.font == mMl_FONT_RECV_READ) {
mail->content.font = mMl_FONT_RECV_PLAYER_PRESENT_READ;
}
}
}
@@ -589,7 +589,7 @@ static void mHD_open_end_proc_item_type17(Submenu* submenu, int idx, int table)
}
break;
case mTG_TABLE_GBA_NW:
case mTG_TABLE_GBA_NW2:
case mTG_TABLE_CARD_NW:
tmp_item = RSV_NW_ORIGINAL0 + idx;
break;
case mTG_TABLE_CPORIGINAL:
@@ -664,7 +664,7 @@ static void mHD_open_end_proc_item(Submenu* submenu) {
&mHD_open_end_proc_item_type17, /* mTG_TABLE_GBA */
&mHD_open_end_proc_item_type17, /* mTG_TABLE_GBA_NW */
&mHD_open_end_proc_item_type17, /* mTG_TABLE_CARD */
&mHD_open_end_proc_item_type17, /* mTG_TABLE_GBA_NW2 */
&mHD_open_end_proc_item_type17, /* mTG_TABLE_CARD_NW */
};
mSM_MenuInfo_c* menu_info;
+2 -2
View File
@@ -199,7 +199,7 @@ extern int mMl_check_send_mail(Mail_c* mail) {
extern int mMl_check_set_present_myself(Mail_c* mail) {
u8 font = mail->content.font;
if (font == mMl_FONT_SEND || font == mMl_FONT_3 || font == mMl_FONT_4) {
if (font == mMl_FONT_SEND || font == mMl_FONT_RECV_PLAYER_PRESENT || font == mMl_FONT_RECV_PLAYER_PRESENT_READ) {
return TRUE;
}
@@ -235,7 +235,7 @@ static void mMl_get_mail_to_player_com(Mail_c* mail, PersonalID_c* recipient_pid
mMl_clear_mail(mail);
(*get_proc[proc_type])(mail, mail_no);
mail->content.font = mMl_FONT_0;
mail->content.font = mMl_FONT_RECV;
mail->content.mail_type = mail_type;
mPr_CopyPersonalID(&mail->header.recipient.personalID, recipient_pid);
+1 -1
View File
@@ -70,7 +70,7 @@ static int mMkRm_NoMarkLetter(int arrange_idx, int handbill_no) {
mMl_clear_mail(&mail);
mHandbill_Load_HandbillFromRom(mail.content.header, &header_back_start, mail.content.footer, mail.content.body, handbill_no);
mail.content.font = mMl_FONT_0;
mail.content.font = mMl_FONT_RECV;
mail.content.header_back_start = header_back_start;
mail.content.mail_type = mMl_TYPE_HRA;
mail.content.paper_type = 51; /* wing paper */
+1 -1
View File
@@ -2932,7 +2932,7 @@ static void mMkRm_SendMarkLetter(mHm_hs_c* house, int points, int room_size, u8*
mMl_clear_mail(&letter);
mHandbill_Load_HandbillFromRom(letter.content.header, &header_back_start, letter.content.footer,
letter.content.body, handbill_no);
letter.content.font = mMl_FONT_0;
letter.content.font = mMl_FONT_RECV;
letter.content.header_back_start = header_back_start;
letter.content.mail_type = mMl_TYPE_HRA;
letter.content.paper_type = 51; /* wing paper */
+3 -3
View File
@@ -1571,7 +1571,7 @@ static void mNpc_GetRemailData(Mail_c* mail, PersonalID_c* pid, AnmPersonalID_c*
int paper_no;
(*get_remail[cond])(mail, pid, anm_id, remail, foreign);
mail->content.font = mMl_FONT_0;
mail->content.font = mMl_FONT_RECV;
mail->content.mail_type = mMl_TYPE_MAIL;
mPr_CopyPersonalID(&mail->header.recipient.personalID, pid);
mail->header.recipient.type = mMl_NAME_TYPE_PLAYER;
@@ -1680,7 +1680,7 @@ static void mNpc_LoadMailDataCommon2(Mail_c* mail, PersonalID_c* pid, AnmPersona
mem_copy(mail->content.header, super, MAIL_HEADER_LEN);
mem_copy(mail->content.footer, ps, MAIL_FOOTER_LEN);
mail->content.header_back_start = header_back_start;
mail->content.font = mMl_FONT_0;
mail->content.font = mMl_FONT_RECV;
mail->content.mail_type = mMl_TYPE_MAIL;
mPr_CopyPersonalID(&mail->header.recipient.personalID, pid);
mail->header.recipient.type = mMl_NAME_TYPE_PLAYER;
@@ -1920,7 +1920,7 @@ static void mNpc_GetXmasCardData(Mail_c* mail, PersonalID_c* pid) {
mHandbill_Load_HandbillFromRom(mail->content.header, &header_back_start, mail->content.footer, mail->content.body,
0xD7);
mail->content.header_back_start = header_back_start;
mail->content.font = mMl_FONT_0;
mail->content.font = mMl_FONT_RECV;
mail->content.mail_type = mMl_TYPE_XMAS;
mPr_CopyPersonalID(&mail->header.recipient.personalID, pid);
mail->header.recipient.type = mMl_NAME_TYPE_PLAYER;
+1 -1
View File
@@ -164,7 +164,7 @@ static void mPO_delivery_mail_with_item(Mail_c* mail, int mail_no, mActor_name_t
mHandbill_Load_HandbillFromRom(mail->content.header, &header_back_start, mail->content.footer, mail->content.body,
mail_no);
mail->content.font = mMl_FONT_0;
mail->content.font = mMl_FONT_RECV;
mail->content.header_back_start = header_back_start;
mail->content.mail_type = 7;
mail->content.paper_type = ITM_PAPER55;
+1 -1
View File
@@ -603,7 +603,7 @@ static void mQst_GetRemailData(Mail_c* letter, PersonalID_c* recipient_id, AnmPe
mem_copy(letter->content.header, header, MAIL_HEADER_LEN);
mem_copy(letter->content.footer, footer, MAIL_FOOTER_LEN);
letter->content.header_back_start = header_back_pos;
letter->content.font = mMl_FONT_0;
letter->content.font = mMl_FONT_RECV;
letter->content.mail_type = 0;
mPr_CopyPersonalID(&letter->header.recipient.personalID, recipient_id);
+2 -2
View File
@@ -1094,7 +1094,7 @@ extern void mSP_ShopItsumoChirashi(int house_no, int shop_level, mActor_name_t i
mMl_clear_mail(&leaflet);
mHandbill_Load_HandbillFromRom(leaflet.content.header, &header_back_start, leaflet.content.footer,
leaflet.content.body, rare_chirashi_bunmen[shop_level][type & 1]);
leaflet.content.font = mMl_FONT_0;
leaflet.content.font = mMl_FONT_RECV;
leaflet.content.header_back_start = header_back_start;
leaflet.content.mail_type = mMl_TYPE_SHOP_SALE_LEAFLET;
leaflet.content.paper_type = ITM_PAPER55; // simple paper
@@ -1226,7 +1226,7 @@ extern void mSP_SetRenewalChiraswhi_AppoDay() {
mMl_clear_mail(&leaflet);
mHandbill_Load_HandbillFromRom(content->header, &header_back_start, content->footer, content->body,
chirashi_idx_appoday[shop_level]);
leaflet.content.font = mMl_FONT_0;
leaflet.content.font = mMl_FONT_RECV;
leaflet.content.header_back_start = header_back_start;
leaflet.content.mail_type = mMl_TYPE_SHOP_SALE_LEAFLET;
leaflet.content.paper_type = ITM_PAPER55; // simple paper
+1 -1
View File
@@ -1527,7 +1527,7 @@ static void mSM_draw_mail(GRAPH* graph, f32 pos_x, f32 pos_y, f32 scale, Mail_c*
if (mMl_check_send_mail(mail)) {
type = mSM_MAIL_SEND;
} else if (mail->content.font == mMl_FONT_4 || mail->content.font == mMl_FONT_2) {
} else if (mail->content.font == mMl_FONT_RECV_PLAYER_PRESENT_READ || mail->content.font == mMl_FONT_RECV_READ) {
type = mSM_MAIL_NORMAL2;
} else {
type = mSM_MAIL_NORMAL;
+2091 -47
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -172,7 +172,7 @@ static int sChk_font_sub(u8* font_p) {
int res = FALSE;
/* This check seems wrong lol */
if (font != 0xFF && (font >= 0xFF || font >= mMl_FONT_NUM || font < mMl_FONT_0)) {
if (font != 0xFF && (font >= 0xFF || font >= mMl_FONT_NUM || font < mMl_FONT_RECV)) {
mFRm_ERRORLINE(612);
res = TRUE;
}