summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2024-12-28 15:32:37 -0800
committerJasper St. Pierre <jstpierre@mecheye.net>2024-12-28 15:33:02 -0800
commit72bbd3ea1f2478d6926546f7207c5e418bb2f7ec (patch)
treec5e7967e0a79b941543b805bb63f61a42709cfa1 /include
parentf543b7b4718a388aafd67203f10bc1f7cfa2bcf3 (diff)
f_op_msg_mng work
Diffstat (limited to 'include')
-rw-r--r--include/JSystem/J2DGraph/J2DTextBox.h2
-rw-r--r--include/d/d_com_inf_game.h11
-rw-r--r--include/d/d_s_open.h25
-rw-r--r--include/f_op/f_op_msg_mng.h45
4 files changed, 68 insertions, 15 deletions
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];
};