mirror of
https://github.com/zeldaret/tp
synced 2026-06-04 10:48:57 -04:00
d_a_b_oh2 / d_a_obj_web0 / d_a_obj_web1 (#243)
* d_a_obj_web0 / d_a_obj_web1 * remove asm * d_a_set_bgobj * d_cc_s work * remove asm * build fix * fix tp.py progress check and rel sha1 check * clean up some bg files
This commit is contained in:
@@ -80,6 +80,7 @@ public:
|
||||
void setUserArea(u32 area) { mUserArea = area; }
|
||||
u32 getUserArea() const { return mUserArea; }
|
||||
Vec* getBaseScale() { return &mBaseScale; }
|
||||
void setAnmMtx(int i, Mtx m) { mMtxBuffer->setAnmMtx(i, m); }
|
||||
|
||||
// is there a better way to handle inlines with same name as non-inlines?
|
||||
MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }
|
||||
|
||||
@@ -25,6 +25,7 @@ public:
|
||||
/* 80326EF0 */ void calcBBoardMtx();
|
||||
|
||||
MtxP getAnmMtx(int idx) const { return mpAnmMtx[idx]; }
|
||||
void setAnmMtx(int i, Mtx m) { PSMTXCopy(m, (MtxP)mpAnmMtx[i]); }
|
||||
|
||||
void setScaleFlag(int idx, u8 flag) { mpScaleFlagArr[idx] = flag; }
|
||||
u32* getCurrentViewNoPtr() { return &mCurrentViewNo; }
|
||||
|
||||
@@ -13,7 +13,7 @@ public:
|
||||
/* 802681D4 */ bool ChkUsed() const;
|
||||
/* 802681C0 */ void Regist(int);
|
||||
|
||||
/* 8007E5F8 */ virtual ~cBgW_BgId();
|
||||
/* 8007E5F8 */ virtual ~cBgW_BgId() {}
|
||||
|
||||
cBgW_BgId() { Ct(); }
|
||||
void Ct() { m_id = 0x100; }
|
||||
|
||||
@@ -30,7 +30,10 @@ enum cCcD_ObjAtType {
|
||||
/* 0x00000010 */ AT_TYPE_SHIELD_ATTACK = (1 << 4),
|
||||
/* 0x00000020 */ AT_TYPE_BOMB = (1 << 5),
|
||||
/* 0x00000080 */ AT_TYPE_SLINGSHOT = (1 << 7),
|
||||
/* 0x00000200 */ AT_TYPE_LANTERN_SWING = (1 << 9),
|
||||
/* 0x00000400 */ AT_TYPE_CSTATUE_SWING = (1 << 10),
|
||||
/* 0x00000800 */ AT_TYPE_800 = (1 << 11),
|
||||
/* 0x00001000 */ AT_TYPE_1000 = (1 << 12),
|
||||
/* 0x00002000 */ AT_TYPE_ARROW = (1 << 13),
|
||||
/* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
|
||||
/* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
|
||||
@@ -41,6 +44,7 @@ enum cCcD_ObjAtType {
|
||||
/* 0x00800000 */ AT_TYPE_COPY_ROD = (1 << 23),
|
||||
/* 0x04000000 */ AT_TYPE_MASTER_SWORD = (1 << 26),
|
||||
/* 0x08000000 */ AT_TYPE_MIDNA_LOCK = (1 << 27),
|
||||
/* 0x10000000 */ AT_TYPE_10000000 = (1 << 28),
|
||||
/* 0x40000000 */ AT_TYPE_WOLF_CUT_TURN = (1 << 30),
|
||||
/* 0x80000000 */ AT_TYPE_WOLF_ATTACK = (1 << 31),
|
||||
};
|
||||
@@ -53,7 +57,7 @@ public:
|
||||
struct Shape {
|
||||
/* 80167BBC */ ~Shape();
|
||||
|
||||
/* 0x00 */ u32 _0;
|
||||
/* 0x00 */ int _0;
|
||||
/* 0x04 */ f32 _4;
|
||||
/* 0x08 */ f32 _8;
|
||||
/* 0x0C */ f32 _C;
|
||||
@@ -146,9 +150,15 @@ public:
|
||||
|
||||
STATIC_ASSERT(0x40 == sizeof(cCcD_CpsAttr));
|
||||
|
||||
class cCcD_SrcSphAttr : public cM3dGSphS {};
|
||||
|
||||
class cCcD_SphAttr : public cCcD_ShapeAttr, public cM3dGSph {
|
||||
public:
|
||||
cCcD_SphAttr() {}
|
||||
void Set(const cCcD_SrcSphAttr& src) {
|
||||
cM3dGSph::Set(src);
|
||||
}
|
||||
|
||||
/* 8008721C */ virtual ~cCcD_SphAttr() {}
|
||||
/* 80084B44 */ virtual const cXyz& GetCoCP() const { return mCenter; }
|
||||
/* 80037A54 */ virtual cXyz& GetCoCP() { return mCenter; }
|
||||
@@ -248,26 +258,26 @@ public:
|
||||
STATIC_ASSERT(0x40 == sizeof(cCcD_DivideArea));
|
||||
|
||||
struct cCcD_SrcObjTg {
|
||||
s32 mType;
|
||||
s32 mSPrm;
|
||||
};
|
||||
/* 0x0 */ s32 mType;
|
||||
/* 0x4 */ s32 mSPrm;
|
||||
}; // Size: 0x8
|
||||
|
||||
struct cCcD_SrcObjAt {
|
||||
s32 mType;
|
||||
u8 mAtp;
|
||||
s32 mSPrm;
|
||||
};
|
||||
/* 0x0 */ s32 mType;
|
||||
/* 0x4 */ u8 mAtp;
|
||||
/* 0x8 */ s32 mSPrm;
|
||||
}; // Size: 0xC
|
||||
|
||||
struct cCcD_SrcObjHitInf {
|
||||
cCcD_SrcObjAt mObjAt;
|
||||
cCcD_SrcObjTg mObjTg;
|
||||
s32 mSPrm;
|
||||
};
|
||||
/* 0x00 */ cCcD_SrcObjAt mObjAt;
|
||||
/* 0x0C */ cCcD_SrcObjTg mObjTg;
|
||||
/* 0x14 */ s32 mSPrm;
|
||||
}; // Size: 0x18
|
||||
|
||||
struct cCcD_SrcObj {
|
||||
int field_0x0;
|
||||
cCcD_SrcObjHitInf mSrcObjHitInf;
|
||||
};
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ cCcD_SrcObjHitInf mSrcObjHitInf;
|
||||
}; // Size: 0x1C
|
||||
|
||||
class cCcD_GStts {
|
||||
public:
|
||||
@@ -299,11 +309,14 @@ public:
|
||||
/* 80263984 */ f32 GetWeightF() const;
|
||||
/* 802649E8 vt[7] */ virtual void ClrAt() {}
|
||||
/* 802649EC vt[8] */ virtual void ClrTg() { mTg = 0; }
|
||||
|
||||
u8 GetWeightUc() const { return mWeight; }
|
||||
void SetWeight(u8 weight) { mWeight = weight; }
|
||||
fopAc_ac_c* GetAc() { return mActor; }
|
||||
fopAc_ac_c* GetActor() const { return mActor; }
|
||||
void SetActor(void* ac) { mActor = (fopAc_ac_c*)ac; }
|
||||
cXyz* GetCCMoveP() { return &mXyz; }
|
||||
unsigned int GetApid() const { return mApid; }
|
||||
}; // Size = 0x1C
|
||||
|
||||
STATIC_ASSERT(0x1C == sizeof(cCcD_Stts));
|
||||
@@ -409,7 +422,7 @@ public:
|
||||
u32 GetAtGrp() const { return mObjAt.GetGrp(); }
|
||||
u32 GetCoGrp() const { return mObjCo.GetGrp(); }
|
||||
int GetTgType() const { return mObjTg.GetType(); }
|
||||
int GetAtType() const { return mObjAt.GetType(); }
|
||||
u32 GetAtType() const { return mObjAt.GetType(); }
|
||||
bool ChkTgSet() const { return mObjTg.ChkSet(); }
|
||||
bool ChkAtSet() const { return mObjAt.ChkSet(); }
|
||||
bool ChkCoSet() const { return mObjCo.ChkSet(); }
|
||||
@@ -463,6 +476,7 @@ public:
|
||||
cCcD_Stts* GetStts() { return mStts; }
|
||||
void SetStts(cCcD_Stts* stts) { mStts = stts; }
|
||||
cCcD_DivideInfo& GetDivideInfo() { return mDivideInfo; }
|
||||
cCcD_DivideInfo* GetPDivideInfo() { return &mDivideInfo; }
|
||||
int ChkBsRevHit() const { return field_0x40 & 2; }
|
||||
|
||||
private:
|
||||
|
||||
@@ -11,7 +11,7 @@ enum WeightType {
|
||||
};
|
||||
|
||||
class cCcS {
|
||||
private:
|
||||
public:
|
||||
/* 0x0000 */ cCcD_Obj* mpObjAt[0x100];
|
||||
/* 0x0400 */ cCcD_Obj* mpObjTg[0x300];
|
||||
/* 0x1000 */ cCcD_Obj* mpObjCo[0x100];
|
||||
@@ -23,7 +23,6 @@ private:
|
||||
/* 0x2808 */ cCcD_DivideArea mDivideArea;
|
||||
/* 0x2848 vtable */
|
||||
|
||||
public:
|
||||
/* 80264A6C */ cCcS();
|
||||
/* 80264A94 */ void Ct();
|
||||
/* 80264B60 */ void Dt();
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct cM3dGCpsS {
|
||||
Vec mStart;
|
||||
Vec mEnd;
|
||||
f32 mRadius;
|
||||
};
|
||||
/* 0x00 */ Vec mStart;
|
||||
/* 0x0C */ Vec mEnd;
|
||||
/* 0x18 */ f32 mRadius;
|
||||
}; // Size: 0x1C
|
||||
|
||||
class cM3dGCps : public cM3dGLin {
|
||||
public:
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct cM3dGSphS {
|
||||
Vec mCenter;
|
||||
f32 mRadius;
|
||||
};
|
||||
/* 0x0 */ Vec mCenter;
|
||||
/* 0xC */ f32 mRadius;
|
||||
}; // Size: 0x10
|
||||
|
||||
class cM3dGSph {
|
||||
private:
|
||||
|
||||
@@ -136,6 +136,7 @@ struct cXyz : Vec {
|
||||
f32 getMagXZ() const { return cXyz(this->x, 0, this->z).getSquareMag(); }
|
||||
|
||||
f32 getDotProduct(const Vec& other) const { return PSVECDotProduct(this, &other); }
|
||||
f32 inprod(const Vec& other) const { return getDotProduct(other); }
|
||||
};
|
||||
|
||||
#endif /* C_XYZ_H */
|
||||
|
||||
@@ -143,6 +143,13 @@ public:
|
||||
/* 802C1A14 */ virtual void startCollisionSE(u32, u32);
|
||||
/* 802C1B7C */ void setLinkSearch(bool);
|
||||
/* 802C1B90 */ void setEnemyName(char const*);
|
||||
};
|
||||
|
||||
private:
|
||||
/* 0x90 */ JSULink<Z2CreatureEnemy> mLink;
|
||||
/* 0xA0 */ u8 mEnemyID;
|
||||
/* 0xA1 */ u8 field_0xa1;
|
||||
/* 0xA2 */ bool mLinkSearch;
|
||||
/* 0xA3 */ u8 field_0xa3;
|
||||
}; // Size: 0xA4
|
||||
|
||||
#endif /* Z2CREATURE_H */
|
||||
|
||||
@@ -3,4 +3,8 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
BOOL cDmrNowMidnaTalk();
|
||||
|
||||
extern u8 cDmr_SkipInfo;
|
||||
|
||||
#endif /* C_C_DAMAGEREACTION_H */
|
||||
|
||||
@@ -112,13 +112,13 @@ public:
|
||||
|
||||
static u8 mFuncPtr[120];
|
||||
//static procFunc mFuncPtr[9];
|
||||
static u8 m_cyl_src[68];
|
||||
static dCcD_SrcCyl m_cyl_src;
|
||||
static s32 m_timer_max;
|
||||
|
||||
/* 0x92C */ s16 field_0x92c;
|
||||
/* 0x92E */ u16 field_0x92e;
|
||||
/* 0x930 */ cXyz field_0x930;
|
||||
/* 0x93C */ u32 field_0x93c;
|
||||
/* 0x93C */ int field_0x93c;
|
||||
/* 0x940 */ u16 field_0x940;
|
||||
/* 0x942 */ s16 field_0x942;
|
||||
/* 0x944 */ s16 field_0x944;
|
||||
|
||||
@@ -20,6 +20,14 @@ namespace daItem_prm {
|
||||
static inline u8 checkInWater(daItem_c* item) {
|
||||
return fopAcM_GetParamBit(item, 0x1C, 4);
|
||||
}
|
||||
|
||||
static inline u8 getType(daItem_c* item) {
|
||||
return (fopAcM_GetParam(item) >> 0x18) & 0xF;
|
||||
}
|
||||
|
||||
static inline u8 getSwitchNo(daItem_c* item) {
|
||||
return (fopAcM_GetParam(item) >> 0x10) & 0xFF;
|
||||
}
|
||||
};
|
||||
|
||||
#endif /* A_OBJ_D_A_OBJ_ITEM_H */
|
||||
|
||||
@@ -63,9 +63,9 @@ public:
|
||||
HEAP_TYPE_5,
|
||||
};
|
||||
|
||||
/* 80140DCC */ void __defctor(); // supposed to be the ctor?
|
||||
/* 80140DCC */ void __defctor(); // compiler generated due to ctor with default param
|
||||
|
||||
daPy_anmHeap_c(u32);
|
||||
daPy_anmHeap_c(u32 param_0 = 0);
|
||||
~daPy_anmHeap_c();
|
||||
void initData();
|
||||
void* mallocBuffer();
|
||||
@@ -350,6 +350,7 @@ public:
|
||||
RFLG0_UNK_8000000 = 0x8000000,
|
||||
RFLG0_UNK_4000000 = 0x4000000,
|
||||
RFLG0_UNK_4000 = 0x4000,
|
||||
RFLG0_FRONT_ROLL_CRASH = 0x2000,
|
||||
RFLG0_ENEMY_ATTN_LOCK = 0x1000,
|
||||
RFLG0_UNK_400 = 0x400,
|
||||
RFLG0_UNK_80 = 0x80,
|
||||
@@ -692,6 +693,7 @@ public:
|
||||
u16 getSwordAtUpTime() const { return mSwordUpTimer; }
|
||||
bool checkWaterInMove() const { return i_checkNoResetFlg0(FLG0_UNDERWATER); }
|
||||
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); }
|
||||
bool checkFrontRollCrash() const { return i_checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); }
|
||||
|
||||
void offGoronSideMove() {
|
||||
if (i_checkGoronSideMove()) {
|
||||
|
||||
@@ -109,5 +109,7 @@ public:
|
||||
|
||||
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const&);
|
||||
bool dBgS_CheckBWallPoly(cBgS_PolyInfo const&);
|
||||
void dBgS_MoveBGProc_Typical(dBgW* param_0, void* param_1, cBgS_PolyInfo const& param_2,
|
||||
bool param_3, cXyz* param_4, csXyz* param_5, csXyz* param_6);
|
||||
|
||||
#endif /* D_BG_D_BG_S_H */
|
||||
|
||||
@@ -312,6 +312,7 @@ public:
|
||||
/* 8007E3D8 */ virtual bool ChkGrpThrough(int, cBgS_GrpPassChk*, int);
|
||||
|
||||
void SetCrrFunc(dBgW_CrrFunc func) { m_crr_func = func; }
|
||||
void SetRideCallback(dBgW_RideCallback func) { m_ride_callback = func; }
|
||||
void OnMoveFlag() { m_flags |= 1; }
|
||||
|
||||
private:
|
||||
|
||||
+131
-36
@@ -4,51 +4,88 @@
|
||||
#include "SSystem/SComponent/c_cc_d.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dCcD_SrcGAtTgCoCommonBase {
|
||||
/* 0x00 */ u32 mGFlag;
|
||||
enum dCcD_hitSe {
|
||||
/* 0 */ dCcD_SE_NONE,
|
||||
/* 1 */ dCcD_SE_SWORD,
|
||||
/* 2 */ dCcD_SE_SHIELD_ATTACK,
|
||||
/* 3 */ dCcD_SE_WOLF_KICK,
|
||||
/* 4 */ dCcD_SE_WOLF_BITE,
|
||||
/* 5 */ dCcD_SE_WOOD,
|
||||
/* 6 */ dCcD_SE_HAMMER,
|
||||
/* 7 */ dCcD_SE_ARROW_STICK,
|
||||
/* 8 */ dCcD_SE_HOOKSHOT_STICK,
|
||||
/* 9 */ dCcD_SE_METAL,
|
||||
/* 10 */ dCcD_SE_STONE,
|
||||
/* 11 */ dCcD_SE_HARD_BODY,
|
||||
/* 12 */ dCcD_SE_SOFT_BODY,
|
||||
/* 13 */ dCcD_SE_13,
|
||||
/* 14 */ dCcD_SE_SWORD_STAB,
|
||||
/* 15 */ dCcD_SE_15,
|
||||
/* 16 */ dCcD_SE_SWORD_RUN,
|
||||
/* 17 */ dCcD_SE_17,
|
||||
/* 18 */ dCcD_SE_THROW_OBJ,
|
||||
/* 19 */ dCcD_SE_SPINNER,
|
||||
/* 20 */ dCcD_SE_COPYROD,
|
||||
/* 21 */ dCcD_SE_STATUE_HAMMER,
|
||||
/* 22 */ dCcD_SE_PACHINKO,
|
||||
/* 23 */ dCcD_SE_23,
|
||||
};
|
||||
|
||||
enum dCcG_At_Spl {
|
||||
/* 0x0 */ dCcG_At_Spl_UNK_0,
|
||||
/* 0x1 */ dCcG_At_Spl_UNK_1,
|
||||
};
|
||||
|
||||
enum dCcG_Tg_Spl {
|
||||
/* 0x0 */ dCcG_Tg_Spl_UNK_0,
|
||||
/* 0x1 */ dCcG_Tg_Spl_UNK_1,
|
||||
};
|
||||
|
||||
struct dCcD_SrcGAtTgCoCommonBase {
|
||||
/* 0x0 */ u32 mGFlag;
|
||||
}; // Size: 0x4
|
||||
|
||||
struct dCcD_SrcGObjAt {
|
||||
u8 mSe;
|
||||
u8 mHitMark;
|
||||
u8 mSpl;
|
||||
u8 mMtrl;
|
||||
dCcD_SrcGAtTgCoCommonBase mBase;
|
||||
};
|
||||
/* 0x0 */ u8 mSe; // Sound Effect ID
|
||||
/* 0x1 */ u8 mHitMark; // Hit Mark particle ID
|
||||
/* 0x2 */ u8 mSpl;
|
||||
/* 0x3 */ u8 mMtrl;
|
||||
/* 0x4 */ dCcD_SrcGAtTgCoCommonBase mBase;
|
||||
}; // Size: 0x8
|
||||
|
||||
struct dCcD_SrcGObjTg {
|
||||
u8 mSe;
|
||||
u8 mHitMark;
|
||||
u8 mSpl;
|
||||
u8 mMtrl;
|
||||
dCcD_SrcGAtTgCoCommonBase mBase;
|
||||
};
|
||||
/* 0x0 */ u8 mSe; // Sound Effect ID
|
||||
/* 0x1 */ u8 mHitMark; // Hit Mark particle ID
|
||||
/* 0x2 */ u8 mSpl;
|
||||
/* 0x3 */ u8 mMtrl;
|
||||
/* 0x4 */ dCcD_SrcGAtTgCoCommonBase mBase;
|
||||
}; // Size: 0x8
|
||||
|
||||
struct dCcD_SrcGObjInf {
|
||||
cCcD_SrcObj mObj;
|
||||
dCcD_SrcGObjAt mGObjAt;
|
||||
dCcD_SrcGObjTg mGObjTg;
|
||||
dCcD_SrcGAtTgCoCommonBase mGObjCo;
|
||||
};
|
||||
/* 0x00 */ cCcD_SrcObj mObj;
|
||||
/* 0x1C */ dCcD_SrcGObjAt mGObjAt;
|
||||
/* 0x24 */ dCcD_SrcGObjTg mGObjTg;
|
||||
/* 0x2C */ dCcD_SrcGAtTgCoCommonBase mGObjCo;
|
||||
}; // Size: 0x30
|
||||
|
||||
struct dCcD_SrcSph {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
cM3dGSphS mSph;
|
||||
};
|
||||
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
||||
/* 0x30 */ cM3dGSphS mSph;
|
||||
}; // Size: 0x40
|
||||
|
||||
struct dCcD_SrcTri {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
};
|
||||
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
||||
}; // Size: 0x30
|
||||
|
||||
struct dCcD_SrcCyl {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
cM3dGCylS mCyl;
|
||||
};
|
||||
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
||||
/* 0x30 */ cM3dGCylS mCyl;
|
||||
}; // Size: 0x44
|
||||
|
||||
struct dCcD_SrcCps {
|
||||
dCcD_SrcGObjInf mObjInf;
|
||||
cM3dGCpsS mCps;
|
||||
};
|
||||
/* 0x00 */ dCcD_SrcGObjInf mObjInf;
|
||||
/* 0x30 */ cM3dGCpsS mCps;
|
||||
}; // Size: 0x4C
|
||||
|
||||
class dCcD_GStts : public cCcD_GStts {
|
||||
public:
|
||||
@@ -58,8 +95,17 @@ public:
|
||||
/* 8008523C */ virtual ~dCcD_GStts() {}
|
||||
void ClrTg() { mTg = 0; }
|
||||
void SetAtApid(unsigned int id) { mAtApid = id; }
|
||||
void SetTgApid(unsigned int id) { mTgApid = id; }
|
||||
u8 GetRoomId() { return mRoomId; }
|
||||
void SetRoomId(int id) { mRoomId = id; }
|
||||
unsigned int GetAtOldApid() { return mAtOldApid; }
|
||||
unsigned int GetTgOldApid() { return mTgOldApid; }
|
||||
bool ChkNoActor() { return field_0x1C & 1;}
|
||||
bool ChkNoneActorPerfTblId() { return field_0x08 == 0xFFFF; }
|
||||
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAt; }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mAt = spl; }
|
||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTg; }
|
||||
void SetTgSpl(dCcG_Tg_Spl spl) { mTg = spl; }
|
||||
|
||||
// private:
|
||||
/* 0x04 */ u8 mAt;
|
||||
@@ -85,11 +131,6 @@ public:
|
||||
|
||||
}; // Size = 0x3C
|
||||
|
||||
enum dCcG_At_Spl {
|
||||
/* 0x0 */ dCcG_At_Spl_UNK_0,
|
||||
/* 0x1 */ dCcG_At_Spl_UNK_1,
|
||||
};
|
||||
|
||||
class dCcD_GObjInf;
|
||||
typedef void (*dCcD_HitCallback)(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
|
||||
@@ -115,6 +156,7 @@ public:
|
||||
/* 80083724 */ void SubtractEffCounter();
|
||||
/* 80083748 */ bool ChkEffCounter();
|
||||
/* 80083CA0 */ virtual ~dCcD_GAtTgCoCommonBase() {}
|
||||
|
||||
void ResetEffCounter() { mEffCounter = 0; }
|
||||
u32 GetGFlag() const { return mGFlag; }
|
||||
u32 GetRPrm() const { return mRPrm; }
|
||||
@@ -122,9 +164,11 @@ public:
|
||||
u32 MskRPrm(u32 mask) const { return mRPrm & mask; }
|
||||
bool ChkSPrm(u32 mask) const { return MskSPrm(mask); }
|
||||
void OnSPrm(u32 flag) { mGFlag |= flag; }
|
||||
void OnRPrm(u32 flag) { mRPrm |= flag; }
|
||||
void OffSPrm(u32 flag) { mGFlag &= ~flag; }
|
||||
bool ChkRPrm(u32 flag) const { return MskRPrm(flag); }
|
||||
void SetHitCallback(dCcD_HitCallback callback) { mHitCallback = callback; }
|
||||
dCcD_HitCallback GetHitCallback() { return mHitCallback; }
|
||||
}; // Size = 0x1C
|
||||
|
||||
class dCcD_GObjAt : public dCcD_GAtTgCoCommonBase {
|
||||
@@ -141,6 +185,9 @@ public:
|
||||
u8 GetSe() { return mSe; }
|
||||
u8 GetSpl() { return mSpl; }
|
||||
u8 GetMtrl() { return mMtrl; }
|
||||
u8 GetHitMark() { return mHitMark; }
|
||||
void SetRVec(cXyz& vec) { mRVec = vec; }
|
||||
void SetHitPos(cXyz& pos) { mHitPos = pos; }
|
||||
|
||||
// private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
@@ -160,7 +207,15 @@ public:
|
||||
cXyz& GetVec() { return mVec; }
|
||||
void SetShieldFrontRangeYAngle(s16* angle) { mShieldFrontRangeYAngle = angle; }
|
||||
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
|
||||
u8 GetMtrl() { return mMtrl; }
|
||||
void SetHitMark(CcG_Tg_HitMark mark) { mHitMark = mark; }
|
||||
s16* GetShieldFrontRangeYAngle() { return mShieldFrontRangeYAngle; }
|
||||
s16 GetShieldRange() { return mShieldRange; }
|
||||
u8 GetSpl() { return mSpl; }
|
||||
u8 GetHitMark() { return mHitMark; }
|
||||
void SetRVec(cXyz& vec) { mRVec = vec; }
|
||||
cXyz* GetVecP() { return &mVec; }
|
||||
void SetHitPos(cXyz& pos) { mHitPos = pos; }
|
||||
|
||||
private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
@@ -220,13 +275,15 @@ public:
|
||||
fopAc_ac_c* GetAtHitAc() { return mGObjAt.GetAc(); }
|
||||
bool ChkAtShieldHit() { return mGObjAt.ChkRPrm(1); }
|
||||
cXyz* GetAtVecP() { return mGObjAt.GetVecP(); }
|
||||
cXyz* GetTgVecP() { return mGObjTg.GetVecP(); }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); }
|
||||
void SetAtHitCallback(dCcD_HitCallback callback) { mGObjAt.SetHitCallback(callback); }
|
||||
void SetTgHitCallback(dCcD_HitCallback callback) { mGObjTg.SetHitCallback(callback); }
|
||||
void SetCoHitCallback(dCcD_HitCallback callback) { mGObjCo.SetHitCallback(callback); }
|
||||
u8 GetAtSe() { return mGObjAt.GetSe(); }
|
||||
s32 GetAtSpl() { return mGObjAt.GetSpl(); }
|
||||
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mGObjAt.GetSpl(); }
|
||||
u8 GetAtMtrl() { return mGObjAt.GetMtrl(); }
|
||||
u8 GetTgMtrl() { return mGObjTg.GetMtrl(); }
|
||||
fopAc_ac_c* GetTgHitAc() { return mGObjTg.GetAc(); }
|
||||
void SetTgShieldFrontRangeYAngle(s16* angle) { mGObjTg.SetShieldFrontRangeYAngle(angle); }
|
||||
void OffTgWolfSpNoDamage() { mGObjTg.OffSPrm(0x800); }
|
||||
@@ -239,6 +296,44 @@ public:
|
||||
void OnTgShieldFrontRange() { mGObjTg.OnSPrm(0x8); }
|
||||
void OffTgShieldFrontRange() { mGObjTg.OffSPrm(0x8); }
|
||||
bool ChkTgIronBallRebound() { return mGObjTg.ChkSPrm(0x100); }
|
||||
s16* GetTgShieldFrontRangeYAngle() { return mGObjTg.GetShieldFrontRangeYAngle(); }
|
||||
s16 GetTgShieldRange() { return mGObjTg.GetShieldRange(); }
|
||||
bool ChkTgShield() { return mGObjTg.ChkSPrm(1); }
|
||||
bool ChkTgSpShield() { return mGObjTg.ChkSPrm(0x40); }
|
||||
bool ChkTgSmallShield() { return mGObjTg.ChkSPrm(0x10); }
|
||||
bool ChkTgShieldFrontRange() { return mGObjTg.ChkSPrm(8); }
|
||||
bool ChkAtNoConHit() { return mGObjAt.ChkSPrm(1); }
|
||||
bool ChkAtStopNoConHit() { return mGObjAt.ChkSPrm(0x4); }
|
||||
bool ChkTgNoConHit() { return mGObjTg.ChkSPrm(2); }
|
||||
bool ChkTgStopNoConHit() { return mGObjTg.ChkSPrm(0x2000); }
|
||||
bool ChkCoNoCamHit() { return mGObjCo.ChkSPrm(2); }
|
||||
dCcD_HitCallback GetCoHitCallback() { return mGObjCo.GetHitCallback(); }
|
||||
dCcD_HitCallback GetAtHitCallback() { return mGObjAt.GetHitCallback(); }
|
||||
dCcD_HitCallback GetTgHitCallback() { return mGObjTg.GetHitCallback(); }
|
||||
void SetCoHitApid(unsigned int apid) { mGObjCo.SetHitApid(apid); }
|
||||
void SetAtHitApid(unsigned int apid) { mGObjAt.SetHitApid(apid); }
|
||||
void SetTgHitApid(unsigned int apid) { mGObjTg.SetHitApid(apid); }
|
||||
void OnCoHitNoActor() { mGObjCo.OnRPrm(1); }
|
||||
void OnAtHitNoActor() { mGObjAt.OnRPrm(2); }
|
||||
void OnTgHitNoActor() { mGObjTg.OnRPrm(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); }
|
||||
bool ChkTgArrowNoHitMark() { return mGObjTg.ChkSPrm(0x1000); }
|
||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mGObjTg.GetSpl(); }
|
||||
int GetTgHitMark() { return mGObjTg.GetHitMark(); }
|
||||
int GetAtHitMark() { return mGObjAt.GetHitMark(); }
|
||||
bool ChkAtEffCounter() { return mGObjAt.ChkEffCounter(); }
|
||||
bool ChkTgEffCounter() { return mGObjTg.ChkEffCounter(); }
|
||||
void SetAtEffCounterTimer() { mGObjAt.SetEffCounterTimer(); }
|
||||
void SetTgEffCounterTimer() { mGObjTg.SetEffCounterTimer(); }
|
||||
void OnTgShieldHit() { mGObjTg.OnRPrm(2); }
|
||||
void OnAtShieldHit() { mGObjAt.OnRPrm(1); }
|
||||
void SetTgRVec(cXyz& vec) { mGObjTg.SetRVec(vec); }
|
||||
void SetAtRVec(cXyz& vec) { mGObjAt.SetRVec(vec); }
|
||||
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
|
||||
void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); }
|
||||
|
||||
static u32 const m_hitSeID[24];
|
||||
|
||||
|
||||
@@ -11,21 +11,21 @@ public:
|
||||
dCcS() {}
|
||||
/* 80085ED4 */ void Ct();
|
||||
/* 80085F08 */ void Dt();
|
||||
/* 80085F28 */ void ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*);
|
||||
/* 800860F8 */ void ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*);
|
||||
/* 80085F28 */ bool ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*);
|
||||
/* 800860F8 */ bool ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*);
|
||||
/* 800861B0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
|
||||
/* 80086360 */ void GetRank(u8);
|
||||
/* 80086360 */ int GetRank(u8);
|
||||
/* 8008685C */ void ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*,
|
||||
dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, dCcD_GStts*,
|
||||
dCcD_GStts*, cXyz*, bool);
|
||||
/* 80086D8C */ void ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 80086FBC */ void chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*,
|
||||
/* 80086D8C */ bool ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 80086FBC */ bool chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*,
|
||||
fopAc_ac_c*);
|
||||
/* 800872AC */ void DrawAfter();
|
||||
/* 800872B0 */ void Move();
|
||||
/* 800872D0 */ void Draw();
|
||||
/* 8008730C */ void MassClear();
|
||||
/* 80087330 */ void ChkAtTgMtrlHit(u8, u8);
|
||||
/* 80087330 */ int ChkAtTgMtrlHit(u8, u8);
|
||||
|
||||
/* 8008640C */ virtual void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
|
||||
/* 80086240 */ virtual void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
|
||||
|
||||
@@ -388,7 +388,9 @@ public:
|
||||
}
|
||||
void setCameraAttentionStatus(int i, u32 flag) { mCameraInfo[i].mCameraAttentionStatus = flag; }
|
||||
void onCameraAttentionStatus(int i, u32 flag) { mCameraInfo[i].mCameraAttentionStatus |= flag; }
|
||||
void offCameraAttentionStatus(int i, u32 flag) { mCameraInfo[i].mCameraAttentionStatus &= ~flag; }
|
||||
void offCameraAttentionStatus(int i, u32 flag) {
|
||||
mCameraInfo[i].mCameraAttentionStatus &= ~flag;
|
||||
}
|
||||
void setCameraInfo(int camIdx, camera_class* p_cam, int param_2, int param_3, int param_4) {
|
||||
mCameraInfo[camIdx].mCamera = p_cam;
|
||||
mCameraInfo[camIdx].field_0x4 = param_2;
|
||||
@@ -932,7 +934,8 @@ inline void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, bool i_setNum) {
|
||||
}
|
||||
|
||||
inline void dComIfGs_setEmptyBombBagItemIn(u8 i_newBomb, u8 i_bombNum, bool i_setNum) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(i_newBomb, i_bombNum, i_setNum);
|
||||
g_dComIfG_gameInfo.info.getPlayer().getItem().setEmptyBombBagItemIn(i_newBomb, i_bombNum,
|
||||
i_setNum);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setEmptyBottle() {
|
||||
@@ -1374,10 +1377,10 @@ inline bool dComIfGs_isPlayerFieldLastStayFieldDataExistFlag() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().isFieldDataExistFlag();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setPlayerFieldLastStayInfo(const char* i_stage, cXyz& i_pos, s16 i_angle, s8 i_point,
|
||||
u8 i_region) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().set(i_stage, i_pos, i_angle, i_point,
|
||||
i_region);
|
||||
inline void dComIfGs_setPlayerFieldLastStayInfo(const char* i_stage, cXyz& i_pos, s16 i_angle,
|
||||
s8 i_point, u8 i_region) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getPlayerFieldLastStayInfo().set(i_stage, i_pos, i_angle,
|
||||
i_point, i_region);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setStartPoint(s16 i_point) {
|
||||
@@ -1528,7 +1531,6 @@ inline int dComIfGs_createZone(int roomNo) {
|
||||
return g_dComIfG_gameInfo.info.createZone(roomNo);
|
||||
}
|
||||
|
||||
|
||||
void dComIfGp_setSelectItem(int index);
|
||||
s32 dComIfGp_offHeapLockFlag(int flag);
|
||||
void dComIfGp_createSubExpHeap2D();
|
||||
@@ -2350,6 +2352,12 @@ inline void dComIfGp_createSimpleModel() {
|
||||
g_dComIfG_gameInfo.play.createSimpleModel();
|
||||
}
|
||||
|
||||
inline void i_dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz* param_2,
|
||||
const csXyz* param_3, const cXyz* param_4, u32 i_atType) {
|
||||
g_dComIfG_gameInfo.play.getParticle()->setHitMark(i_hitmark, param_1, param_2, param_3, param_4,
|
||||
i_atType);
|
||||
}
|
||||
|
||||
inline s32 dComIfGp_roomControl_getStayNo() {
|
||||
return dStage_roomControl_c::getStayNo();
|
||||
}
|
||||
@@ -2626,36 +2634,42 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2,
|
||||
param_9, param_10, 1.0f);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3) {
|
||||
return dComIfGp_particle_set(param_0,param_1,param_2,param_3,0,0,0xFF,0,0xFFFFFFFF,0,0,0);
|
||||
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2,
|
||||
const dKy_tevstr_c* param_3) {
|
||||
return dComIfGp_particle_set(param_0, param_1, param_2, param_3, 0, 0, 0xFF, 0, 0xFFFFFFFF, 0,
|
||||
0, 0);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
|
||||
const csXyz* param_4, const cXyz* param_5, u8 param_6,
|
||||
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
|
||||
const GXColor* param_10, const cXyz* param_11) {
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_1, const cXyz* param_2,
|
||||
const dKy_tevstr_c* param_3, const csXyz* param_4,
|
||||
const cXyz* param_5, u8 param_6,
|
||||
dPa_levelEcallBack* param_7, s8 param_8,
|
||||
const GXColor* param_9, const GXColor* param_10,
|
||||
const cXyz* param_11) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_1, param_2, param_3, param_4,
|
||||
param_5, param_6, param_7, param_8,
|
||||
param_9, param_10, param_11, 1.0f);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const csXyz* param_3,
|
||||
const cXyz* param_4, u8 param_5, dPa_levelEcallBack* param_6,
|
||||
s8 param_7, const GXColor* param_8, const GXColor* param_9,
|
||||
const cXyz* param_10) {
|
||||
const cXyz* param_4, u8 param_5,
|
||||
dPa_levelEcallBack* param_6, s8 param_7,
|
||||
const GXColor* param_8, const GXColor* param_9,
|
||||
const cXyz* param_10) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_1, param_2, NULL, param_3,
|
||||
param_4, param_5, param_6, param_7,
|
||||
param_8, param_9, param_10, 1.0f);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2,
|
||||
const cXyz* param_3) {
|
||||
const cXyz* param_3) {
|
||||
return dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const dKy_tevstr_c* param_2,
|
||||
const csXyz* param_3, const cXyz* param_4) {
|
||||
inline JPABaseEmitter* dComIfGp_particle_set(u16 param_0, const cXyz* param_1,
|
||||
const dKy_tevstr_c* param_2, const csXyz* param_3,
|
||||
const cXyz* param_4) {
|
||||
return dComIfGp_particle_set(param_0, param_1, param_2, param_3, param_4, 0xFF, NULL, -1, NULL,
|
||||
NULL, NULL);
|
||||
}
|
||||
@@ -2666,28 +2680,34 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
inline u32 dComIfGp_particle_setColor(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
|
||||
const GXColor* param_4, const GXColor* param_5, f32 param_6, u8 param_7,
|
||||
const csXyz* param_8, const cXyz* param_9, dPa_levelEcallBack* param_10,
|
||||
s8 param_11, const cXyz* param_12) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, param_2, param_3,
|
||||
param_8, param_9, param_7, param_10,
|
||||
param_11, param_4, param_5, param_12,
|
||||
param_6);
|
||||
inline u32 dComIfGp_particle_setColor(u32 param_0, u16 param_1, const cXyz* param_2,
|
||||
const dKy_tevstr_c* param_3, const GXColor* param_4,
|
||||
const GXColor* param_5, f32 param_6, u8 param_7,
|
||||
const csXyz* param_8, const cXyz* param_9,
|
||||
dPa_levelEcallBack* param_10, s8 param_11,
|
||||
const cXyz* param_12) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setNormal(
|
||||
param_0, param_1, param_2, param_3, param_8, param_9, param_7, param_10, param_11, param_4,
|
||||
param_5, param_12, param_6);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1, const dKy_tevstr_c* param_2,
|
||||
const GXColor* param_3, const GXColor* param_4, f32 param_5, u8 param_6,
|
||||
const csXyz* param_7, const cXyz* param_8, dPa_levelEcallBack* param_9,
|
||||
inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1,
|
||||
const dKy_tevstr_c* param_2,
|
||||
const GXColor* param_3, const GXColor* param_4,
|
||||
f32 param_5, u8 param_6, const csXyz* param_7,
|
||||
const cXyz* param_8, dPa_levelEcallBack* param_9,
|
||||
s8 param_10, const cXyz* param_11) {
|
||||
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, param_2, param_7,
|
||||
param_8, param_6, param_9, param_10,
|
||||
param_3, param_4, param_11, param_5);
|
||||
}
|
||||
|
||||
inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1, const dKy_tevstr_c* param_2,
|
||||
const GXColor* param_3, const GXColor* param_4, f32 param_5, u8 param_6) {
|
||||
return dComIfGp_particle_setColor(param_0, param_1, param_2, param_3, param_4, param_5, param_6, NULL, NULL, NULL, -1, NULL);
|
||||
inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1,
|
||||
const dKy_tevstr_c* param_2,
|
||||
const GXColor* param_3, const GXColor* param_4,
|
||||
f32 param_5, u8 param_6) {
|
||||
return dComIfGp_particle_setColor(param_0, param_1, param_2, param_3, param_4, param_5, param_6,
|
||||
NULL, NULL, NULL, -1, NULL);
|
||||
}
|
||||
|
||||
inline void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0) {
|
||||
|
||||
@@ -76,9 +76,9 @@ struct dItem_data {
|
||||
|
||||
static u8 getShadowSize(u8 index) { return item_info[index].mShadowSize; }
|
||||
|
||||
static u8 getH(u8 index) { return item_info[index].mH; }
|
||||
static const u8 getH(u8 index) { return item_info[index].mH; }
|
||||
|
||||
static u8 getR(u8 index) { return item_info[index].mR; }
|
||||
static const u8 getR(u8 index) { return item_info[index].mR; }
|
||||
|
||||
static u16 getFieldHeapSize(u8 index) { return field_item_res[index].mHeapSize; }
|
||||
|
||||
|
||||
+10
-2
@@ -6,7 +6,12 @@
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class dJntColData_c {};
|
||||
class dJntColData_c {
|
||||
public:
|
||||
u8 field_0x0;
|
||||
s8 mType;
|
||||
u8 field_0x2[0xC - 0x2];
|
||||
};
|
||||
|
||||
class dJntCol_c {
|
||||
public:
|
||||
@@ -15,12 +20,15 @@ public:
|
||||
/* 80035CC8 */ void setNowLine(cM3dGLin*, cXyz const*, csXyz const*, cXyz*);
|
||||
/* 80035DC8 */ void searchNearPos(cM3dGLin const*, cXyz const*, cXyz*, int) const;
|
||||
/* 80036AEC */ void getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const;
|
||||
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
|
||||
/* 80036C44 */ int getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
|
||||
/* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*);
|
||||
|
||||
bool checkPassNum(int bit) { return field_0xc & (1 << bit); }
|
||||
void onPassNum(int num) { field_0xc |= (1 << num); }
|
||||
void offPassNum(int num) { field_0xc &= ~(1 << num); }
|
||||
bool checkShieldType(int i) { return getType(i) == 3; }
|
||||
|
||||
s8 getType(int i) { return mData[i].mType; }
|
||||
|
||||
/* 0x00 */ dJntColData_c* mData;
|
||||
/* 0x04 */ J3DModel* mModel;
|
||||
|
||||
@@ -67,6 +67,7 @@ public:
|
||||
/* 8004974C */ virtual void end();
|
||||
|
||||
void remove() { end(); }
|
||||
JPABaseEmitter* getEmitter() { return mpEmitter; }
|
||||
|
||||
/* 0x04 */ JPABaseEmitter* mpEmitter;
|
||||
/* 0x08 */ const cXyz* field_0x8;
|
||||
|
||||
@@ -73,6 +73,10 @@ inline void GXPosition1x16(u16 x) {
|
||||
GFX_FIFO(u16) = x;
|
||||
}
|
||||
|
||||
inline void GXPosition1x8(u8 x) {
|
||||
GFX_FIFO(u8) = x;
|
||||
}
|
||||
|
||||
inline void GXPosition3s8(s8 x, s8 y, s8 z) {
|
||||
GFX_FIFO(s8) = x;
|
||||
GFX_FIFO(s8) = y;
|
||||
|
||||
@@ -286,6 +286,10 @@ inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) {
|
||||
return p_actor->current.pos;
|
||||
}
|
||||
|
||||
inline dJntCol_c* fopAcM_GetJntCol(fopAc_ac_c* i_actor) {
|
||||
return i_actor->mJntCol;
|
||||
}
|
||||
|
||||
inline void dComIfGs_onSwitch(int i_no, int i_roomNo);
|
||||
inline void dComIfGs_offSwitch(int i_no, int i_roomNo);
|
||||
inline BOOL dComIfGs_isSwitch(int i_no, int i_roomNo);
|
||||
@@ -544,6 +548,10 @@ inline f32 fopAcM_searchPlayerDistanceXZ2(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorDistanceXZ2(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
inline f32 fopAcM_searchPlayerDistanceXZ(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorDistanceXZ(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
inline f32 fopAcM_searchPlayerDistance(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorDistance(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
}
|
||||
@@ -555,6 +563,16 @@ inline void fopAcM_seStartCurrent(const fopAc_ac_c* actor, u32 sfxID, u32 param_
|
||||
mDoAud_seStart(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo));
|
||||
}
|
||||
|
||||
inline void fopAcM_seStart(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
s8 roomNo = fopAcM_GetRoomNo(actor);
|
||||
mDoAud_seStart(sfxID, &actor->mEyePos, param_2, dComIfGp_getReverb(roomNo));
|
||||
}
|
||||
|
||||
inline void fopAcM_seStartLevel(const fopAc_ac_c* actor, u32 sfxID, u32 param_2) {
|
||||
s8 roomNo = fopAcM_GetRoomNo(actor);
|
||||
i_mDoAud_seStartLevel(sfxID, &actor->mEyePos, param_2, dComIfGp_getReverb(roomNo));
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
void fopAcM_initManager__Fv(void);
|
||||
void fopAcM_CreateAppend__Fv(void);
|
||||
|
||||
+10
-6
@@ -20,6 +20,7 @@ void mDoMtx_YrotM(Mtx, s16);
|
||||
void mDoMtx_MtxToRot(CMtxP, csXyz*);
|
||||
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3);
|
||||
void mDoMtx_concatProjView(f32 const (*param_0)[4], f32 const (*param_1)[4], f32 (*param_2)[4]);
|
||||
void mDoMtx_ZrotM(Mtx mtx, s16 z);
|
||||
|
||||
inline void mDoMtx_multVecSR(Mtx m, const Vec* src, Vec* dst) {
|
||||
PSMTXMultVecSR(m, src, dst);
|
||||
@@ -37,6 +38,12 @@ inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) {
|
||||
PSMTXTrans(m,x,y,z);
|
||||
}
|
||||
|
||||
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
|
||||
param_1->x = param_0[0][3];
|
||||
param_1->y = param_0[1][3];
|
||||
param_1->z = param_0[2][3];
|
||||
}
|
||||
|
||||
class mDoMtx_stack_c {
|
||||
public:
|
||||
/* 8000CCC8 */ static bool push();
|
||||
@@ -59,6 +66,7 @@ public:
|
||||
static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); }
|
||||
static void multVec(const Vec* a, Vec* b) { PSMTXMultVec(now, a, b); }
|
||||
static void multVecSR(const Vec* a, Vec* b) { PSMTXMultVecSR(now, a, b); }
|
||||
static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); }
|
||||
static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); }
|
||||
static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); }
|
||||
static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); }
|
||||
@@ -66,8 +74,10 @@ public:
|
||||
static void YrotM(s16 y) { mDoMtx_YrotM(now, y); }
|
||||
static void YrotS(s16 y) { mDoMtx_YrotS(now, y); }
|
||||
static void XrotM(s16 x) { mDoMtx_XrotM(now, x); }
|
||||
static void ZrotM(s16 z) { mDoMtx_ZrotM(now, z); }
|
||||
static void inverse() { PSMTXInverse(now, now); }
|
||||
static void concat(const Mtx m) { PSMTXConcat(now, m, now); }
|
||||
static void revConcat(const Mtx m) { PSMTXConcat(m, now, now); }
|
||||
static void copy(const Mtx m) { PSMTXCopy(m, now); }
|
||||
|
||||
static Mtx now;
|
||||
@@ -91,10 +101,4 @@ public:
|
||||
/* 0x118 */ mDoMtx_quatStack_c* field_0x118;
|
||||
}; // Size: 0x11C
|
||||
|
||||
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
|
||||
param_1->x = param_0[0][3];
|
||||
param_1->y = param_0[1][3];
|
||||
param_1->z = param_0[2][3];
|
||||
}
|
||||
|
||||
#endif /* M_DO_M_DO_MTX_H */
|
||||
|
||||
@@ -1,6 +1,43 @@
|
||||
#ifndef D_A_B_OH2_H
|
||||
#define D_A_B_OH2_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
// fix/move to d_a_b_ob later
|
||||
class b_ob_class : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 0x05AC */ u8 field_0x5ac[0x5c0 - 0x5ac];
|
||||
/* 0x05C0 */ mDoExt_McaMorf* field_0x5c0;
|
||||
/* 0x05C4 */ u8 field_0x5c4[0x4752 - 0x5c4];
|
||||
/* 0x4752 */ s16 field_0x4752;
|
||||
/* 0x4754 */ u8 field_0x4754[0x47a0 - 0x4754];
|
||||
/* 0x47A0 */ f32 field_0x47a0;
|
||||
/* 0x47A4 */ u8 field_0x47a4[0x5d04 - 0x47a4];
|
||||
/* 0x5D04 */ f32 field_0x5d04;
|
||||
};
|
||||
|
||||
class b_oh2_class : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x5B8 */ mDoExt_invisibleModel mInvisModel;
|
||||
/* 0x5C0 */ mDoExt_btkAnm* mpBtk;
|
||||
/* 0x5C4 */ mDoExt_brkAnm* mpBrk;
|
||||
/* 0x5C8 */ int field_0x5c8;
|
||||
/* 0x5CC */ s16 field_0x5cc;
|
||||
/* 0x5CE */ s16 field_0x5ce;
|
||||
/* 0x5D0 */ u8 field_0x5d0;
|
||||
/* 0x5D2 */ s16 field_0x5d2[4];
|
||||
/* 0x5DA */ s16 field_0x5da;
|
||||
/* 0x5DC */ s16 field_0x5dc;
|
||||
/* 0x5E0 */ f32 field_0x5e0;
|
||||
/* 0x5E4 */ f32 field_0x5e4;
|
||||
/* 0x5E8 */ f32 field_0x5e8[30];
|
||||
/* 0x660 */ cXyz field_0x660[31];
|
||||
/* 0x7D4 */ csXyz field_0x7d4[31];
|
||||
/* 0x88E */ u8 field_0x88e[0x898 - 0x88e];
|
||||
/* 0x898 */ Z2CreatureEnemy mZ2Enemy;
|
||||
/* 0x93C */ u8 field_0x93c[0x948 - 0x93C];
|
||||
};
|
||||
|
||||
#endif /* D_A_B_OH2_H */
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
#ifndef D_A_SET_BGOBJ_H
|
||||
#define D_A_SET_BGOBJ_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
class daSetBgObj_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80031870 */ static const char* getArcName(fopAc_ac_c*);
|
||||
/* 80485D78 */ int CreateInit();
|
||||
/* 80485DFC */ int create();
|
||||
/* 80485E88 */ int Delete();
|
||||
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ const char mArcName[16];
|
||||
};
|
||||
|
||||
#endif /* D_A_SET_BGOBJ_H */
|
||||
|
||||
@@ -1,6 +1,35 @@
|
||||
#ifndef D_A_OBJ_WEB0_H
|
||||
#define D_A_OBJ_WEB0_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
class obj_web0_class : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ u8 mPrm0;
|
||||
/* 0x571 */ u8 mScaleXY;
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ mDoExt_brkAnm* mpBrk;
|
||||
/* 0x57C */ s16 field_0x57c;
|
||||
/* 0x57E */ u8 field_0x57e[0x582 - 0x57e];
|
||||
/* 0x582 */ s16 mReboundTimer;
|
||||
/* 0x584 */ s16 field_0x584[2];
|
||||
/* 0x588 */ s16 mHitTimer;
|
||||
/* 0x58A */ u8 field_0x58a[0x590 - 0x58a];
|
||||
/* 0x590 */ Mtx mMtx;
|
||||
/* 0x5C0 */ dBgW* mpBgW;
|
||||
/* 0x5C4 */ dCcD_Stts mStts;
|
||||
/* 0x600 */ dCcD_Sph mSphCc;
|
||||
/* 0x738 */ u8 mDeleteTimer;
|
||||
/* 0x739 */ u8 field_0x739;
|
||||
}; // Size: 0x73C
|
||||
|
||||
class daObj_Web0_HIO_c {
|
||||
public:
|
||||
/* 80D3452C */ daObj_Web0_HIO_c();
|
||||
/* 80D350E4 */ virtual ~daObj_Web0_HIO_c() {}
|
||||
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_WEB0_H */
|
||||
|
||||
@@ -1,6 +1,40 @@
|
||||
#ifndef D_A_OBJ_WEB1_H
|
||||
#define D_A_OBJ_WEB1_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
class obj_web1_class : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ u8 mPrm0;
|
||||
/* 0x571 */ u8 mScaleX;
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ mDoExt_brkAnm* mpBrk;
|
||||
/* 0x57C */ Z2SoundObjSimple mZ2SoundObj;
|
||||
/* 0x59C */ s16 field_0x59c;
|
||||
/* 0x59E */ s16 mActionMode;
|
||||
/* 0x5A0 */ u8 field_0x5a0[2];
|
||||
/* 0x5A2 */ s16 field_0x5a2[2];
|
||||
/* 0x5A6 */ s16 mHitTimer;
|
||||
/* 0x5A8 */ s16 mReboundTimer;
|
||||
/* 0x5AA */ s16 field_0x5aa;
|
||||
/* 0x5AC */ f32 mDistToActor;
|
||||
/* 0x5B0 */ f32 field_0x5b0;
|
||||
/* 0x5B4 */ s8 mDeleteTimer;
|
||||
/* 0x5B5 */ u8 field_0x5b5[0x5C0 - 0x5B5];
|
||||
/* 0x5C0 */ Mtx mMtx;
|
||||
/* 0x5F0 */ dBgW* mpBgW;
|
||||
/* 0x5F4 */ dCcD_Stts mStts;
|
||||
/* 0x630 */ dCcD_Cyl mCylCc;
|
||||
/* 0x76C */ u8 field_0x76c;
|
||||
}; // Size: 0x770
|
||||
|
||||
class daObj_Web1_HIO_c {
|
||||
public:
|
||||
/* 80D353AC */ daObj_Web1_HIO_c();
|
||||
/* 80D36028 */ virtual ~daObj_Web1_HIO_c() {}
|
||||
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_WEB1_H */
|
||||
|
||||
Reference in New Issue
Block a user