msg_flow wip

This commit is contained in:
TakaRikka 2022-03-15 02:25:25 -07:00
parent fdaeb3437d
commit 985d47a5c8
33 changed files with 1675 additions and 2006 deletions

View File

@ -3,4 +3,21 @@
#include "dolphin/types.h"
namespace JMessage {
struct TProcessor;
struct TControl {
/* 802A7548 */ TControl();
/* 802A758C */ ~TControl();
/* 802A75D4 */ void reset();
/* 802A7634 */ void update();
/* 802A76BC */ void render();
/* 802A77E8 */ void setMessageCode(u16, u16);
/* 802A78F4 */ void setMessageID(u32, u32, bool*);
/* 802A7A20 */ void setMessageCode_inSequence_(JMessage::TProcessor const*, u16, u16);
};
};
struct jmessage_tControl {};
#endif /* CONTROL_H */

View File

@ -3,4 +3,10 @@
#include "dolphin/types.h"
namespace JMessage {
struct data {
static f32 ga4cSignature[1 + 1 /* padding */];
};
};
#endif /* DATA_H */

View File

@ -3,4 +3,13 @@
#include "dolphin/types.h"
namespace JMessage {
struct locale {
/* 802A9490 */ void parseCharacter_1Byte(char const**);
/* 802A94A8 */ void parseCharacter_2Byte(char const**);
/* 802A9528 */ void parseCharacter_ShiftJIS(char const**);
/* 802A958C */ void parseCharacter_UTF8(char const**);
};
};
#endif /* LOCALE_H */

View File

@ -2,5 +2,111 @@
#define PROCESSOR_H
#include "dolphin/types.h"
#include "SSystem/SComponent/c_xyz.h"
namespace JMessage {
struct TProcessor {
/* 802A7B48 */ ~TProcessor();
/* 802A7B90 */ void reset();
/* 802A7BF8 */ void stack_pushCurrent(char const*);
/* 802A7C30 */ void stack_popCurrent();
/* 802A7C54 */ void getResource_groupID(u16) const;
/* 802A7CD4 */ void toMessageCode_messageID(u32, u32, bool*) const;
/* 802A7E38 */ void on_select_begin(char const* (*)(JMessage::TProcessor*), void const*,
char const*, u32);
/* 802A7EDC */ void on_select_end();
/* 802A7F34 */ void on_select_separate();
/* 802A7FC0 */ void do_reset();
/* 802A7FC4 */ void do_begin(void const*, char const*);
/* 802A7FC8 */ void do_end();
/* 802A7FCC */ void do_character(int);
/* 802A7FD0 */ bool do_tag(u32, void const*, u32);
/* 802A7FD8 */ void do_select_begin(u32);
/* 802A7FDC */ void do_select_end();
/* 802A7FE0 */ void do_select_separate();
/* 802A7FE4 */ void on_tag_();
/* 802A8084 */ void do_resetStatus_(char const*);
/* 802A8088 */ bool do_setBegin_isReady_() const;
/* 802A8090 */ void do_tag_(u32, void const*, u32);
/* 802A81EC */ void process_character_();
/* 802A828C */ void process_onCharacterEnd_normal_(JMessage::TProcessor*);
/* 802A82F4 */ void process_onCharacterEnd_select_(JMessage::TProcessor*);
/* 802A833C */ void process_onSelect_limited_(JMessage::TProcessor*);
/* 802A8358 */ void process_onSelect_(JMessage::TProcessor*);
/* 802A8C24 */ void on_message(u32) const;
/* 802A8C44 */ void getMessageText_messageCode(u32) const;
};
struct TReference {
/* 802A7AF8 */ ~TReference();
/* 802A7B40 */ bool do_word(u32) const;
};
struct TControl;
struct TSequenceProcessor {
/* 802A8374 */ TSequenceProcessor(JMessage::TReference const*, JMessage::TControl*);
/* 802A83B8 */ ~TSequenceProcessor();
/* 802A8418 */ void process(char const*);
/* 802A85A4 */ void on_isReady();
/* 802A85D0 */ void on_jump_register(void const* (*)(JMessage::TSequenceProcessor const*),
u32);
/* 802A85E4 */ void on_jump_isReady();
/* 802A8610 */ void on_jump(void const*, char const*);
/* 802A8690 */ void on_branch_register(void const* (*)(JMessage::TSequenceProcessor const*,
u32),
void const*, u32);
/* 802A86A0 */ void on_branch_query(u32);
/* 802A86D4 */ void on_branch_queryResult();
/* 802A8700 */ void on_branch(void const*, char const*);
/* 802A8780 */ bool do_isReady();
/* 802A8788 */ bool do_jump_isReady();
/* 802A8790 */ void do_jump(void const*, char const*);
/* 802A8794 */ void do_branch_query(u32);
/* 802A8798 */ s32 do_branch_queryResult();
/* 802A87A0 */ void do_branch(void const*, char const*);
/* 802A87A4 */ void do_resetStatus_(char const*);
/* 802A87C0 */ void do_setBegin_isReady_() const;
/* 802A87D0 */ void do_begin_(void const*, char const*);
/* 802A87D4 */ void do_end_();
/* 802A87E0 */ void do_tag_(u32, void const*, u32);
/* 802A892C */ void process_setMessageIndex_reserved_(u16);
/* 802A8944 */ void process_setMessageCode_(JMessage::TSequenceProcessor const*, u16, u16);
/* 802A89B8 */ void process_onJump_limited_(JMessage::TSequenceProcessor const*);
/* 802A89EC */ void process_onJump_(JMessage::TSequenceProcessor const*);
/* 802A8A18 */ void process_onBranch_limited_(JMessage::TSequenceProcessor const*, u32);
/* 802A8A50 */ void process_onBranch_(JMessage::TSequenceProcessor const*, u32);
};
struct TRenderingProcessor {
/* 802A8A84 */ TRenderingProcessor(JMessage::TReference const*);
/* 802A8AC0 */ ~TRenderingProcessor();
/* 802A8B20 */ void process(char const*);
/* 802A8BA4 */ void do_begin_(void const*, char const*);
/* 802A8BA8 */ void do_end_();
/* 802A8BAC */ void do_tag_(u32, void const*, u32);
};
};
struct jmessage_tReference {
/* 80228B04 */ jmessage_tReference();
/* 80229034 */ void pageSend();
/* 80229168 */ void selectMessage();
/* 802294A8 */ void inputNumber();
/* 802297E4 */ void shiftCharCountBuffer();
/* 80229810 */ void resetCharCountBuffer();
/* 8022994C */ void isLightEnd();
/* 80238C78 */ void setActorPos(cXyz);
};
struct jmessage_tControl;
struct jmessage_tSequenceProcessor {
/* 8022B558 */ jmessage_tSequenceProcessor(jmessage_tReference const*, jmessage_tControl*);
};
struct jmessage_tRenderingProcessor {
/* 8022CCB0 */ jmessage_tRenderingProcessor(jmessage_tReference const*);
/* 8022E12C */ void resetRendering();
};
#endif /* PROCESSOR_H */

View File

@ -3,4 +3,33 @@
#include "dolphin/types.h"
namespace JMessage {
struct TResource {
/* 802A8CDC */ void toMessageIndex_messageID(u32, u32, bool*) const;
};
struct TResourceContainer {
struct TCResource {
/* 802A8EC0 */ TCResource();
/* 802A8EF8 */ ~TCResource();
/* 802A8F6C */ void Get_groupID(u16);
/* 802A8FFC */ void Do_create();
/* 802A9048 */ void Do_destroy(JMessage::TResource*);
};
/* 802A906C */ TResourceContainer();
/* 802A90B8 */ void setEncoding(u8);
/* 802A90F0 */ void setEncoding_(u8);
static void* sapfnParseCharacter_[5];
};
struct TParse {
/* 802A9130 */ TParse(JMessage::TResourceContainer*);
/* 802A9158 */ ~TParse();
/* 802A91B8 */ void parseHeader_next(void const**, u32*, u32);
/* 802A92F4 */ void parseBlock_next(void const**, u32*, u32);
};
};
#endif /* RESOURCE_H */

View File

@ -1815,7 +1815,7 @@ public:
/* 8011F0F4 */ void procDungeonWarp();
/* 8011F360 */ void procDungeonWarpSceneStartInit();
/* 8011F460 */ void procDungeonWarpSceneStart();
/* 8011F658 */ void checkAcceptWarp();
/* 8011F658 */ bool checkAcceptWarp();
/* 8011F7D8 */ void dungeonReturnWarp();
/* 8011F9EC */ void checkWarpStart();
/* 8011FBC0 */ void warpModelTexScroll();
@ -2213,9 +2213,9 @@ public:
virtual bool checkIronBallGroundStop() const;
virtual BOOL checkSingleBoarBattleSecondBowReady() const;
virtual void setClothesChange(int);
virtual void setPlayerPosAndAngle(float (*)[4]);
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
virtual void setPlayerPosAndAngle(cXyz const*, short, int);
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
virtual void setPlayerPosAndAngle(float (*)[4]);
virtual bool setThrowDamage(short, float, float, int, int, int);
virtual bool checkSetNpcTks(cXyz*, int, int);
virtual bool setRollJump(float, float, short);
@ -2259,7 +2259,7 @@ public:
virtual void skipPortalObjWarp();
virtual bool checkTreasureRupeeReturn(int) const;
virtual void setSumouReady(fopAc_ac_c*);
virtual void checkAcceptDungeonWarpAlink(int);
virtual bool checkAcceptDungeonWarpAlink(int);
virtual s16 getSumouCounter() const;
virtual s16 checkSumouWithstand() const;
virtual void cancelGoronThrowEvent();
@ -2338,6 +2338,7 @@ public:
field_0x2844.clearData();
}
s32 checkPlayerDemoMode() const { return mDemo.getDemoType(); }
u16 getMidnaMsgNum() const { return mMidnaMsgNum; }
BOOL i_checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; }
@ -4372,6 +4373,8 @@ public:
FORCE_PANIC = 8,
};
enum daMidna_FLG0 { NPC_NEAR = 0x100000, NPC_FAR = 0x40000 };
enum daMidna_FLG1 { FORCE_NORMAL_COLOR = 8, FORCE_TIRED_COLOR = 4 };
enum daMidna_ANM {};
@ -4427,12 +4430,15 @@ public:
/* 804C61A4 */ ~daMidna_c();
void onEndResetStateFlg0(daMidna_ERFLG0 pFlg) { mEndResetStateFlg0 |= pFlg; }
u32 checkStateFlg1(daMidna_FLG1 pFlg) const { return mStateFlg1 & pFlg; }
u32 checkStateFlg0(daMidna_FLG0 flag) const { return mStateFlg0 & flag; }
u32 checkStateFlg1(daMidna_FLG1 flag) const { return mStateFlg1 & flag; }
void setFaceNum(int num) { mFaceNum = num; }
void setMotionNum(int num) { mMotionNum = num; }
bool checkDemoTypeNone() const { return mDemoType == 0; }
void changeOriginalDemo() { mDemoType = 3; }
void changeDemoMode(u32 mode) { mDemoMode = mode; }
BOOL checkNpcNear() { return checkStateFlg0(NPC_NEAR); }
BOOL checkNpcFar() { return checkStateFlg0(NPC_FAR); }
inline bool checkMidnaRealBody();

View File

@ -419,9 +419,9 @@ public:
virtual BOOL checkSingleBoarBattleSecondBowReady() const;
virtual bool checkPointSubWindowMode() const;
virtual void setClothesChange(int);
virtual void setPlayerPosAndAngle(float (*)[4]);
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
virtual void setPlayerPosAndAngle(cXyz const*, short, int);
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
virtual void setPlayerPosAndAngle(float (*)[4]);
virtual bool setThrowDamage(short, float, float, int, int, int);
virtual bool checkSetNpcTks(cXyz*, int, int);
virtual bool setRollJump(float, float, short);
@ -523,6 +523,7 @@ public:
bool checkCanoeSlider() const { return mSpecialMode == 0x2D; }
u8 getCutType() const { return mCutType; }
u16 getSwordAtUpTime() const { return mSwordUpTimer; }
bool checkWaterInMove() const { return i_checkNoResetFlg0(UNDER_WATER_MOVEMENT); }
// some functions use these function as an inline
// is there a better way to handle this?

View File

@ -262,7 +262,7 @@ public:
mASetFlagForce = flag;
}
void setItemRupeeCount(int rupees) { mItemRupeeCount += rupees; }
void setItemRupeeCount(s32 rupees) { mItemRupeeCount += rupees; }
void setItemMagicCount(s16 magic) { mItemMagicCount += magic; }
void setItemMaxMagicCount(s16 max) { mItemMaxMagicCount += max; }
void setItemArrowNumCount(s16 arrows) { mItemArrowNumCount += arrows; }
@ -277,6 +277,7 @@ public:
void setItemNowLife(u16 life) { mItemNowLife = life; }
void setItemNowMagic(s16 magic) { mItemNowMagicCount = magic; }
void setItemNowOil(s32 oil) { mItemNowOil = oil; }
void setItemOilCount(s32 oil) { mItemOilCount += oil; }
s16 getItemMaxLifeCount() { return mItemMaxLifeCount; }
f32 getItemLifeCount() { return mItemLifeCount; }
void clearItemMaxLifeCount() { mItemMaxLifeCount = 0; }
@ -352,6 +353,7 @@ public:
void show2dOn() { mShow2D = 1; }
s8 getLayerOld() { return mLayerOld; }
void setMesgCancelButton(u8 button) { mMesgCancelButton = button; }
int getMessageCountNumber() { return mMessageCountNum; }
public:
/* 0x00000 */ dBgS mBgs;
@ -403,15 +405,15 @@ public:
/* 0x04E7C */ void* mPlayerPtr[2]; // 0: Player, 1: Horse ; type may be wrong
/* 0x04E84 */ dMsgObject_c* mMsgObjectClass;
/* 0x04E88 */ f32 mItemLifeCount;
/* 0x04E8C */ int mItemRupeeCount;
/* 0x04E8C */ s32 mItemRupeeCount;
/* 0x04E90 */ s16 mItemKeyNumCount;
/* 0x04E92 */ s16 mItemMaxLifeCount;
/* 0x04E94 */ s16 mItemMagicCount;
/* 0x04E96 */ s16 mItemNowMagicCount;
/* 0x04E98 */ s16 mItemMaxMagicCount;
/* 0x04E9A */ s16 field_0x4e9a;
/* 0x04E9C */ int mItemOilCount;
/* 0x04EA0 */ int mItemNowOil;
/* 0x04E9C */ s32 mItemOilCount;
/* 0x04EA0 */ s32 mItemNowOil;
/* 0x04EA4 */ int mItemMaxOilCount;
/* 0x04EA8 */ int mOxygen;
/* 0x04EAC */ int mNowOxygen;
@ -425,8 +427,8 @@ public:
/* 0x04EC8 */ u8 field_0x4ec8[4];
/* 0x04ECC */ s16 mItemMaxBombNumCount1;
/* 0x04ECE */ s16 mItemMaxBombNumCount2;
/* 0x04ED0 */ u8 field_0x4ed0[6];
/* 0x04ED6 */ s16 mItemMaxBombNumCount3;
/* 0x04ED0 */ u8 field_0x4ed0[4];
/* 0x04ED4 */ int mMessageCountNum;
/* 0x04ED8 */ u8 field_0x4ed8[6];
/* 0x04EDE */ u16 mItemNowLife;
/* 0x04EE0 */ u8 field_0x4ee0[2];
@ -712,6 +714,11 @@ void dComIfGs_setSelectEquipShield(u8 i_itemNo);
int dComIfGs_isItemFirstBit(u8 i_itemNo);
u16 dComIfGs_getRupee();
BOOL dComIfGs_isVisitedRoom(int i_roomNo);
void dComIfGs_onZoneSwitch(int swBit, int roomNo);
void dComIfGs_onOneZoneSwitch(int param_0, int param_1);
void dComIfGs_offZoneSwitch(int param_0, int param_1);
void dComIfGs_offOneZoneSwitch(int param_0, int param_1);
s8 dComIfGp_getReverb(int roomNo);
inline void dComIfGs_onDungeonItemMap() {
g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemMap();
@ -962,6 +969,10 @@ inline BOOL dComIfGs_isSaveTbox(int i_stageNo, int i_no) {
return g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().isTbox(i_no);
}
inline BOOL dComIfGs_isSaveDunSwitch(int i_no) {
return g_dComIfG_gameInfo.info.getDan().isSwitch(i_no);
}
inline void dComIfGs_onSaveSwitch(int i_stageNo, int i_no) {
g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().onSwitch(i_no);
}
@ -970,6 +981,10 @@ inline void dComIfGs_onSaveSwitch(int i_no) {
g_dComIfG_gameInfo.info.getMemory().getBit().onSwitch(i_no);
}
inline void dComIfGs_offSaveSwitch(int i_no) {
g_dComIfG_gameInfo.info.getMemory().getBit().offSwitch(i_no);
}
inline void dComIfGs_offSaveSwitch(int i_stageNo, int i_no) {
g_dComIfG_gameInfo.info.getSavedata().getSave(i_stageNo).getBit().offSwitch(i_no);
}
@ -1034,6 +1049,10 @@ inline BOOL dComIfGs_isTmpBit(u16 flag) {
return g_dComIfG_gameInfo.info.getTmp().isEventBit(flag);
}
inline void dComIfGs_onTmpBit(u16 flag) {
g_dComIfG_gameInfo.info.getTmp().onEventBit(flag);
}
inline BOOL dComIfGs_isTransformLV(int i_no) {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().isTransformLV(i_no);
}
@ -1166,6 +1185,10 @@ inline void dComIfGs_onSaveDunSwitch(int flag) {
g_dComIfG_gameInfo.info.getDan().onSwitch(flag);
}
inline void dComIfGs_offSaveDunSwitch(int flag) {
g_dComIfG_gameInfo.info.getDan().offSwitch(flag);
}
inline u8 dComIfGs_getDataNum() {
return g_dComIfG_gameInfo.info.getDataNum();
}
@ -1244,6 +1267,38 @@ inline void dComIfGs_initDan(s8 i_stageNo) {
g_dComIfG_gameInfo.info.initDan(i_stageNo);
}
inline u16 dComIfGs_getRupeeMax() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupeeMax();
}
inline void dComIfGs_onLightDropGetFlag(u8 level) {
g_dComIfG_gameInfo.info.getPlayer().getLightDrop().onLightDropGetFlag(level);
}
inline void dComIfGs_setTmpReg(u16 reg, u8 flag) {
g_dComIfG_gameInfo.info.getTmp().setEventReg(reg, flag);
}
inline u8 dComIfGs_getTmpReg(u16 reg) {
return g_dComIfG_gameInfo.info.getTmp().getEventReg(reg);
}
inline void dComIfGs_setWarashibeItem(u8 itemNo) {
g_dComIfG_gameInfo.info.getPlayer().getItem().setWarashibeItem(itemNo);
}
inline void dComIfGs_setBottleItemIn(u8 curItem, u8 newItem) {
g_dComIfG_gameInfo.info.getPlayer().getItem().setBottleItemIn(curItem, newItem);
}
inline u8 dComIfGs_checkInsectBottle() {
return g_dComIfG_gameInfo.info.getPlayer().getItem().checkInsectBottle();
}
inline u8 dComIfGs_checkBombBag(u8 i_itemNo) {
return g_dComIfG_gameInfo.info.getPlayer().getItem().checkBombBag(i_itemNo);
}
void dComIfGp_setItemLifeCount(f32 amount, u8 type);
void dComIfGp_setItemRupeeCount(long amount);
void dComIfGp_setSelectItem(int index);
@ -1667,6 +1722,10 @@ inline void dComIfGp_setItemNowOil(s32 oil) {
g_dComIfG_gameInfo.play.setItemNowOil(oil);
}
inline void dComIfGp_setItemOilCount(s32 oil) {
g_dComIfG_gameInfo.play.setItemOilCount(oil);
}
inline bool dComIfGp_isDoSetFlag(u8 flag) {
return g_dComIfG_gameInfo.play.isDoSetFlag(flag);
}
@ -1739,6 +1798,10 @@ inline u8 dComIfGp_getItemLifeCountType() {
return g_dComIfG_gameInfo.play.getItemLifeCountType();
}
inline int dComIfGp_getMessageCountNumber() {
return g_dComIfG_gameInfo.play.getMessageCountNumber();
}
inline void dComIfGp_setCameraParamFileName(int i, char* name) {
g_dComIfG_gameInfo.play.setCameraParamFileName(i, name);
}

View File

@ -4,6 +4,8 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
int daNpcKakashi_getSwdTutorialStep();
class daSus_c {
public:
class data_c {

View File

@ -204,7 +204,7 @@ public:
/* 0x04 */ f32 mSeaLevel;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ u8 field_0x10[9];
/* 0x10 */ u8 field_0x10[10];
/* 0x1A */ u8 mDefaultCamera;
/* 0x1C */ u16 mMsg;
}; // Size: 0x20
@ -827,7 +827,7 @@ static int dStage_fieldMapTresureInit(dStage_dt_c*, void*, int, void*);
static int dStage_fieldMapFiliInfo2Init(dStage_dt_c*, void*, int, void*);
static int dStage_fieldMapMapPathInit(dStage_dt_c*, void*, int, void*);
u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class&, int);
int dStage_changeScene(int, f32, u32, s8, s16, int);
void dStage_infoCreate();
u8 dStage_stagInfo_GetParticleNo(stage_stag_info_class* p_info, int layer);

View File

@ -149,6 +149,9 @@ public:
u8 getLifeGaugeSE() { return mLifeGaugeSE; }
const char* getSaveStageName() { return mSaveStageName; }
void onShopTalkFlag() { mShopTalkFlag = true; }
void setLightDropGetFlag(int index, u8 flag) { mLightDropGetFlag[index] = flag; }
u8 getRentalBombBag() { return mRentalBombBag; }
void setTableMapRegionNo(u8 regionNo) { mTableMapRegionNo = regionNo; }
public:
/* 0x04 */ u8 unk4[4];
@ -435,6 +438,25 @@ inline void dMeter2Info_onShopTalkFlag() {
g_meter2_info.onShopTalkFlag();
}
inline void dMeter2Info_setLightDropGetFlag(int index, u8 flag) {
g_meter2_info.setLightDropGetFlag(index, flag);
}
inline u8 dMeter2Info_getRentalBombBag() {
return g_meter2_info.getRentalBombBag();
}
inline void dMeter2Info_resetMiniGameItem(bool param_0) {
g_meter2_info.resetMiniGameItem(param_0);
}
inline void dMeter2Info_setTableMapRegionNo(u8 regionNo) {
g_meter2_info.setTableMapRegionNo(regionNo);
}
char* dMeter2Info_getNumberTextureName(int pIndex);
void dMeter2Info_recieveLetter();
u8 dMeter2Info_getNewLetterNum();
int dMeter2Info_setNewLetterSender();
#endif /* D_METER_D_METER2_INFO_H */

View File

@ -2,10 +2,23 @@
#define D_MSG_D_MSG_CLASS_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
class msg_class {
public:
/* 0x0 */ u8 field_0x0[0x100];
};
/* 0x00 */ base_process_class field_0x0;
/* 0xB8 */ u8 field_0xb8[8];
/* 0xC0 */ int field_0xc0;
/* 0xC4 */ create_tag_class field_0xc4;
/* 0xD8 */ leafdraw_method_class* field_0xd8;
/* 0xDC */ fopAc_ac_c* field_0xdc;
/* 0xE0 */ cXyz field_0xe0;
/* 0xEC */ u32 field_0xec;
/* 0xF0 */ u32 field_0xf0;
/* 0xF4 */ u32 field_0xf4;
/* 0xF8 */ u16 field_0xf8;
/* 0xFA */ u8 field_0xfa;
/* 0xFC */ int field_0xfc;
}; // Size: 0x100
#endif /* D_MSG_D_MSG_CLASS_H */

View File

@ -3,162 +3,177 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "d/msg/d_msg_class.h"
// all mesg_flow_node structs members might be wrong
struct mesg_flow_node {
/* 0x00 */ u8 type;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u16 msg_index;
/* 0x04 */ u8 params[4];
}; // Size: 0x8
struct mesg_flow_node_branch {
/* 0x00 */ int field_0x0;
/* 0x04 */ u16 param;
/* 0x00 */ u8 type;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u16 msg_index;
/* 0x04 */ u16 params[2];
};
struct mesg_flow_node_event {
/* 0x00 */ int field_0x0;
/* 0x04 */ u8 param;
};
/* 0x00 */ u8 type;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u16 msg_index;
/* 0x04 */ u8 params[4];
}; // Size: 0x8
struct mesg_flow_node {};
class dMsgFlow_c;
typedef int (dMsgFlow_c::*queryFunc)(mesg_flow_node_branch*, fopAc_ac_c*, int);
typedef int (dMsgFlow_c::*eventFunc)(mesg_flow_node_event*, fopAc_ac_c*);
class dMsgFlow_c {
public:
/* 80249F00 */ dMsgFlow_c();
/* 80249F48 */ ~dMsgFlow_c();
/* 80249F48 */ virtual ~dMsgFlow_c();
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
/* 8024A13C */ void checkOpenDoor(fopAc_ac_c*, int*);
/* 8024A2D8 */ int doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
/* 8024A424 */ void checkEventRender(int*, int*, int*, int*);
/* 8024A424 */ int checkEventRender(int*, int*, int*, int*);
/* 8024A4C4 */ void remove();
/* 8024A528 */ u16 getEventId(int*);
/* 8024A538 */ void getMsgNo();
/* 8024A540 */ void getNowMsgNo();
/* 8024A548 */ void getMsg();
/* 8024A538 */ int getMsgNo();
/* 8024A540 */ int getNowMsgNo();
/* 8024A548 */ msg_class* getMsg();
/* 8024A580 */ void setInitValue(int);
/* 8024A618 */ void setInitValueGroupChange(int, fopAc_ac_c**);
/* 8024A6EC */ void getMsgDataBlock(char const*);
/* 8024A784 */ void getInitNodeIndex(u16);
/* 8024A6EC */ u8* getMsgDataBlock(char const*);
/* 8024A784 */ u16 getInitNodeIndex(u16);
/* 8024A7CC */ void setNodeIndex(u16, fopAc_ac_c**);
/* 8024A95C */ void setSelectMsg(mesg_flow_node*, mesg_flow_node*, fopAc_ac_c*);
/* 8024AA50 */ void setNormalMsg(mesg_flow_node*, fopAc_ac_c*);
/* 8024AB30 */ void messageNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024AD54 */ void branchNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024ADEC */ void eventNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024AFF8 */ void nodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024AB30 */ int messageNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024AD54 */ int branchNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024ADEC */ int eventNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024AFF8 */ int nodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024B0F0 */ int getParam(u16*, u16*, u8*);
/* 8024B108 */ void getParam(u8*, u8*);
/* 8024B108 */ int getParam(u8*, u8*);
/* 8024B130 */ int getParam(u8*);
/* 8024B138 */ void query001(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B180 */ void query002(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B208 */ void query003(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B250 */ void query004(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B2C0 */ u16 query005(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B2F8 */ void query006(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B32C */ void query007(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B45C */ void query008(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B4A4 */ void query009(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B4D0 */ void query010(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B504 */ void query011(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B54C */ void query012(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B584 */ void query013(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B5BC */ void query014(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B5F4 */ void query015(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B62C */ void query016(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B664 */ void query017(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B6A8 */ void query018(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B6EC */ void query019(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B730 */ void query020(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B774 */ void query021(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B8E4 */ void query022(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B918 */ void query023(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B954 */ void query024(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B974 */ void query025(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B9BC */ void query026(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B9E8 */ void query027(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BA4C */ void query028(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BAA0 */ void query029(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BAE0 */ void query030(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BB18 */ void query031(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BB74 */ void query032(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BB9C */ void query033(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BBE4 */ void query034(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BC14 */ void query035(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BC3C */ void query036(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BC80 */ void query037(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BCC4 */ void query038(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BDB0 */ void query039(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BE4C */ void query040(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BF50 */ void query041(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BFEC */ void query042(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C0A8 */ void query043(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C144 */ void query044(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C18C */ void query045(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C218 */ void query046(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C248 */ bool query047(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C250 */ void query048(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C2A0 */ void query049(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C2FC */ void query050(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C340 */ void query051(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3A0 */ void query052(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3D4 */ void query053(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B138 */ int query001(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B180 */ int query002(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B208 */ int query003(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B250 */ int query004(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B2C0 */ int query005(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B2F8 */ int query006(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B32C */ int query007(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B45C */ int query008(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B4A4 */ int query009(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B4D0 */ int query010(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B504 */ int query011(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B54C */ int query012(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B584 */ int query013(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B5BC */ int query014(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B5F4 */ int query015(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B62C */ int query016(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B664 */ int query017(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B6A8 */ int query018(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B6EC */ int query019(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B730 */ int query020(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B774 */ int query021(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B8E4 */ int query022(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B918 */ int query023(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B954 */ int query024(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B974 */ int query025(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B9BC */ int query026(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B9E8 */ int query027(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BA4C */ int query028(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BAA0 */ int query029(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BAE0 */ int query030(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BB18 */ int query031(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BB74 */ int query032(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BB9C */ int query033(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BBE4 */ int query034(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BC14 */ int query035(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BC3C */ int query036(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BC80 */ int query037(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BCC4 */ int query038(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BDB0 */ int query039(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BE4C */ int query040(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BF50 */ int query041(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024BFEC */ int query042(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C0A8 */ int query043(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C144 */ int query044(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C18C */ int query045(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C218 */ int query046(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C248 */ int query047(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C250 */ int query048(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C2A0 */ int query049(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C2FC */ int query050(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C340 */ int query051(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3A0 */ int query052(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3D4 */ int query053(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3FC */ int event000(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C488 */ int event001(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C514 */ int event002(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C550 */ int event003(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C590 */ int event004(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C5F0 */ void event005(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C654 */ void event006(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C694 */ void event007(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C6D8 */ void event008(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C744 */ void event009(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C76C */ void event010(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C7F8 */ void event011(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C884 */ bool event012(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C88C */ void event013(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C8CC */ void event014(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C994 */ void event015(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CA5C */ void event016(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CA94 */ void event017(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CBB0 */ void event018(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CCA4 */ bool event019(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CCAC */ void event020(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CD84 */ void event021(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CDAC */ void event022(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CE40 */ void event023(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CF2C */ void event024(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CF54 */ void event025(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CF9C */ void event026(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D004 */ void event027(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D3C4 */ void event028(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D500 */ void event029(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D544 */ void event030(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D5BC */ void event031(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D5EC */ void event032(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D6BC */ void event033(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D788 */ void event034(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D7C8 */ void event035(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D870 */ void event036(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D8C4 */ void event037(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D918 */ void event038(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D93C */ void event039(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D970 */ void event040(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024DA78 */ void event041(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024DAA8 */ bool event042(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C5F0 */ int event005(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C654 */ int event006(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C694 */ int event007(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C6D8 */ int event008(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C744 */ int event009(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C76C */ int event010(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C7F8 */ int event011(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C884 */ int event012(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C88C */ int event013(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C8CC */ int event014(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C994 */ int event015(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CA5C */ int event016(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CA94 */ int event017(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CBB0 */ int event018(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CCA4 */ int event019(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CCAC */ int event020(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CD84 */ int event021(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CDAC */ int event022(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CE40 */ int event023(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CF2C */ int event024(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CF54 */ int event025(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024CF9C */ int event026(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D004 */ int event027(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D3C4 */ int event028(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D500 */ int event029(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D544 */ int event030(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D5BC */ int event031(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D5EC */ int event032(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D6BC */ int event033(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D788 */ int event034(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D7C8 */ int event035(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D870 */ int event036(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D8C4 */ int event037(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D918 */ int event038(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D93C */ int event039(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024D970 */ int event040(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024DA78 */ int event041(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024DAA8 */ int event042(mesg_flow_node_event*, fopAc_ac_c*);
u8 isSelectMessage() { return mSelectMessage; }
void onNonStopJunpFlowFlag() { mNonStopJunpFlowFlag = 1; }
u16 getSelectNum() { return query005(NULL, NULL, 0); }
int getSelectNum() { return query005(NULL, NULL, 0); }
static u8 mQueryList[636];
static u8 mEventList[516];
static queryFunc mQueryList[53];
static eventFunc mEventList[43];
private:
/* 0x00 */ void* vtable;
/* 0x04 */ void* mFlow_p;
/* 0x08 */ void* mLabelInfo_p;
/* 0x0C */ void* mFlowNodeTBL;
/* 0x04 */ u8* mFlow_p;
/* 0x08 */ u8* mLabelInfo_p;
/* 0x0C */ mesg_flow_node* mFlowNodeTBL;
/* 0x10 */ u16 field_0x10;
/* 0x12 */ u16 field_0x12;
/* 0x14 */ fopAc_ac_c* field_0x14;
/* 0x14 */ u16* field_0x14;
/* 0x18 */ int field_0x18;
/* 0x1C */ u16 mFlow;
/* 0x1E */ u8 field_0x1e[2];
/* 0x20 */ int mMsg;
/* 0x20 */ u32 mMsg;
/* 0x24 */ u8 mSelectMessage;
/* 0x25 */ u8 field_0x25;
/* 0x26 */ u8 field_0x26;
@ -169,14 +184,14 @@ private:
/* 0x32 */ u16 mEventId;
/* 0x34 */ int field_0x34;
/* 0x38 */ u16 field_0x38;
/* 0x3A */ s16 mChoiceNo;
/* 0x3A */ u16 mChoiceNo;
/* 0x3C */ int field_0x3c;
/* 0x40 */ u8 field_0x40;
/* 0x41 */ u8 field_0x41;
/* 0x42 */ s8 field_0x42;
/* 0x43 */ s8 field_0x43;
/* 0x44 */ s8 field_0x44;
/* 0x45 */ s8 field_0x45;
/* 0x42 */ u8 field_0x42;
/* 0x43 */ u8 field_0x43;
/* 0x44 */ u8 field_0x44;
/* 0x45 */ u8 field_0x45;
/* 0x46 */ u8 field_0x46;
/* 0x47 */ u8 field_0x47;
/* 0x48 */ u8 mNonStopJunpFlowFlag;

View File

@ -4,6 +4,9 @@
#include "JSystem/J2DGraph/J2DTextbox.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_class.h"
#include "JSystem/JMessage/control.h"
#include "JSystem/JMessage/resource.h"
#include "JSystem/JMessage/processor.h"
#include "dolphin/types.h"
class COutFont_c;
@ -50,7 +53,7 @@ public:
/* 802370A8 */ void isGetItemMessage();
/* 802370BC */ void isKanbanMessage();
/* 802370E8 */ void isHowlMessage();
/* 802370FC */ void isMidonaMessage();
/* 802370FC */ bool isMidonaMessage();
/* 80237138 */ void isMidonaNormalTalkWait();
/* 802371B0 */ void isMidonaTalkWait();
/* 802371E4 */ void isPlaceMessage();
@ -85,8 +88,8 @@ public:
/* 80237934 */ void isCameraCancelFlag();
/* 80237950 */ void onCameraCancelFlag();
/* 80237968 */ void offCameraCancelFlag();
/* 80237980 */ void isKillMessageFlag();
/* 80237994 */ void onKillMessageFlag();
/* 80237980 */ static bool isKillMessageFlag();
/* 80237994 */ static void onKillMessageFlag();
/* 802379AC */ void setKillMessageFlag();
/* 802379D8 */ void setKillMessageFlagLocal();
/* 80237A74 */ void setTalkPartner(fopAc_ac_c*);
@ -105,13 +108,13 @@ public:
/* 80237E68 */ void setSelectCursorPosLocal(u8);
/* 80237F10 */ void setTalkActorLocal(fopAc_ac_c*);
/* 8023800C */ static void readMessageGroup(mDoDvdThd_mountXArchive_c**);
/* 8023803C */ void changeFlowGroup(s32);
/* 8023803C */ static void changeFlowGroup(s32);
/* 8023806C */ void demoMessageGroup();
/* 80238098 */ void endFlowGroup();
/* 802380C4 */ void changeGroup(s16);
/* 802380F4 */ void getString(u32, J2DTextBox*, J2DTextBox*, JUTFont*, COutFont_c*, char*,
char*, char*, s16*);
/* 80238174 */ void getMsgDtPtr();
/* 80238174 */ static u8* getMsgDtPtr();
/* 80238188 */ void setProcessID(unsigned int);
/* 8023819C */ static fopAc_ac_c* getActor();
/* 802381C0 */ void getpTalkActor();
@ -132,11 +135,11 @@ public:
/* 802383E4 */ void getSmellTypeMessageID();
/* 80238410 */ void setSmellType(u8);
/* 80238440 */ void getSelectCursorPos();
/* 8023846C */ void setSelectCursorPos(u8);
/* 8023846C */ static void setSelectCursorPos(u8);
/* 8023849C */ void setPortalMessageID(u16);
/* 802384B0 */ void setInsectItemNo(u8);
/* 802384C4 */ static void setLetterNameID(u16);
/* 802384D8 */ void setArrowNum(u8);
/* 802384D8 */ static void setArrowNum(u8);
/* 802384EC */ void setMsgOutputType(u8);
/* 80238500 */ void getMsgOutputType();
/* 80238514 */ void getWord();
@ -144,25 +147,103 @@ public:
/* 80238544 */ void setSelectWordFlag(u8);
/* 80238574 */ void getSelectWordFlag();
/* 80238588 */ void isHowlHearingMode();
/* 802385B4 */ void getSelectBombBagID();
/* 802385E0 */ void getSelectBombPrice();
/* 802385B4 */ static u8 getSelectBombBagID();
/* 802385E0 */ static s16 getSelectBombPrice();
/* 8023860C */ void setEquipBombInfo();
/* 80238638 */ void getItemEquipButton();
/* 8023864C */ void setSelectCancelPos(u8);
/* 8023864C */ static void setSelectCancelPos(u8);
void setShopWaitTimerLocal(u8 timer) { field_0x4c9 = timer; }
void setShopWaitTimerLocal(u8 timer) { mShopWaitTimer = timer; }
u8 getSelectPushFlag() { return mSelectPushFlag; }
u8 getSelectCancelPos() { return mSelectCancelPos; }
/* 0x100 */ fopAc_ac_c* field_0x100;
/* 0x104 */ u8 field_0x104[0x9D];
/* 0x100 */ msg_class* field_0x100;
/* 0x104 */ int mpScrnDraw;
/* 0x108 */ dMsgString_c* mpMsgString;
/* 0x10C */ COutFont_c* mpOutFont;
/* 0x110 */ JMessage::TResourceContainer* mpResCont;
/* 0x114 */ JMessage::TControl* mpCtrl;
/* 0x118 */ jmessage_tReference* mpRefer;
/* 0x11C */ jmessage_tSequenceProcessor* mpSeqProc;
/* 0x120 */ jmessage_tRenderingProcessor* mpRenProc;
/* 0x124 */ JMessage::TParse* field_0x124;
/* 0x128 */ void* mpMsgRes;
/* 0x12C */ u8 field_0x12c[4];
/* 0x130 */ void* mpMsgDt;
/* 0x134 */ u8 field_0x134[4];
/* 0x138 */ fopAc_ac_c* mpTalkActor;
/* 0x13C */ int field_0x13c;
/* 0x140 */ fopAc_ac_c* mpTalkPartner;
/* 0x144 */ void* mpTalkHeap;
/* 0x148 */ int field_0x148;
/* 0x14C */ int mProcessID;
/* 0x150 */ f32 field_0x150;
/* 0x154 */ int mMessageID;
/* 0x158 */ int field_0x158;
/* 0x15C */ int field_0x15c;
/* 0x160 */ int mIdx;
/* 0x164 */ int mNodeIdx;
/* 0x168 */ u16 field_0x168;
/* 0x16A */ u8 field_0x16a[2];
/* 0x16C */ u16 field_0x16c;
/* 0x16E */ u16 field_0x16e;
/* 0x170 */ u16 mNowTalkFlowNo;
/* 0x172 */ u16 field_0x172;
/* 0x174 */ u16 mInputValue;
/* 0x176 */ u16 mFundRaisingValue;
/* 0x178 */ u16 field_0x178;
/* 0x17A */ u16 mNowTotalPrice;
/* 0x17C */ u16 mNowTotalPayment;
/* 0x17E */ u16 field_0x17e;
/* 0x180 */ u16 mPortalMessageID;
/* 0x182 */ u16 mBombMessageID[3];
/* 0x188 */ u16 mLetterNameID;
/* 0x18A */ u8 mBombNum[3];
/* 0x18D */ u8 mBombBagID[3];
/* 0x190 */ u8 mSelectBombBag[3];
/* 0x193 */ u8 field_0x193;
/* 0x194 */ u8 mInsectItemNo;
/* 0x195 */ u8 mMsgSendControl;
/* 0x196 */ u8 field_0x196;
/* 0x197 */ u8 field_0x197;
/* 0x198 */ u8 field_0x198;
/* 0x199 */ u8 field_0x199;
/* 0x19A */ u8 mFukiKind;
/* 0x19B */ u8 field_0x19b;
/* 0x19C */ u8 mFlowChk;
/* 0x19D */ u8 field_0x19d;
/* 0x19E */ u8 mCameraCancelFlag;
/* 0x19F */ u8 mInputFlag;
/* 0x1A0 */ u8 mSmellType;
/* 0x1A1 */ u8 mSelectCancelPos;
/* 0x1A2 */ u8 mSelectPushFlag;
/* 0x1A3 */ u8 field_0x1a3[0x326];
/* 0x4C9 */ u8 field_0x4c9;
/* 0x1A3 */ u8 field_0x1a3;
/* 0x1A4 */ u8 mItemEquipButton;
/* 0x1A5 */ u8 mArrowNum;
/* 0x1A6 */ char mWord[200];
/* 0x26E */ char mSelectWord[3][200];
/* 0x4C6 */ u8 mSelectWordFlag;
/* 0x4C7 */ u8 field_0x4c7;
/* 0x4C8 */ u8 mMsgOutputType;
/* 0x4C9 */ u8 mShopWaitTimer;
/* 0x4CA */ u8 field_0x4ca;
/* 0x4CB */ u8 mNoDemoFlag;
/* 0x4CC */ u8 field_0x4cc;
/* 0x4CD */ u8 field_0x4cd;
/* 0x4CE */ u8 field_0x4ce;
/* 0x4CF */ u8 mAutoMessageFlag;
/* 0x4D0 */ u8 mPaymentFlag;
/* 0x4D1 */ u8 field_0x4d1;
/* 0x4D2 */ u8 mKillMessageFlag;
/* 0x4D3 */ u8 mEquipBombInfo;
/* 0x4D4 */ u8 field_0x4d4;
};
s16 dMsgObject_getGroupID();
void dMsgObject_setFundRaising(u16 param_0);
u16 dMsgObject_getFundRaising();
void dMsgObject_addOffering(s16 param_0);
u16 dMsgObject_getOffering();
inline dMsgObject_c* dMsgObject_getMsgObjectClass() {
return dComIfGp_getMsgObjectClass();
@ -172,6 +253,10 @@ inline bool dMsgObject_isTalkNowCheck() {
return dMsgObject_getMsgObjectClass()->getStatus() != 1 ? true : false;
}
inline bool dMsgObject_isKillMessageFlag() {
return dMsgObject_c::isKillMessageFlag();
}
inline u32 dMsgObject_getMessageID() {
return dMsgObject_c::getMessageID();
}
@ -184,4 +269,8 @@ inline void dMsgObject_setShopWaitTimer(u8 timer) {
dMsgObject_c::setShopWaitTimer(timer);
}
inline void dMsgObject_changeFlowGroup(long flow) {
dMsgObject_c::changeFlowGroup(flow);
}
#endif /* D_MSG_D_MSG_OBJECT_H */

View File

@ -385,9 +385,9 @@ public:
u16 getMaxLife() { return mMaxLife; }
u16 getLife() { return mLife; }
u16& getRupee() { return mRupee; }
u16 getRupee() { return mRupee; }
u16 getOil() { return mOil; }
u16 getMaxOil() { return mMaxOil; }
u16 getMaxOil() const { return mMaxOil; }
u8& getMagic() { return mMagic; }
u8& getMaxMagic() { return mMaxMagic; }
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }

View File

@ -133,6 +133,7 @@ public:
bool chkSpMode() { return mSpMode == 1; }
void offSpMode() { mSpMode = 0; }
u8 getEventParamU8(int param_0) { return (mEventParam >> (3 - param_0) * 8) & 0xFF; }
void setEventParam(u32 param) { mEventParam = param; }
private:
/* 0xE40 */ STControl* mpStick;

View File

@ -3,6 +3,7 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "d/msg/d_msg_class.h"
typedef int (*fopMsgCreateFunc)(void*);
@ -12,5 +13,6 @@ void fopMsgM_setMessageID(unsigned int);
void fopMsgM_destroyExpHeap(JKRExpHeap*);
void fopMsgM_setStageLayer(void*);
void fopMsgM_messageSetDemo(u32 param_0);
msg_class* fopMsgM_SearchByID(unsigned int param_0);
#endif

View File

@ -64,6 +64,10 @@ inline void mDoAud_seStart(u32 sfx_id, const Vec* param_1, u32 param_2, s8 param
-1.0f, 0);
}
inline void mDoAud_messageSePlay(u16 param_0, Vec* position, s8 param_2) {
Z2AudioMgr::getInterface()->mSeMgr.messageSePlay(param_0, position, param_2);
}
inline void mDoAud_sceneBgmStart() {
Z2AudioMgr::getInterface()->mSceneMgr.sceneBgmStart();
}

View File

@ -4,41 +4,10 @@
//
#include "JSystem/JMessage/control.h"
#include "JSystem/JMessage/processor.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct JMessage {
struct TProcessor {
/* 802A7B90 */ void reset();
/* 802A7C54 */ void getResource_groupID(u16) const;
/* 802A7CD4 */ void toMessageCode_messageID(u32, u32, bool*) const;
/* 802A828C */ void process_onCharacterEnd_normal_(JMessage::TProcessor*);
};
struct TControl {
/* 802A7548 */ TControl();
/* 802A758C */ ~TControl();
/* 802A75D4 */ void reset();
/* 802A7634 */ void update();
/* 802A76BC */ void render();
/* 802A77E8 */ void setMessageCode(u16, u16);
/* 802A78F4 */ void setMessageID(u32, u32, bool*);
/* 802A7A20 */ void setMessageCode_inSequence_(JMessage::TProcessor const*, u16, u16);
};
struct TSequenceProcessor {
/* 802A8418 */ void process(char const*);
};
struct TRenderingProcessor {
/* 802A8B20 */ void process(char const*);
};
};
//
// Forward References:
//

View File

@ -7,16 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct JMessage {
struct data {
static f32 ga4cSignature[1 + 1 /* padding */];
};
};
//
// Forward References:
//

View File

@ -7,17 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct JMessage {
struct locale {
/* 802A9528 */ void parseCharacter_ShiftJIS(char const**);
/* 802A958C */ void parseCharacter_UTF8(char const**);
};
};
//
// Forward References:
//

View File

@ -4,109 +4,11 @@
//
#include "JSystem/JMessage/processor.h"
#include "JSystem/JMessage/control.h"
#include "JSystem/JMessage/resource.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct JMessage {
struct TReference {
/* 802A7AF8 */ ~TReference();
/* 802A7B40 */ bool do_word(u32) const;
};
struct TProcessor {
/* 802A7B48 */ ~TProcessor();
/* 802A7B90 */ void reset();
/* 802A7BF8 */ void stack_pushCurrent(char const*);
/* 802A7C30 */ void stack_popCurrent();
/* 802A7C54 */ void getResource_groupID(u16) const;
/* 802A7CD4 */ void toMessageCode_messageID(u32, u32, bool*) const;
/* 802A7E38 */ void on_select_begin(char const* (*)(JMessage::TProcessor*), void const*,
char const*, u32);
/* 802A7EDC */ void on_select_end();
/* 802A7F34 */ void on_select_separate();
/* 802A7FC0 */ void do_reset();
/* 802A7FC4 */ void do_begin(void const*, char const*);
/* 802A7FC8 */ void do_end();
/* 802A7FCC */ void do_character(int);
/* 802A7FD0 */ bool do_tag(u32, void const*, u32);
/* 802A7FD8 */ void do_select_begin(u32);
/* 802A7FDC */ void do_select_end();
/* 802A7FE0 */ void do_select_separate();
/* 802A7FE4 */ void on_tag_();
/* 802A8084 */ void do_resetStatus_(char const*);
/* 802A8088 */ bool do_setBegin_isReady_() const;
/* 802A8090 */ void do_tag_(u32, void const*, u32);
/* 802A81EC */ void process_character_();
/* 802A828C */ void process_onCharacterEnd_normal_(JMessage::TProcessor*);
/* 802A82F4 */ void process_onCharacterEnd_select_(JMessage::TProcessor*);
/* 802A833C */ void process_onSelect_limited_(JMessage::TProcessor*);
/* 802A8358 */ void process_onSelect_(JMessage::TProcessor*);
/* 802A8C24 */ void on_message(u32) const;
/* 802A8C44 */ void getMessageText_messageCode(u32) const;
};
struct TControl {
/* 802A7A20 */ void setMessageCode_inSequence_(JMessage::TProcessor const*, u16, u16);
};
struct TSequenceProcessor {
/* 802A8374 */ TSequenceProcessor(JMessage::TReference const*, JMessage::TControl*);
/* 802A83B8 */ ~TSequenceProcessor();
/* 802A8418 */ void process(char const*);
/* 802A85A4 */ void on_isReady();
/* 802A85D0 */ void on_jump_register(void const* (*)(JMessage::TSequenceProcessor const*),
u32);
/* 802A85E4 */ void on_jump_isReady();
/* 802A8610 */ void on_jump(void const*, char const*);
/* 802A8690 */ void on_branch_register(void const* (*)(JMessage::TSequenceProcessor const*,
u32),
void const*, u32);
/* 802A86A0 */ void on_branch_query(u32);
/* 802A86D4 */ void on_branch_queryResult();
/* 802A8700 */ void on_branch(void const*, char const*);
/* 802A8780 */ bool do_isReady();
/* 802A8788 */ bool do_jump_isReady();
/* 802A8790 */ void do_jump(void const*, char const*);
/* 802A8794 */ void do_branch_query(u32);
/* 802A8798 */ s32 do_branch_queryResult();
/* 802A87A0 */ void do_branch(void const*, char const*);
/* 802A87A4 */ void do_resetStatus_(char const*);
/* 802A87C0 */ void do_setBegin_isReady_() const;
/* 802A87D0 */ void do_begin_(void const*, char const*);
/* 802A87D4 */ void do_end_();
/* 802A87E0 */ void do_tag_(u32, void const*, u32);
/* 802A892C */ void process_setMessageIndex_reserved_(u16);
/* 802A8944 */ void process_setMessageCode_(JMessage::TSequenceProcessor const*, u16, u16);
/* 802A89B8 */ void process_onJump_limited_(JMessage::TSequenceProcessor const*);
/* 802A89EC */ void process_onJump_(JMessage::TSequenceProcessor const*);
/* 802A8A18 */ void process_onBranch_limited_(JMessage::TSequenceProcessor const*, u32);
/* 802A8A50 */ void process_onBranch_(JMessage::TSequenceProcessor const*, u32);
};
struct TRenderingProcessor {
/* 802A8A84 */ TRenderingProcessor(JMessage::TReference const*);
/* 802A8AC0 */ ~TRenderingProcessor();
/* 802A8B20 */ void process(char const*);
/* 802A8BA4 */ void do_begin_(void const*, char const*);
/* 802A8BA8 */ void do_end_();
/* 802A8BAC */ void do_tag_(u32, void const*, u32);
};
struct TResource {
/* 802A8CDC */ void toMessageIndex_messageID(u32, u32, bool*) const;
};
struct TResourceContainer {
struct TCResource {
/* 802A8F6C */ void Get_groupID(u16);
};
};
};
//
// Forward References:
//

View File

@ -4,6 +4,8 @@
//
#include "JSystem/JMessage/resource.h"
#include "JSystem/JMessage/locale.h"
#include "JSystem/JMessage/data.h"
#include "JSystem/JGadget/binary.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@ -19,46 +21,6 @@ void lower_bound(/* ... */);
void func_802A94D4(void* _this, u32 const*, u32 const*, u32 const&);
}; // namespace std
struct JMessage {
struct TResource {
/* 802A8CDC */ void toMessageIndex_messageID(u32, u32, bool*) const;
};
struct TResourceContainer {
struct TCResource {
/* 802A8EC0 */ TCResource();
/* 802A8EF8 */ ~TCResource();
/* 802A8F6C */ void Get_groupID(u16);
/* 802A8FFC */ void Do_create();
/* 802A9048 */ void Do_destroy(JMessage::TResource*);
};
/* 802A906C */ TResourceContainer();
/* 802A90B8 */ void setEncoding(u8);
/* 802A90F0 */ void setEncoding_(u8);
static void* sapfnParseCharacter_[5];
};
struct TParse {
/* 802A9130 */ TParse(JMessage::TResourceContainer*);
/* 802A9158 */ ~TParse();
/* 802A91B8 */ void parseHeader_next(void const**, u32*, u32);
/* 802A92F4 */ void parseBlock_next(void const**, u32*, u32);
};
struct locale {
/* 802A9490 */ void parseCharacter_1Byte(char const**);
/* 802A94A8 */ void parseCharacter_2Byte(char const**);
/* 802A9528 */ void parseCharacter_ShiftJIS(char const**);
/* 802A958C */ void parseCharacter_UTF8(char const**);
};
struct data {
static f32 ga4cSignature[1 + 1 /* padding */];
};
};
//
// Forward References:
//

View File

@ -19464,8 +19464,8 @@ BOOL daAlink_c::checkCutTurnCharge() const {
}
/* 800D0208-800D0228 0CAB48 0020+00 1/0 0/0 0/0 .text checkAcceptDungeonWarpAlink__9daAlink_cFi */
void daAlink_c::checkAcceptDungeonWarpAlink(int param_0) {
checkAcceptWarp();
bool daAlink_c::checkAcceptDungeonWarpAlink(int param_0) {
return checkAcceptWarp();
}
/* 800D0228-800D0274 0CAB68 004C+00 1/0 0/0 0/0 .text getSpinnerActor__9daAlink_cFv */
@ -30958,7 +30958,7 @@ static asm void daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daAlink_c::checkAcceptWarp() {
asm bool daAlink_c::checkAcceptWarp() {
nofralloc
#include "asm/d/a/d_a_alink/checkAcceptWarp__9daAlink_cFv.s"
}

View File

@ -1412,7 +1412,7 @@ int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* resNa
return 1;
}
u8 dComIfGp_getReverb(int roomNo) {
s8 dComIfGp_getReverb(int roomNo) {
return dStage_roomRead_dt_c_GetReverbStage(*dComIfGp_getStageRoom(), roomNo);
}

View File

@ -449,7 +449,7 @@ asm void daNpcKakashi_setSwdTutorialStep(u8 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daNpcKakashi_getSwdTutorialStep() {
asm int daNpcKakashi_getSwdTutorialStep() {
nofralloc
#include "asm/d/com/d_com_static/daNpcKakashi_getSwdTutorialStep__Fv.s"
}

View File

@ -2476,7 +2476,7 @@ static asm int dStage_roomReadInit(dStage_dt_c* param_0, void* param_1, int para
/* 80025E40-80025E70 020780 0030+00 0/0 1/1 0/0 .text
* dStage_roomRead_dt_c_GetReverbStage__FR14roomRead_classi */
u8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& room, int index) {
s8 dStage_roomRead_dt_c_GetReverbStage(roomRead_class& room, int index) {
if (index < 0 || index >= room.field_0x0) {
index = 0;
}

View File

@ -1418,7 +1418,7 @@ int dMeter2Info_setNewLetterSender() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMeter2Info_setNewLetterSender() {
asm int dMeter2Info_setNewLetterSender() {
nofralloc
#include "asm/d/meter/d_meter2_info/dMeter2Info_setNewLetterSender__Fv.s"
}

View File

@ -15,12 +15,6 @@ struct mDoCPd_c {
static u8 m_cpadInfo[256];
};
struct Vec {};
struct cXyz {
/* 80266B34 */ void operator-(Vec const&) const;
};
struct jmessage_tControl {
/* 802299EC */ jmessage_tControl();
};
@ -549,7 +543,6 @@ extern "C" void __dl__FPv();
extern "C" void getBounds__7J2DPaneFv();
extern "C" void getParentPane__7J2DPaneFv();
extern "C" void getStringPtr__10J2DTextBoxCFv();
extern "C" void PSVECSquareMag();
extern "C" void _savefpr_27();
extern "C" void _restfpr_27();
extern "C" void _savegpr_24();

File diff suppressed because it is too large Load Diff

View File

@ -12,28 +12,6 @@
// Types:
//
struct jmessage_tControl {};
struct jmessage_tReference {
/* 80228B04 */ jmessage_tReference();
/* 80229034 */ void pageSend();
/* 80229168 */ void selectMessage();
/* 802294A8 */ void inputNumber();
/* 802297E4 */ void shiftCharCountBuffer();
/* 80229810 */ void resetCharCountBuffer();
/* 8022994C */ void isLightEnd();
/* 80238C78 */ void setActorPos(cXyz);
};
struct jmessage_tSequenceProcessor {
/* 8022B558 */ jmessage_tSequenceProcessor(jmessage_tReference const*, jmessage_tControl*);
};
struct jmessage_tRenderingProcessor {
/* 8022CCB0 */ jmessage_tRenderingProcessor(jmessage_tReference const*);
/* 8022E12C */ void resetRendering();
};
struct dMsgString_c {
/* 80249C20 */ dMsgString_c();
/* 80249D28 */ ~dMsgString_c();
@ -133,28 +111,6 @@ struct Z2AudioMgr {
static u8 mAudioMgrPtr[4 + 4 /* padding */];
};
struct JMessage {
struct TControl {
/* 802A75D4 */ void reset();
/* 802A7634 */ void update();
/* 802A76BC */ void render();
/* 802A77E8 */ void setMessageCode(u16, u16);
/* 802A78F4 */ void setMessageID(u32, u32, bool*);
};
struct TResourceContainer {
struct TCResource {
/* 802A8EF8 */ ~TCResource();
};
/* 802A906C */ TResourceContainer();
};
struct TParse {
/* 802A9130 */ TParse(JMessage::TResourceContainer*);
};
};
//
// Forward References:
//
@ -1125,7 +1081,7 @@ asm void dMsgObject_c::isHowlMessage() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::isMidonaMessage() {
asm bool dMsgObject_c::isMidonaMessage() {
nofralloc
#include "asm/d/msg/d_msg_object/isMidonaMessage__12dMsgObject_cFv.s"
}
@ -1474,7 +1430,7 @@ asm void dMsgObject_c::offCameraCancelFlag() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::isKillMessageFlag() {
asm bool dMsgObject_c::isKillMessageFlag() {
nofralloc
#include "asm/d/msg/d_msg_object/isKillMessageFlag__12dMsgObject_cFv.s"
}
@ -1781,7 +1737,7 @@ asm void dMsgObject_c::getString(u32 param_0, J2DTextBox* param_1, J2DTextBox* p
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::getMsgDtPtr() {
asm u8* dMsgObject_c::getMsgDtPtr() {
nofralloc
#include "asm/d/msg/d_msg_object/getMsgDtPtr__12dMsgObject_cFv.s"
}
@ -2121,7 +2077,7 @@ asm void dMsgObject_c::isHowlHearingMode() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::getSelectBombBagID() {
asm u8 dMsgObject_c::getSelectBombBagID() {
nofralloc
#include "asm/d/msg/d_msg_object/getSelectBombBagID__12dMsgObject_cFv.s"
}
@ -2131,7 +2087,7 @@ asm void dMsgObject_c::getSelectBombBagID() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_c::getSelectBombPrice() {
asm s16 dMsgObject_c::getSelectBombPrice() {
nofralloc
#include "asm/d/msg/d_msg_object/getSelectBombPrice__12dMsgObject_cFv.s"
}
@ -2232,7 +2188,7 @@ static asm void dMsgObject_addTotalPayment(s16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_getFundRaising() {
asm u16 dMsgObject_getFundRaising() {
nofralloc
#include "asm/d/msg/d_msg_object/dMsgObject_getFundRaising__Fv.s"
}
@ -2262,7 +2218,7 @@ static asm void dMsgObject_addFundRaising(s16 param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dMsgObject_getOffering() {
asm u16 dMsgObject_getOffering() {
nofralloc
#include "asm/d/msg/d_msg_object/dMsgObject_getOffering__Fv.s"
}

View File

@ -1940,9 +1940,9 @@ int dShopSystem_c::seq_choose(fopAc_ac_c* actor, dMsgFlow_c* p_flow) {
p_flow->doFlow(actor, NULL, 0);
u16 select_num = p_flow->getSelectNum();
int select_num = p_flow->getSelectNum();
if (dMsgObject_c::getStatus() != 6 && dMsgObject_c::getStatus() != 8 && dMsgObject_c::getStatus() != 9 && dMsgObject_c::getStatus() != 20) {
if (select_num == 0) {
if ((u16)select_num == 0) {
setSeq(SEQ_DECIDE_YES);
} else {
setSeq(SEQ_DECIDE_NO);

View File

@ -129,7 +129,7 @@ asm void fopMsgM_setStageLayer(void* param_0) {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void fopMsgM_SearchByID(unsigned int param_0) {
asm msg_class* fopMsgM_SearchByID(unsigned int param_0) {
nofralloc
#include "asm/f_op/f_op_msg_mng/fopMsgM_SearchByID__FUi.s"
}