From 72bbd3ea1f2478d6926546f7207c5e418bb2f7ec Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 28 Dec 2024 15:32:37 -0800 Subject: f_op_msg_mng work --- include/JSystem/J2DGraph/J2DTextBox.h | 2 +- include/d/d_com_inf_game.h | 11 +++++++++ include/d/d_s_open.h | 25 ++++++++++--------- include/f_op/f_op_msg_mng.h | 45 ++++++++++++++++++++++++++++++++++- 4 files changed, 68 insertions(+), 15 deletions(-) (limited to 'include') diff --git a/include/JSystem/J2DGraph/J2DTextBox.h b/include/JSystem/J2DGraph/J2DTextBox.h index 7ca55c48..2e7f53c6 100644 --- a/include/JSystem/J2DGraph/J2DTextBox.h +++ b/include/JSystem/J2DGraph/J2DTextBox.h @@ -83,4 +83,4 @@ private: /* 0xFE */ bool mTextFontOwned; }; // Size: 0x100 -#endif /* J2DTEXTBOX_H */ \ No newline at end of file +#endif /* J2DTEXTBOX_H */ diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index b5b0d025..1b9fea2b 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -298,6 +298,7 @@ public: int getItemRupeeCount() { return mItemRupeeCount; } void setItemRupeeCount(s32 count) { mItemRupeeCount += count; } void setMessageCountNumber(s16 num) { mMsgCountNumber = num; } + s16 getMessageCountNumber() { return mMsgCountNumber; } void setMessageSetNumber(s16 num) { mMsgSetNumber = num; } s16 getMessageSetNumber() { return mMsgSetNumber; } @@ -467,6 +468,7 @@ public: void setMsgArchive(JKRArchive * pArc) { mpMsgArchive = pArc; } void setDmsgArchive(JKRArchive * pArc) { mpDmsgArchive = pArc; } + JKRArchive* getDmsgArchive() { return mpDmsgArchive; } void setTmsgArchive(JKRArchive * pArc) { mpTmsgArchive = pArc; } JKRArchive* getTmsgArchive() { return mpTmsgArchive; } void setMenuArchive(JKRArchive * pArc) { mpMenuArchive = pArc; } @@ -498,8 +500,10 @@ public: void setWindResArchive(JKRArchive * pArc) { mpWindResArchive = pArc; } void setFontArchive(JKRArchive * pArc) { mpFont0Archive = pArc; } void setMsgDtArchive(JKRArchive * pArc) { mpEnglishTextArchive = pArc; } + JKRArchive* getMsgDtArchive() { return mpEnglishTextArchive; } #if VERSION != VERSION_JPN void setMsgDt2Archive(JKRArchive * pArc) { mpHyruleTextArchive = pArc; } + JKRArchive* getMsgDt2Archive() { return mpHyruleTextArchive; } #endif void setItemTable(void * pData) { mpItemTable = (ItemTableList*)pData; } @@ -2358,6 +2362,10 @@ inline void dComIfGp_setMessageCountNumber(s16 num) { g_dComIfG_gameInfo.play.setMessageCountNumber(num); } +inline s16 dComIfGp_getMessageCountNumber() { + return g_dComIfG_gameInfo.play.getMessageCountNumber(); +} + inline s32 dComIfGp_checkStatus(u16 flags) { return g_dComIfG_gameInfo.play.checkStatus(flags); } @@ -3154,6 +3162,7 @@ inline void dComIfGp_setAnmArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play. inline JKRArchive* dComIfGp_getAnmArchive() { return g_dComIfG_gameInfo.play.getAnmArchive(); } inline void dComIfGp_setMsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMsgArchive(pArc); } inline void dComIfGp_setDmsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setDmsgArchive(pArc); } +inline JKRArchive* dComIfGp_getDmsgArchive() { return g_dComIfG_gameInfo.play.getDmsgArchive(); } inline void dComIfGp_setTmsgArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setTmsgArchive(pArc); } inline JKRArchive* dComIfGp_getTmsgArchive() { return g_dComIfG_gameInfo.play.getTmsgArchive(); } inline void dComIfGp_setMenuArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMenuArchive(pArc); } @@ -3183,8 +3192,10 @@ inline void dComIfGp_setSwimResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.p inline void dComIfGp_setWindResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setWindResArchive(pArc); } inline void dComIfGp_setFontArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFontArchive(pArc); } inline void dComIfGp_setMsgDtArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMsgDtArchive(pArc); } +inline JKRArchive* dComIfGp_getMsgDtArchive() { return g_dComIfG_gameInfo.play.getMsgDtArchive(); } #if VERSION != VERSION_JPN inline void dComIfGp_setMsgDt2Archive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMsgDt2Archive(pArc); } +inline JKRArchive* dComIfGp_getMsgDt2Archive() { return g_dComIfG_gameInfo.play.getMsgDt2Archive(); } #endif inline void dComIfGp_setItemTable(void * pData) { g_dComIfG_gameInfo.play.setItemTable(pData); } diff --git a/include/d/d_s_open.h b/include/d/d_s_open.h index da1ce372..d6f48988 100644 --- a/include/d/d_s_open.h +++ b/include/d/d_s_open.h @@ -1,6 +1,7 @@ #ifndef D_S_OPEN #define D_S_OPEN +#include "JSystem/J2DGraph/J2DPane.h" #include "d/d_drawlist.h" #include "f_op/f_op_msg_mng.h" #include "f_op/f_op_scene.h" @@ -12,13 +13,21 @@ class dScnOpen_message_c { public: dScnOpen_message_c(JKRExpHeap*); virtual ~dScnOpen_message_c(); + inline void set_pane_pointer(J2DPane* tx1, J2DPane* tx2); void set_message(u32, int); void exec(); public: - /* 0x0000 */ u8 field_0x00[0x2000]; + /* 0x0004 */ char msg1[0x800]; + /* 0x0804 */ char msg2[0x800]; + /* 0x1004 */ char msg3[0x800]; + /* 0x1804 */ char msg4[0x800]; /* 0x2004 */ fopMsgM_msgDataProc_c mMsgDataProc; - /* 0x22A4 */ u8 field_0x22a4[0x22c0 - 0x22a4]; + /* 0x22A4 */ u8 field_0x22a4[0x22bc - 0x22a4]; + /* 0x22BC */ u8 field_0x22bc; + /* 0x22BD */ u8 field_0x22bd; + /* 0x22BE */ u8 field_0x22be; + /* 0x22BF */ u8 field_0x22bf; /* 0x22C0 */ u32 field_0x22c0; /* 0x22C4 */ J2DTextBox* field_0x22c4; /* 0x22C8 */ J2DTextBox* field_0x22c8; @@ -45,17 +54,7 @@ public: /* 0x004 */ JKRExpHeap* exp_heap; /* 0x008 */ dScnOpen_message_c* m_message; /* 0x00C */ J2DScreen* m_Screen; - /* 0x010 */ J2DPane* d1; - /* 0x014 */ J2DPane* d2; - /* 0x018 */ J2DPane* d3; - /* 0x01C */ J2DPane* d4; - /* 0x020 */ J2DPane* d42; - /* 0x024 */ J2DPane* d5; - /* 0x028 */ J2DPane* d6; - /* 0x02C */ J2DPane* mak1; - /* 0x030 */ J2DPane* mak2; - /* 0x034 */ J2DTextBox* tx1; - /* 0x038 */ J2DTextBox* tx2; + /* 0x010 */ J2DPane* pane2d[11]; /* 0x03C */ fopMsgM_pane_class pane[11]; /* 0x2A4 */ f32 mPosX; /* 0x2A8 */ f32 mAlpha; diff --git a/include/f_op/f_op_msg_mng.h b/include/f_op/f_op_msg_mng.h index 5c1eabc6..c44ddca4 100644 --- a/include/f_op/f_op_msg_mng.h +++ b/include/f_op/f_op_msg_mng.h @@ -12,6 +12,11 @@ class msg_class; class J2DPane; class J2DScreen; class J2DPicture; +class JUTFont; +struct mesg_header; +struct mesg_data; +struct mesg_info; +struct mesg_entry; struct msg_process_profile_definition { /* 0x00 */ leaf_process_profile_definition base; @@ -56,12 +61,43 @@ struct fopMsgM_pane_alpha_class { /* 0x05 */ u8 mNowAlpha; }; +class fopMsgM_msgGet_c { +public: + virtual ~fopMsgM_msgGet_c() {} + mesg_header* getMesgHeader(u32); + mesg_info* getMesgInfo(mesg_header*); + mesg_data* getMesgData(mesg_header*); + mesg_entry getMesgEntry(mesg_header*); + const char* getMessage(mesg_header*); + +public: + /* 0x04 */ u32 mMsgIdx; + /* 0x08 */ u16 mGroupID; + /* 0x0A */ u16 mMsgID; + /* 0x0C */ u16 mResMsgIdx; +}; + +class fopMsgM_itemMsgGet_c { +public: + virtual ~fopMsgM_itemMsgGet_c() {} + mesg_header* getMesgHeader(u32); + mesg_info* getMesgInfo(mesg_header*); + mesg_data* getMesgData(mesg_header*); + mesg_entry getMesgEntry(mesg_header*); + const char* getMessage(mesg_header*); + +public: + /* 0x04 */ u32 mMsgIdx; + /* 0x08 */ u16 mMsgID; + /* 0x0A */ u16 mResMsgIdx; +}; + class fopMsgM_msgDataProc_c { public: fopMsgM_msgDataProc_c(); virtual ~fopMsgM_msgDataProc_c(); void dataInit(); - void charLength(int, int, bool); + f32 charLength(int, int, bool); void rubyLength(int, bool); void stringLength(); void stringShift(); @@ -148,6 +184,13 @@ public: void tag_input_kenshi(); public: + /* 0x004 */ JUTFont* font[2]; + /* 0x00C */ mesg_entry* mesg_entry; + /* 0x010 */ u32 field_0x010; + /* 0x014 */ f32 field_0x014; + /* 0x018 */ f32 field_0x018; + /* 0x01C */ f32 field_0x01C; + /* 0x020 */ f32 field_0x020; /* 0x000 */ u8 field_0x00[0x29C]; }; -- cgit v1.2.3