d_a_tag_* TUs mostly matching for debug (#3054)

* d_a_tag_event debug almost matching

* d_a_tag_msg debug almost matching

* d_a_tag_attention almost matching

* d_a_tag_chkpoint debug almost matching (weak func order)

* d_a_tag_evt debug almost matching (extra weak fns)

* d_a_tag_evtarea debug almost matching (weak func order)

* d_a_tag_evtmsg debug almost matching (weak func order)

* d_a_tag_mist debug almost matching (weak func order)

* d_a_tag_howl debug almost matching (weak func order)

* d_a_tag_lantern debug almost matching (weak func order)

* d_a_tag_push debug almost matching (weak func order)

* d_a_tag_telop debug almost matching (weak func order)

* d_a_tag_CstaSw debug almost matching (weak func order)

* d_a_tag_ajnot debug almost matching (weak func order)

* d_a_tag_attack_item debug almost matching (weak func order)

* d_a_tag_gstart debug almost matching (weak func order)

* d_a_tag_hinit debug almost matching (debug weak func order)

* d_a_tag_hjump debug almost matching (weak func order)

* d_a_tag_hstop debug almost matching (weak func order)

* d_a_tag_lv2prchk debug almost matching (weak func order)

* d_a_tag_magne debug almost matching (weak func order)

* d_a_tag_mhint debug almost matching (weak func order)

* d_a_tag_mstop debug almost matching (weak func order)

* d_a_tag_spring debug almost matching (weak func order)

* d_a_tag_statue_evt debug almost matching (weak func order)

* d_a_tag_arena debug almost matching (weak func order)

* d_a_tag_Lv6Gate debug almost matching (weak func order)

* d_a_tag_Lv7Gate debug almost matching (weak func order)

* d_a_tag_Lv8Gate debug almost matching (.data + weak func order)

* d_a_tag_TWgate debug almost matching (weak func order)

* d_a_tag_lv6CstaSw debug almost matching (weak func order)

* d_a_tag_assistance debug almost matching (weak func order)

* d_a_tag_bottle_item debug almost matching (weak func order)

* d_a_tag_chgrestart debug almost matching (weak func order)

* d_a_tag_csw debug almost matching (weak func order)

* d_a_tag_escape debug almost matching (weak func order)

* d_a_tag_firewall debug almost matching (weak func order)

* d_a_tag_gra debug almost matching (weak func order)

* d_a_tag_guard debug almost matching (weak func order)

* d_a_tag_instruction debug almost matching (weak func order)

* d_a_tag_kago_fall debug almost matching (weak func order)

* d_a_tag_lightball debug almost matching (weak func order)

* d_a_tag_lv5soup debug almost matching (weak func order)

* d_a_tag_mmsg debug almost matching (weak func order)

* d_a_tag_mwait debug almost matching (weak func order)

* d_a_tag_myna2 debug almost matching (weak func order)

* d_a_tag_myna_light debug almost matching (weak func order)

* d_a_tag_pachi debug almost matching (weak func order)

* d_a_tag_poFire debug almost matching (weak func order)

* d_a_tag_qs debug almost matching (small mismatch in search)

* d_a_tag_ret_room debug almost matching (weak func order)

* d_a_tag_river_back debug almost matching (weak func order)

* d_a_tag_rmbit_sw debug almost matching (weak func order)

* d_a_tag_schedule debug almost matching (weak func order)

* d_a_tag_setBall debug almost matching (weak func order)

* d_a_tag_setrestart debug almost matching (weak func order)

* d_a_tag_shop_item debug almost matching (weak func order)

* d_a_tag_smk_emt debug almost matching (weak func order)

* d_a_tag_spinner debug almost matching (weak func order)

* d_a_tag_sspath debug almost matching (weak func order)

* d_a_tag_ss_drink debug almost matching (weak func order)

* d_a_tag_stream debug almost matching (weak func order)

* d_a_tag_theB_hint debug almost matching (weak func order)

* d_a_tag_watchge debug almost matching (weak func order)

* d_a_tag_waterfall debug almost matching (weak func order)

* d_a_tag_allmato debug almost matching (weak func order)

* d_a_tag_camera debug almost matching (extra weak fns)

* d_a_tag_wara_howl debug almost matching (RTTI mismatch?)

* d_a_tag_yami debug almost matching (weak func order)

* Fix Shield regressions related to d_a_tag_* debug work
This commit is contained in:
Max Roncace
2026-01-19 21:11:54 -05:00
committed by GitHub
parent 1817d3123f
commit a0a5b0cc38
121 changed files with 3262 additions and 1494 deletions
+16 -16
View File
@@ -5,22 +5,6 @@
#include "d/d_particle_copoly.h"
#include "f_op/f_op_actor.h"
enum daCstatue_FLG0 {
daCstatue_FLG0_1 = 0x1,
daCstatue_FLG0_2 = 0x2,
daCstatue_FLG0_4 = 0x4,
daCstatue_FLG0_8 = 0x8,
daCstatue_FLG0_10 = 0x10,
daCstatue_FLG0_20 = 0x20,
daCstatue_FLG0_Demo = 0x40,
daCstatue_FLG0_80 = 0x80,
daCstatue_FLG0_100 = 0x100,
daCstatue_FLG0_200 = 0x200,
daCstatue_FLG0_400 = 0x400,
daCstatue_FLG0_800 = 0x800,
daCstatue_FLG0_1000 = 0x1000,
};
enum daCstatue_MoveMode {
daCstatue_MoveMode_0,
daCstatue_MoveMode_1,
@@ -58,6 +42,22 @@ enum daCstatueType {
*
*/
class daCstatue_c : public fopAc_ac_c {
enum daCstatue_FLG0 {
daCstatue_FLG0_1 = 0x1,
daCstatue_FLG0_2 = 0x2,
daCstatue_FLG0_4 = 0x4,
daCstatue_FLG0_8 = 0x8,
daCstatue_FLG0_10 = 0x10,
daCstatue_FLG0_20 = 0x20,
daCstatue_FLG0_Demo = 0x40,
daCstatue_FLG0_80 = 0x80,
daCstatue_FLG0_100 = 0x100,
daCstatue_FLG0_200 = 0x200,
daCstatue_FLG0_400 = 0x400,
daCstatue_FLG0_800 = 0x800,
daCstatue_FLG0_1000 = 0x1000,
};
public:
void atHitCallback(fopAc_ac_c*);
int createHeap();
+1 -1
View File
@@ -388,7 +388,7 @@ public:
}
BOOL checkHide() { return mHide || (mTwilight && !dComIfGs_wolfeye_effect_check()); }
void setIntDemander(fopAc_ac_c* i_actor) { field_0x824.entry(i_actor); }
void setIntFlowNodeNo(int i_flowNodeNo) { mFlowNodeNo = i_flowNodeNo; }
void setIntFlowNodeNo(s32 i_flowNodeNo) { mFlowNodeNo = i_flowNodeNo; }
void setCutType(int i_cutType) { mCutType = i_cutType; }
void onInterrupt(u8 param_0) { field_0x9ef = param_0; }
void onHide() { mHide = true; }
+3 -1
View File
@@ -336,7 +336,7 @@ public:
FLG0_FAST_SWORD_CUT = 0x80000,
FLG0_UNK_40000 = 0x40000,
FLG0_DK_CAUGHT2 = 0x20000,
FLG0_UNK_10000 = 0x10000,
FLG0_DEMO_STREAM_ACCEPT = 0x10000,
FLG0_UNK_8000 = 0x8000,
FLG0_UNK_4000 = 0x4000,
FLG0_UNK_2000 = 0x2000,
@@ -951,6 +951,8 @@ public:
void onTraningCutLargeTurn() { onNoResetFlg3(FLG3_TRANING_CUT_LARGE_TURN); }
void onTraningCutDown() { onNoResetFlg3(FLG3_TRANING_CUT_DOWN); }
void onTraningShieldAttack() { onNoResetFlg3(FLG3_TRANING_SHIELD_ATTACK); }
void onDemoStreamAccept() { onNoResetFlg0(FLG0_DEMO_STREAM_ACCEPT); }
void offDemoStreamAccept() { offNoResetFlg0(FLG0_DEMO_STREAM_ACCEPT); }
BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_STICK_ARROW_RESET); }
BOOL getCutAtFlg() const { return checkNoResetFlg0(FLG0_CUT_AT_FLG); }
+3 -3
View File
@@ -14,7 +14,7 @@ public:
int Draw();
int Delete();
u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x568 */ u8 mSwitch;
@@ -25,11 +25,11 @@ private:
class daTagCstaSw_HIO_c : public mDoHIO_entry_c {
public:
daTagCstaSw_HIO_c();
virtual ~daTagCstaSw_HIO_c();
virtual ~daTagCstaSw_HIO_c() {}
void genMessage(JORMContext*);
u8 unk_0x4;
u8 show_range;
};
#endif /* D_A_TAG_CSTASW_H */
+1 -1
View File
@@ -6,7 +6,7 @@
class daTagLv6Gate_c : public fopAc_ac_c {
public:
int createHeap();
inline int createHeap();
int create();
inline int execute();
int draw();
+6 -6
View File
@@ -6,23 +6,23 @@
class daTagLv7Gate_c : public fopAc_ac_c {
public:
int create();
void create_init();
int execute();
inline void create_init();
inline int execute();
void calcFly();
inline ~daTagLv7Gate_c();
inline int createHeap();
inline void setPath(u8 i_path_ID);
inline int setPath(int i_path_ID);
inline void initBaseMtx();
inline void setBaseMtx();
inline void flyAnime();
inline bool checkPoint(f32 i_speed);
inline bool checkPoint(cXyz& i_point, f32 i_speed);
inline bool setNextPoint();
inline int draw();
u8 getPathID() { return fopAcM_GetParam(this) >> 0x10; }
u16 getFlowNodeNo() { return fopAcM_GetParam(this); }
u8 getPathID() { return (fopAcM_GetParam(this) >> 16) & 0xFF; }
s16 getFlowNodeNo() { return (u16)fopAcM_GetParam(this); }
/* 0x568 */ J3DModel* mpModel;
/* 0x56C */ mDoExt_bckAnm* mpBck;
+2 -2
View File
@@ -10,8 +10,8 @@ class daTagLv8Gate_c : public fopAc_ac_c {
public:
inline ~daTagLv8Gate_c();
int createHeap();
int execute();
inline int createHeap();
inline int execute();
void initBaseMtx();
void create_init();
+43 -40
View File
@@ -8,6 +8,26 @@
class daTagTWGate_c;
typedef void (daTagTWGate_c::*actionFunc)();
struct daTagTWGate_Attr_c {
/* 0x00 */ u8 show_range;
};
class daTagTWGate_Hio_c : public mDoHIO_entry_c {
public:
daTagTWGate_Hio_c();
inline void ct();
inline void dt();
void default_set();
inline void genMessage(JORMContext*);
/* 0x08 */ int field_0x8;
/* 0x0C */ daTagTWGate_Attr_c attr;
};
class daTagTWGate_c : public fopAc_ac_c {
public:
enum EType {
@@ -31,6 +51,7 @@ public:
/* 0x0A */ ACT_DEMO_HYRAL_1,
/* 0x0B */ ACT_DEMO_HYRAL_2,
/* 0x0C */ ACT_DEMO_HYRAL_3,
/* 0x0D */ MODE_MAX_e,
};
inline ~daTagTWGate_c();
@@ -62,65 +83,47 @@ public:
void initDemoHyral3();
void executeDemoHyral3();
void initBaseMtx();
int downloadModels();
inline int downloadModels();
void initTalk(int, fopAc_ac_c**);
bool talkProc(int*, int, fopAc_ac_c**);
static int createHeapCallBack(fopAc_ac_c*);
int CreateHeap();
u8 getSwitch() { return fopAcM_GetParam(this) >> 8; }
u8 getSwitch() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
u8 getType() { return fopAcM_GetParam(this); }
inline int create();
void create_init() {
field_0x5e0 = 0;
mActionID = 0;
mAction = &ActionTable[mActionID][0];
(this->**mAction)();
inline void create_init();
inline void callExecute();
inline int execute();
inline int draw();
#if DEBUG
daTagTWGate_Attr_c& attr() const {
return mHio.attr;
}
#endif
void callExecute() {
(this->*mAction[1])();
mDoAud_seStartLevel(Z2SE_OBJ_DARK_GATE, &current.pos, 0, 0);
}
inline void callInit();
int execute() {
callExecute();
inline void setAction(Mode_e i_action);
if (field_0x5e0 != 0) {
mpMorf->play(0, 0);
mpMorf->modelCalc();
}
return 1;
}
int draw() {
if (field_0x5e0 != 0) {
mpMorf->entryDL();
}
return 1;
}
void callInit() {
(this->*(*mAction))();
}
void setAction(Mode_e action) {
mActionID = action;
mAction = ActionTable[mActionID];
callInit();
}
static u8 const mAttr[1];
static actionFunc ActionTable[13][2];
static daTagTWGate_Attr_c const mAttr;
#if DEBUG
static daTagTWGate_Hio_c mHio;
#endif
static const actionFunc ActionTable[][2];
private:
/* 0x568 */ mDoExt_McaMorfSO* mpMorf;
/* 0x56C */ request_of_phase_process_class mPhaseZevArc;
/* 0x574 */ request_of_phase_process_class mPhaseMdRes;
/* 0x57C */ request_of_phase_process_class mPhasePyRes;
/* 0x584 */ actionFunc* mAction;
/* 0x584 */ const actionFunc* mAction;
/* 0x588 */ int mActionID;
/* 0x58C */ dMsgFlow_c mMsgFlow;
/* 0x5D8 */ u8 field_0x5d8[4];
+3 -15
View File
@@ -5,21 +5,9 @@
class daTagAssist_c : public fopAc_ac_c {
public:
void create_init() {
attention_info.flags = 0;
field_0x570 = -1;
}
int create() {
fopAcM_ct(this, daTagAssist_c);
create_init();
return cPhs_COMPLEATE_e;
}
int execute() {
fopAcM_searchPlayerDistanceXZ(this);
return 1;
}
inline void create_init();
inline int create();
inline int execute();
u8 field_0x568[8];
s16 field_0x570;
+1
View File
@@ -16,6 +16,7 @@ public:
void action();
BOOL checkHit();
void createItem();
int draw();
int _delete();
virtual ~daTagAtkItem_c() {}
+33 -12
View File
@@ -4,6 +4,22 @@
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daAttp_HIO_c : public mDoHIO_entry_c {
public:
daAttp_HIO_c();
void genMessage(JORMContext*);
/* 0x06 */ u8 enable_type_switching;
/* 0x07 */ u8 type_spec;
/* 0x08 */ u8 enable_distance_display;
/* 0x0C */ f32 dist_max;
/* 0x10 */ f32 dist_max_release;
/* 0x14 */ f32 dist_adjust;
/* 0x18 */ f32 upper_y;
/* 0x1C */ f32 lower_y;
};
class daAttp_c : public fopAc_ac_c {
public:
int Create();
@@ -11,28 +27,33 @@ public:
int execute();
int draw();
int _delete();
#if DEBUG
Mtx field_0x568;
u8 field_0x598;
#endif
}; // Size: 0x568
namespace daAttp_prm {
static inline u32 getArg0(daAttp_c* pActor) {
return fopAcM_GetParam(pActor) & 3;
static inline u8 getArg0(daAttp_c* pActor) {
return fopAcM_GetParam(pActor) & 0x3;
}
static inline u32 getArg1(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 2) & 3;
static inline u8 getArg1(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 2) & 0x3;
}
static inline u32 getArg2(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 4) & 7;
static inline u8 getArg2(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 4) & 0x7;
}
static inline u32 getArg3(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 7) & 1;
static inline u8 getArg3(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 7) & 0x1;
}
static inline u32 getArg4(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 8) & 1;
static inline u8 getArg4(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 8) & 0x1;
}
static inline u32 getSw1(daAttp_c* pActor) {
static inline u8 getSw1(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 0x10) & 0xff;
}
static inline u32 getSw2(daAttp_c* pActor) {
static inline u8 getSw2(daAttp_c* pActor) {
return (fopAcM_GetParam(pActor) >> 0x18);
}
} // namespace daAttp_prm
+6 -6
View File
@@ -14,18 +14,18 @@ private:
/* 0x0576 */ u8 mBottleItemType;
public:
s32 create();
s32 Delete();
s32 Execute();
s32 Draw();
int create();
int Delete();
int Execute();
int Draw();
void setTypeFromParam();
void restart();
void initialize();
int checkProcess(ProcessFunc);
int setProcess(ProcessFunc);
void setAttnPos();
s32 chkEvent();
s32 orderEvent();
int chkEvent();
int orderEvent();
void makeSoup();
int wait(void*);
virtual ~daTag_BottleItem_c();
+1
View File
@@ -14,6 +14,7 @@ public:
u16 getAreaType();
u16 getAreaNoChk();
int execute();
int draw();
inline int create();
+11 -6
View File
@@ -6,10 +6,11 @@
class daTagChgRestart_c : public fopAc_ac_c {
public:
daTagChgRestart_c() {}
s32 Create();
s32 create();
s32 execute();
s32 _delete();
int Create();
int create();
int execute();
int draw();
int _delete();
/* 0x0568 */ cXyz mVertices[4];
};
@@ -17,8 +18,12 @@ public:
STATIC_ASSERT(sizeof(daTagChgRestart_c) == 0x598);
namespace daTagChgRestart_prm {
inline u8 getSwNo(daTagChgRestart_c* p_chgRestart) { return fopAcM_GetParam(p_chgRestart) >> 8; }
inline u8 getPlayerNo(daTagChgRestart_c* p_chgRestart) { return fopAcM_GetParam(p_chgRestart); }
inline u8 getSwNo(daTagChgRestart_c* p_chgRestart) {
return (fopAcM_GetParam(p_chgRestart) >> 8) & 0xFF;
}
inline u8 getPlayerNo(daTagChgRestart_c* p_chgRestart) {
return fopAcM_GetParam(p_chgRestart);
}
}; // namespace daTagChgRestart_prm
#endif /* D_A_TAG_CHGRESTART_H */
+9 -5
View File
@@ -7,11 +7,12 @@
class daTag_Chk_c : public fopAc_ac_c {
public:
int execute();
int draw();
u16 getAreaType() { return home.angle.z & 0x100; }
u16 getHeight() { return fopAcM_GetParam(this) & 0xff; }
u8 getSwBit() { return fopAcM_GetParam(this) >> 8; }
u8 getSwBit2() { return fopAcM_GetParam(this) >> 16; }
u8 getHeight() { return fopAcM_GetParam(this) & 0xff; }
u8 getSwBit() { return (fopAcM_GetParam(this) & 0xff00) >> 8; }
u8 getSwBit2() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
int create() {
fopAcM_ct(this, daTag_Chk_c);
@@ -34,8 +35,11 @@ public:
attention_info.position = current.pos;
u16 height = getHeight();
height != 0xff ? attention_info.position.y += height * 10.0f : attention_info.position.y += scale.y * 0.5f;
if (getHeight() != 0xff) {
attention_info.position.y += getHeight() * 10.0f;
} else {
attention_info.position.y += scale.y * 0.5f;
}
eyePos = attention_info.position;
return cPhs_COMPLEATE_e;
+1 -1
View File
@@ -23,7 +23,7 @@ struct daTagCsw_c : public fopAc_ac_c, public request_of_phase_process_class {
int getSw2() { return fopAcM_GetParamBit(this, 9, 8); }
int getType() { return fopAcM_GetParamBit(this, 0, 1); }
int getParam(int param_1, int param_2, int param_3) {
return (1 << param_3) - 1U & param_1 >> (param_2 & 0x3fU);
return (1 << param_3) - 1U & param_1 >> param_2;
}
int getArg0() { return getParam(current.angle.x, 0, 8); }
int getItemBit() { return fopAcM_GetParamBit(this, 17, 8); }
+1 -2
View File
@@ -5,8 +5,7 @@
class daTagEscape_c : public fopAc_ac_c {
public:
daTagEscape_c() {}
~daTagEscape_c() {}
inline int create();
u8 getPathID() { return fopAcM_GetParam(this) & 0xff; }
};
+1 -1
View File
@@ -9,7 +9,7 @@ public:
int getAppearPoint(Vec*);
void createGuard(u32);
u8 getPathID() { return fopAcM_GetParam(this) >> 8; }
u8 getPathID() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
inline int create();
inline void create_init();
+1 -1
View File
@@ -14,7 +14,7 @@ public:
int destroy();
int execute();
int draw();
u8 isAreaCheck();
bool isAreaCheck();
int getParam();
u8 getSwitchBit();
virtual ~daTag_Howl_c() {}
+1 -1
View File
@@ -5,7 +5,7 @@
#include "d/d_msg_flow.h"
struct daTag_Lantern_HIOParam {
u8 field_0x0;
u8 enable_debug_info;
};
class daTag_Lantern_Param_c {
+2 -2
View File
@@ -13,8 +13,8 @@ public:
int draw();
int _delete();
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getType() { return fopAcM_GetParamBit(this, 8, 4); }
u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getType() { return fopAcM_GetParamBit(this, 8, 4); }
/* 0x568 */ DALKMIST_INFLUENCE mInfluence;
/* 0x57C */ u8 field_0x57c;
+3 -3
View File
@@ -14,7 +14,7 @@ public:
int Draw();
int Delete();
u8 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
u32 getSw() { return fopAcM_GetParamBit(this, 0, 8); }
private:
/* 0x568 */ u8 mSwitch;
@@ -24,11 +24,11 @@ private:
class daLv6CstaSw_HIO_c : public mDoHIO_entry_c {
public:
daLv6CstaSw_HIO_c();
virtual ~daLv6CstaSw_HIO_c();
virtual ~daLv6CstaSw_HIO_c() {}
void genMessage(JORMContext*);
u8 unk_0x4;
u8 show_range;
};
#endif /* D_A_TAG_LV6CSTASW_H */
+5 -4
View File
@@ -11,6 +11,7 @@ public:
int Create();
int create();
int execute();
int draw();
int _delete();
static u8 getPlayerNo();
@@ -28,18 +29,18 @@ public:
namespace daTagMist_prm {
inline u8 getSwNoNum(daTagMist_c* i_this) {
return fopAcM_GetParam(i_this) >> 0x10;
return (fopAcM_GetParam(i_this) >> 16) & 0xFF;
}
inline u8 getMySwNo(daTagMist_c* i_this) {
return fopAcM_GetParam(i_this) >> 0x8;
return (fopAcM_GetParam(i_this) >> 8) & 0xFF;
}
inline u8 getTopSwNo(daTagMist_c* i_this) {
return fopAcM_GetParam(i_this);
}
inline u8 getExitNo(daTagMist_c* i_this) {
return (fopAcM_GetParam(i_this) >> 0x18) & 0x3F;
return (fopAcM_GetParam(i_this) >> 24) & 0x3F;
}
inline int getSwNo2(daTagMist_c* i_this) {
inline u8 getSwNo2(daTagMist_c* i_this) {
return i_this->field_0x5a2 & 0xFF;
}
} // namespace daTagMist_prm
+2 -2
View File
@@ -12,13 +12,13 @@ public:
int execute();
void onUseFlg() { mUseFlg = true; }
bool checkNoAttention() { return mAttention == 0xFF; }
bool checkNoAttention() const { return mAttention == 0xFF; }
private:
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 mAttention;
/* 0x56B */ bool field_0x56b;
/* 0x56B */ u8 field_0x56b;
/* 0x56C */ bool mUseFlg;
/* 0x56D */ u8 field_0x56d[3];
/* 0x570 */ u16 field_0x570;
+20 -3
View File
@@ -16,6 +16,23 @@ public:
static const daTag_Msg_HIO_Param_c m;
};
#if DEBUG
class daTag_Msg_HIO_c : public JORReflexible {
public:
daTag_Msg_HIO_c();
~daTag_Msg_HIO_c();
void genMessage(JORMContext*);
s8 mChild;
daTag_Msg_HIO_Param_c m;
};
#define TAG_MSG_HIO_CLASS daTag_Msg_HIO_c
#else
#define TAG_MSG_HIO_CLASS daTag_Msg_Param_c
#endif
class daTag_Msg_c : public fopAc_ac_c {
public:
virtual ~daTag_Msg_c();
@@ -39,9 +56,9 @@ public:
/* 0x5CC */ int mOrderEvtNum;
/* 0x5D0 */ s16 mEventIdx;
/* 0x5D2 */ u8 field_0x5D2[0x5D8 - 0x5D2];
/* 0x5D8 */ daTag_Msg_Param_c* mParam;
/* 0x5DC */ u8 field_0x5dc;
/* 0x5DD */ u8 field_0x5dd;
/* 0x5D8 */ TAG_MSG_HIO_CLASS* mpHIO;
/* 0x5DC */ bool field_0x5dc;
/* 0x5DD */ bool field_0x5dd;
/* 0x5DE */ u8 mOnSwitch;
/* 0x5DF */ u8 mOffSwitch;
/* 0x5E0 */ u16 mOnSaveLabel;
+2 -2
View File
@@ -8,8 +8,8 @@ public:
s32 create();
s32 execute();
u8 getSwBit() { return fopAcM_GetParam(this) >> 8; }
u8 getMode() { return fopAcM_GetParam(this); }
u8 getSwBit() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
int getMode() { return fopAcM_GetParam(this) & 0xFF; }
f32 getExtent() { return scale.x * 100.0f;}
private:
+2 -2
View File
@@ -10,8 +10,8 @@ public:
int Execute();
int Draw();
bool setTurnOnOffChange();
u32 getTurnOnTime();
u32 getTurnOffTime();
u8 getTurnOnTime();
u8 getTurnOffTime();
void initialize();
virtual ~daTag_MynaLight_c();
+2 -2
View File
@@ -16,12 +16,12 @@ public:
int getId() {
u16 id = (fopAcM_GetParam(this) & 0xFF000000) >> 24;
return (id == 0xFF) ? -1 : id;
return id == 0xFF ? -1 : id;
}
u8 getBitSW() { return fopAcM_GetParam(this) & 0xFF; }
u8 getBitSW2() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
u32 getFlowNodeNo() {
if (home.angle.x != 0xFFFF) {
+1 -1
View File
@@ -17,7 +17,7 @@ public:
int execute();
int draw();
u8 getType() { return fopAcM_GetParamBit(this, 0, 1); }
u32 getType() { return fopAcM_GetParamBit(this, 0, 1); }
int getSwNo() { return fopAcM_GetParamBit(this, 1, 8); }
/* 0x568 */ f32 field_0x568;
+1 -1
View File
@@ -13,7 +13,7 @@ public:
int draw();
int execute();
void init();
u8 chkPlyrInTag();
bool chkPlyrInTag();
/* 0x56C */ f32 field_0x56c;
/* 0x570 */ f32 field_0x570;
+4 -2
View File
@@ -31,9 +31,11 @@ public:
void setAction(u8 i_action) { mAction = i_action; }
u8 getSwBit() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getSwbit() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getSwBit2() { return fopAcM_GetParamBit(this, 0x10, 8); }
u8 getSwbit2() { return fopAcM_GetParamBit(this, 0x10, 8); }
u8 getNextSceneNo() { return fopAcM_GetParamBit(this, 0, 8); }
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ u8 mTimer;
+2 -2
View File
@@ -12,13 +12,13 @@ public:
int draw();
int execute();
void init();
u8 chkPlyrInTag();
bool chkPlyrInTag();
s8 getArg0_RoomSaveTableNo() { return fopAcM_GetParamBit(this, 0, 8); }
s8 getArg1_RoomNo() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getArg2_CngBitVal() { return fopAcM_GetParamBit(this, 16, 1); }
u8 getArg3_CngBitFlg() { return fopAcM_GetParamBit(this, 17, 1); }
u8 getSwBit() { return fopAcM_GetParamBit(this, 24, 8); }
int getSwBit() { return fopAcM_GetParamBit(this, 24, 8); }
/* 0x56C */ f32 field_0x56c;
/* 0x570 */ f32 field_0x570;
+1
View File
@@ -8,6 +8,7 @@ public:
int Create();
int create();
int execute();
int draw();
int _delete();
/* 0x568 */ s8 mPlayerRoomNo;
+1
View File
@@ -14,6 +14,7 @@ public:
int CreateHeap();
int create();
int execute();
int draw();
int _delete();
f32 GetR() { return mRadius; }
};
+3 -2
View File
@@ -10,10 +10,11 @@ public:
int Create();
int create();
int execute();
u8 checkArea();
bool checkArea();
int draw();
int _delete();
u32 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
/* 0x568 */ u8 mTimer;
}; // Size: 0x56C
+1 -2
View File
@@ -14,7 +14,7 @@ public:
int Delete();
int Execute();
int Draw();
int getTypeFromParam();
u8 getTypeFromParam();
u8 getSwitchFromParam();
u16 getFlowNodeNum();
u16 getValue();
@@ -29,7 +29,6 @@ public:
int talk(void*);
~daTag_SSDrink_c();
s32 fopAcM_seenPlayerAngleY() { return fopAcM_seenActorAngleY(this, dComIfGp_getPlayer(0)); }
bool checkShopOil() const { return field_0x5D2 == 4; }
/* 0x578 */ dMsgFlow_c field_0x578;
+9 -5
View File
@@ -21,7 +21,7 @@ public:
void endParticle();
BOOL checkStartDemo();
BOOL checkOnEffect();
s32 getLetterCount();
int getLetterCount();
int draw();
int _delete();
@@ -38,7 +38,7 @@ private:
/* 0x596 */ u8 mMapToolId;
/* 0x597 */ u8 mSkyCharacterEventBitIdIndex;
/* 0x598 */ s16 mEventId;
/* 0x59C */ u32 mTreasureDemoItemId;
/* 0x59C */ u32 mItemId;
/* 0x5A0 */ s32 mOwlStatueId;
enum Action_e {
@@ -63,19 +63,23 @@ private:
TAG_LOCATION_RUINED_THEATRE
};
void setAction(Action_e action) {
void setAction(u8 action) {
mCurrentAction = action;
}
u32 getSwbit() {
u8 getSwbit() {
return fopAcM_GetParamBit(this, 0, 8);
}
// Returns whether player has obtained a Sky Character from the tag
u32 getSwbit2() {
u8 getSwbit2() {
return fopAcM_GetParamBit(this, 12, 8);
}
u8 getType() {
return fopAcM_GetParamBit(this, 8, 4);
}
};
#endif /* D_A_TAG_STATUE_EVT_H */
+1 -1
View File
@@ -5,7 +5,7 @@
class daTagStream_c : public fopAc_ac_c {
public:
u8 getPriority() {
u8 getPriority() const {
return mPriority;
}
+4 -75
View File
@@ -1,61 +1,16 @@
#ifndef D_A_TAG_THEB_HINT_H
#define D_A_TAG_THEB_HINT_H
// #include "d/actor/d_a_npc_theB.h"
#include "d/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
// needs to be pulled from d_a_npc_theB.h eventually
struct daNpcTheB_c {
daNpcTheB_c();
~daNpcTheB_c();
void create();
void CreateHeap();
void Delete();
void Execute();
void Draw();
void ctrlJoint(J3DJoint*, J3DModel*);
void createHeapCallBack(fopAc_ac_c*);
void ctrlJointCallBack(J3DJoint*, int);
void getHandPos1(int);
void getHandPos2(int);
void setHintEvent(s32, u16, int);
void main();
void setParam();
void ctrlBtk();
void setAttnPos();
void setExpressionAnm(int, bool);
void setExpressionBtp(int);
bool setMotionAnm(int, f32);
bool drawDbgInfo();
void reset();
void playExpression();
void playMotion();
void doNormalAction();
void doEvent();
void lookat();
void wait(void*);
void setMotion(int, f32, int);
void setExpression(int, f32);
void talk(void*);
void EvCut_PersonalCombatIntro(int);
void EvCut_PersonalCombatRevenge(int);
void EvCut_PersonalCombatAfter();
void EvCut_AnnulationFieldRace(int);
void EvCut_TheBHint(int);
void EvCut_CoachGuardGameOver(int);
static u8 mEvtSeqList[72];
};
class daTagTheBHint_c : public fopAc_ac_c {
public:
u8 getSwitchNo() {
u32 getSwitchNo() {
return shape_angle.x & 0xff;
}
u16 getMessageNo() {
u32 getMessageNo() {
return shape_angle.z & 0xffff;
}
@@ -65,37 +20,11 @@ public:
s8 getRoomNo() {
return fopAcM_GetParam(this) >> 24;
}
int create() {
fopAcM_ct(this, daTagTheBHint_c);
field_0x568 = pow(scale.x * 100.0f,2.0f);
return cPhs_COMPLEATE_e;
}
int execute() {
if (fopAcM_isSwitch(this,getSwitchNo())) {
fopAcM_delete(this);
return 1;
} else {
f32 distance = fopAcM_searchPlayerDistanceXZ2(this);
inline int create();
inline int execute();
if (distance < field_0x568) {
daNpcTheB_c* the_b = (daNpcTheB_c*)fpcM_SearchByName(PROC_NPC_THEB);
if (the_b) {
s8 roomNo = getRoomNo();
if (roomNo == 0xFF) {
roomNo = fopAcM_GetRoomNo(this);
}
the_b->setHintEvent(getMessageNo(),getLinkID(),roomNo);
}
}
}
return 1;
}
/* 0x568 */ f32 field_0x568;
};
+15 -15
View File
@@ -29,31 +29,31 @@ private:
/* 0x574 */ f32 mFogNear;
/* 0x578 */ f32 mFogFar;
/* 0x57C */ f32 mColorBlend;
/* 0x580 */ bool mPrevCameraInWaterfall;
/* 0x580 */ u8 mPrevCameraInWaterfall;
/* 0x581 */ u8 mFrameCountdown;
/* 0x582 */ u8 mColpat;
/* 0x583 */ u8 mIsMasterWaterfallTag;
};
struct daTagWaterFall_HIO_c {
struct daTagWaterFall_HIO_c : public JORReflexible {
public:
daTagWaterFall_HIO_c();
virtual ~daTagWaterFall_HIO_c();
virtual ~daTagWaterFall_HIO_c() {}
void genMessage(JORMContext*);
/* 0x00 */ /* vtable */
/* 0x04 */ s8 field_0x04;
/* 0x05 */ bool mShouldModifyFog;
/* 0x06 */ u8 pad0[2];
/* 0x08 */ f32 mBaseFogNear;
/* 0x0C */ f32 mBaseFogFar;
/* 0x10 */ f32 mColorBlendStepDivisor;
/* 0x14 */ u8 field_0x14;
/* 0x15 */ u8 field_0x15;
/* 0x16 */ u8 pad1[2];
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1C;
/* 0x20 */ f32 field_0x20;
/* 0x04 */ s8 child;
/* 0x05 */ u8 enable_fog_adjust;
/* 0x08 */ f32 base_fog_far;
/* 0x0C */ f32 base_fog_near;
/* 0x10 */ f32 color_blend_step_divisor;
/* 0x14 */ u8 draw_ellipse;
/* 0x15 */ u8 enable_ellipse_adjust;
/* 0x18 */ f32 ellipse_radius_a;
/* 0x1C */ f32 ellipse_radius_b;
/* 0x20 */ f32 ellipse_rotate;
};
#endif /* D_A_TAG_WATERFALL_H */
+2 -2
View File
@@ -16,8 +16,8 @@ public:
void offMidnaTagSw2();
void setCoC(cXyz i_coC) { mCoC = i_coC; }
u8 get_MTagSw() { return fopAcM_GetParamBit(this, 8, 8); }
u8 get_MTagSw2() { return fopAcM_GetParamBit(this, 16, 8); }
int get_MTagSw() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
int get_MTagSw2() { return (fopAcM_GetParam(this) >> 16) & 0xFF; }
s32 get_prm() { return fopAcM_GetParam(this) & 0xff; }
int is_CoHit() { return mIsCoHit; }
+1 -1
View File
@@ -219,7 +219,7 @@ public:
MtxP GetBaseMtxP() { return pm_base; }
bool ChkNoCalcVtx() { return mFlags & NO_CALC_VTX_e; }
bool ChkFlush() { return field_0x91 & 8; }
void SetLock() { mFlags |= LOCK_e; }
void SetLock() { mFlags |= (u8)LOCK_e; }
void OffRoofRegist() { field_0x91 |= 0x4; }
void OnRoofRegist() { field_0x91 &= ~0x04; }
bool ChkRoofRegist() { return field_0x91 & 4;}