summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLagoLunatic <LagoLunatic@users.noreply.github.com>2023-11-25 23:53:05 -0500
committerLagoLunatic <LagoLunatic@users.noreply.github.com>2023-11-25 23:53:05 -0500
commit5039fe661cd3882d77b22dd72a2b3555aa658acd (patch)
tree6160e28e8421a08b0559f716d802cd6bc58fa30c /include
parent30357c1712773d6538fc597cde60f2fe15e10c86 (diff)
Finished porting all actor classes to headers
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_bomb2.h2
-rw-r--r--include/d/actor/d_a_ep.h4
-rw-r--r--include/d/actor/d_a_kantera.h14
-rw-r--r--include/d/actor/d_a_mozo.h57
-rw-r--r--include/d/actor/d_a_nh.h2
-rw-r--r--include/d/actor/d_a_obj_AjavW.h14
-rw-r--r--include/d/actor/d_a_obj_Vteng.h9
-rw-r--r--include/d/actor/d_a_obj_dragonhead.h15
-rw-r--r--include/d/actor/d_a_obj_eayogn.h18
-rw-r--r--include/d/actor/d_a_obj_hfuck1.h17
-rw-r--r--include/d/actor/d_a_obj_hole.h55
-rw-r--r--include/d/actor/d_a_obj_paper.h57
-rw-r--r--include/d/actor/d_a_scene_change.h14
-rw-r--r--include/d/actor/d_a_st.h10
-rw-r--r--include/d/actor/d_a_swhit0.h2
-rw-r--r--include/d/actor/d_a_switem.h17
-rw-r--r--include/d/actor/d_a_swtact.h29
-rw-r--r--include/d/actor/d_a_tag_msg.h20
-rw-r--r--include/d/actor/d_a_tbox.h5
-rw-r--r--include/d/d_cc_d.h1
-rw-r--r--include/d/d_throwstone.h23
-rw-r--r--include/f_op/f_op_actor_mng.h3
22 files changed, 333 insertions, 55 deletions
diff --git a/include/d/actor/d_a_bomb2.h b/include/d/actor/d_a_bomb2.h
index 389a33f0..804f1bcf 100644
--- a/include/d/actor/d_a_bomb2.h
+++ b/include/d/actor/d_a_bomb2.h
@@ -87,7 +87,7 @@ namespace daBomb2 {
void set_no_hit();
bool chk_explode();
- static int solidHeapCB(fopAc_ac_c*);
+ static BOOL solidHeapCB(fopAc_ac_c*);
bool create_heap_nut();
bool create_heap();
void crr_init();
diff --git a/include/d/actor/d_a_ep.h b/include/d/actor/d_a_ep.h
index 87a1c5c8..551e9067 100644
--- a/include/d/actor/d_a_ep.h
+++ b/include/d/actor/d_a_ep.h
@@ -8,6 +8,10 @@
#include "JSystem/JParticle/JPAEmitter.h"
#include "SSystem/SComponent/c_phase.h"
+struct ep_ga_s {
+
+};
+
class ep_class : public fopAc_ac_c {
public:
/* 0x290 */ request_of_phase_process_class mPhsLoad_Ep;
diff --git a/include/d/actor/d_a_kantera.h b/include/d/actor/d_a_kantera.h
index e26d571d..dba6d512 100644
--- a/include/d/actor/d_a_kantera.h
+++ b/include/d/actor/d_a_kantera.h
@@ -9,6 +9,20 @@
#include "m_Do/m_Do_ext.h"
#include "SSystem/SComponent/c_phase.h"
+struct mo_ga_s {
+ /* 0x00 */ J3DModel* mpModel;
+ /* 0x04 */ cXyz mPos;
+ /* 0x10 */ cXyz m10;
+ /* 0x1C */ s16 mRotX;
+ /* 0x1E */ s16 mRotY;
+ /* 0x20 */ u8 m20[0x24 - 0x20];
+ /* 0x24 */ f32 mScale;
+ /* 0x28 */ f32 mScaleY;
+ /* 0x2C */ s16 m2C;
+ /* 0x2E */ u8 m2E;
+ /* 0x2F */ u8 m2F;
+};
+
class kantera_class : public fopAc_ac_c {
public:
/* 0x290 */ request_of_phase_process_class mPhs;
diff --git a/include/d/actor/d_a_mozo.h b/include/d/actor/d_a_mozo.h
index 4d6076d9..8c4ebf38 100644
--- a/include/d/actor/d_a_mozo.h
+++ b/include/d/actor/d_a_mozo.h
@@ -2,28 +2,71 @@
#define D_A_MOZO_H
#include "f_op/f_op_actor.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "m_Do/m_Do_ext.h"
+#include "d/d_cc_d.h"
class daMozo_c : public fopAc_ac_c {
public:
+ typedef void(daMozo_c::*proc_t)(void);
+
void setProcess(void (daMozo_c::*)()) {}
- void set_mtx();
+ s32 _create();
+ bool _delete();
+ bool _draw();
+ bool _execute();
void anime_proc();
- void wait_proc_init();
- void wait_proc();
+ void checkRange(int);
+ BOOL CreateHeap();
+ s32 CreateInit();
+ void event_move();
+ void getBeamActor(u32);
void search_beam_proc_init();
void search_beam_proc();
void search_fire_proc_init();
void search_fire_proc();
void towait_proc_init();
void towait_proc();
- void checkRange(int);
+ void wait_proc_init();
+ void wait_proc();
+ void set_mtx();
void setAnm(int, float);
- void getBeamActor(u32);
- void event_move();
public:
- /* Place member variables here */
+ // TODO: add offset comments
+ proc_t mCurrentProc;
+ request_of_phase_process_class mPhs;
+ mDoExt_McaMorf* mAnimMorf;
+ mDoExt_brkAnm mBrkAnm;
+ J3DAnmTevRegKey* m_brk;
+ mDoExt_btkAnm mBtkAnm;
+ J3DAnmTextureSRTKey* m_btk;
+ // TODO: insert missing members
+ Quaternion mQuatRotation;
+ dCcD_Stts mColStatus;
+ dCcD_Cps mCapsuleCol;
+};
+
+class daMozo_HIO_c {
+public:
+ daMozo_HIO_c();
+ ~daMozo_HIO_c() {}
+};
+
+class daMozo_childHIO_c {
+public:
+ ~daMozo_childHIO_c() {}
+};
+
+class daMozo_FireChildHIO_c {
+public:
+ ~daMozo_FireChildHIO_c() {}
+};
+
+class daMozo_BeamChildHIO_c {
+public:
+ ~daMozo_BeamChildHIO_c() {}
};
#endif /* D_A_MOZO_H */
diff --git a/include/d/actor/d_a_nh.h b/include/d/actor/d_a_nh.h
index 8f7d0d12..c78d3852 100644
--- a/include/d/actor/d_a_nh.h
+++ b/include/d/actor/d_a_nh.h
@@ -106,7 +106,7 @@ class daNh_HIO_c : public JORReflexible {
public:
daNh_HIO_c();
- virtual ~daNh_HIO_c();
+ virtual ~daNh_HIO_c() {}
public:
/* 0x04 */ s8 mChildID;
diff --git a/include/d/actor/d_a_obj_AjavW.h b/include/d/actor/d_a_obj_AjavW.h
index 4e12bfd5..71674d1d 100644
--- a/include/d/actor/d_a_obj_AjavW.h
+++ b/include/d/actor/d_a_obj_AjavW.h
@@ -8,10 +8,18 @@
class daObjAjavW_c : public fopAc_ac_c {
public:
+ s32 _create();
+ bool _execute();
+ bool _draw();
+ bool _delete();
+ bool create_heap();
+ static BOOL solidHeapCB(fopAc_ac_c *i_this);
+
+public:
/* 0x290 */ request_of_phase_process_class mPhs;
- /* 0x298 */ J3DModel* mModel;
- /* 0x29C */ mDoExt_btkAnm mBtk;
- /* 0x2B0 */ dBgW* mBgW;
+ /* 0x298 */ J3DModel * mpModel;
+ /* 0x29C */ mDoExt_btkAnm mBtkAnm;
+ /* 0x2B0 */ dBgW * mpBgW;
};
#endif /* D_A_OBJ_AJAVW_H */
diff --git a/include/d/actor/d_a_obj_Vteng.h b/include/d/actor/d_a_obj_Vteng.h
index 94a493ef..76ce591f 100644
--- a/include/d/actor/d_a_obj_Vteng.h
+++ b/include/d/actor/d_a_obj_Vteng.h
@@ -9,13 +9,20 @@
class daObjVteng_c : public fopAc_ac_c {
public:
void init_mtx();
+ s32 _create();
+ bool _execute();
+ bool _draw();
+ bool _delete();
+ bool create_heap();
+ bool jokai_demo();
+ static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mpModel;
/* 0x29C */ mDoExt_McaMorf* mpMorf;
/* 0x2A0 */ dBgW* mpBgW;
- /* 0x2A4 */ Mtx mMtx;
+ /* 0x2A4 */ Mtx mtx;
};
#endif /* D_A_OBJ_VTENG_H */
diff --git a/include/d/actor/d_a_obj_dragonhead.h b/include/d/actor/d_a_obj_dragonhead.h
index 2c9c8cb5..293cc593 100644
--- a/include/d/actor/d_a_obj_dragonhead.h
+++ b/include/d/actor/d_a_obj_dragonhead.h
@@ -2,6 +2,9 @@
#define D_A_OBJ_DRAGONHEAD_H
#include "f_op/f_op_actor.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "d/d_cc_d.h"
+#include "d/d_bg_w.h"
class daObjDragonhead_c : public fopAc_ac_c {
public:
@@ -10,11 +13,21 @@ public:
inline BOOL _draw();
inline BOOL _execute();
+ BOOL CreateHeap();
void CreateInit();
void set_mtx();
public:
- /* Place member variables here */
+ /* 0x290 */ request_of_phase_process_class mPhs;
+ /* 0x298 */ J3DModel * mpModel;
+ /* 0x29C */ dCcD_Stts mStts;
+ /* 0x2D8 */ dCcD_Sph mSph;
+ /* 0x404 */ u8 mAlpha;
+ /* 0x405 */ bool mSwitchOn;
+ /* 0x408 */ dBgW * mpBgW;
+ /* 0x40C */ u8 field_0x40c;
+ /* 0x410 */ cXyz mSphCenter;
+ /* 0x41C */ Mtx mtx;
};
#endif /* D_A_OBJ_DRAGONHEAD_H */
diff --git a/include/d/actor/d_a_obj_eayogn.h b/include/d/actor/d_a_obj_eayogn.h
index e80fa4e7..5825dc7e 100644
--- a/include/d/actor/d_a_obj_eayogn.h
+++ b/include/d/actor/d_a_obj_eayogn.h
@@ -2,15 +2,29 @@
#define D_A_OBJ_EAYOGN_H
#include "f_op/f_op_actor.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "d/d_bg_w.h"
+// #include "d/d_com_inf_game.h"
class daObjEayogn_c : public fopAc_ac_c {
public:
- void check_ev_bit() const {}
+ // TODO: this function is marked as weak in the REL symbol map, but it does not get inlined for some reason?
+ // BOOL check_ev_bit() const { return dComIfGs_isSymbol(1); }
+ BOOL check_ev_bit() const;
+ s32 _create();
+ bool _execute();
+ bool _draw();
+ bool _delete();
+ BOOL create_heap();
+ static BOOL solidHeapCB(fopAc_ac_c *i_this);
void init_mtx();
+ static const char M_arcname[7];
public:
- /* Place member variables here */
+ /* 0x290 */ J3DModel * mpModel;
+ /* 0x294 */ request_of_phase_process_class mPhs;
+ /* 0x2A0 */ dBgW * mpBgW;
};
#endif /* D_A_OBJ_EAYOGN_H */
diff --git a/include/d/actor/d_a_obj_hfuck1.h b/include/d/actor/d_a_obj_hfuck1.h
index ad71ada6..2dbaaaf6 100644
--- a/include/d/actor/d_a_obj_hfuck1.h
+++ b/include/d/actor/d_a_obj_hfuck1.h
@@ -2,13 +2,28 @@
#define D_A_OBJ_HFUCK1_H
#include "f_op/f_op_actor.h"
+#include "SSystem/SComponent/c_phase.h"
+#include "d/d_bg_w.h"
+#include "d/d_cc_d.h"
class daObjHfuck1_c : public fopAc_ac_c {
public:
void init_mtx();
+ s32 _create();
+ bool _execute();
+ bool _draw();
+ bool _delete();
+ bool create_heap();
+ bool checkCollision();
+ static BOOL solidHeapCB(fopAc_ac_c *i_this);
public:
- /* Place member variables here */
+ /* 0x290 */ request_of_phase_process_class mPhs;
+ /* 0x298 */ J3DModel * mpModel;
+ /* 0x29C */ dBgW * mpBgW;
+ /* 0x2A0 */ dCcD_Stts mStts;
+ /* 0x408 */ dCcD_Sph mSph;
+ /* 0x40C */ fopAc_ac_c * mpHookshotActor;
};
#endif /* D_A_OBJ_HFUCK1_H */
diff --git a/include/d/actor/d_a_obj_hole.h b/include/d/actor/d_a_obj_hole.h
index 8ddd9149..628c0820 100644
--- a/include/d/actor/d_a_obj_hole.h
+++ b/include/d/actor/d_a_obj_hole.h
@@ -3,10 +3,24 @@
#include "f_op/f_op_actor.h"
#include "d/d_bg_s_lin_chk.h"
+#include "d/d_bg_s_acch.h"
class daObj_Hole_c : public fopAc_ac_c {
public:
- void modeProcInit(int) {}
+ enum Proc_e {
+ PROC_INIT = 0,
+ PROC_EXEC = 1
+ };
+
+ enum Mode {
+ MODE_WAIT = 0,
+ MODE_EVENT = 1,
+ MODE_NULL,
+ };
+
+ static const char m_arc_name[];
+
+ void modeProcInit(int newMode) { modeProc(PROC_INIT, newMode); }
void setMtx();
void getPosAndAngle();
@@ -14,22 +28,39 @@ public:
void modeWait();
void modeEventInit();
void modeEvent();
- void modeProc(daObj_Hole_c::Proc_e mode, int i_nextState);
+ void modeProc(Proc_e proc, int newMode);
void debugDraw();
void createInit();
void getArg();
+ bool _execute();
+ bool _draw();
+ BOOL _createHeap();
+ s32 _create();
+ bool _delete();
+
public:
- /* 0x290 */ int mState;
- /* 0x294 */ u8 mbHasModel;
- /* 0x295 */ u8 mSclsNum;
- /* 0x296 */ s16 mScale;
- /* 0x298 */ u8 m298[0x2A0 - 0x298];
- /* 0x2A0 */ J3DModel* mpModel;
- /* 0x2A4 */ dBgS_LinChk mLinChk;
- /* 0x310 */ u8 m310[0x338 - 0x310];
- /* 0x338 */ int m338;
- /* 0x33C */ u8 m33C[0x800 - 0x33C];
+ /* 0x0290 */ s32 mMode;
+ /* 0x0294 */ u8 mHasModel;
+ /* 0x0295 */ u8 mExitIdx;
+ /* 0x0296 */ u16 mScaleLocal;
+ /* 0x0298 */ request_of_phase_process_class mPhs;
+ /* 0x02A0 */ J3DModel* mpMdl;
+ /* 0x02A4 */ dBgS_ObjLinChk mLinChk;
+ /* 0x0310 */ dBgS_ObjAcch mAcch;
+ /* 0x04D4 */ dBgS_AcchCir mAcchCir;
+};
+
+class daObj_Hole_HIO_c {
+public:
+ daObj_Hole_HIO_c();
+ virtual ~daObj_Hole_HIO_c() {}
+
+ /* 0x04 */ s8 m04;
+ /* 0x05 */ u8 m05;
+ /* 0x08 */ f32 m08;
+ /* 0x0C */ s16 m0C;
+ /* 0x10 */ f32 m10;
};
#endif /* D_A_OBJ_HOLE_H */
diff --git a/include/d/actor/d_a_obj_paper.h b/include/d/actor/d_a_obj_paper.h
index 4d37fd16..7c2cdc3c 100644
--- a/include/d/actor/d_a_obj_paper.h
+++ b/include/d/actor/d_a_obj_paper.h
@@ -5,24 +5,65 @@
#include "d/d_cc_d.h"
#include "SSystem/SComponent/c_phase.h"
#include "f_op/f_op_msg.h"
+#include "d/d_a_obj.h"
namespace daObjPaper {
+ enum Type_e {
+ Opaper_e,
+ Ppos_e,
+ Piwa_e,
+ };
+
class Act_c : public fopAc_ac_c {
public:
- void prm_get_msgNo() const {}
- void prm_get_type() const {}
+ enum Prm_e {
+ PRM_MSG_NO_W = 0x10,
+ PRM_MSG_NO_S = 0x00,
+
+ PRM_TYPE_W = 0x04,
+ PRM_TYPE_S = 0x10,
+ };
+
+ enum Act_Mode_e {
+ ActMode_WAIT_e,
+ ActMode_TALKBEGIN_e,
+ ActMode_GETMSG_e,
+ ActMode_TALKWAIT_e,
+ };
+
+ u32 prm_get_msgNo() const { return daObj::PrmAbstract<Prm_e>(this, PRM_MSG_NO_W, PRM_MSG_NO_S); }
+ Type_e prm_get_type() const { return (Type_e)daObj::PrmAbstract<Prm_e>(this, PRM_TYPE_W, PRM_TYPE_S); }
+
+ static const dCcD_SrcCyl M_cyl_src;
+
+ static int solidHeapCB(fopAc_ac_c*);
+ bool create_heap();
+ s32 _create();
+ bool _delete();
+ void mode_wait_init();
+ void mode_wait();
+ void mode_talk0_init();
+ void mode_talk0();
+ void mode_talk1_init();
+ void mode_talk1();
+ void mode_talk2_init();
+ void mode_talk2();
+ void set_mtx();
+ void init_mtx();
+ void damage_cc_proc();
+ bool _execute();
+ bool _draw();
public:
/* 0x290 */ request_of_phase_process_class mPhs;
/* 0x298 */ J3DModel* mpModel;
- /* 0x29C */ dCcD_Cyl mCyl;
- /* 0x3CC */ dCcD_Stts mStts;
- /* 0x408 */ u8 mbHasCc;
- /* 0x409 */ u8 m409[0x40C - 0x409];
+ /* 0x29C */ dCcD_Cyl mCylinderCol;
+ /* 0x3CC */ dCcD_Stts mColStatus;
+ /* 0x408 */ bool mbHasCc;
/* 0x40C */ int mMode;
- /* 0x410 */ int mMsgId;
+ /* 0x410 */ u32 mMsgId;
/* 0x414 */ msg_class* mpMsg;
- /* 0x418 */ int mType;
+ /* 0x418 */ Type_e mType;
};
};
diff --git a/include/d/actor/d_a_scene_change.h b/include/d/actor/d_a_scene_change.h
index e1586bde..e3b51d97 100644
--- a/include/d/actor/d_a_scene_change.h
+++ b/include/d/actor/d_a_scene_change.h
@@ -5,7 +5,19 @@
class d_a_scene_change_c : public fopAc_ac_c {
public:
- /* Place member variables here */
+ /* 0x290 */ Mtx mTransformMtx;
+};
+
+class daSceneChgHIO_c {
+public:
+ daSceneChgHIO_c();
+ virtual ~daSceneChgHIO_c() {
+ m0004 = -1;
+ }
+
+ s8 m0004;
+ s8 m0005;
+ f32 m0008;
};
#endif /* D_A_SCENE_CHANGE_H */
diff --git a/include/d/actor/d_a_st.h b/include/d/actor/d_a_st.h
index 06b3de6f..c4d80e14 100644
--- a/include/d/actor/d_a_st.h
+++ b/include/d/actor/d_a_st.h
@@ -8,10 +8,18 @@
#include "m_Do/m_Do_ext.h"
#include "c/c_damagereaction.h"
+struct st_p {
+
+};
+
+struct st_ke_s {
+
+};
+
class st_class : public fopAc_ac_c {
public:
/* 0x02AC */ u8 m02AC[0x02B4 - 0x02AC];
- /* 0x02B4 */ daSt__BehaviorTypes mBehaviorType;
+ /* 0x02B4 */ u8 mBehaviorType;
/* 0x02B5 */ u8 mAmbushSightRange;
/* 0x02B6 */ u8 mUnusedParam;
/* 0x02B7 */ u8 mAmbushSwitch;
diff --git a/include/d/actor/d_a_swhit0.h b/include/d/actor/d_a_swhit0.h
index d8f48681..9af1a38e 100644
--- a/include/d/actor/d_a_swhit0.h
+++ b/include/d/actor/d_a_swhit0.h
@@ -21,7 +21,7 @@ public:
s32 getTimer();
s32 getSwNo2();
- s32 CreateHeap();
+ BOOL CreateHeap();
void decisionRtType();
s32 CreateInit();
diff --git a/include/d/actor/d_a_switem.h b/include/d/actor/d_a_switem.h
index d9088c02..4e05d6f3 100644
--- a/include/d/actor/d_a_switem.h
+++ b/include/d/actor/d_a_switem.h
@@ -3,15 +3,30 @@
#include "f_op/f_op_actor.h"
#include "d/d_cc_d.h"
+#include "f_op/f_op_actor_mng.h"
class daSwItem_c : public fopAc_ac_c {
public:
+ bool _delete();
+ BOOL CreateInit();
+ s32 _create();
+ bool _execute();
+ BOOL isRupeeInAllCreateTable(int);
+ bool _draw();
+
+public:
/* 0x290 */ u8 m290[0x29C - 0x290];
/* 0x29C */ dCcD_Stts mStts;
/* 0x2D8 */ dCcD_Cyl mCyl;
/* 0x408 */ u8 mAtTypeTrigger;
- /* 0x409 */ bool m409;
+ /* 0x409 */ bool mSpawnedItem;
/* 0x40A */ u8 m40A[0x40C - 0x40A];
};
+namespace daSwItem_prm {
+ inline u32 getAtType(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x00) & 0xFF; }
+ inline u32 getItemTbl(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x08) & 0x3F; }
+ inline u32 getItemBitNo(daSwItem_c* item) { return (fopAcM_GetParam(item) >> 0x0E) & 0x7F; }
+}
+
#endif /* D_A_SWITEM_H */
diff --git a/include/d/actor/d_a_swtact.h b/include/d/actor/d_a_swtact.h
index 7dbc6b71..0ed6af36 100644
--- a/include/d/actor/d_a_swtact.h
+++ b/include/d/actor/d_a_swtact.h
@@ -3,23 +3,40 @@
#include "f_op/f_op_actor.h"
#include "SSystem/SComponent/c_phase.h"
+#include "f_op/f_op_actor_mng.h"
class daSwTact_c : public fopAc_ac_c {
public:
- void getR() {}
+ f32 getR() { return mRadius * mScale.x; }
+ bool _delete();
+ BOOL CreateHeap();
void CreateInit();
void set_mtx();
+ s32 getAnswer();
+ s32 _create();
+ bool _execute();
+ bool _draw();
+
+ static const char * m_arcname;
+ static const f32 mDefaultR;
+ static const f32 mDefaultRwM;
+ static const u32 m_heapsize;
public:
/* 0x290 */ request_of_phase_process_class mPhs;
- /* 0x298 */ J3DModel* mpModel;
+ /* 0x298 */ J3DModel * model;
/* 0x29C */ f32 mRadius;
- /* 0x2A0 */ u32 m2A0;
+ /* 0x2A0 */ u32 mSwitchNo;
/* 0x2A4 */ u8 mAnswer;
- /* 0x2A5 */ u8 m2A5;
- /* 0x2A6 */ u8 m2A6;
- /* 0x2A7 */ u8 m2A7[0x2A8 - 0x2A7];
+ /* 0x2A5 */ bool mTrigger;
+ /* 0x2A6 */ u8 mPlayerStatus;
};
+namespace daSwTact_prm {
+ inline u32 getSwitchNo(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 0) & 0xFF; }
+ inline u32 getAnswer(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xFF; }
+ inline u32 getModel(daSwTact_c * i_this) { return (fopAcM_GetParam(i_this) >> 16) & 0x0F; }
+}
+
#endif /* D_A_SWTACT_H */
diff --git a/include/d/actor/d_a_tag_msg.h b/include/d/actor/d_a_tag_msg.h
index faf2d143..9bc295ce 100644
--- a/include/d/actor/d_a_tag_msg.h
+++ b/include/d/actor/d_a_tag_msg.h
@@ -5,13 +5,29 @@
class daTag_Msg_c : public fopAc_ac_c {
public:
+ typedef BOOL (ActionFunc)(daTag_Msg_c*);
+
inline s32 create();
inline BOOL draw();
inline BOOL execute();
- void setActio(unsigned char) {}
+ void setActio(u8 action) { mAction = action; }
+
+ u32 getEventNo();
+ u32 getSwbit();
+ u32 getSwbit2();
+ u32 getType2();
+ const char* myDemoName();
+ u16 getMessage();
+ u16 getEventFlag();
+ BOOL arrivalTerms();
+ int rangeCheck();
+ int otherCheck();
public:
- /* 0x290 */ u8 m290[0x294 - 0x290];
+ /* 0x290 */ u8 mAction;
+ /* 0x291 */ u8 field_0x291;
+ /* 0x292 */ u8 field_0x292;
+ /* 0x293 */ u8 field_0x293;
};
#endif /* D_A_TAG_MSG_H */
diff --git a/include/d/actor/d_a_tbox.h b/include/d/actor/d_a_tbox.h
index 796eb31b..2340fdd2 100644
--- a/include/d/actor/d_a_tbox.h
+++ b/include/d/actor/d_a_tbox.h
@@ -10,6 +10,7 @@
#include "d/d_particle.h"
#include "d/d_bg_s_acch.h"
#include "f_op/f_op_actor_mng.h"
+#include "m_Do/m_Do_hostIO.h"
class daTbox_c : public fopAc_ac_c {
public:
@@ -54,7 +55,7 @@ public:
s32 getShapeType();
s32 getFuncType();
BOOL checkNormal();
- s32 CreateHeap();
+ BOOL CreateHeap();
void CreateInit();
s32 boxCheck();
void lightUpProc();
@@ -120,7 +121,7 @@ public:
/* 0x76C */ u8 mOpenedSwitch;
};
-class daTbox_HIO_c {
+class daTbox_HIO_c : public JORReflexible {
public:
daTbox_HIO_c();
virtual ~daTbox_HIO_c() { }
diff --git a/include/d/d_cc_d.h b/include/d/d_cc_d.h
index 575e0d78..e5fa723f 100644
--- a/include/d/d_cc_d.h
+++ b/include/d/d_cc_d.h
@@ -344,7 +344,6 @@ public:
bool ChkCoHitNoActor() const { return mGObjCo.ChkRPrm(1); }
bool ChkAtHitNoActor() const { return mGObjAt.ChkRPrm(2); }
bool ChkTgHitNoActor() const { return mGObjTg.ChkRPrm(1); }
- bool ChkTgWolfSpNoDamage() { return mGObjTg.ChkSPrm(0x800); }
bool ChkAtNoHitMark() { return mGObjAt.ChkSPrm(2); }
bool ChkTgNoHitMark() { return mGObjTg.ChkSPrm(4); }
bool ChkTgHookShotNoHitMark() { return mGObjTg.ChkSPrm(0x400); }
diff --git a/include/d/d_throwstone.h b/include/d/d_throwstone.h
new file mode 100644
index 00000000..aa849726
--- /dev/null
+++ b/include/d/d_throwstone.h
@@ -0,0 +1,23 @@
+#ifndef D_THROWSTONE_H
+#define D_THROWSTONE_H
+
+#include "f_op/f_op_actor.h"
+#include "SSystem/SComponent/c_phase.h"
+
+class daThrowstone_c : public fopAc_ac_c {
+public:
+ BOOL CreateHeap();
+ inline s32 _create();
+ inline BOOL _delete();
+ inline BOOL _execute();
+ inline bool _draw();
+
+ static const char M_arcname[5];
+
+public:
+ /* 0x290 */ request_of_phase_process_class mPhs;
+ /* 0x298 */ J3DModel * mpModel;
+ /* 0x29C */ Mtx mMtx;
+};
+
+#endif /* D_THROWSTONE_H */
diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h
index bda6eff8..baa4c4ca 100644
--- a/include/f_op/f_op_actor_mng.h
+++ b/include/f_op/f_op_actor_mng.h
@@ -382,8 +382,6 @@ s32 fopAcM_createChildFromOffset(s16 procName, unsigned int parentProcID, u32 ac
void fopAcM_DeleteHeap(fopAc_ac_c* p_actor);
-s32 fopAcM_callCallback(fopAc_ac_c* p_actor, heapCallbackFunc p_callbackFunc, JKRHeap* p_heap);
-
bool fopAcM_entrySolidHeap(fopAc_ac_c* p_actor, heapCallbackFunc p_heapCallback, u32 size);
inline void fopAcM_SetMin(fopAc_ac_c* p_actor, f32 minX, f32 minY, f32 minZ) {
@@ -428,7 +426,6 @@ f32 fopAcM_searchActorDistanceXZ2(fopAc_ac_c* p_actorA, fopAc_ac_c* p_actorB);
s32 fopAcM_rollPlayerCrash(fopAc_ac_c* i_this, f32 distAdjust, u32 flag);
s32 fopAcM_checkCullingBox(Mtx, f32, f32, f32, f32, f32, f32);
s32 fopAcM_cullingCheck(fopAc_ac_c*);
-void* event_second_actor(u16);
s32 fopAcM_orderTalkEvent(fopAc_ac_c*, fopAc_ac_c*);
s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor);
s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*);