mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-07-07 20:11:51 -04:00
Implement & partial match m_handbill.c
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user