d_a_e_yd_leaf and d_a_e_ph done (#2070)

* d_a_e_yd_leaf done

* d_a_e_ph OK

* remove asm

* some e_ph doc

* match dBgS_Acch, fix f_op_actor_mng weak funcs

* dBgS_Acch done

* cleanup dBgS Chk TUs

* d_a_obj done
This commit is contained in:
TakaRikka
2024-02-13 10:21:57 -08:00
committed by GitHub
parent d183f6593a
commit e1c5bdb539
201 changed files with 5249 additions and 11440 deletions
@@ -713,7 +713,7 @@ public:
u8 getAttribute() const { return mAttribute; }
void setAttribute(u8 attr) { mAttribute = attr; }
u8 getState() const { return mState; }
bool checkState(u8 state) const { return mState & state; }
bool checkState(u8 state) const { return mState & state ? true : false; }
s16 getStart() const { return mStart; }
void setStart(s16 start) {
mStart = start;
+1 -1
View File
@@ -13,7 +13,7 @@ public:
class cBgS_PolyPassChk;
class cBgS_Chk {
private:
public:
/* 0x0 */ cBgS_PolyPassChk* mPolyPassChk;
/* 0x4 */ cBgS_GrpPassChk* mGrpPassChk;
/* 0x8 */ u32 mActorPid;
@@ -39,6 +39,7 @@ public:
bool GetPreGroundChk() const { return mPreGroundChk; }
bool GetPreRoofChk() const { return mPreRoofChk; }
cXyz* GetStartP() { return &mLin.GetStartP(); }
void ClrSttsRoofOff() { field_0x4c &= ~0x20000000; }
};
#endif /* C_BG_S_LIN_CHK_H */
+1
View File
@@ -36,6 +36,7 @@ enum cCcD_ObjAtType {
/* 0x00001000 */ AT_TYPE_1000 = (1 << 12),
/* 0x00002000 */ AT_TYPE_ARROW = (1 << 13),
/* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
/* 0x00008000 */ AT_TYPE_8000 = (1 << 15),
/* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
/* 0x00040000 */ AT_TYPE_40000 = (1 << 18),
/* 0x00080000 */ AT_TYPE_SPINNER = (1 << 19),
+1
View File
@@ -55,6 +55,7 @@ struct cXyz : Vec {
void operator-=(const Vec& other) { VECSubtract(this, &other, this); }
void operator+=(const Vec& other) { VECAdd(this, &other, this); }
void operator*=(f32 scale) { VECScale(this, this, scale); }
void operator/=(f32 scale) { VECScale(this, this, 1.0f / scale); }
/* 80266C6C */ cXyz getCrossProduct(Vec const&) const;
/* 80266CBC */ cXyz outprod(Vec const&) const;
/* 80266CE4 */ cXyz norm() const;
+11 -11
View File
@@ -1,20 +1,20 @@
#ifndef D_A_D_A_OBJ_H
#define D_A_D_A_OBJ_H
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class dCcD_GObjInf;
namespace daObj {
/* 80037038 */ void eff_break_tsubo(fopAc_ac_c*, cXyz, int);
/* 80037180 */ void make_eff_break_kotubo(fopAc_ac_c*);
/* 80037210 */ void make_eff_break_kotubo2(fopAc_ac_c*);
/* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*);
/* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*);
/* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32);
/* 80037620 */ void posMoveF_grade(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32, cXyz const*,
f32, f32, cXyz const*);
/* 80037788 */ void quat_rotBaseY(Quaternion*, cXyz const&);
/* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
void eff_break_tsubo(fopAc_ac_c*, cXyz, int);
void make_eff_break_kotubo(fopAc_ac_c*);
void make_eff_break_kotubo2(fopAc_ac_c*);
void make_eff_break_gm_kotubo(fopAc_ac_c*);
void make_eff_break_gm_ootubo(fopAc_ac_c*);
void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32);
void posMoveF_grade(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32, cXyz const*, f32, f32,
cXyz const*);
void quat_rotBaseY(Quaternion*, cXyz const&);
void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
}; // namespace daObj
#endif /* D_A_D_A_OBJ_H */
+4 -4
View File
@@ -567,8 +567,8 @@ public:
virtual MtxP getBottleMtx();
virtual BOOL checkPlayerGuard() const;
virtual u32 checkPlayerFly() const { return 0; }
virtual BOOL checkFrontRoll() const { return false; }
virtual BOOL checkWolfDash() const { return false; }
virtual BOOL checkFrontRoll() const; // weak
virtual BOOL checkWolfDash() const; // weak
virtual BOOL checkAutoJump() const;
virtual bool checkSideStep() const;
virtual bool checkWolfTriggerJump() const;
@@ -612,7 +612,7 @@ public:
virtual bool cancelWolfLock(fopAc_ac_c*);
virtual s32 getAtnActorID() const { return -1; }
virtual s32 getItemID() const;
virtual s32 getGrabActorID() const { return -1; }
virtual s32 getGrabActorID() const; // weak
virtual bool exchangeGrabActor(fopAc_ac_c*);
virtual bool setForceGrab(fopAc_ac_c*, int, int);
virtual void setForcePutPos(cXyz const&);
@@ -624,7 +624,7 @@ public:
virtual void setOutPower(f32, short, int);
virtual void setGrabCollisionOffset(f32, f32, cBgS_PolyInfo*);
virtual void onMagneGrab(f32, f32);
virtual void onFrollCrashFlg(u8, int) {}
virtual void onFrollCrashFlg(u8, int); // weak
virtual MtxP getModelJointMtx(u16);
virtual MtxP getHeadMtx();
virtual bool setHookshotCarryOffset(unsigned int, cXyz const*);
+6 -3
View File
@@ -117,6 +117,7 @@ public:
cXyz* GetOldPos() { return pm_old_pos; }
f32 GetGroundH() const { return m_ground_h; }
f32 GetRoofHeight() const { return m_roof_height; }
int GetTblSize() { return m_tbl_size; }
void SetLin() { m_lin.SetStartEnd(*pm_old_pos, *pm_pos); }
bool ChkGroundFind() { return m_flags & GROUND_FIND; }
bool ChkGroundHit() { return m_flags & GROUND_HIT; }
@@ -142,7 +143,7 @@ public:
void ClrGroundFind() { m_flags &= ~GROUND_FIND; }
u32 MaskRoofHit() { return m_flags & ROOF_HIT; }
bool ChkRoofHit() { return MaskRoofHit(); }
bool ChkClrSpeedY() { return m_flags & CLR_SPEED_Y; }
bool ChkClrSpeedY() { return !(m_flags & CLR_SPEED_Y); }
void SetGroundFind() { m_flags |= GROUND_FIND; }
void SetGroundHit() { m_flags |= GROUND_HIT; }
void SetGroundLanding() { m_flags |= GROUND_LANDING; }
@@ -163,7 +164,9 @@ public:
void OnLineCheckNone() { m_flags |= LINE_CHECK_NONE; }
void OffLineCheckNone() { m_flags &= ~LINE_CHECK_NONE; }
void SetWallNone() { m_flags |= WALL_NONE; }
void OnLineCheckHit() { m_flags |= LINE_CHECK_HIT; }
cM3dGCyl* GetWallBmdCylP() { return &m_wall_cyl; }
f32 GetWallH(int i_no) { return pm_acch_cir[i_no].GetWallH(); }
// inline dupe
void i_ClrGroundHit() { m_flags &= ~GROUND_HIT; }
@@ -183,7 +186,7 @@ public:
/* 0x080 */ u32 field_0x80;
/* 0x084 */ fopAc_ac_c* m_my_ac;
/* 0x088 */ int m_tbl_size;
/* 0x08C */ dBgS_AcchCir* field_0x8c;
/* 0x08C */ dBgS_AcchCir* pm_acch_cir;
/* 0x090 */ f32 field_0x90;
/* 0x094 */ f32 field_0x94;
/* 0x098 */ f32 m_ground_h;
@@ -197,7 +200,7 @@ public:
/* 0x0C8 */ f32 m_roof_crr_height;
/* 0x0CC */ f32 field_0xcc;
/* 0x0D0 */ f32 m_wtr_chk_offset;
/* 0x0D4 */ int field_0xd4;
/* 0x0D4 */ cBgS_PolyInfo* pm_out_poly_info;
/* 0x0D8 */ f32 field_0xd8;
/* 0x0DC */ dBgS_GndChk m_gnd;
/* 0x130 */ dBgS_RoofChk m_roof;
+1 -1
View File
@@ -20,7 +20,7 @@ class dBgS_ObjGndChk : public dBgS_GndChk {
public:
dBgS_ObjGndChk() { SetObj(); }
/* 8001E020 */ virtual ~dBgS_ObjGndChk(); // should be inlined
/* 8001E020 */ virtual ~dBgS_ObjGndChk() {}
};
class dBgS_ObjGndChk_Wtr : public dBgS_ObjGndChk {
+1 -1
View File
@@ -5,7 +5,7 @@
class cBgS_PolyPassChk {
public:
virtual ~cBgS_PolyPassChk();
virtual ~cBgS_PolyPassChk() {}
};
class dBgS_PolyPassChk : public cBgS_PolyPassChk {
+7
View File
@@ -31,4 +31,11 @@ public:
/* 80140E40 */ virtual ~dBgS_LinkRoofChk() {}
};
class dBgS_ObjRoofChk : public dBgS_RoofChk {
public:
dBgS_ObjRoofChk() { SetObj(); }
virtual ~dBgS_ObjRoofChk() {}
};
#endif /* D_BG_D_BG_S_ROOF_CHK_H */
+1 -1
View File
@@ -7,7 +7,7 @@ class dBgS_WtrChk : public dBgS_SplGrpChk {
public:
/* 80079164 */ dBgS_WtrChk();
/* 8001DF30 */ virtual ~dBgS_WtrChk();
/* 8001DF30 */ virtual ~dBgS_WtrChk() {}
}; // Size: 0x54
#endif /* D_BG_D_BG_S_WTR_CHK_H */
+1
View File
@@ -357,6 +357,7 @@ public:
f32 TrimHeight() { return mTrimHeight; }
int Type() { return mCurType; }
int Mode() { return mNextMode; }
f32 Fovy() { return mFovY + mShake.field_0x3c; }
bool i_chkFlag(u32 i_flag) { return mEventFlags & i_flag; }
void i_setFlag(u32 i_flag) { mEventFlags |= i_flag; }
+1 -1
View File
@@ -3,7 +3,7 @@
#include "JSystem/JParticle/JPAParticle.h"
#include "JSystem/JParticle/JPAEmitter.h"
#include "dolphin/types.h"
#include "d/particle/d_particle_name.h"
#include "d/kankyo/d_kankyo.h"
class J3DAnmTexPattern;
File diff suppressed because it is too large Load Diff
+29 -18
View File
@@ -6,8 +6,10 @@
#include "f_pc/f_pc_manager.h"
#include "f_pc/f_pc_searcher.h"
#include "d/bg/d_bg_s.h"
#include "d/bg/d_bg_s_gnd_chk.h"
#include "d/bg/d_bg_s_lin_chk.h"
#include "d/bg/d_bg_s_wtr_chk.h"
#include "d/bg/d_bg_s_roof_chk.h"
#define fopAcM_SetupActor(ptr,ClassName) \
if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \
@@ -60,24 +62,35 @@ struct fopAcM_search_prm {
/* 0x0A */ s8 mSubType;
};
class l_HIO {
public:
/* 8001E098 */ ~l_HIO() {}
};
dBgS& dComIfG_Bgsp();
class fopAcM_lc_c {
public:
static dBgS_LinChk* getLineCheck() { return (dBgS_LinChk*)&mLineCheck; }
static bool checkMoveBG() { return dComIfG_Bgsp().ChkMoveBG(*(dBgS_LinChk*)&mLineCheck); }
static cXyz* getCrossP() { return ((dBgS_LinChk*)&mLineCheck)->GetCrossP(); }
fopAcM_lc_c() {
mLineCheck.ClrSttsRoofOff();
}
static dBgS_ObjLinChk* getLineCheck() { return &mLineCheck; }
static bool checkMoveBG() { return dComIfG_Bgsp().ChkMoveBG(mLineCheck); }
static cXyz* getCrossP() { return mLineCheck.GetCrossP(); }
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
static u8 mLineCheck[112];
static dBgS_ObjLinChk mLineCheck;
};
class dBgS_RoofChk;
class fopAcM_rc_c {
public:
static dBgS_RoofChk* getRoofCheck() { return (dBgS_RoofChk*)&mRoofCheck; }
static dBgS_ObjRoofChk* getRoofCheck() { return &mRoofCheck; }
static f32 getRoofY() { return mRoofY; }
static bool roofCheck(const cXyz*);
static u8 mRoofCheck[80];
static dBgS_ObjRoofChk mRoofCheck;
static f32 mRoofY;
};
@@ -85,27 +98,25 @@ class dBgS_GndChk;
class fopAcM_gc_c {
public:
static bool gndCheck(const cXyz*);
static u8 mGndCheck[84]; // this is dBgS_GndChk but all static data in the TU probably needs to be setup first (otherwise causes a reordering problem with the __sinit function)
static dBgS_ObjGndChk mGndCheck;
static f32 mGroundY;
// this avoids having to include d_bg_s.h here
static inline bool getTriPla(cM3dGPla* pPlane);
static inline int getRoomId();
static inline int getPolyColor();
static dBgS_GndChk* getGroundCheck() { return (dBgS_GndChk*)&mGndCheck; }
static bool getTriPla(cM3dGPla* i_plane) { return dComIfG_Bgsp().GetTriPla(mGndCheck, i_plane); }
static int getRoomId() { return dComIfG_Bgsp().GetRoomId(mGndCheck); }
static int getPolyColor() { return dComIfG_Bgsp().GetPolyColor(mGndCheck); }
static dBgS_ObjGndChk* getGroundCheck() { return &mGndCheck; }
static f32 getGroundY() { return mGroundY; }
};
class fopAcM_wt_c {
public:
static dBgS_WtrChk* getWaterCheck() { return (dBgS_WtrChk*)&mWaterCheck; }
static f32 getWaterY() { return mWaterY[0]; }
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(*(dBgS_WtrChk*)&mWaterCheck); }
static dBgS_WtrChk* getWaterCheck() { return &mWaterCheck; }
static f32 getWaterY() { return mWaterY; }
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(mWaterCheck); }
static bool waterCheck(const cXyz*);
static u8 mWaterCheck[84 + 4 /* padding */];
static f32 mWaterY[1 + 1 /* padding */];
static dBgS_WtrChk mWaterCheck;
static f32 mWaterY;
};
class dKy_tevstr_c;
+21 -26
View File
@@ -32,13 +32,7 @@ public:
void setFrame(f32 frame) { mFrameCtrl.setFrame(frame); }
void setPlayMode(int i_mode) { mFrameCtrl.setAttribute(i_mode); }
void setLoopFrame(f32 i_frame) { mFrameCtrl.setLoop(i_frame); }
bool isStop() {
bool stopped = true;
if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) {
stopped = false;
}
return stopped;
}
bool isStop() { return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f; }
void reset() { mFrameCtrl.reset(); }
private:
@@ -152,7 +146,9 @@ public:
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
void remove(J3DModelData* i_modelData) { i_modelData->getJointNodePointer(0)->setMtxCalc(NULL); }
void remove(J3DModelData* i_modelData) {
i_modelData->getJointNodePointer(0)->setMtxCalc(NULL);
}
J3DAnmTransform* getBckAnm() { return mAnm; }
@@ -264,7 +260,8 @@ public:
virtual void execute(u16) = 0;
};
class mDoExt_morf_c : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
class mDoExt_morf_c
: public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
public:
/* 8000F950 */ mDoExt_morf_c();
/* 8000FB7C */ void setMorf(f32 i_morf);
@@ -276,13 +273,7 @@ public:
void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
u8 getPlayMode() { return mFrameCtrl.getAttribute(); }
void setPlayMode(int mode) { mFrameCtrl.setAttribute(mode); }
bool isStop() {
bool stopped = true;
if (!mFrameCtrl.checkState(1) && mFrameCtrl.getRate() != 0.0f) {
stopped = false;
}
return stopped;
}
bool isStop() { return mFrameCtrl.checkState(1) || mFrameCtrl.getRate() == 0.0f; }
bool isLoop() { return mFrameCtrl.checkState(2); }
f32 getStartFrame() { return mFrameCtrl.getStart(); }
void setStartFrame(f32 frame) { mFrameCtrl.setStart(frame); }
@@ -315,7 +306,8 @@ public:
int, Z2Creature*, u32, u32);
/* 800108F0 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32);
/* 80010E70 */ void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate, f32 i_start, f32 i_end);
/* 80010E70 */ void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate,
f32 i_start, f32 i_end);
/* 800110B0 */ int play(u32, s8);
/* 80011154 */ void updateDL();
/* 800111C0 */ void entryDL();
@@ -345,9 +337,8 @@ public:
/* 8000FC4C */ mDoExt_McaMorf(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
int, void*, u32, u32);
/* 8000FD94 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int, int,
int, void*, u32, u32);
/* 8000FD94 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
J3DAnmTransform*, int, f32, int, int, int, void*, u32, u32);
/* 8001037C */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32, void*);
/* 800105C8 */ u32 play(Vec*, u32, s8);
/* 80010680 */ void entryDL();
@@ -424,7 +415,8 @@ private:
/* 0x20 */ Quaternion* mOldFrameQuaternion;
}; // Size: 0x24
struct mDoExt_MtxCalcAnmBlendTbl : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
struct mDoExt_MtxCalcAnmBlendTbl
: public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> {
mDoExt_MtxCalcAnmBlendTbl(int num, mDoExt_AnmRatioPack* anmRatio) {
mNum = num;
mAnmRatio = anmRatio;
@@ -447,7 +439,9 @@ struct mDoExt_MtxCalcAnmBlendTbl : public J3DMtxCalcNoAnm<J3DMtxCalcCalcTransfor
STATIC_ASSERT(sizeof(mDoExt_MtxCalcAnmBlendTbl) == 0x0C);
struct mDoExt_MtxCalcAnmBlendTblOld : public mDoExt_MtxCalcAnmBlendTbl {
mDoExt_MtxCalcAnmBlendTblOld(mDoExt_MtxCalcOldFrame* oldFrame, int num, mDoExt_AnmRatioPack* anmRatio) : mDoExt_MtxCalcAnmBlendTbl(num, anmRatio) {
mDoExt_MtxCalcAnmBlendTblOld(mDoExt_MtxCalcOldFrame* oldFrame, int num,
mDoExt_AnmRatioPack* anmRatio)
: mDoExt_MtxCalcAnmBlendTbl(num, anmRatio) {
mOldFrame = oldFrame;
}
/* 80014EB0 */ virtual ~mDoExt_MtxCalcAnmBlendTblOld();
@@ -475,13 +469,13 @@ public:
class mDoExt_3DlineMat_c {
public:
#ifndef NON_VIRTUAL_3DLINEMAT
#ifndef NON_VIRTUAL_3DLINEMAT
virtual int getMaterialID() = 0;
virtual void setMaterial() = 0;
virtual void draw() = 0;
#else
#else
/* 0x0 */ void* field_0x0;
#endif
#endif
/* 0x4 */ mDoExt_3DlineMat_c* field_0x4;
};
@@ -623,7 +617,8 @@ JKRHeap* mDoExt_getCurrentHeap();
void mDoExt_removeMesgFont();
void mDoExt_modelUpdate(J3DModel* i_model);
void mDoExt_modelUpdateDL(J3DModel* i_model);
J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u32 i_differedDlistFlag);
J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag,
u32 i_differedDlistFlag);
void mDoExt_setAraCacheSize(u32 size);
int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id);
void mDoExt_modelEntryDL(J3DModel* i_model);
+4
View File
@@ -111,6 +111,10 @@ inline void mDoMtx_quatSlerp(const Quaternion* a, const Quaternion* b, Quaternio
C_QUATSlerp(a,b,ab,param_4);
}
inline void mDoMtx_quatRotAxisRad(Quaternion* q, const Vec* axis, f32 rad) {
C_QUATRotAxisRad(q, axis, rad);
}
inline void mDoMtx_identity(Mtx m) {
MTXIdentity(m);
}
+108 -1
View File
@@ -1,6 +1,113 @@
#ifndef D_A_E_PH_H
#define D_A_E_PH_H
#include "dolphin/types.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/cc/d_cc_uty.h"
#include "d/d_path.h"
#include "f_op/f_op_actor_mng.h"
class daE_PH_c : public fopEn_enemy_c {
public:
/* 8073D48C */ void initCcSph();
/* 8073D5C4 */ void SetStopingCam();
/* 8073D648 */ void SetStopCam(cXyz, f32, f32, s16);
/* 8073D768 */ void SetCMoveCam(cXyz, f32, f32);
/* 8073D7AC */ void SetReleaseCam();
/* 8073D850 */ int ctrlJoint(J3DJoint*, J3DModel*);
/* 8073D950 */ void setCcSph();
/* 8073DB28 */ void SetAnm(int, int, f32, f32);
/* 8073DBD4 */ void SearchNearP();
/* 8073DDF8 */ void FlyAnm();
/* 8073E068 */ void SetShapeAngle();
/* 8073E22C */ void GoTarget();
/* 8073E4A4 */ void SetCheckAngle();
/* 8073E8B0 */ bool C_CheckPoint();
/* 8073E924 */ void DownBoots();
/* 8073EA50 */ void UpBoots();
/* 8073EB64 */ void C_Action();
/* 8073ED0C */ void SearchNextPos();
/* 8073ED58 */ void SearchBackPos();
/* 8073EDA0 */ void S_SetPlaySpeed();
/* 8073EE68 */ void S_GoTarget();
/* 8073F250 */ bool S_CheckPoint();
/* 8073F3D4 */ void S_SetAngle();
/* 8073F8C8 */ void FlyAnm2();
/* 8073FB70 */ void S_Action();
/* 8073FBDC */ void StopAction();
/* 8073FD70 */ void Action();
/* 80740024 */ void SetHeadAngle(s16);
/* 80740098 */ void CamAction();
/* 80740318 */ void DemoAction();
/* 807408C0 */ void ToumeiAction();
/* 80740B3C */ int Execute();
/* 80740C3C */ void AttentionSet();
/* 80740E70 */ void ObjHit();
/* 807410B0 */ void BaseSet();
/* 8074117C */ void De_Timer();
/* 807411C0 */ void EyeSet();
/* 80741200 */ int Delete();
/* 80741268 */ void setBaseMtx();
/* 80741428 */ int create();
inline int CreateHeap();
inline int Draw();
/* 0x5AC */ s16 mStopTimer;
/* 0x5AE */ s16 field_0x5ae;
/* 0x5B0 */ u8 mCAction;
/* 0x5B1 */ u8 mCamAction;
/* 0x5B2 */ u8 field_0x5b2;
/* 0x5B4 */ s16 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
/* 0x5BC */ cXyz mCamEye;
/* 0x5C8 */ cXyz mCamEyeTarget;
/* 0x5D4 */ cXyz mCamCenter;
/* 0x5E0 */ cXyz mCamCenterTarget;
/* 0x5EC */ s16 mTimers[3];
/* 0x5F4 */ f32 mCamFovY;
/* 0x5F8 */ u32 mFlyRockEMKey;
/* 0x5FC */ u32 mFlyTsubuEMKey;
/* 0x600 */ u32 mDemoRockEMKey;
/* 0x604 */ u32 mDemoTsubuEMKey;
/* 0x608 */ u32 mDemoRock2EMKey;
/* 0x60C */ u32 mDemoRock3EMKey;
/* 0x610 */ s16 field_0x610;
/* 0x612 */ s16 field_0x612;
/* 0x614 */ s16 field_0x614;
/* 0x616 */ s16 field_0x616;
/* 0x618 */ s16 field_0x618;
/* 0x61A */ s16 field_0x61a;
/* 0x61C */ s16 field_0x61c;
/* 0x61E */ s16 field_0x61e;
/* 0x620 */ f32 field_0x620;
/* 0x624 */ f32 mAnmSpeed;
/* 0x628 */ int mAnmID;
/* 0x62C */ int mCurrentPntNo;
/* 0x630 */ f32 field_0x630;
/* 0x634 */ f32 mTargetSpeedY;
/* 0x638 */ f32 mTargetSpeedF;
/* 0x63C */ f32 field_0x63c;
/* 0x640 */ f32 field_0x640;
/* 0x644 */ dPath* mpPath;
/* 0x648 */ cXyz mCurrentPntPos;
/* 0x654 */ cXyz field_0x654;
/* 0x660 */ u8 mAction;
/* 0x661 */ u8 mPathNo;
/* 0x662 */ u8 field_0x662;
/* 0x663 */ u8 mMoveSpeed;
/* 0x664 */ u8 mStopTimePrm;
/* 0x666 */ s16 mHeadRotX;
/* 0x668 */ s16 mHeadRotY;
/* 0x66C */ request_of_phase_process_class mPhase;
/* 0x674 */ Z2CreatureEnemy mSound;
/* 0x718 */ u32 mShadowKey;
/* 0x71C */ mDoExt_McaMorfSO* mpMorf;
/* 0x720 */ dBgS_AcchCir mAcchCir;
/* 0x760 */ dBgS_ObjAcch mAcch;
/* 0x938 */ dCcD_Stts mCcStts;
/* 0x974 */ dCcD_Sph mCcSph;
/* 0xAAC */ dCcU_AtInfo mAtInfo;
/* 0xAD0 */ u8 mInitializedHIO;
};
#endif /* D_A_E_PH_H */
@@ -1,6 +1,15 @@
#ifndef D_A_E_YD_LEAF_H
#define D_A_E_YD_LEAF_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class e_yd_leaf_class : public fopEn_enemy_c {
public:
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorf* mpMorf;
/* 0x5B8 */ u8 field_0x5b8[0x5BA - 0x5B8];
/* 0x5BA */ s8 field_0x5ba;
/* 0x5BB */ u8 field_0x5bb[0x5C0 - 0x5BB];
};
#endif /* D_A_E_YD_LEAF_H */