summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2023-01-15 11:10:23 -0800
committerGitHub <noreply@github.com>2023-01-15 12:10:23 -0700
commit5e05ae38f8541fddd79341bdcf75488b07ca9122 (patch)
tree57e2806b6e48586e0d9bbde6d221236888137d04 /include/d
parentc90f9dfde9a3ee5dfa13475e2199ee491671507b (diff)
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
Diffstat (limited to 'include/d')
-rw-r--r--include/d/a/d_a_item_static.h4
-rw-r--r--include/d/a/d_a_obj_item.h8
-rw-r--r--include/d/a/d_a_player.h6
-rw-r--r--include/d/bg/d_bg_s.h2
-rw-r--r--include/d/bg/d_bg_w.h1
-rw-r--r--include/d/cc/d_cc_d.h167
-rw-r--r--include/d/cc/d_cc_s.h12
-rw-r--r--include/d/com/d_com_inf_game.h86
-rw-r--r--include/d/d_item_data.h4
-rw-r--r--include/d/d_jnt_col.h12
-rw-r--r--include/d/particle/d_particle.h1
11 files changed, 220 insertions, 83 deletions
diff --git a/include/d/a/d_a_item_static.h b/include/d/a/d_a_item_static.h
index 51296740f8..16b521d874 100644
--- a/include/d/a/d_a_item_static.h
+++ b/include/d/a/d_a_item_static.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;
diff --git a/include/d/a/d_a_obj_item.h b/include/d/a/d_a_obj_item.h
index 77e766fe3c..26c732b92e 100644
--- a/include/d/a/d_a_obj_item.h
+++ b/include/d/a/d_a_obj_item.h
@@ -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 */
diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h
index dabaf3030e..f48e1abd10 100644
--- a/include/d/a/d_a_player.h
+++ b/include/d/a/d_a_player.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()) {
diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h
index 7c53bf3373..93680c27b9 100644
--- a/include/d/bg/d_bg_s.h
+++ b/include/d/bg/d_bg_s.h
@@ -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 */
diff --git a/include/d/bg/d_bg_w.h b/include/d/bg/d_bg_w.h
index a2eb1be880..e1b161626c 100644
--- a/include/d/bg/d_bg_w.h
+++ b/include/d/bg/d_bg_w.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:
diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h
index 53f5cad807..1105b7c0e8 100644
--- a/include/d/cc/d_cc_d.h
+++ b/include/d/cc/d_cc_d.h
@@ -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,
};
-struct dCcD_SrcGObjAt {
- u8 mSe;
- u8 mHitMark;
- u8 mSpl;
- u8 mMtrl;
- dCcD_SrcGAtTgCoCommonBase mBase;
+enum dCcG_At_Spl {
+ /* 0x0 */ dCcG_At_Spl_UNK_0,
+ /* 0x1 */ dCcG_At_Spl_UNK_1,
};
-struct dCcD_SrcGObjTg {
- u8 mSe;
- u8 mHitMark;
- u8 mSpl;
- u8 mMtrl;
- dCcD_SrcGAtTgCoCommonBase mBase;
+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 {
+ /* 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 {
+ /* 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];
diff --git a/include/d/cc/d_cc_s.h b/include/d/cc/d_cc_s.h
index 55874fcae1..7ad3000abe 100644
--- a/include/d/cc/d_cc_s.h
+++ b/include/d/cc/d_cc_s.h
@@ -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*,
diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h
index b6187c81c0..7b23faf7e8 100644
--- a/include/d/com/d_com_inf_game.h
+++ b/include/d/com/d_com_inf_game.h
@@ -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) {
diff --git a/include/d/d_item_data.h b/include/d/d_item_data.h
index 7ae58debf3..b7158748af 100644
--- a/include/d/d_item_data.h
+++ b/include/d/d_item_data.h
@@ -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; }
diff --git a/include/d/d_jnt_col.h b/include/d/d_jnt_col.h
index 9d7dfc39c0..ff512aed58 100644
--- a/include/d/d_jnt_col.h
+++ b/include/d/d_jnt_col.h
@@ -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;
diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h
index 2224e4a00f..6a3846f1e8 100644
--- a/include/d/particle/d_particle.h
+++ b/include/d/particle/d_particle.h
@@ -67,6 +67,7 @@ public:
/* 8004974C */ virtual void end();
void remove() { end(); }
+ JPABaseEmitter* getEmitter() { return mpEmitter; }
/* 0x04 */ JPABaseEmitter* mpEmitter;
/* 0x08 */ const cXyz* field_0x8;