summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMax Roncace <me@caseif.net>2026-01-19 21:11:54 -0500
committerGitHub <noreply@github.com>2026-01-19 18:11:54 -0800
commita0a5b0cc3874952316d42be82040f0f87f3df70c (patch)
tree21ab8d82de806bafc76ee0ac51c8d0b7e181d408 /include
parent1817d3123f558861cb5f12db6f96a3281c8ce0c3 (diff)
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
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_cstatue.h32
-rw-r--r--include/d/actor/d_a_npc4.h2
-rw-r--r--include/d/actor/d_a_player.h4
-rw-r--r--include/d/actor/d_a_tag_CstaSw.h6
-rw-r--r--include/d/actor/d_a_tag_Lv6Gate.h2
-rw-r--r--include/d/actor/d_a_tag_Lv7Gate.h12
-rw-r--r--include/d/actor/d_a_tag_Lv8Gate.h4
-rw-r--r--include/d/actor/d_a_tag_TWgate.h75
-rw-r--r--include/d/actor/d_a_tag_assistance.h18
-rw-r--r--include/d/actor/d_a_tag_attack_item.h1
-rw-r--r--include/d/actor/d_a_tag_attention.h45
-rw-r--r--include/d/actor/d_a_tag_bottle_item.h12
-rw-r--r--include/d/actor/d_a_tag_camera.h1
-rw-r--r--include/d/actor/d_a_tag_chgrestart.h17
-rw-r--r--include/d/actor/d_a_tag_chkpoint.h14
-rw-r--r--include/d/actor/d_a_tag_csw.h2
-rw-r--r--include/d/actor/d_a_tag_escape.h3
-rw-r--r--include/d/actor/d_a_tag_guard.h2
-rw-r--r--include/d/actor/d_a_tag_howl.h2
-rw-r--r--include/d/actor/d_a_tag_lantern.h2
-rw-r--r--include/d/actor/d_a_tag_lightball.h4
-rw-r--r--include/d/actor/d_a_tag_lv6CstaSw.h6
-rw-r--r--include/d/actor/d_a_tag_mist.h9
-rw-r--r--include/d/actor/d_a_tag_mmsg.h4
-rw-r--r--include/d/actor/d_a_tag_msg.h23
-rw-r--r--include/d/actor/d_a_tag_myna2.h4
-rw-r--r--include/d/actor/d_a_tag_myna_light.h4
-rw-r--r--include/d/actor/d_a_tag_push.h4
-rw-r--r--include/d/actor/d_a_tag_qs.h2
-rw-r--r--include/d/actor/d_a_tag_ret_room.h2
-rw-r--r--include/d/actor/d_a_tag_river_back.h6
-rw-r--r--include/d/actor/d_a_tag_rmbit_sw.h4
-rw-r--r--include/d/actor/d_a_tag_setrestart.h1
-rw-r--r--include/d/actor/d_a_tag_spinner.h1
-rw-r--r--include/d/actor/d_a_tag_spring.h5
-rw-r--r--include/d/actor/d_a_tag_ss_drink.h3
-rw-r--r--include/d/actor/d_a_tag_statue_evt.h14
-rw-r--r--include/d/actor/d_a_tag_stream.h2
-rw-r--r--include/d/actor/d_a_tag_theB_hint.h79
-rw-r--r--include/d/actor/d_a_tag_waterfall.h30
-rw-r--r--include/d/actor/d_a_tag_yami.h4
-rw-r--r--include/d/d_bg_w.h2
42 files changed, 224 insertions, 245 deletions
diff --git a/include/d/actor/d_a_cstatue.h b/include/d/actor/d_a_cstatue.h
index ca888e7dc4..e20e683398 100644
--- a/include/d/actor/d_a_cstatue.h
+++ b/include/d/actor/d_a_cstatue.h
@@ -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();
diff --git a/include/d/actor/d_a_npc4.h b/include/d/actor/d_a_npc4.h
index 7c311d0733..8b82886e62 100644
--- a/include/d/actor/d_a_npc4.h
+++ b/include/d/actor/d_a_npc4.h
@@ -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; }
diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h
index 9131286505..fdbb0bc0f7 100644
--- a/include/d/actor/d_a_player.h
+++ b/include/d/actor/d_a_player.h
@@ -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); }
diff --git a/include/d/actor/d_a_tag_CstaSw.h b/include/d/actor/d_a_tag_CstaSw.h
index 691342c14a..b40a9d178e 100644
--- a/include/d/actor/d_a_tag_CstaSw.h
+++ b/include/d/actor/d_a_tag_CstaSw.h
@@ -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 */
diff --git a/include/d/actor/d_a_tag_Lv6Gate.h b/include/d/actor/d_a_tag_Lv6Gate.h
index 504f6c2fed..d8a248db91 100644
--- a/include/d/actor/d_a_tag_Lv6Gate.h
+++ b/include/d/actor/d_a_tag_Lv6Gate.h
@@ -6,7 +6,7 @@
class daTagLv6Gate_c : public fopAc_ac_c {
public:
- int createHeap();
+ inline int createHeap();
int create();
inline int execute();
int draw();
diff --git a/include/d/actor/d_a_tag_Lv7Gate.h b/include/d/actor/d_a_tag_Lv7Gate.h
index db7b15d22e..efbb88b0cf 100644
--- a/include/d/actor/d_a_tag_Lv7Gate.h
+++ b/include/d/actor/d_a_tag_Lv7Gate.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_Lv8Gate.h b/include/d/actor/d_a_tag_Lv8Gate.h
index 9cf455a739..31f3e41e49 100644
--- a/include/d/actor/d_a_tag_Lv8Gate.h
+++ b/include/d/actor/d_a_tag_Lv8Gate.h
@@ -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();
diff --git a/include/d/actor/d_a_tag_TWgate.h b/include/d/actor/d_a_tag_TWgate.h
index 495be5bad2..e5952da286 100644
--- a/include/d/actor/d_a_tag_TWgate.h
+++ b/include/d/actor/d_a_tag_TWgate.h
@@ -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();
- void callExecute() {
- (this->*mAction[1])();
- mDoAud_seStartLevel(Z2SE_OBJ_DARK_GATE, &current.pos, 0, 0);
- }
+ inline void callExecute();
- int execute() {
- callExecute();
+ inline int execute();
- if (field_0x5e0 != 0) {
- mpMorf->play(0, 0);
- mpMorf->modelCalc();
- }
- return 1;
- }
+ inline int draw();
- int draw() {
- if (field_0x5e0 != 0) {
- mpMorf->entryDL();
- }
- return 1;
+#if DEBUG
+ daTagTWGate_Attr_c& attr() const {
+ return mHio.attr;
}
+#endif
- void callInit() {
- (this->*(*mAction))();
- }
+ inline void callInit();
- void setAction(Mode_e action) {
- mActionID = action;
- mAction = ActionTable[mActionID];
- callInit();
- }
+ inline void setAction(Mode_e i_action);
- 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];
diff --git a/include/d/actor/d_a_tag_assistance.h b/include/d/actor/d_a_tag_assistance.h
index 73f71e297f..8262cf3ff0 100644
--- a/include/d/actor/d_a_tag_assistance.h
+++ b/include/d/actor/d_a_tag_assistance.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_attack_item.h b/include/d/actor/d_a_tag_attack_item.h
index 1f33cb9f83..b24c67003e 100644
--- a/include/d/actor/d_a_tag_attack_item.h
+++ b/include/d/actor/d_a_tag_attack_item.h
@@ -16,6 +16,7 @@ public:
void action();
BOOL checkHit();
void createItem();
+ int draw();
int _delete();
virtual ~daTagAtkItem_c() {}
diff --git a/include/d/actor/d_a_tag_attention.h b/include/d/actor/d_a_tag_attention.h
index 45d2292bec..37969d8903 100644
--- a/include/d/actor/d_a_tag_attention.h
+++ b/include/d/actor/d_a_tag_attention.h
@@ -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
diff --git a/include/d/actor/d_a_tag_bottle_item.h b/include/d/actor/d_a_tag_bottle_item.h
index ecdba3d544..cd122c8cad 100644
--- a/include/d/actor/d_a_tag_bottle_item.h
+++ b/include/d/actor/d_a_tag_bottle_item.h
@@ -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();
diff --git a/include/d/actor/d_a_tag_camera.h b/include/d/actor/d_a_tag_camera.h
index e9b4516637..b2b558adb3 100644
--- a/include/d/actor/d_a_tag_camera.h
+++ b/include/d/actor/d_a_tag_camera.h
@@ -14,6 +14,7 @@ public:
u16 getAreaType();
u16 getAreaNoChk();
int execute();
+ int draw();
inline int create();
diff --git a/include/d/actor/d_a_tag_chgrestart.h b/include/d/actor/d_a_tag_chgrestart.h
index 496b4a0477..18b1cd6a48 100644
--- a/include/d/actor/d_a_tag_chgrestart.h
+++ b/include/d/actor/d_a_tag_chgrestart.h
@@ -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 */
diff --git a/include/d/actor/d_a_tag_chkpoint.h b/include/d/actor/d_a_tag_chkpoint.h
index 842408d20c..4871ec3946 100644
--- a/include/d/actor/d_a_tag_chkpoint.h
+++ b/include/d/actor/d_a_tag_chkpoint.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_csw.h b/include/d/actor/d_a_tag_csw.h
index 97d08ffda2..a55f21cb88 100644
--- a/include/d/actor/d_a_tag_csw.h
+++ b/include/d/actor/d_a_tag_csw.h
@@ -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); }
diff --git a/include/d/actor/d_a_tag_escape.h b/include/d/actor/d_a_tag_escape.h
index d9a0aa23a4..b733e95aa9 100644
--- a/include/d/actor/d_a_tag_escape.h
+++ b/include/d/actor/d_a_tag_escape.h
@@ -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; }
};
diff --git a/include/d/actor/d_a_tag_guard.h b/include/d/actor/d_a_tag_guard.h
index 0d2c784303..adebfffb75 100644
--- a/include/d/actor/d_a_tag_guard.h
+++ b/include/d/actor/d_a_tag_guard.h
@@ -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();
diff --git a/include/d/actor/d_a_tag_howl.h b/include/d/actor/d_a_tag_howl.h
index 9d1f9ed023..222987b8f6 100644
--- a/include/d/actor/d_a_tag_howl.h
+++ b/include/d/actor/d_a_tag_howl.h
@@ -14,7 +14,7 @@ public:
int destroy();
int execute();
int draw();
- u8 isAreaCheck();
+ bool isAreaCheck();
int getParam();
u8 getSwitchBit();
virtual ~daTag_Howl_c() {}
diff --git a/include/d/actor/d_a_tag_lantern.h b/include/d/actor/d_a_tag_lantern.h
index 9cb8c698e1..54e1e5cf22 100644
--- a/include/d/actor/d_a_tag_lantern.h
+++ b/include/d/actor/d_a_tag_lantern.h
@@ -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 {
diff --git a/include/d/actor/d_a_tag_lightball.h b/include/d/actor/d_a_tag_lightball.h
index a9e3453e39..c27ef8e061 100644
--- a/include/d/actor/d_a_tag_lightball.h
+++ b/include/d/actor/d_a_tag_lightball.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_lv6CstaSw.h b/include/d/actor/d_a_tag_lv6CstaSw.h
index 9f8bf99dd6..17b58e4b28 100644
--- a/include/d/actor/d_a_tag_lv6CstaSw.h
+++ b/include/d/actor/d_a_tag_lv6CstaSw.h
@@ -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 */
diff --git a/include/d/actor/d_a_tag_mist.h b/include/d/actor/d_a_tag_mist.h
index 798be173d9..9579ff62d5 100644
--- a/include/d/actor/d_a_tag_mist.h
+++ b/include/d/actor/d_a_tag_mist.h
@@ -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
diff --git a/include/d/actor/d_a_tag_mmsg.h b/include/d/actor/d_a_tag_mmsg.h
index b916e2f212..9fdd0b3c66 100644
--- a/include/d/actor/d_a_tag_mmsg.h
+++ b/include/d/actor/d_a_tag_mmsg.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_msg.h b/include/d/actor/d_a_tag_msg.h
index 52f60bf13b..5ff6163559 100644
--- a/include/d/actor/d_a_tag_msg.h
+++ b/include/d/actor/d_a_tag_msg.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_myna2.h b/include/d/actor/d_a_tag_myna2.h
index 5117e36c22..7eecb0c1d7 100644
--- a/include/d/actor/d_a_tag_myna2.h
+++ b/include/d/actor/d_a_tag_myna2.h
@@ -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:
diff --git a/include/d/actor/d_a_tag_myna_light.h b/include/d/actor/d_a_tag_myna_light.h
index 0a8b27c15d..664aea5e57 100644
--- a/include/d/actor/d_a_tag_myna_light.h
+++ b/include/d/actor/d_a_tag_myna_light.h
@@ -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();
diff --git a/include/d/actor/d_a_tag_push.h b/include/d/actor/d_a_tag_push.h
index ae3d664401..3a20b5ed77 100644
--- a/include/d/actor/d_a_tag_push.h
+++ b/include/d/actor/d_a_tag_push.h
@@ -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) {
diff --git a/include/d/actor/d_a_tag_qs.h b/include/d/actor/d_a_tag_qs.h
index 832881d338..0ff7b20127 100644
--- a/include/d/actor/d_a_tag_qs.h
+++ b/include/d/actor/d_a_tag_qs.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_ret_room.h b/include/d/actor/d_a_tag_ret_room.h
index 063f644d8f..9e5f579e76 100644
--- a/include/d/actor/d_a_tag_ret_room.h
+++ b/include/d/actor/d_a_tag_ret_room.h
@@ -13,7 +13,7 @@ public:
int draw();
int execute();
void init();
- u8 chkPlyrInTag();
+ bool chkPlyrInTag();
/* 0x56C */ f32 field_0x56c;
/* 0x570 */ f32 field_0x570;
diff --git a/include/d/actor/d_a_tag_river_back.h b/include/d/actor/d_a_tag_river_back.h
index 9cbd1e603e..3d53fe9d27 100644
--- a/include/d/actor/d_a_tag_river_back.h
+++ b/include/d/actor/d_a_tag_river_back.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_rmbit_sw.h b/include/d/actor/d_a_tag_rmbit_sw.h
index 8b214533b9..957267dd1d 100644
--- a/include/d/actor/d_a_tag_rmbit_sw.h
+++ b/include/d/actor/d_a_tag_rmbit_sw.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_setrestart.h b/include/d/actor/d_a_tag_setrestart.h
index 73eb563ace..9cc144a55c 100644
--- a/include/d/actor/d_a_tag_setrestart.h
+++ b/include/d/actor/d_a_tag_setrestart.h
@@ -8,6 +8,7 @@ public:
int Create();
int create();
int execute();
+ int draw();
int _delete();
/* 0x568 */ s8 mPlayerRoomNo;
diff --git a/include/d/actor/d_a_tag_spinner.h b/include/d/actor/d_a_tag_spinner.h
index b0d97dfb56..cae6eeb9b6 100644
--- a/include/d/actor/d_a_tag_spinner.h
+++ b/include/d/actor/d_a_tag_spinner.h
@@ -14,6 +14,7 @@ public:
int CreateHeap();
int create();
int execute();
+ int draw();
int _delete();
f32 GetR() { return mRadius; }
};
diff --git a/include/d/actor/d_a_tag_spring.h b/include/d/actor/d_a_tag_spring.h
index 4d6a50a9b0..353d920ad9 100644
--- a/include/d/actor/d_a_tag_spring.h
+++ b/include/d/actor/d_a_tag_spring.h
@@ -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
diff --git a/include/d/actor/d_a_tag_ss_drink.h b/include/d/actor/d_a_tag_ss_drink.h
index 4055bd3fc0..c5766c9dfc 100644
--- a/include/d/actor/d_a_tag_ss_drink.h
+++ b/include/d/actor/d_a_tag_ss_drink.h
@@ -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;
diff --git a/include/d/actor/d_a_tag_statue_evt.h b/include/d/actor/d_a_tag_statue_evt.h
index 596d820e65..e116dea787 100644
--- a/include/d/actor/d_a_tag_statue_evt.h
+++ b/include/d/actor/d_a_tag_statue_evt.h
@@ -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 */
diff --git a/include/d/actor/d_a_tag_stream.h b/include/d/actor/d_a_tag_stream.h
index 6988320281..7c3b3eb4ac 100644
--- a/include/d/actor/d_a_tag_stream.h
+++ b/include/d/actor/d_a_tag_stream.h
@@ -5,7 +5,7 @@
class daTagStream_c : public fopAc_ac_c {
public:
- u8 getPriority() {
+ u8 getPriority() const {
return mPriority;
}
diff --git a/include/d/actor/d_a_tag_theB_hint.h b/include/d/actor/d_a_tag_theB_hint.h
index cd80a3e5e7..fb200e1ecd 100644
--- a/include/d/actor/d_a_tag_theB_hint.h
+++ b/include/d/actor/d_a_tag_theB_hint.h
@@ -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;
};
diff --git a/include/d/actor/d_a_tag_waterfall.h b/include/d/actor/d_a_tag_waterfall.h
index 26c1bc040c..fe833394c2 100644
--- a/include/d/actor/d_a_tag_waterfall.h
+++ b/include/d/actor/d_a_tag_waterfall.h
@@ -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 */
diff --git a/include/d/actor/d_a_tag_yami.h b/include/d/actor/d_a_tag_yami.h
index 0af2271e6b..8410899186 100644
--- a/include/d/actor/d_a_tag_yami.h
+++ b/include/d/actor/d_a_tag_yami.h
@@ -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; }
diff --git a/include/d/d_bg_w.h b/include/d/d_bg_w.h
index 846a177bd9..527c0e3fe4 100644
--- a/include/d/d_bg_w.h
+++ b/include/d/d_bg_w.h
@@ -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;}