Files
tww/include/d/d_mesg.h
T
2025-04-17 12:16:48 -07:00

264 lines
7.6 KiB
C++

#ifndef D_MESG_H
#define D_MESG_H
#include "dolphin/types.h"
#include "JSystem/JMessage/control.h"
#include "d/d_drawlist.h"
#include "f_op/f_op_msg.h"
#include "f_op/f_op_msg_mng.h"
class J2DPicture;
class J2DScreen;
class JKRExpHeap;
class JUTFont;
class JPABaseEmitter;
class dMesg_outFont_c;
class dMesg_screenData_c;
class sub_mesg_class : public msg_class {
public:
/* 0x0FC */ JKRExpHeap* heap;
/* 0x100 */ JKRExpHeap* field_0x100;
/* 0x104 */ dMesg_outFont_c* outfont[18];
/* 0x14C */ dMesg_screenData_c* screen;
/* 0x150 */ u8 field_0x150[0x154 - 0x150];
/* 0x154 */ char* text[4];
/* 0x164 */ u8 field_0x164;
};
class dMesg_outFont_c {
public:
void getTimer() {}
virtual ~dMesg_outFont_c();
void _create();
void _delete();
void _initialize();
bool _set(s16, s16, s16, u32, u8);
void _draw();
void _setAlpha(u8);
/* 0x04 */ J2DPicture* icon;
/* 0x08 */ J2DPicture* kage;
/* 0x0C */ int field_0xc;
/* 0x10 */ s16 field_0x10;
/* 0x12 */ s16 field_0x12;
/* 0x14 */ s16 field_0x14;
/* 0x16 */ s16 field_0x16;
/* 0x18 */ u8 mAlpha;
/* 0x19 */ u8 field_0x19;
};
class dMesg_tControl : public JMessage::TControl {
public:
void getCharCode() {}
void getCharSpace() {}
void getInitFontSize() {}
void getLineCount() {}
void getLineLength(int) {}
void getLineStart() {}
void getMainFont() {}
void getNowFontSize() {}
void getRubyFont() {}
void getTextBoxWidth() {}
void isHeader() {}
void setCharCode(int) {}
void setCode16FgOff() {}
void setHeaderOff() {}
void setHeaderOn() {}
void setLineCount(int) {}
void setLineLength(int, f32) {}
void setLineStart(int) {}
void setMainFont(JUTFont* font) { mMainFont = font; }
void setNowFontSize(int) {}
void setRubyFont(JUTFont* font) { mRubyFont = font; }
dMesg_tControl();
const char* do_word(u32);
public:
/* 0x3C */ JUTFont* mMainFont;
/* 0x40 */ JUTFont* mRubyFont;
/* 0x44 */ f32 field_0x44[4];
/* 0x54 */ int field_0x54;
/* 0x58 */ int field_0x58;
/* 0x5C */ int field_0x5c;
/* 0x60 */ int field_0x60;
/* 0x64 */ int field_0x64;
/* 0x68 */ int field_0x68;
/* 0x6C */ int field_0x6c;
/* 0x70 */ u8 field_0x70;
/* 0x71 */ u8 field_0x71;
};
class dMesg_tSequenceProcessor : public JMessage::TSequenceProcessor {
public:
void decWaitRest() {}
void getNowColor() {}
void getStopFlag() {}
void resetWaitRest() {}
void setMesg(sub_mesg_class* mesg) { mMesg = mesg; }
void setNowColor(u32) {}
void setShortCutFlag() {}
void setWaitRest() {}
dMesg_tSequenceProcessor(JMessage::TControl*);
virtual ~dMesg_tSequenceProcessor() {}
void initialize(int);
virtual void do_begin(const void*, const char*);
virtual void do_end();
virtual bool do_isReady();
virtual bool do_jump_isReady();
virtual void do_jump(const void*, const char*);
virtual void do_branch_query(u16);
virtual int do_branch_queryResult();
virtual void do_branch(const void*, const char*);
virtual void do_character(int);
virtual bool do_tag(u32, const void*, u32);
void setCharacter();
char* ruby_character(char*, int);
virtual bool do_systemTagCode(u16, const void*, u32);
/* 0x038 */ sub_mesg_class* mMesg;
/* 0x03C */ const void* field_0x3c;
/* 0x040 */ const char* field_0x40;
/* 0x044 */ f32 field_0x44;
/* 0x048 */ f32 field_0x48;
/* 0x04C */ f32 field_0x4c;
/* 0x050 */ f32 field_0x50;
/* 0x054 */ f32 field_0x54;
/* 0x058 */ int field_0x58;
/* 0x05C */ int field_0x5c;
/* 0x060 */ int field_0x60;
/* 0x064 */ int field_0x64;
/* 0x068 */ int field_0x68;
/* 0x06C */ u32 field_0x6c;
/* 0x070 */ int field_0x70;
/* 0x074 */ int field_0x74;
/* 0x078 */ int field_0x78;
/* 0x07C */ int field_0x7c[4];
/* 0x08C */ int field_0x8c;
/* 0x090 */ int field_0x90;
/* 0x094 */ char field_0x94;
/* 0x095 */ u8 field_0x95;
/* 0x096 */ u8 field_0x96;
/* 0x097 */ char field_0x97[100];
/* 0x0FB */ char field_0xfb[100];
/* 0x15F */ u8 field_0x15f;
/* 0x160 */ u8 field_0x160;
/* 0x161 */ u8 field_0x161;
/* 0x162 */ u8 field_0x162;
/* 0x163 */ u8 field_0x163;
};
class dMesg_tMeasureProcessor : public JMessage::TSequenceProcessor {
public:
dMesg_tMeasureProcessor(JMessage::TControl*, int);
virtual ~dMesg_tMeasureProcessor() {}
virtual void do_character(int);
virtual void do_end();
virtual bool do_tag(u32, const void*, u32);
virtual bool do_systemTagCode(u16, const void*, u32);
/* 0x38 */ f32 field_0x38[4];
/* 0x48 */ f32 field_0x48;
/* 0x4C */ int field_0x4c;
/* 0x50 */ int field_0x50;
/* 0x54 */ u8 field_0x54;
};
class dMesg_tRenderingProcessor : public JMessage::TRenderingProcessor {
public:
dMesg_tRenderingProcessor(JMessage::TControl*);
virtual ~dMesg_tRenderingProcessor() {}
virtual void do_begin(const void*, const char*);
virtual void do_end();
virtual void do_character(int);
virtual bool do_tag(u32, const void*, u32);
virtual bool do_systemTagCode(u16, const void*, u32);
};
class dMesg_screenData_c : public dDlst_base_c {
public:
void deleteScreen() {}
void getTextPosX(int) {}
void getTextPosY(int) {}
void resetTimer() {}
void setFont(JUTFont* font1, JUTFont* font2) {
field_0x10 = font1;
field_0x14 = font2;
}
void setHeap(JKRExpHeap* heap) { mHeap = heap; }
void setMesg(sub_mesg_class* mesg) { mMesg = mesg; }
virtual ~dMesg_screenData_c() {}
virtual void draw() {}
virtual void createScreen() {}
virtual void changeFont(JUTFont*) {}
virtual void move() {}
virtual bool openAnime() = 0;
virtual bool closeAnime() = 0;
virtual void setTextPosition(u8) {}
void setCommonData();
void initString(char*, int);
void setString(char*, int);
void shiftSet(int, int);
void arwAnimeInit();
void arwAnime();
void dotAnimeInit();
void dotAnime();
/* 0x004 */ JKRExpHeap* mHeap;
/* 0x008 */ sub_mesg_class* mMesg;
/* 0x00C */ J2DScreen* scrn;
/* 0x010 */ JUTFont* field_0x10;
/* 0x014 */ JUTFont* field_0x14;
/* 0x018 */ fopMsgM_pane_class field_0x18;
/* 0x050 */ fopMsgM_pane_class field_0x50;
/* 0x088 */ fopMsgM_pane_class field_0x88[4];
/* 0x168 */ fopMsgM_pane_class field_0x168;
/* 0x1A0 */ u8 field_0x1a0[0x1A4 - 0x1A0];
/* 0x1A4 */ int field_0x1a4;
/* 0x1A8 */ s16 field_0x1a8;
/* 0x1AA */ u8 field_0x1aa[0x1AC - 0x1AA];
/* 0x1AC */ JUtility::TColor field_0x1ac;
/* 0x1B0 */ JUtility::TColor field_0x1b0;
};
class dMesg_screenDataTalk_c : public dMesg_screenData_c {
public:
virtual ~dMesg_screenDataTalk_c() {}
virtual void createScreen();
virtual void changeFont(JUTFont*);
virtual bool openAnime();
virtual bool closeAnime();
virtual void setTextPosition(u8);
virtual void draw();
/* 0x1B4*/ f32 field_0x1b4;
};
class dMesg_screenDataItem_c : public dMesg_screenData_c {
public:
virtual ~dMesg_screenDataItem_c() {}
virtual void createScreen();
virtual void changeFont(JUTFont*);
virtual void deleteScreen();
virtual bool openAnime();
virtual bool closeAnime();
virtual void move();
virtual void draw();
void ringMove();
void lightMove();
void cornerMove();
/* 0x1B4 */ fopMsgM_pane_class field_0x1b4;
/* 0x1EC */ fopMsgM_pane_class field_0x1ec;
/* 0x224 */ fopMsgM_pane_class field_0x224[8];
/* 0x3E4 */ JPABaseEmitter* field_0x3e4;
/* 0x3E8 */ f32 field_0x3e8;
/* 0x3EC */ ResTIMG* texBuffer;
};
#endif /* D_MESG_H */