diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2023-01-15 11:10:23 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-15 12:10:23 -0700 |
| commit | 5e05ae38f8541fddd79341bdcf75488b07ca9122 (patch) | |
| tree | 57e2806b6e48586e0d9bbde6d221236888137d04 /include/d | |
| parent | c90f9dfde9a3ee5dfa13475e2199ee491671507b (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.h | 4 | ||||
| -rw-r--r-- | include/d/a/d_a_obj_item.h | 8 | ||||
| -rw-r--r-- | include/d/a/d_a_player.h | 6 | ||||
| -rw-r--r-- | include/d/bg/d_bg_s.h | 2 | ||||
| -rw-r--r-- | include/d/bg/d_bg_w.h | 1 | ||||
| -rw-r--r-- | include/d/cc/d_cc_d.h | 167 | ||||
| -rw-r--r-- | include/d/cc/d_cc_s.h | 12 | ||||
| -rw-r--r-- | include/d/com/d_com_inf_game.h | 86 | ||||
| -rw-r--r-- | include/d/d_item_data.h | 4 | ||||
| -rw-r--r-- | include/d/d_jnt_col.h | 12 | ||||
| -rw-r--r-- | include/d/particle/d_particle.h | 1 |
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; |
