mirror of
https://github.com/zeldaret/tp
synced 2026-08-12 11:52:59 -04:00
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:
@@ -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;
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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
@@ -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 */
|
||||
|
||||
@@ -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*);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
class cBgS_PolyPassChk {
|
||||
public:
|
||||
virtual ~cBgS_PolyPassChk();
|
||||
virtual ~cBgS_PolyPassChk() {}
|
||||
};
|
||||
|
||||
class dBgS_PolyPassChk : public cBgS_PolyPassChk {
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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
@@ -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
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user