mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-14 06:04:22 -04:00
254 lines
8.7 KiB
C++
254 lines
8.7 KiB
C++
#ifndef F_OP_MSG_MNG_H
|
|
#define F_OP_MSG_MNG_H
|
|
|
|
#include "SSystem/SComponent/c_xyz.h"
|
|
#include "f_pc/f_pc_leaf.h"
|
|
#include "f_op/f_op_msg.h"
|
|
|
|
class JKRExpHeap;
|
|
class JKRHeap;
|
|
class fopAc_ac_c;
|
|
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;
|
|
/* 0x24 */ msg_method_class* sub_method; // Subclass methods
|
|
};
|
|
|
|
struct fopMsg_prm_class {
|
|
/* 0x00 */ fopAc_ac_c* mpActor;
|
|
/* 0x04 */ cXyz mPos;
|
|
/* 0x10 */ u32 mMsgNo;
|
|
/* 0x14 */ u32 field_0x14;
|
|
/* 0x18 */ int field_0x18;
|
|
}; // Size: 0x1C
|
|
|
|
struct fopMsg_prm_timer : public fopMsg_prm_class {
|
|
/* 0x1C */ int mTimerMode;
|
|
/* 0x20 */ u16 mLimitTimeMs;
|
|
/* 0x22 */ u8 mShowType;
|
|
/* 0x23 */ u8 mIconType;
|
|
/* 0x24 */ cXy mTimerPos;
|
|
/* 0x2C */ cXy mRupeePos;
|
|
}; // Size: 0x34
|
|
|
|
class J2DScreen;
|
|
|
|
struct fopMsgM_pane_class {
|
|
/* 0x00 */ J2DPane * pane;
|
|
/* 0x04 */ cXy mPosTopLeftOrig;
|
|
/* 0x0C */ cXy mPosTopLeft;
|
|
/* 0x14 */ cXy mPosCenterOrig;
|
|
/* 0x1C */ cXy mPosCenter;
|
|
/* 0x24 */ cXy mSizeOrig;
|
|
/* 0x2C */ cXy mSize;
|
|
/* 0x34 */ u8 mInitAlpha;
|
|
/* 0x35 */ u8 mNowAlpha;
|
|
/* 0x36 */ s16 mUserArea;
|
|
};
|
|
|
|
struct fopMsgM_pane_alpha_class {
|
|
/* 0x00 */ J2DPane * pane;
|
|
/* 0x04 */ u8 mInitAlpha;
|
|
/* 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();
|
|
f32 charLength(int, int, bool);
|
|
void rubyLength(int, bool);
|
|
void stringLength();
|
|
void stringShift();
|
|
void iconSelect(int, u8);
|
|
void iconIdxRefresh();
|
|
void selectCheck2(J2DPane*, int, int, int);
|
|
void selectCheck3(J2DPane*, int, int, int);
|
|
void selectCheckYoko(J2DPane*, int, int, int);
|
|
void inputNumber(int);
|
|
void selectArrow(J2DPicture*, f32, f32, f32, f32);
|
|
void selectArrow(J2DPicture*, f32, f32);
|
|
void colorAnime(J2DPicture*);
|
|
void stringSet();
|
|
void setSelectFlagYokoOn();
|
|
void setSelectFlagOn();
|
|
void setHandSendFlagOn();
|
|
void setAutoSendFlagOn();
|
|
void getHandSendFlag();
|
|
void getAutoSendFlag();
|
|
void getString(char*, u32);
|
|
void getString(char*, char*, char*, char*, u32, f32*, f32*, int*);
|
|
void getRubyString(char*, char*, char*, char*, char*, char*, f32*, f32*, int*);
|
|
void tag_len_kaisen_game(int*, f32*, int*, int*, int*);
|
|
void tag_len_rupee(int*, f32*, int*, int*, int*);
|
|
void tag_len_num_input(int*, f32*, int*, int*, int*);
|
|
void tag_len_sword_game(int*, f32*, int*, int*, int*);
|
|
void tag_len_letter_game(int*, f32*, int*, int*, int*);
|
|
void tag_len_letter_game_max(int*, f32*, int*, int*, int*);
|
|
void tag_len_fish(int*, f32*, int*, int*, int*);
|
|
void tag_len_fish_rupee(int*, f32*, int*, int*, int*);
|
|
void tag_len_letter(int*, f32*, int*, int*, int*);
|
|
void tag_len_rescue(int*, f32*, int*, int*, int*);
|
|
void tag_len_forest_timer(int*, f32*, int*, int*, int*);
|
|
void tag_len_birdman(int*, f32*, int*, int*, int*);
|
|
void tag_len_point(int*, f32*, int*, int*, int*);
|
|
void tag_len_get_pendant(int*, f32*, int*, int*, int*);
|
|
void tag_len_rev_pendant(int*, f32*, int*, int*, int*);
|
|
void tag_len_pig_timer(int*, f32*, int*, int*, int*);
|
|
void tag_len_get_bomb(int*, f32*, int*, int*, int*);
|
|
void tag_len_get_arrow(int*, f32*, int*, int*, int*);
|
|
void tag_len_stock_bokobaba(int*, f32*, int*, int*, int*);
|
|
void tag_len_stock_dokuro(int*, f32*, int*, int*, int*);
|
|
void tag_len_stock_chuchu(int*, f32*, int*, int*, int*);
|
|
void tag_len_stock_pendant(int*, f32*, int*, int*, int*);
|
|
void tag_len_stock_hane(int*, f32*, int*, int*, int*);
|
|
void tag_len_stock_kenshi(int*, f32*, int*, int*, int*);
|
|
void tag_len_terry_rupee(int*, f32*, int*, int*, int*);
|
|
void tag_len_input_bokobaba(int*, f32*, int*, int*, int*);
|
|
void tag_len_input_dokuro(int*, f32*, int*, int*, int*);
|
|
void tag_len_input_chuchu(int*, f32*, int*, int*, int*);
|
|
void tag_len_input_pendant(int*, f32*, int*, int*, int*);
|
|
void tag_len_input_hane(int*, f32*, int*, int*, int*);
|
|
void tag_len_input_kenshi(int*, f32*, int*, int*, int*);
|
|
void tag_kaisen_game();
|
|
void tag_rupee();
|
|
void tag_num_input();
|
|
void tag_sword_game();
|
|
void tag_letter_game();
|
|
void tag_letter_game_max();
|
|
void tag_fish();
|
|
void tag_fish_rupee();
|
|
void tag_letter();
|
|
void tag_rescue();
|
|
void tag_forest_timer();
|
|
void tag_birdman();
|
|
void tag_point();
|
|
void tag_get_pendant();
|
|
void tag_rev_pendant();
|
|
void tag_pig_timer();
|
|
void tag_get_bomb();
|
|
void tag_get_arrow();
|
|
void tag_stock_bokobaba();
|
|
void tag_stock_dokuro();
|
|
void tag_stock_chuchu();
|
|
void tag_stock_pendant();
|
|
void tag_stock_hane();
|
|
void tag_stock_kenshi();
|
|
void tag_terry_rupee();
|
|
void tag_input_bokobaba();
|
|
void tag_input_dokuro();
|
|
void tag_input_chuchu();
|
|
void tag_input_pendant();
|
|
void tag_input_hane();
|
|
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];
|
|
};
|
|
|
|
typedef int (*fopMsgCreateFunc)(void*);
|
|
|
|
JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*);
|
|
JKRExpHeap* fopMsgM_createExpHeap(u32);
|
|
fpc_ProcID fopMsgM_Create(s16, fopMsgCreateFunc, void*);
|
|
fpc_ProcID fopMsgM_create(s16 i_procName, fopAc_ac_c* param_1 = NULL, cXyz* param_2 = NULL,
|
|
u32* param_3 = NULL, u32* param_4 = NULL, fopMsgCreateFunc createFunc = NULL);
|
|
void fop_MGameTerm_create(s16, s16, s16, int, int, fopMsgCreateFunc);
|
|
void fopMsgM_Delete(void* process);
|
|
fopMsg_prm_class* fopMsgM_GetAppend(void* msg);
|
|
void fopMsgM_destroyExpHeap(JKRExpHeap*);
|
|
f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2);
|
|
s32 fopMsgM_setStageLayer(void*);
|
|
fpc_ProcID fopMsgM_messageSet(u32 i_msgNo, fopAc_ac_c* i_actorP);
|
|
fpc_ProcID fopMsgM_messageSet(u32 param_0, cXyz*);
|
|
fpc_ProcID fopMsgM_messageSet(u32 param_0);
|
|
fpc_ProcID fopMsgM_scopeMessageSet(u32 param_0);
|
|
int fopMsgM_messageSetDemo(u32 param_0);
|
|
msg_class* fopMsgM_SearchByID(fpc_ProcID param_0);
|
|
char* fopMsgM_messageGet(char* msg, u32 string_id);
|
|
void fopMsgM_passwordGet(char*, u32);
|
|
fpc_ProcID fop_Timer_create(s16 param_0, u8 param_1, u16 param_2, u8 param_3, u8 param_4, f32 param_5,
|
|
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc);
|
|
inline fpc_ProcID fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4,
|
|
f32 param_5, f32 param_6, f32 param_7, f32 param_8,
|
|
fopMsgCreateFunc createFunc) {
|
|
return fop_Timer_create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7,
|
|
param_8, createFunc);
|
|
}
|
|
|
|
void fopMsgM_setPaneData(fopMsgM_pane_class*, J2DPane*);
|
|
void fopMsgM_setPaneData(fopMsgM_pane_class*, J2DScreen*, u32);
|
|
void fopMsgM_setInitAlpha(fopMsgM_pane_class*);
|
|
void fopMsgM_setNowAlpha(fopMsgM_pane_class*, f32);
|
|
void fopMsgM_setNowAlphaZero(fopMsgM_pane_class*);
|
|
void fopMsgM_setAlpha(fopMsgM_pane_class*);
|
|
void fopMsgM_paneScaleXY(fopMsgM_pane_class*, f32);
|
|
void fopMsgM_cposMove(fopMsgM_pane_class*);
|
|
void fopMsgM_paneTrans(fopMsgM_pane_class*, f32, f32);
|
|
|
|
void fopMsgM_setPaneData(fopMsgM_pane_alpha_class*, J2DPane*);
|
|
void fopMsgM_setPaneData(fopMsgM_pane_alpha_class*, J2DScreen*, u32);
|
|
void fopMsgM_setNowAlpha(fopMsgM_pane_alpha_class*, f32);
|
|
void fopMsgM_setAlpha(fopMsgM_pane_alpha_class*);
|
|
|
|
u32 fopMsgM_searchMessageNumber(u32);
|
|
void fopMsgM_messageSendOn();
|
|
u32 fopMsgM_tactMessageSet();
|
|
void fopMsgM_demoMsgFlagOn();
|
|
|
|
void fopMsgM_demoMsgFlagOn();
|
|
void fopMsgM_demoMsgFlagOff();
|
|
bool fopMsgM_demoMsgFlagCheck();
|
|
|
|
void fopMsgM_blendInit(fopMsgM_pane_class* i_this, const char* data);
|
|
|
|
#endif /* F_OP_MSG_MNG_H */
|