Implement & partial match m_handbill.c

This commit is contained in:
Cuyler36
2023-07-11 10:03:40 -04:00
parent 7f1bca15ed
commit d2cd1de118
5 changed files with 993 additions and 0 deletions
+31
View File
@@ -11,7 +11,38 @@ extern "C" {
enum resource_index {
/* TODO: finish */
RESOURCE_FGDATA = 0,
RESOURCE_MAIL = 1,
RESOURCE_MAIL_TABLE = 2,
RESOURCE_MAILA = 3,
RESOURCE_MAILA_TABLE = 4,
RESOURCE_MAILB = 5,
RESOURCE_MAILB_TABLE = 6,
RESOURCE_MAILC = 7,
RESOURCE_MAILC_TABLE = 8,
RESOURCE_PALLET_BOY = 9,
RESOURCE_PS = 10,
RESOURCE_PS_TABLE = 11,
RESOURCE_PSZ = 12,
RESOURCE_PSZ_TABLE = 13,
RESOURCE_SELECT = 14,
RESOURCE_SELECT_TABLE = 15,
RESOURCE_STRING = 16,
RESOURCE_STRING_TABLE = 17,
RESOURCE_SUPERZ = 18,
RESOURCE_SUPERZ_TABLE = 19,
RESOURCE_SUPER = 20,
RESOURCE_SUPER_TABLE = 21,
RESOURCE_TEX_BOY = 22,
RESOURCE_FACE_BOY = 23,
RESOURCE_FGNPCDATA = 24,
RESOURCE_MESSAGE = 25,
RESOURCE_MESSAGE_TABLE = 26,
RESOURCE_MY_ORIGINAL = 27,
RESOURCE_NEEDLEWORK_JOYBOOT = 28,
RESOURCE_PLAYER_ROOM_FLOOR = 29,
RESOURCE_PLAYER_ROOM_WALL = 30,
RESOURCE_NPC_NAME_STR_TABLE = 31,
};
extern void JW_Init();
+76
View File
@@ -3,6 +3,7 @@
#include "types.h"
#include "m_mail.h"
#include "m_item_name.h"
#ifdef __cplusplus
extern "C" {
@@ -12,11 +13,86 @@ extern "C" {
#define mHandbill_FOOTER_LEN MAIL_FOOTER_LEN
#define mHandbill_BODY_LEN MAIL_BODY_LEN
#define mHandbill_FREE_STR_LEN mIN_ITEM_NAME_LEN
#define mHandbill_MAIL_NUM 982
enum {
mHandbill_FREE_STR0,
mHandbill_FREE_STR1,
mHandbill_FREE_STR2,
mHandbill_FREE_STR3,
mHandbill_FREE_STR4,
mHandbill_FREE_STR5,
mHandbill_FREE_STR6,
mHandbill_FREE_STR7,
mHandbill_FREE_STR8,
mHandbill_FREE_STR9,
mHandbill_FREE_STR10,
mHandbill_FREE_STR11,
mHandbill_FREE_STR12,
mHandbill_FREE_STR13,
mHandbill_FREE_STR14,
mHandbill_FREE_STR15,
mHandbill_FREE_STR16,
mHandbill_FREE_STR17,
mHandbill_FREE_STR18,
mHandbill_FREE_STR19,
mHandbill_FREE_STR_NUM
};
enum {
mHandbill_FILL_NONE,
mHandbill_FILL_RETURN,
mHandbill_FILL_SPACE,
mHandbill_FILL_NUM
};
typedef struct handbill_data_s mHandbill_Data_c;
struct handbill_data_s {
u8 free_str[mHandbill_FREE_STR_NUM][mHandbill_FREE_STR_LEN];
int free_str_art[mHandbill_FREE_STR_NUM];
int force_art;
int capital_flag;
};
extern void mHandbill_Load_HandbillFromRom(u8* header, int* header_back_pos, u8* footer, u8* body, int handbill_no);
extern void mHandbill_Load_HandbillFromRom2(u8* header, int header_size, int* header_back_pos, u8* footer, int footer_size, u8* body, int handbill_no);
extern void mHandbill_Set_free_str(int free_str_no, u8* str, int str_len);
extern void mHandbill_Set_free_str_art(int free_str_no, u8* str, int str_len, int article_no);
enum {
mHandbillz_TYPE_SUPER,
mHandbillz_TYPE_MAILA,
mHandbillz_TYPE_MAILB,
mHandbillz_TYPE_MAILC,
mHandbillz_TYPE_PS,
mHandbillz_TYPE_NUM
};
typedef struct mHandbillz_info_s {
u8* super_buf_p;
size_t super_buf_size;
u8* mail_buf_p;
size_t mail_buf_size;
u8* ps_buf_p;
size_t ps_buf_size;
int super_no;
int maila_no;
int mailb_no;
int mailc_no;
int ps_no;
int header_back_start;
} mHandbillz_Info_c;
#ifdef __cplusplus
}
#endif
+1
View File
@@ -232,6 +232,7 @@ extern int mMsg_Check_not_series_main_wait(mMsg_Window_c* msg_win);
extern int mMsg_Check_MainDisappear(mMsg_Window_c* msg_win);
extern void mMsg_request_main_disappear_wait_type1(mMsg_Window_c* msg_win);
extern void mMsg_request_main_appear_wait_type1(mMsg_Window_c* msg_win);
extern void mMsg_Get_BodyParam(u32 table_rom_start, u32 data_rom_start, int entry_no, u32* data_addr, u32* data_size);
#ifdef __cplusplus
}
+4
View File
@@ -8,10 +8,14 @@
extern "C" {
#endif
#define mString_ARTICLE_START 0x737
extern void mString_Load_StringFromRom(u8* buf, size_t buf_size, u32 str_no);
extern int mString_Load_MonthStringFromRom(u8* buf, lbRTC_month_t month);
extern int mString_Load_DayStringFromRom(u8* buf, lbRTC_day_t day);
#define mString_Load_ArticleFromRom(buf, buf_size, art) mString_Load_StringFromRom(buf, buf_size, mString_ARTICLE_START + art)
#ifdef __cplusplus
}
#endif